[package]
name = "ic_auth_verifier"
description = "A Rust library used for integrating with IC-Auth."
publish = true
repository = "https://github.com/ldclabs/ic-auth/tree/main/src/ic_auth_verifier"
version.workspace = true
edition.workspace = true
keywords.workspace = true
categories.workspace = true
license.workspace = true

[dependencies]
ic_auth_types = { path = "../ic_auth_types", version = "0.4" }
candid = { workspace = true }
ciborium = { workspace = true }
serde = { workspace = true }
sha2 = { workspace = true }
sha3 = { workspace = true }
k256 = { workspace = true }
p256 = { workspace = true }
ed25519-dalek = { workspace = true }
simple_asn1 = { workspace = true }
ic-canister-sig-creation = { workspace = true }
ic-signature-verification = { workspace = true, optional = true }
http = { workspace = true, optional = true }
base64 = { workspace = true, optional = true }
const-hex = { workspace = true }
ic-agent = { workspace = true, optional = true }

[dev-dependencies]
ic-agent = { workspace = true }
ed25519-consensus = { workspace = true }
rand = { workspace = true }

[features]
default = []
full = ["sign"]
envelope = ["dep:http", "dep:base64", "dep:ic-signature-verification"]
# should not include `sign` feature for canister
sign = ["envelope", "dep:ic-agent"]
