[package] name = "ethers-contract-abigen" authors = [ "Nicholas Rodrigues Lordello ", "Georgios Konstantopoulos ", ] readme = "README.md" description = "Code generation for type-safe bindings to Ethereum smart contracts" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true documentation.workspace = true repository.workspace = true homepage.workspace = true categories.workspace = true keywords.workspace = true [package.metadata.docs.rs] all-features = true rustc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"] [package.metadata.playground] all-features = true [dependencies] ethers-core = { workspace = true, features = ["macros"] } proc-macro2.workspace = true quote.workspace = true syn.workspace = true prettyplease = "0.1.25" Inflector = "0.11" serde.workspace = true serde_json.workspace = true hex.workspace = true dunce.workspace = true walkdir.workspace = true eyre.workspace = true regex.workspace = true toml.workspace = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies] # online ethers-etherscan = { workspace = true, optional = true } reqwest = { workspace = true, features = ["blocking"], optional = true } tokio = { workspace = true, optional = true } url = { workspace = true, optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] # NOTE: this enables wasm compatibility for getrandom indirectly getrandom.workspace = true [features] online = ["reqwest", "ethers-etherscan", "url", "tokio"] openssl = ["online", "reqwest/native-tls", "ethers-etherscan/openssl"] rustls = ["online", "reqwest/rustls-tls", "ethers-etherscan/rustls"] [dev-dependencies] tempfile.workspace = true ethers-solc = { workspace = true, features = ["project-util", "svm-solc"] }