[package] name = "ethers-core" version = "2.0.0" edition = "2021" rust-version = "1.64" authors = ["Georgios Konstantopoulos "] license = "MIT OR Apache-2.0" description = "Core structures for the ethers-rs crate" homepage = "https://docs.rs/ethers" repository = "https://github.com/gakonst/ethers-rs" keywords = ["ethereum", "web3", "celo", "ethers"] [dependencies] open-fastrlp = { version = "0.1.4", features = ["std", "derive", "ethereum-types"] } rlp = { version = "0.5.2", default-features = false, features = ["std"] } ethabi = { version = "18.0.0", default-features = false, features = ["full-serde", "rlp"] } arrayvec = { version = "0.7.2", default-features = false } rlp-derive = { version = "0.1.0", default-features = false } # crypto elliptic-curve = { version = "0.13.2", default-features = false } generic-array = { version = "0.14.6", default-features = false } k256 = { version = "0.13.0", default-features = false, features = ["ecdsa", "std"] } rand = { version = "0.8.5", default-features = false } tiny-keccak = { version = "2.0.2", default-features = false } # misc chrono = { version = "0.4", default-features = false } serde = { version = "1.0.124", default-features = false, features = ["derive"] } serde_json = { version = "1.0.64", default-features = false, features = ["arbitrary_precision"] } thiserror = { version = "1.0", default-features = false } bytes = { version = "1.4.0", features = ["serde"] } hex = { version = "0.4.3", default-features = false, features = ["std"] } once_cell = { version = "1.17.1", optional = true } unicode-xid = "0.2.4" strum = { version = "0.24", features = ["derive"] } # macros feature enabled dependencies cargo_metadata = { version = "0.15.3", optional = true } # eip712 feature enabled dependencies convert_case = { version = "0.6.0", optional = true } syn = { version = "1.0.109", optional = true } proc-macro2 = { version = "1.0.52", optional = true } num_enum = "0.5.11" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tempfile = { version = "3.4.0", default-features = false } [target.'cfg(target_arch = "wasm32")'.dependencies] # NOTE: this enables wasm compatibility for getrandom indirectly getrandom = { version = "0.2", features = ["js"] } [dev-dependencies] serde_json = { version = "1.0.64", default-features = false } bincode = { version = "1.3.3", default-features = false } once_cell = { version = "1.17.1" } hex-literal = "0.3.4" rand = "0.8.5" [features] celo = ["legacy"] # celo support extends the transaction format with extra fields legacy = [] eip712 = ["convert_case", "syn", "proc-macro2"] macros = ["syn", "cargo_metadata", "once_cell"] [package.metadata.docs.rs] all-features = true rustc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"]