[package]
name = "ethers"
authors = ["Georgios Konstantopoulos <me@gakonst.com>"]
readme = "../README.md"
description = "A complete Ethereum and Celo Rust library"
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
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.playground]
all-features = true
[features]
default = ["abigen", "rustls", "etherscan"]
legacy = ["ethers-core/legacy", "ethers-contract/legacy"]
celo = [
"ethers-contract/celo",
"ethers-core/celo",
"ethers-middleware/celo",
"ethers-providers/celo",
"ethers-signers/celo",
"legacy",
]
optimism = [
"ethers-core/optimism",
"ethers-providers/optimism",
"ethers-signers/optimism",
"ethers-middleware/optimism",
"ethers-contract/optimism",
]
rustls = [
"ethers-contract/rustls",
"ethers-etherscan?/rustls",
"ethers-middleware/rustls",
"ethers-providers/rustls",
"ethers-solc?/rustls",
]
openssl = [
"ethers-contract/openssl",
"ethers-etherscan?/openssl",
"ethers-middleware/openssl",
"ethers-providers/openssl",
"ethers-solc?/openssl",
]
ws = ["ethers-providers/ws"]
legacy-ws = ["ethers-providers/legacy-ws"]
ipc = ["ethers-providers/ipc"]
dev-rpc = ["ethers-providers/dev-rpc"]
aws = ["ethers-signers/aws"]
ledger = ["ethers-signers/ledger"]
trezor = ["ethers-signers/trezor"]
yubi = ["ethers-signers/yubi"]
abigen = ["ethers-contract/abigen"]
abigen-online = ["ethers-contract/abigen-online"]
etherscan = ["dep:ethers-etherscan", "ethers-middleware/etherscan"]
solc = ["dep:ethers-solc", "ethers-etherscan?/ethers-solc"]
solc-full = ["ethers-solc?/full"]
solc-tests = ["ethers-solc?/tests"]
abigen-offline = ["abigen"]
eip712 = []
ethers-solc = ["solc"]
solc-sha2-asm = []
[dependencies]
ethers-addressbook.workspace = true
ethers-contract = { workspace = true, features = ["providers"] }
ethers-core.workspace = true
ethers-middleware.workspace = true
ethers-providers.workspace = true
ethers-signers.workspace = true
ethers-etherscan = { workspace = true, optional = true }
ethers-solc = { workspace = true, optional = true }