[package] name = "fuel-crypto" version = { workspace = true } authors = { workspace = true } categories = { workspace = true } edition = { workspace = true } homepage = { workspace = true } keywords = ["blockchain", "cryptocurrencies", "cryptography"] license = "Apache-2.0" repository = { workspace = true } description = "Fuel cryptographic primitives." [dependencies] coins-bip32 = { version = "0.8", default-features = false, optional = true } coins-bip39 = { version = "0.8", default-features = false, features = ["english"], optional = true } ecdsa = { version = "0.16", default-features = false } ed25519-dalek = { version = "2.0.0", default-features = false } fuel-types = { workspace = true, default-features = false } k256 = { version = "0.13", default-features = false, features = ["digest", "ecdsa"] } lazy_static = { version = "1.4", optional = true } p256 = { version = "0.13", default-features = false, features = ["digest", "ecdsa"] } rand = { version = "0.8", default-features = false, optional = true } # `rand-std` is used to further protect the blinders from side-channel attacks and won't compromise # the deterministic arguments of the signature (key, nonce, message), as defined in the RFC-6979 secp256k1 = { version = "0.29.1", default-features = false, features = ["rand-std", "recovery"], optional = true } serde = { version = "1.0", default-features = false, features = ["derive"], optional = true } sha2 = { version = "0.10", default-features = false } zeroize = { version = "1.5", features = ["derive"] } [dev-dependencies] bincode = { workspace = true } criterion = "0.4" fuel-crypto = { path = ".", features = ["random", "test-helpers"] } sha2 = "0.10" [features] default = ["fuel-types/default", "std"] alloc = ["rand?/alloc", "secp256k1?/alloc", "fuel-types/alloc"] random = ["fuel-types/random", "rand"] serde = ["dep:serde", "fuel-types/serde"] std = ["alloc", "coins-bip32", "secp256k1", "coins-bip39", "fuel-types/std", "lazy_static", "rand?/std_rng", "serde?/default"] test-helpers = [] [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } [[bench]] name = "signature" harness = false required-features = ["std"] # docs.rs-specific configuration [package.metadata.docs.rs] # document all features all-features = true # defines the configuration attribute `docsrs` rustdoc-args = ["--cfg", "docsrs"]