ethers-rs/ethers-contract/Cargo.toml

65 lines
1.7 KiB
TOML

[package]
name = "ethers-contract"
authors = ["Georgios Konstantopoulos <me@gakonst.com>"]
readme = "README.md"
description = "Type-safe abstractions for interacting with 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
exclude.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-providers.workspace = true
ethers-core.workspace = true
serde.workspace = true
serde_json.workspace = true
futures-util.workspace = true
pin-project.workspace = true
thiserror.workspace = true
once_cell.workspace = true
hex.workspace = true
# abigen
ethers-contract-abigen = { workspace = true, optional = true }
ethers-contract-derive = { workspace = true, optional = true }
# eip712
ethers-derive-eip712 = { workspace = true, optional = true }
[dev-dependencies]
ethers-solc.workspace = true
ethers-providers = { workspace = true, features = ["ws"] }
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
[features]
default = ["abigen"]
eip712 = ["ethers-derive-eip712", "ethers-core/eip712"]
abigen-offline = ["ethers-contract-abigen", "ethers-contract-derive"]
abigen = ["abigen-offline", "ethers-contract-abigen/online"]
celo = ["legacy", "ethers-core/celo", "ethers-providers/celo"]
legacy = []
rustls = ["ethers-contract-abigen/rustls"]
openssl = ["ethers-contract-abigen/openssl"]