[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]
borrown = "0.1"
coins-bip32 = { version = "0.8", default-features = false, optional = true }
coins-bip39 = { version = "0.8", default-features = false, features = ["english"], optional = true }
fuel-types = { workspace = true, default-features = false }
lazy_static = { version = "1.4", optional = true }
rand = { version = "0.8", default-features = false, optional = true }
secp256k1 = { version = "0.26", default-features = false, features = ["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 = ".", default-features = false, features = ["random"] }
k256 = { version = "0.11", features = [ "ecdsa" ] }
sha2 = "0.10"
[features]
default = ["fuel-types/default", "std"]
alloc = ["rand?/alloc", "secp256k1/alloc"]
random = ["fuel-types/random", "rand"]
serde = ["dep:serde", "fuel-types/serde"]
std = ["alloc", "coins-bip32", "coins-bip39", "fuel-types/std", "lazy_static", "rand?/std_rng", "secp256k1/rand-std", "serde?/default"]
wasm = ["secp256k1/rand"]
[[bench]]
name = "signature"
harness = false
required-features = ["std"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]