fuel-crypto 0.58.2

Fuel cryptographic primitives.
Documentation
[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"]