[package]
name = "alloy-dyn-abi"
description = "Run-time ABI and EIP-712 implementations"
keywords = ["ethereum", "abi", "encoding", "evm", "solidity"]
categories = ["no-std", "encoding", "cryptography::cryptocurrencies"]
homepage = "https://github.com/alloy-rs/core/tree/main/crates/dyn-abi"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
exclude.workspace = true
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true
[dependencies]
alloy-json-abi.workspace = true
alloy-sol-type-parser.workspace = true
alloy-sol-types.workspace = true
alloy-primitives.workspace = true
hex.workspace = true
itoa.workspace = true
winnow.workspace = true
derive_more = { workspace = true, optional = true, features = [
"deref",
"deref_mut",
"from",
"into",
"into_iterator",
] }
serde = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
arbitrary = { workspace = true, optional = true }
derive_arbitrary = { workspace = true, optional = true }
proptest = { workspace = true, optional = true }
[dev-dependencies]
alloy-dyn-abi = { path = ".", version = ">=0", features = ["std"] }
criterion.workspace = true
ethabi = "18"
rand = "0.8"
serde_json.workspace = true
[features]
default = ["std"]
std = [
"alloy-json-abi/std",
"alloy-sol-types/std",
"alloy-sol-type-parser/std",
"alloy-primitives/std",
"hex/std",
"serde?/std",
"serde_json?/std",
]
eip712 = [
"alloy-sol-types/eip712-serde",
"dep:derive_more",
"dep:serde",
"dep:serde_json",
]
arbitrary = [
"std",
"alloy-sol-types/arbitrary",
"dep:arbitrary",
"dep:derive_arbitrary",
"dep:proptest",
]
debug = ["std", "alloy-sol-type-parser/debug"]
[[bench]]
name = "abi"
path = "benches/abi.rs"
harness = false
[[bench]]
name = "types"
path = "benches/types.rs"
harness = false