[package] name = "sharenet-passport" version = "0.4.0" publish = ["sharenet-sh-forgejo"] # Set this to whichever Cargo registry you are publishing to edition = "2021" description = "Core library for Sharenet Passport creation and management" authors = ["Continuist "] license = "CC-BY-NC-SA-4.0" repository = "https://git.sharenet.sh/your-org/sharenet-passport" readme = "README.md" keywords = ["cryptography", "identity", "passport", "sharenet"] categories = ["cryptography", "authentication"] [dependencies] bip39 = "2.1" ed25519-dalek = { version = "2.1", features = ["serde"] } chacha20poly1305 = "0.10" hkdf = "0.12" sha2 = "0.10" rand = "0.8" rand_core = "0.6" serde = { version = "1.0", features = ["derive"] } serde_cbor = "0.11" thiserror = "1.0" zeroize = { version = "1.7", features = ["zeroize_derive"] } hex = "0.4" ciborium = "0.2" # Core async support async-trait = "0.1" # Dependencies needed for WASM implementation (available for all targets) base64 = "0.21" # WASM-specific dependencies [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2", features = ["js"] } uuid = { version = "1.10", features = ["v7", "js"] } web-time = "1.1" wasm-bindgen-futures = "0.4" js-sys = "0.3" gloo-storage = "0.3" wasm-bindgen = "0.2.105" serde-wasm-bindgen = "0.6" serde_json = "1.0" # Native dependencies [target.'cfg(not(target_arch = "wasm32"))'.dependencies] getrandom = { version = "0.2", features = ["std"] } uuid = { version = "1.10", features = ["v7", "rng"] } # Dev dependencies for testing [dev-dependencies] tempfile = "3.8" [lib] crate-type = ["cdylib", "rlib"] # Support both native and WASM [features] default = [] std = [] # Standard library support (for native targets) alloc = [] # No-std with alloc support # Optional override features for manual platform selection force-wasm = [] # Force WASM implementation even on native targets force-native = [] # Force native implementation even on WASM targets