[workspace] members = [ # binary "bins/revme", # libraries "crates/revm", "crates/primitives", "crates/interpreter", "crates/precompile", "crates/database", "crates/database/interface", "crates/bytecode", "crates/state", "crates/context", "crates/context/interface", "crates/handler", # variants "crates/optimism", "crates/inspector", # utility "crates/statetest-types", # examples "examples/block_traces", #"examples/cheatcode_inspector", "examples/contract_deployment", "examples/database_components", "examples/uniswap_get_reserves", "examples/uniswap_v2_usdc_swap", "examples/erc20_gas", #"examples/custom_opcodes", ] resolver = "2" default-members = ["crates/revm"] [workspace.dependencies] # revm revm = { path = "crates/revm", version = "20.0.0-alpha.5", default-features = false } primitives = { path = "crates/primitives", package = "revm-primitives", version = "16.0.0-alpha.3", default-features = false } bytecode = { path = "crates/bytecode", package = "revm-bytecode", version = "1.0.0-alpha.3", default-features = false } database = { path = "crates/database", package = "revm-database", version = "1.0.0-alpha.3", default-features = false } database-interface = { path = "crates/database/interface", package = "revm-database-interface", version = "1.0.0-alpha.3", default-features = false } state = { path = "crates/state", package = "revm-state", version = "1.0.0-alpha.3", default-features = false } interpreter = { path = "crates/interpreter", package = "revm-interpreter", version = "16.0.0-alpha.5", default-features = false } inspector = { path = "crates/inspector", package = "revm-inspector", version = "1.0.0-alpha.5", default-features = false } precompile = { path = "crates/precompile", package = "revm-precompile", version = "17.0.0-alpha.5", default-features = false } statetest-types = { path = "crates/statetest-types", package = "revm-statetest-types", version = "1.0.0-alpha.4", default-features = false } context = { path = "crates/context", package = "revm-context", version = "1.0.0-alpha.4", default-features = false } context-interface = { path = "crates/context/interface", package = "revm-context-interface", version = "1.0.0-alpha.4", default-features = false } handler = { path = "crates/handler", package = "revm-handler", version = "1.0.0-alpha.5", default-features = false } # alloy alloy-eip2930 = { version = "0.1.0", default-features = false } alloy-eip7702 = { version = "0.5.0", default-features = false } alloy-primitives = { version = "0.8", default-features = false } # alloy in examples, revme or feature flagged. alloy-rlp = { version = "0.3", default-features = false } alloy-sol-types = { version = "0.8.2", default-features = false } alloy-consensus = { version = "0.12.4", default-features = false } alloy-eips = { version = "0.12.4", default-features = false } alloy-provider = { version = "0.12.4", default-features = false } alloy-signer = { version = "0.12.4", default-features = false } alloy-signer-local = { version = "0.12.4", default-features = false } alloy-transport = { version = "0.12.4", default-features = false } alloy-transport-http = { version = "0.12.4", default-features = false } # misc aurora-engine-modexp = { version = "1.1", default-features = false } auto_impl = "1.2.0" bitflags = { version = "2.6.0", default-features = false } bitvec = { version = "1", default-features = false } blst = "0.3.13" bn = { package = "substrate-bn", version = "0.6", default-features = false } c-kzg = { version = "1.0.0", default-features = false } cfg-if = { version = "1.0", default-features = false } clap = "4" criterion = { package = "codspeed-criterion-compat", version = "2.7" } derive-where = { version = "1.2.7", default-features = false } enumn = "0.1" k256 = { version = "0.13.3", default-features = false } kzg-rs = { version = "0.2.4", default-features = false } libsecp256k1 = { version = "0.7", default-features = false } once_cell = { version = "1.19", default-features = false } p256 = { version = "0.13.2", default-features = false } paste = "1.0" phf = { version = "0.11", default-features = false } rand = "0.8" reqwest = "0.12" ripemd = { version = "0.1", default-features = false } secp256k1 = { version = "0.30", default-features = false } serde = { version = "1.0", default-features = false } serde_json = { version = "1.0", default-features = false } sha2 = { version = "0.10", default-features = false } tokio = "1.40" # dev-dependencies anyhow = "1.0.89" bincode = "1.3" eyre = "0.6.12" hash-db = "0.15" indicatif = "0.17" microbench = "0.5" plain_hasher = "0.2" rstest = "0.24.0" serde_derive = "1.0" thiserror = "2.0" triehash = "0.8" walkdir = "2.5" [workspace.package] license = "MIT" authors = ["Dragan Rakita <dragan0rakita@gmail.com>"] categories = ["no-std", "compilers", "cryptography::cryptocurrencies"] keywords = ["revm", "evm", "ethereum", "blockchain", "no_std"] repository = "https://github.com/bluealloy/revm" documentation = "https://bluealloy.github.io/revm/" homepage = "" edition = "2021" [workspace.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [profile.release] codegen-units = 16 debug = "line-tables-only" lto = "thin" opt-level = 3 panic = "abort" strip = true # Use the `--profile profiling` flag to show symbols in release mode. # e.g. `cargo build --profile profiling` [profile.profiling] debug = 2 inherits = "release" strip = false # Make sure debug symbols are in the bench profile [profile.bench] inherits = "profiling" [profile.ethtests] inherits = "test" opt-level = 3