[package]
name = "tari_transaction_key_manager"
description = "Core Tari key manager with storage"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
repository.workspace = true
license.workspace = true

[features]

[dependencies]
tari_common_types = { workspace = true}
tari_common_sqlite = { workspace = true }
tari_transaction_components = { workspace = true}
tari_utilities = { workspace = true, features = ["borsh"] }
tari_service_framework = { workspace = true }
tari_hashing = { workspace = true }
tari_script = { workspace = true }
minotari_ledger_wallet_common = { workspace = true }
async-trait = { version = "0.1.50" }
blake2 = "0.10"
chacha20poly1305 = "0.10.1"
chrono = { version = "0.4", default-features = false, features = ["serde"] }
derivative = "2.2.0"
diesel = { version = "2.3.8", features = [
    "sqlite",
    "serde_json",
    "chrono",
    "64-column-tables",
] }
diesel_migrations = { version = "2.3" }
digest = "0.10"
futures = "^0.3.1"
log = { workspace = true }
strum = "0.22"
strum_macros = "0.22"
serde = { workspace = true, features = ["derive"] }
rand = { workspace = true }
tokio = { workspace = true, features = ["sync", "time"] }
zeroize = "1"
tari_crypto = { workspace = true, features = ["borsh"] }
thiserror = { workspace = true }

[dev-dependencies]
chrono = { version = "0.4", default-features = false, features = ["serde"] }

tempfile = "3.1.0"
[lib]
crate-type = ["cdylib", "rlib"]

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = [
    'cfg(tari_target_network_mainnet)',
    'cfg(tari_target_network_nextnet)',
    'cfg(tari_target_network_testnet)',
] }


[package.metadata.cargo-machete]
ignored = ["strum"
] # this is so we can run cargo machete without getting false positive about macro dependancies
