[package] name = "tmkms" description = """ Tendermint Key Management System: provides isolated, optionally HSM-backed signing key management for Tendermint applications including validators, oracles, IBC relayers, and other transaction signing applications """ version = "0.14.0" authors = ["Tony Arcieri ", "Ismail Khoffi "] license = "Apache-2.0" repository = "https://github.com/iqlusioninc/tmkms/" readme = "README.md" categories = ["cryptography::cryptocurrencies"] keywords = ["cosmos", "ed25519", "kms", "key-management", "yubihsm"] edition = "2021" rust-version = "1.74" [dependencies] abscissa_core = "0.7" bytes = "1" chrono = "0.4" clap = "4" cosmrs = "0.16" ed25519 = "2" ed25519-consensus = "2" elliptic-curve = { version = "0.13", features = ["pkcs8"], optional = true } eyre = "0.6" getrandom = "0.2" hkd32 = { version = "0.7", default-features = false, features = ["mnemonic"] } hkdf = "0.12" k256 = { version = "0.13", features = ["ecdsa", "sha256"] } ledger = { version = "0.2", optional = true } once_cell = "1.5" prost = "0.12" prost-derive = "0.12" rand_core = { version = "0.6", features = ["std"] } rpassword = { version = "7", optional = true } sdkms = { version = "0.5", optional = true } serde = { version = "1", features = ["serde_derive"] } serde_json = "1" sha2 = "0.10" signature = { version = "2", features = ["std"] } subtle = "2" subtle-encoding = { version = "0.5", features = ["bech32-preview"] } tempfile = "3" tendermint = { version = "0.35", features = ["secp256k1"] } tendermint-config = "0.35" tendermint-p2p = "0.35" tendermint-proto = "0.35" thiserror = "1" url = { version = "2.2.2", features = ["serde"], optional = true } uuid = { version = "1", features = ["serde"], optional = true } wait-timeout = "0.2" yubihsm = { version = "0.42", features = ["secp256k1", "setup", "usb"], optional = true } zeroize = "1" [dev-dependencies] abscissa_core = { version = "0.7", features = ["testing"] } byteorder = "1" rand = "0.8" [features] softsign = [] yubihsm-mock = ["yubihsm/mockhsm"] yubihsm-server = ["yubihsm/http-server", "rpassword"] fortanixdsm = ["elliptic-curve", "sdkms", "url", "uuid"] # Enable integer overflow checks in release builds for security reasons [profile.release] overflow-checks = true [package.metadata.docs.rs] all-features = true