[package] name = "synor-crypto-wasm" version = "0.1.0" edition = "2021" description = "WASM-compatible cryptography for Synor web wallet" license = "MIT OR Apache-2.0" [lib] crate-type = ["cdylib", "rlib"] [dependencies] # WASM bindings wasm-bindgen = "0.2" js-sys = "0.3" # Classical cryptography (pure Rust, WASM compatible) ed25519-dalek = { version = "2.1", default-features = false, features = ["rand_core"] } rand = { version = "0.8", default-features = false, features = ["std_rng"] } getrandom = { version = "0.2", features = ["js"] } # Hashing (pure Rust) sha3 = "0.10" blake3 = "1.5" # Key derivation (pure Rust) hkdf = "0.12" pbkdf2 = { version = "0.12", features = ["simple"] } hmac = "0.12" # BIP-39 bip39 = { package = "tiny-bip39", version = "1.0" } # Post-quantum cryptography (WASM compatible) pqc_dilithium = { version = "0.2", default-features = false, features = ["wasm"] } # Serialization serde = { version = "1.0", features = ["derive"] } serde-wasm-bindgen = "0.6" # Utilities hex = "0.4" zeroize = { version = "1.7", features = ["derive"] } [dev-dependencies] wasm-bindgen-test = "0.3" [features] default = [] # Enable when we have WASM-compatible Dilithium pqc = [] [profile.release] # Optimize for size in WASM lto = true opt-level = "s"