[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 # eip712 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 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 winnow parsers; intentionally doesn't enable `winnow/debug` 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