diff --git a/Cargo.lock b/Cargo.lock index de27b2f0..b485ee71 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3147,10 +3147,12 @@ dependencies = [ [[package]] name = "revm" -version = "3.5.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266f86bdefa6dac07d92e2f5c37d7d183f2575b2f9e0ee9cba9402dfde912524" dependencies = [ "auto_impl", + "cfg-if", "revm-interpreter", "revm-precompile", "serde", @@ -3159,8 +3161,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a80b516cc706630e604e2fd47c281501d2fb222712be4328921361388b7d2df" dependencies = [ "revm-primitives", "serde", @@ -3168,8 +3171,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "2.2.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6912fafe7f70a264ec5895875ce2f2d0621a39263844280c9ee7f85e35bbb9e" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -3184,14 +3188,16 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b3683a40f1e94e7389c8e81e5f26bb5d30875ed0b48ab07985ec32eb6d6c712" dependencies = [ "alloy-primitives", "auto_impl", "bitflags 2.4.2", "bitvec", "c-kzg", + "cfg-if", "enumn", "hashbrown 0.14.3", "hex", diff --git a/Cargo.toml b/Cargo.toml index 6fdb0fdd..0d14f14d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,8 +21,8 @@ bonsai-sdk = { version = "0.6.0", features = ["async"] } hashbrown = { version = "0.14.3", features = ["inline-more"] } risc0-build = { version = "0.20.1" } risc0-zkvm = { version = "0.20.1", default-features = false } -revm-primitives = { git = "https://github.com/bluealloy/revm.git", rev = "6cd0bfc96da64513affe01c1964dd80beeb8c620", default_features = false } -revm = { git = "https://github.com/bluealloy/revm.git", rev = "6cd0bfc96da64513affe01c1964dd80beeb8c620", default-features = false, features = [ +revm-primitives = { version = "2.0", default_features = false } +revm = { version = "5.0", default-features = false, features = [ "std", "serde", "optimism", diff --git a/guests/eth-block/Cargo.lock b/guests/eth-block/Cargo.lock index 84652f43..55f61b24 100644 --- a/guests/eth-block/Cargo.lock +++ b/guests/eth-block/Cargo.lock @@ -2197,10 +2197,12 @@ dependencies = [ [[package]] name = "revm" -version = "3.5.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266f86bdefa6dac07d92e2f5c37d7d183f2575b2f9e0ee9cba9402dfde912524" dependencies = [ "auto_impl", + "cfg-if", "revm-interpreter", "revm-precompile", "serde", @@ -2209,8 +2211,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a80b516cc706630e604e2fd47c281501d2fb222712be4328921361388b7d2df" dependencies = [ "revm-primitives", "serde", @@ -2218,8 +2221,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "2.2.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6912fafe7f70a264ec5895875ce2f2d0621a39263844280c9ee7f85e35bbb9e" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -2234,14 +2238,16 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b3683a40f1e94e7389c8e81e5f26bb5d30875ed0b48ab07985ec32eb6d6c712" dependencies = [ "alloy-primitives", "auto_impl", "bitflags 2.4.2", "bitvec", "c-kzg", + "cfg-if", "enumn", "hashbrown 0.14.3", "hex", diff --git a/guests/op-block/Cargo.lock b/guests/op-block/Cargo.lock index 41cf5e8c..5d71d3fb 100644 --- a/guests/op-block/Cargo.lock +++ b/guests/op-block/Cargo.lock @@ -2197,10 +2197,12 @@ dependencies = [ [[package]] name = "revm" -version = "3.5.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266f86bdefa6dac07d92e2f5c37d7d183f2575b2f9e0ee9cba9402dfde912524" dependencies = [ "auto_impl", + "cfg-if", "revm-interpreter", "revm-precompile", "serde", @@ -2209,8 +2211,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a80b516cc706630e604e2fd47c281501d2fb222712be4328921361388b7d2df" dependencies = [ "revm-primitives", "serde", @@ -2218,8 +2221,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "2.2.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6912fafe7f70a264ec5895875ce2f2d0621a39263844280c9ee7f85e35bbb9e" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -2234,14 +2238,16 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b3683a40f1e94e7389c8e81e5f26bb5d30875ed0b48ab07985ec32eb6d6c712" dependencies = [ "alloy-primitives", "auto_impl", "bitflags 2.4.2", "bitvec", "c-kzg", + "cfg-if", "enumn", "hashbrown 0.14.3", "hex", diff --git a/guests/op-compose/Cargo.lock b/guests/op-compose/Cargo.lock index b212ca79..27f2b728 100644 --- a/guests/op-compose/Cargo.lock +++ b/guests/op-compose/Cargo.lock @@ -2197,10 +2197,12 @@ dependencies = [ [[package]] name = "revm" -version = "3.5.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266f86bdefa6dac07d92e2f5c37d7d183f2575b2f9e0ee9cba9402dfde912524" dependencies = [ "auto_impl", + "cfg-if", "revm-interpreter", "revm-precompile", "serde", @@ -2209,8 +2211,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a80b516cc706630e604e2fd47c281501d2fb222712be4328921361388b7d2df" dependencies = [ "revm-primitives", "serde", @@ -2218,8 +2221,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "2.2.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6912fafe7f70a264ec5895875ce2f2d0621a39263844280c9ee7f85e35bbb9e" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -2234,14 +2238,16 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b3683a40f1e94e7389c8e81e5f26bb5d30875ed0b48ab07985ec32eb6d6c712" dependencies = [ "alloy-primitives", "auto_impl", "bitflags 2.4.2", "bitvec", "c-kzg", + "cfg-if", "enumn", "hashbrown 0.14.3", "hex", diff --git a/guests/op-derive/Cargo.lock b/guests/op-derive/Cargo.lock index f01f00ba..509e865b 100644 --- a/guests/op-derive/Cargo.lock +++ b/guests/op-derive/Cargo.lock @@ -2197,10 +2197,12 @@ dependencies = [ [[package]] name = "revm" -version = "3.5.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266f86bdefa6dac07d92e2f5c37d7d183f2575b2f9e0ee9cba9402dfde912524" dependencies = [ "auto_impl", + "cfg-if", "revm-interpreter", "revm-precompile", "serde", @@ -2209,8 +2211,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a80b516cc706630e604e2fd47c281501d2fb222712be4328921361388b7d2df" dependencies = [ "revm-primitives", "serde", @@ -2218,8 +2221,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "2.2.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6912fafe7f70a264ec5895875ce2f2d0621a39263844280c9ee7f85e35bbb9e" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -2234,14 +2238,16 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b3683a40f1e94e7389c8e81e5f26bb5d30875ed0b48ab07985ec32eb6d6c712" dependencies = [ "alloy-primitives", "auto_impl", "bitflags 2.4.2", "bitvec", "c-kzg", + "cfg-if", "enumn", "hashbrown 0.14.3", "hex", diff --git a/lib/src/builder/execute/ethereum.rs b/lib/src/builder/execute/ethereum.rs index 872bdadb..61a8a1c9 100644 --- a/lib/src/builder/execute/ethereum.rs +++ b/lib/src/builder/execute/ethereum.rs @@ -103,12 +103,8 @@ impl TxExecStrategy for EthTxExecStrategy { // initialize the Evm let mut evm = Evm::builder() - .spec_id(spec_id) - .modify_cfg_env(|cfg_env| { - // set the EVM configuration - cfg_env.chain_id = block_builder.chain_spec.chain_id(); - cfg_env.optimism = false; - }) + .with_db(block_builder.db.take().unwrap()) + .with_spec_id(spec_id) .modify_block_env(|blk_env| { // set the EVM block environment blk_env.number = header.number.try_into().unwrap(); @@ -119,7 +115,10 @@ impl TxExecStrategy for EthTxExecStrategy { blk_env.basefee = header.base_fee_per_gas; blk_env.gas_limit = block_builder.input.state_input.gas_limit; }) - .with_db(block_builder.db.take().unwrap()) + .modify_cfg_env(|cfg_env| { + // set the EVM configuration + cfg_env.chain_id = block_builder.chain_spec.chain_id(); + }) .build(); // bloom filter over all transaction logs @@ -156,7 +155,7 @@ impl TxExecStrategy for EthTxExecStrategy { } // process the transaction - fill_eth_tx_env(&mut evm.env().tx, &tx.essence, tx_from); + fill_eth_tx_env(&mut evm.env_mut().tx, &tx.essence, tx_from); let ResultAndState { result, state } = evm .transact() .map_err(|evm_err| anyhow!("Error at transaction {}: {:?}", tx_no, evm_err)) diff --git a/lib/src/builder/execute/optimism.rs b/lib/src/builder/execute/optimism.rs index 8518f486..13443c9e 100644 --- a/lib/src/builder/execute/optimism.rs +++ b/lib/src/builder/execute/optimism.rs @@ -19,7 +19,6 @@ use anyhow::{anyhow, bail, Context, Result}; use log::{debug, trace}; use revm::{ interpreter::Host, - optimism, primitives::{Address, ResultAndState, SpecId, TransactTo, TxEnv}, Database, DatabaseCommit, Evm, }; @@ -101,12 +100,9 @@ impl TxExecStrategy for OpTxExecStrategy { } let mut evm = Evm::builder() - .spec_id(spec_id) - .modify_cfg_env(|cfg_env| { - // set the EVM configuration - cfg_env.chain_id = chain_id; - cfg_env.optimism = true; - }) + .with_db(block_builder.db.take().unwrap()) + .optimism() + .with_spec_id(spec_id) .modify_block_env(|blk_env| { // set the EVM block environment blk_env.number = header.number.try_into().unwrap(); @@ -117,8 +113,10 @@ impl TxExecStrategy for OpTxExecStrategy { blk_env.basefee = header.base_fee_per_gas; blk_env.gas_limit = block_builder.input.state_input.gas_limit; }) - .with_db(block_builder.db.take().unwrap()) - .append_handler_register(optimism::optimism_handle_register) + .modify_cfg_env(|cfg_env| { + // set the EVM configuration + cfg_env.chain_id = chain_id; + }) .build(); // bloom filter over all transaction logs @@ -164,10 +162,15 @@ impl TxExecStrategy for OpTxExecStrategy { } // Initialize tx environment - fill_deposit_tx_env(&mut evm.env().tx, deposit, tx_from); + fill_deposit_tx_env(&mut evm.env_mut().tx, deposit, tx_from); } OptimismTxEssence::Ethereum(essence) => { - fill_eth_tx_env(&mut evm.env().tx, alloy_rlp::encode(&tx), essence, tx_from); + fill_eth_tx_env( + &mut evm.env_mut().tx, + alloy_rlp::encode(&tx), + essence, + tx_from, + ); } }; diff --git a/testing/ef-tests/testguest/Cargo.lock b/testing/ef-tests/testguest/Cargo.lock index 91f24d27..31133e0a 100644 --- a/testing/ef-tests/testguest/Cargo.lock +++ b/testing/ef-tests/testguest/Cargo.lock @@ -2189,10 +2189,12 @@ dependencies = [ [[package]] name = "revm" -version = "3.5.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266f86bdefa6dac07d92e2f5c37d7d183f2575b2f9e0ee9cba9402dfde912524" dependencies = [ "auto_impl", + "cfg-if", "revm-interpreter", "revm-precompile", "serde", @@ -2201,8 +2203,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a80b516cc706630e604e2fd47c281501d2fb222712be4328921361388b7d2df" dependencies = [ "revm-primitives", "serde", @@ -2210,8 +2213,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "2.2.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6912fafe7f70a264ec5895875ce2f2d0621a39263844280c9ee7f85e35bbb9e" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -2226,14 +2230,16 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b3683a40f1e94e7389c8e81e5f26bb5d30875ed0b48ab07985ec32eb6d6c712" dependencies = [ "alloy-primitives", "auto_impl", "bitflags 2.4.2", "bitvec", "c-kzg", + "cfg-if", "enumn", "hashbrown 0.14.3", "hex",