alloy-signer-local 0.5.4

sepc256k1 ECDSA and YubiHSM signer implementations
Documentation
[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

# keystore
eth-keystore = { version = "0.5.0", default-features = false, optional = true }

# mnemonic
coins-bip32 = { version = "0.12", default-features = false, optional = true }
coins-bip39 = { version = "0.12", default-features = false, features = [
    "english",
], optional = true }

# yubi
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"] }

# need to enable features for tests
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"]