[package]
name = "mfm_core"
version = "0.1.29"
edition = "2021"
description = "Core configuration models and security-sensitive keystore primitives for MFM"
repository = "https://github.com/willyrgf/mfm2"
license = "MIT"
readme = "README.md"

[lib]
name = "mfm_core"
path = "src/lib.rs"

[features]
default = []
dangerous-secret-export = []

[dependencies]
serde = "1.0"
serde_json = "1.0"
serde_yaml = "0.9"
subtle = "2.6.1"

tiny-keccak = { version = "2.0", features = ["keccak"] }
argon2 = "0.5.3"
aes-gcm = "0.10.1"
bip39 = "2.0.0"
bip32 = "0.5.3"
k256 = { version = "0.13.0", features = ["ecdsa"] }
uuid = { version = "1.8.0", features = ["serde", "v4"] }
zeroize = { version = "1.7.0", features = ["zeroize_derive"] }
chrono = { version = "0.4.38", features = ["serde"] }
rand = "0.9.1"
alloy-primitives = { workspace = true, features = ["serde"] }
hex = "0.4.3"
thiserror = "2.0.12"
ring = "0.17.14"
fs2 = "0.4.3"

[dev-dependencies]
tempfile = "3.8"
static_assertions = "1"   # compile-time trait assertions
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["fmt", "env-filter"] }
