[package]
name = "alloy-signer-local"
description = "sepc256k1 ECDSA and YubiHSM signer implementations"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
exclude.workspace = true
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true
[dependencies]
alloy-consensus = { workspace = true, features = ["std"] }
alloy-network.workspace = true
alloy-primitives.workspace = true
alloy-signer.workspace = true
k256.workspace = true
rand.workspace = true
thiserror.workspace = true
async-trait.workspace = true
eth-keystore = { version = "0.5.0", default-features = false, optional = true }
coins-bip32 = { version = "0.12", default-features = false, optional = true }
coins-bip39 = { version = "0.12", default-features = false, features = [
"english",
], optional = true }
elliptic-curve = { workspace = true, optional = true }
yubihsm = { version = "0.42", features = [
"secp256k1",
"http",
"usb",
], optional = true }
[dev-dependencies]
alloy-dyn-abi.workspace = true
alloy-sol-types.workspace = true
alloy-consensus = { workspace = true, features = ["std"] }
alloy-network.workspace = true
assert_matches.workspace = true
serde_json.workspace = true
serde.workspace = true
tempfile.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
yubihsm = { version = "0.42", features = ["mockhsm"] }
[features]
keystore = ["dep:eth-keystore"]
keystore-geth-compat = ["keystore", "eth-keystore?/geth-compat"]
mnemonic = ["dep:coins-bip32", "dep:coins-bip39"]
mnemonic-all-languages = ["mnemonic", "coins-bip39?/all-langs"]
yubihsm = ["dep:yubihsm", "dep:elliptic-curve"]
eip712 = ["alloy-signer/eip712"]