[package]
edition = "2021"
rust-version = "1.91.0"
name = "revm"
version = "37.0.0"
authors = ["Dragan Rakita <dragan0rakita@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Revm - Rust Ethereum Virtual Machine"
readme = "README.md"
keywords = [
"revm",
"evm",
"ethereum",
"blockchain",
"no_std",
]
license = "MIT"
repository = "https://github.com/bluealloy/revm"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloydb = ["database/alloydb"]
arbitrary = ["primitives/arbitrary"]
asm-keccak = ["primitives/asm-keccak"]
asm-sha2 = ["precompile/asm-sha2"]
asyncdb = ["database-interface/asyncdb"]
blst = ["precompile/blst"]
bn = ["precompile/bn"]
c-kzg = ["precompile/c-kzg"]
default = [
"std",
"secp256k1",
"portable",
"tracer",
"c-kzg",
"blst",
]
dev = [
"memory_limit",
"optional_balance_check",
"optional_block_gas_limit",
"optional_eip3541",
"optional_eip3607",
"optional_eip7623",
"optional_no_base_fee",
]
gmp = ["precompile/gmp"]
hashbrown = [
"interpreter/hashbrown",
"precompile/hashbrown",
]
map-foldhash = [
"primitives/map-foldhash",
"statetest-types?/map-foldhash",
]
memory_limit = [
"context/memory_limit",
"interpreter/memory_limit",
]
optional_balance_check = ["context/optional_balance_check"]
optional_block_gas_limit = ["context/optional_block_gas_limit"]
optional_eip3541 = ["context/optional_eip3541"]
optional_eip3607 = ["context/optional_eip3607"]
optional_eip7623 = ["context/optional_eip7623"]
optional_fee_charge = ["context/optional_fee_charge"]
optional_no_base_fee = ["context/optional_no_base_fee"]
optional_priority_fee_check = ["context/optional_priority_fee_check"]
p256-aws-lc-rs = ["precompile/p256-aws-lc-rs"]
parse = ["bytecode/parse"]
portable = ["precompile/portable"]
secp256k1 = ["precompile/secp256k1"]
serde = [
"interpreter/serde",
"database-interface/serde",
"primitives/serde",
"handler/serde",
"context-interface/serde",
"bytecode/serde",
"context/serde",
"database/serde",
"inspector/serde",
"state/serde",
]
serde-json = [
"serde",
"inspector/tracer",
]
sha3-keccak = ["primitives/sha3-keccak"]
std = [
"interpreter/std",
"precompile/std",
"handler/std",
"context/std",
"context-interface/std",
"bytecode/std",
"database/std",
"database-interface/std",
"inspector/std",
"primitives/std",
"state/std",
"serde/std",
"serde_json/std",
]
test-types = ["dep:statetest-types"]
tracer = ["inspector/tracer"]
[lib]
name = "revm"
path = "src/lib.rs"
[dependencies.bytecode]
version = "10.0.0"
default-features = false
package = "revm-bytecode"
[dependencies.context]
version = "16.0.0"
default-features = false
package = "revm-context"
[dependencies.context-interface]
version = "17.0.0"
default-features = false
package = "revm-context-interface"
[dependencies.database]
version = "13.0.0"
default-features = false
package = "revm-database"
[dependencies.database-interface]
version = "11.0.0"
default-features = false
package = "revm-database-interface"
[dependencies.handler]
version = "18.0.0"
default-features = false
package = "revm-handler"
[dependencies.inspector]
version = "18.0.0"
default-features = false
package = "revm-inspector"
[dependencies.interpreter]
version = "35.0.0"
default-features = false
package = "revm-interpreter"
[dependencies.precompile]
version = "33.0.0"
default-features = false
package = "revm-precompile"
[dependencies.primitives]
version = "23.0.0"
default-features = false
package = "revm-primitives"
[dependencies.state]
version = "11.0.0"
default-features = false
package = "revm-state"
[dependencies.statetest-types]
version = "17.0.0"
optional = true
default-features = false
package = "revm-statetest-types"
[dev-dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
"derive",
]
default-features = false
[dev-dependencies.serde_json]
version = "1.0"
features = [
"alloc",
"preserve_order",
]
default-features = false
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unreachable_pub = "warn"
unused_must_use = "deny"
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1
[lints.rustdoc]
all = "warn"