Cargo Features

[dependencies]
revm = { version = "18.0.0", default-features = false, features = ["std", "hashbrown", "serde", "serde-json", "asm-keccak", "portable", "optimism", "arbitrary", "test-utils", "optimism-default-handler", "negate-optimism-default-handler", "ethersdb", "alloydb", "dev", "memory_limit", "optional_balance_check", "optional_block_gas_limit", "optional_eip3607", "optional_gas_refund", "optional_no_base_fee", "optional_beneficiary_reward", "secp256k1", "c-kzg", "kzg-rs", "blst"] }
default = blst, c-kzg, portable, secp256k1, std

These default features are set whenever revm is added without default-features = false somewhere in the dependency tree.

std default alloydb? ethersdb?

Enables preserve_order and std of optional serde_json and std of revm-interpreter and revm-precompile

revm-interpreter:

revm

and std of optional serde

Optional

hashbrown

Enables hashbrown of revm-interpreter and revm-precompile

serde serde-json?

Enables serde, serde of revm-interpreter

serde-json = serde

Enables serde_json

asm-keccak

Enables asm-keccak of revm-interpreter and revm-precompile

portable default

Enables portable of revm-interpreter and revm-precompile

optimism optimism-default-handler?

Enables optimism of revm-interpreter and revm-precompile

Affects inner_evm_context::InnerEvmContext.l1_block_info, revm::optimism

arbitrary

Enables arbitrary of revm-interpreter

test-utils
optimism-default-handler = optimism

Optimism default handler enabled Optimism handler register by default in EvmBuilder.

Enables optimism-default-handler of revm-interpreter and revm-precompile

negate-optimism-default-handler

Enables negate-optimism-default-handler of revm-interpreter and revm-precompile

ethersdb = std

Enables ethers-core, ethers-providers, and tokio

alloydb = std

Enables alloy-eips ^0.5.4, alloy-provider ^0.5.4, alloy-transport ^0.5.4, and tokio

tokio:

ethersdb

dev = memory_limit, optional_balance_check, optional_beneficiary_reward, optional_block_gas_limit, optional_eip3607, optional_gas_refund, optional_no_base_fee
memory_limit dev?

Enables memory_limit of revm-interpreter

optional_balance_check dev?

Enables optional_balance_check of revm-interpreter

optional_block_gas_limit dev?

Enables optional_block_gas_limit of revm-interpreter

optional_eip3607 dev?

Enables optional_eip3607 of revm-interpreter

optional_gas_refund dev?

Enables optional_gas_refund of revm-interpreter

optional_no_base_fee dev?

Enables optional_no_base_fee of revm-interpreter

optional_beneficiary_reward dev?

Enables optional_beneficiary_reward of revm-interpreter

secp256k1 default

See comments in revm-precompile

Enables secp256k1 of revm-precompile

c-kzg default

Enables c-kzg of revm-precompile

revm-precompile:

These libraries may not work on all no_std platforms as they depend on C.

Enables the KZG point evaluation precompile.

kzg-rs

kzg-rs is not audited but useful for no_std environment, use it with causing and default to c-kzg if possible.

Enables kzg-rs of revm-precompile

blst default

Enables blst of revm-precompile

revm-precompile:

Enables the BLS12-381 precompiles.