[package]
name = "ic-auth-client"
version = "0.3.1"
authors = ["Inomoto, Yota <yota@perforate.org>"]
license = "Apache-2.0"
edition = "2021"
rust-version = "1.75.0"

description = "A client library for Internet Computer identity authentication services."
include = ["/src", "/Cargo.toml", "/README.md", "/LICENSE"]

documentation = "https://docs.rs/ic-auth-client/"
repository = "https://github.com/wiyota/ic-auth-client-rs/"

readme = "README.md"

categories = ["api-bindings", "authentication", "wasm"]
keywords = ["icp", "internet-computer", "identity", "frontend"]

[lib]
crate-type = ["rlib"]

[dependencies]
ic-agent = "0.39"
base64 = "0.22"
ed25519-consensus = "2.1"
getrandom = { version = "0.2", optional = true }
gloo-events = "0.2"
gloo-timers = "0.3"
gloo-utils = "0.2"
rand = "0.8"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde-wasm-bindgen = "0.6"
thiserror = "1"
web-sys = { version = "0.3", default-features = false, features = [
    "Window",
    "Location",
    "MessageEvent",
    "Storage",
    "Url",
] }

[target."cfg(target_family = \"wasm\")".dependencies]
wasm-bindgen-futures = "0.4"
wasm-timer = "0.2"

[target."cfg(not(target_family = \"wasm\"))".dependencies]
tokio = "1.41"

[dev-dependencies]
serde_test = "1.0"
wasm-bindgen-test = "0.3"

[features]
default = ["wasm-js"]
wasm-js = ["getrandom/js", "ic-agent/wasm-bindgen"]