[package] name = "ethers-core" authors = ["Georgios Konstantopoulos "] readme = "README.md" description = "Ethereum data types, cryptography and utilities" 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] # abi open-fastrlp = { version = "0.1.4", features = ["std", "derive", "ethereum-types"] } rlp = { version = "0.5", features = ["derive"] } ethabi = { version = "18.0.0", default-features = false, features = ["full-serde", "rlp"] } arrayvec = { version = "0.7", default-features = false } # crypto elliptic-curve.workspace = true generic-array.workspace = true k256 = { workspace = true, features = ["ecdsa", "std"] } tiny-keccak.workspace = true rand.workspace = true # misc chrono = { version = "0.4", default-features = false } serde.workspace = true serde_json = { workspace = true, features = ["arbitrary_precision"] } thiserror.workspace = true bytes = { workspace = true, features = ["serde"] } hex.workspace = true once_cell = { workspace = true, optional = true } unicode-xid = "0.2" strum = { version = "0.24", features = ["derive"] } num_enum = "0.5" # 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 = { workspace = true, optional = true } proc-macro2 = { workspace = true, optional = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tempfile.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] # NOTE: this enables wasm compatibility for getrandom indirectly getrandom.workspace = true [dev-dependencies] bincode = { version = "1.3.3", default-features = false } once_cell.workspace = true hex-literal.workspace = true rand.workspace = true [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"]