[package]
name = "namada_tx"
description = "Namada transaction construction types"
resolver = "2"
authors.workspace = true
edition.workspace = true
documentation.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
readme.workspace = true
repository.workspace = true
version.workspace = true

[features]
default = []
testing = ["proptest", "namada_account/testing", "namada_core/testing"]
migrations = ["namada_migrations", "linkme"]
arbitrary = [
    "dep:arbitrary",
    "namada_account/arbitrary",
    "namada_core/arbitrary",
]

[dependencies]
namada_account.workspace = true
namada_core.workspace = true
namada_events.workspace = true
namada_gas.workspace = true
namada_macros.workspace = true
namada_migrations = { workspace = true, optional = true }

arbitrary = { workspace = true, optional = true }
ark-bls12-381.workspace = true
bitflags.workspace = true
borsh.workspace = true
data-encoding.workspace = true
either.workspace = true
konst.workspace = true
linkme = { workspace = true, optional = true }
masp_primitives.workspace = true
num-derive.workspace = true
num-traits.workspace = true
proptest = { workspace = true, optional = true }
prost-types.workspace = true
prost.workspace = true
rand_core = { workspace = true, features = ["getrandom"] }
serde.workspace = true
serde_json.workspace = true
sha2.workspace = true
thiserror.workspace = true

[dev-dependencies]
namada_core = { path = "../core", features = ["testing"] }

assert_matches.workspace = true
proptest.workspace = true
rand.workspace = true

[build-dependencies]
tonic-build.workspace = true

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