From fc1556f77e02c58836f3825229035cee299da132 Mon Sep 17 00:00:00 2001 From: cody-wang-cb Date: Wed, 25 Sep 2024 20:05:29 -0400 Subject: [PATCH 1/4] feat: Add holocene to OP spec (#1794) * add holocene to spec * add holocene in precompile * add cfg optimism to HOLOCENE --- crates/precompile/src/lib.rs | 2 +- crates/primitives/src/specification.rs | 39 ++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/crates/precompile/src/lib.rs b/crates/precompile/src/lib.rs index 488983bc..1167028e 100644 --- a/crates/precompile/src/lib.rs +++ b/crates/precompile/src/lib.rs @@ -297,7 +297,7 @@ impl PrecompileSpecId { #[cfg(feature = "optimism")] BEDROCK | REGOLITH | CANYON => Self::BERLIN, #[cfg(feature = "optimism")] - ECOTONE | FJORD | GRANITE => Self::CANCUN, + ECOTONE | FJORD | GRANITE | HOLOCENE => Self::CANCUN, } } } diff --git a/crates/primitives/src/specification.rs b/crates/primitives/src/specification.rs index ac3c5a3e..13ade0f4 100644 --- a/crates/primitives/src/specification.rs +++ b/crates/primitives/src/specification.rs @@ -66,8 +66,9 @@ pub enum SpecId { ECOTONE = 21, FJORD = 22, GRANITE = 23, - PRAGUE = 24, - PRAGUE_EOF = 25, + HOLOCENE = 24, + PRAGUE = 25, + PRAGUE_EOF = 26, #[default] LATEST = u8::MAX, } @@ -123,6 +124,8 @@ impl From<&str> for SpecId { "Fjord" => SpecId::FJORD, #[cfg(feature = "optimism")] "Granite" => SpecId::GRANITE, + #[cfg(feature = "optimism")] + "Holocene" => SpecId::HOLOCENE, _ => Self::LATEST, } } @@ -163,6 +166,8 @@ impl From for &'static str { SpecId::FJORD => "Fjord", #[cfg(feature = "optimism")] SpecId::GRANITE => "Granite", + #[cfg(feature = "optimism")] + SpecId::HOLOCENE => "Holocene", SpecId::LATEST => "Latest", } } @@ -226,6 +231,8 @@ spec!(ECOTONE, EcotoneSpec); spec!(FJORD, FjordSpec); #[cfg(feature = "optimism")] spec!(GRANITE, GraniteSpec); +#[cfg(feature = "optimism")] +spec!(HOLOCENE, HoloceneSpec); #[cfg(not(feature = "optimism"))] #[macro_export] @@ -389,6 +396,10 @@ macro_rules! spec_to_generic { use $crate::GraniteSpec as SPEC; $e } + $crate::SpecId::HOLOCENE => { + use $crate::HoloceneSpec as SPEC; + $e + } } }}; } @@ -431,6 +442,8 @@ mod tests { spec_to_generic!(FJORD, assert_eq!(SPEC::SPEC_ID, FJORD)); #[cfg(feature = "optimism")] spec_to_generic!(GRANITE, assert_eq!(SPEC::SPEC_ID, GRANITE)); + #[cfg(feature = "optimism")] + spec_to_generic!(HOLOCENE, assert_eq!(SPEC::SPEC_ID, HOLOCENE)); spec_to_generic!(PRAGUE, assert_eq!(SPEC::SPEC_ID, PRAGUE)); spec_to_generic!(PRAGUE_EOF, assert_eq!(SPEC::SPEC_ID, PRAGUE_EOF)); spec_to_generic!(LATEST, assert_eq!(SPEC::SPEC_ID, LATEST)); @@ -581,4 +594,26 @@ mod optimism_tests { assert!(SpecId::enabled(SpecId::GRANITE, SpecId::FJORD)); assert!(SpecId::enabled(SpecId::GRANITE, SpecId::GRANITE)); } + + #[test] + fn test_holocene_post_merge_hardforks() { + // from MERGE to HOLOCENE + for i in 15..=24 { + if let Some(spec) = SpecId::try_from_u8(i) { + assert!(HoloceneSpec::enabled(spec)); + } + } + assert!(!HoloceneSpec::enabled(SpecId::LATEST)); + } + + #[test] + fn test_holocene_post_merge_hardforks_spec_id() { + // from MERGE to HOLOCENE + for i in 15..=24 { + if let Some(spec) = SpecId::try_from_u8(i) { + assert!(SpecId::enabled(SpecId::HOLOCENE, spec)); + } + } + assert!(!SpecId::enabled(SpecId::HOLOCENE, SpecId::LATEST)); + } } From 892da81350ac95a20eb7c568e51fa7e48bd21963 Mon Sep 17 00:00:00 2001 From: rakita Date: Thu, 26 Sep 2024 03:17:31 +0200 Subject: [PATCH 2/4] feat(primitives): implement map module #743 for v45 (#1806) --- Cargo.lock | 31 ++++++++++++----- crates/primitives/Cargo.toml | 24 ++++++++----- .../src/eip7702/authorization_list.rs | 2 +- crates/primitives/src/lib.rs | 16 +++------ crates/primitives/src/state.rs | 4 +-- crates/revm/src/context/evm_context.rs | 4 +-- crates/revm/src/context/inner_evm_context.rs | 4 +-- crates/revm/src/db/in_memory_db.rs | 10 +++--- crates/revm/src/db/states/bundle_account.rs | 2 +- crates/revm/src/db/states/bundle_state.rs | 30 ++++++++-------- crates/revm/src/db/states/cache_account.rs | 4 +-- crates/revm/src/db/states/plain_account.rs | 2 +- crates/revm/src/db/states/state.rs | 34 +++++++++---------- .../revm/src/db/states/transition_account.rs | 2 +- crates/revm/src/db/states/transition_state.rs | 2 +- crates/revm/src/journaled_state.rs | 4 +-- crates/revm/src/optimism/handler_register.rs | 2 +- 17 files changed, 96 insertions(+), 81 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 157c19fc..777ee364 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -117,7 +117,6 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-serde", - "arbitrary", "c-kzg", "once_cell", "serde", @@ -184,9 +183,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.2" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb865df835f851b367ae439d6c82b117ded971628c8888b24fed411a290e38a" +checksum = "260d3ff3bff0bb84599f032a2f2c6828180b0ea0cd41fdaf44f39cef3ba41861" dependencies = [ "alloy-rlp", "arbitrary", @@ -196,15 +195,20 @@ dependencies = [ "derive_arbitrary", "derive_more 1.0.0", "getrandom", + "hashbrown", "hex-literal", + "indexmap", "itoa", "k256", "keccak-asm", + "paste", "proptest", "proptest-derive", "rand", "ruint", + "rustc-hash", "serde", + "sha3", "tiny-keccak", ] @@ -311,7 +315,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfd260ede54f0b53761fdd04133acc10ae70427f66a69aa9590529bbd066cd58" dependencies = [ "alloy-primitives", - "arbitrary", "serde", "serde_json", ] @@ -2080,12 +2083,14 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "2.2.6" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ + "arbitrary", "equivalent", "hashbrown", + "serde", ] [[package]] @@ -2941,6 +2946,7 @@ dependencies = [ "libc", "rand_chacha", "rand_core", + "serde", ] [[package]] @@ -3188,7 +3194,8 @@ dependencies = [ name = "revm-primitives" version = "9.0.2" dependencies = [ - "alloy-eips", + "alloy-eip2930", + "alloy-eip7702", "alloy-primitives", "auto_impl", "bitflags 2.6.0", @@ -3197,7 +3204,6 @@ dependencies = [ "cfg-if", "dyn-clone", "enumn", - "hashbrown", "hex", "kzg-rs", "serde", @@ -3376,6 +3382,15 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +dependencies = [ + "rand", +] + [[package]] name = "rustc-hex" version = "2.1.0" diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 85a7264f..ae803f06 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -22,11 +22,17 @@ rust_2018_idioms = "deny" all = "warn" [dependencies] -alloy-eips = { version = "0.3", default-features = false, features = ["k256"] } -alloy-primitives = { version = "0.8.2", default-features = false, features = [ +# alloy +alloy-eip2930 = { version = "0.1", default-features = false } +alloy-eip7702 = { version = "0.1", default-features = false, features = [ + "k256", +] } +alloy-primitives = { version = "0.8.5", default-features = false, features = [ "rlp", + "map", ] } -hashbrown = "0.14" + +# mics auto_impl = "1.2" bitvec = { version = "1", default-features = false, features = ["alloc"] } bitflags = { version = "2.6.0", default-features = false } @@ -57,28 +63,30 @@ hex = { version = "0.4", default-features = false } default = ["std", "c-kzg", "portable"] std = [ "serde?/std", - "alloy-eips/std", "alloy-primitives/std", "hex/std", "bitvec/std", "bitflags/std", + "alloy-eip7702/std", + "alloy-eip2930/std", ] -hashbrown = [] +hashbrown = ["alloy-primitives/map-hashbrown"] serde = [ "dep:serde", - "alloy-eips/serde", "alloy-primitives/serde", "hex/serde", - "hashbrown/serde", "bitvec/serde", "bitflags/serde", "c-kzg?/serde", + "alloy-eip7702/serde", + "alloy-eip2930/serde", ] arbitrary = [ "std", - "alloy-eips/arbitrary", "alloy-primitives/arbitrary", "bitflags/arbitrary", + "alloy-eip7702/arbitrary", + "alloy-eip2930/arbitrary", ] asm-keccak = ["alloy-primitives/asm-keccak"] portable = ["c-kzg?/portable"] diff --git a/crates/primitives/src/eip7702/authorization_list.rs b/crates/primitives/src/eip7702/authorization_list.rs index 6032bcdc..4b1a872f 100644 --- a/crates/primitives/src/eip7702/authorization_list.rs +++ b/crates/primitives/src/eip7702/authorization_list.rs @@ -1,4 +1,4 @@ -pub use alloy_eips::eip7702::{Authorization, SignedAuthorization}; +pub use alloy_eip7702::{Authorization, SignedAuthorization}; pub use alloy_primitives::{Parity, Signature}; use super::SECP256K1N_HALF; diff --git a/crates/primitives/src/lib.rs b/crates/primitives/src/lib.rs index 11131918..82b54113 100644 --- a/crates/primitives/src/lib.rs +++ b/crates/primitives/src/lib.rs @@ -20,10 +20,11 @@ pub mod result; pub mod specification; pub mod state; pub mod utilities; -pub use alloy_eips::eip2930::{AccessList, AccessListItem}; +pub use alloy_eip2930::{AccessList, AccessListItem}; pub use alloy_primitives::{ - self, address, b256, bytes, fixed_bytes, hex, hex_literal, ruint, uint, Address, Bytes, - FixedBytes, Log, LogData, TxKind, B256, I256, U256, + self, address, b256, bytes, fixed_bytes, hex, hex_literal, + map::{self, hash_map, hash_set, HashMap, HashSet}, + ruint, uint, Address, Bytes, FixedBytes, Log, LogData, TxKind, B256, I256, U256, }; pub use bitvec; pub use bytecode::*; @@ -34,15 +35,6 @@ pub use eip7702::{ }; pub use env::*; -cfg_if::cfg_if! { - if #[cfg(all(not(feature = "hashbrown"), feature = "std"))] { - pub use std::collections::{hash_map, hash_set, HashMap, HashSet}; - use hashbrown as _; - } else { - pub use hashbrown::{hash_map, hash_set, HashMap, HashSet}; - } -} - #[cfg(any(feature = "c-kzg", feature = "kzg-rs"))] pub use kzg::{EnvKzgSettings, KzgSettings}; pub use precompile::*; diff --git a/crates/primitives/src/state.rs b/crates/primitives/src/state.rs index 47be9930..35a3aab6 100644 --- a/crates/primitives/src/state.rs +++ b/crates/primitives/src/state.rs @@ -57,7 +57,7 @@ impl Account { pub fn new_not_existing() -> Self { Self { info: AccountInfo::default(), - storage: HashMap::new(), + storage: HashMap::default(), status: AccountStatus::LoadedAsNotExisting, } } @@ -158,7 +158,7 @@ impl From for Account { fn from(info: AccountInfo) -> Self { Self { info, - storage: HashMap::new(), + storage: HashMap::default(), status: AccountStatus::Loaded, } } diff --git a/crates/revm/src/context/evm_context.rs b/crates/revm/src/context/evm_context.rs index 32a62ba6..9a432b81 100644 --- a/crates/revm/src/context/evm_context.rs +++ b/crates/revm/src/context/evm_context.rs @@ -526,7 +526,7 @@ pub(crate) mod test_utils { EvmContext { inner: InnerEvmContext { env, - journaled_state: JournaledState::new(SpecId::CANCUN, HashSet::new()), + journaled_state: JournaledState::new(SpecId::CANCUN, HashSet::default()), db, error: Ok(()), #[cfg(feature = "optimism")] @@ -541,7 +541,7 @@ pub(crate) mod test_utils { EvmContext { inner: InnerEvmContext { env, - journaled_state: JournaledState::new(SpecId::CANCUN, HashSet::new()), + journaled_state: JournaledState::new(SpecId::CANCUN, HashSet::default()), db, error: Ok(()), #[cfg(feature = "optimism")] diff --git a/crates/revm/src/context/inner_evm_context.rs b/crates/revm/src/context/inner_evm_context.rs index 0d6797cf..bc2b956e 100644 --- a/crates/revm/src/context/inner_evm_context.rs +++ b/crates/revm/src/context/inner_evm_context.rs @@ -52,7 +52,7 @@ impl InnerEvmContext { pub fn new(db: DB) -> Self { Self { env: Box::default(), - journaled_state: JournaledState::new(SpecId::LATEST, HashSet::new()), + journaled_state: JournaledState::new(SpecId::LATEST, HashSet::default()), db, error: Ok(()), #[cfg(feature = "optimism")] @@ -65,7 +65,7 @@ impl InnerEvmContext { pub fn new_with_env(db: DB, env: Box) -> Self { Self { env, - journaled_state: JournaledState::new(SpecId::LATEST, HashSet::new()), + journaled_state: JournaledState::new(SpecId::LATEST, HashSet::default()), db, error: Ok(()), #[cfg(feature = "optimism")] diff --git a/crates/revm/src/db/in_memory_db.rs b/crates/revm/src/db/in_memory_db.rs index 58ab9ba1..5cc6987f 100644 --- a/crates/revm/src/db/in_memory_db.rs +++ b/crates/revm/src/db/in_memory_db.rs @@ -43,14 +43,14 @@ impl Default for CacheDB { impl CacheDB { pub fn new(db: ExtDB) -> Self { - let mut contracts = HashMap::new(); + let mut contracts = HashMap::default(); contracts.insert(KECCAK_EMPTY, Bytecode::default()); contracts.insert(B256::ZERO, Bytecode::default()); Self { - accounts: HashMap::new(), + accounts: HashMap::default(), contracts, logs: Vec::default(), - block_hashes: HashMap::new(), + block_hashes: HashMap::default(), db, } } @@ -411,7 +411,7 @@ impl Database for BenchmarkDB { #[cfg(test)] mod tests { use super::{CacheDB, EmptyDB}; - use crate::primitives::{db::Database, AccountInfo, Address, U256}; + use crate::primitives::{db::Database, AccountInfo, Address, HashMap, U256}; #[test] fn test_insert_account_storage() { @@ -457,7 +457,7 @@ mod tests { let mut new_state = CacheDB::new(init_state); new_state - .replace_account_storage(account, [(key1, value1)].into()) + .replace_account_storage(account, HashMap::from_iter([(key1, value1)])) .unwrap(); assert_eq!(new_state.basic(account).unwrap().unwrap().nonce, nonce); diff --git a/crates/revm/src/db/states/bundle_account.rs b/crates/revm/src/db/states/bundle_account.rs index 5abf397b..365a8168 100644 --- a/crates/revm/src/db/states/bundle_account.rs +++ b/crates/revm/src/db/states/bundle_account.rs @@ -94,7 +94,7 @@ impl BundleAccount { AccountInfoRevert::DeleteIt => { self.info = None; if self.original_info.is_none() { - self.storage = HashMap::new(); + self.storage = HashMap::default(); return true; } else { // set all storage to zero but preserve original values. diff --git a/crates/revm/src/db/states/bundle_state.rs b/crates/revm/src/db/states/bundle_state.rs index 55fc3681..d1db92e0 100644 --- a/crates/revm/src/db/states/bundle_state.rs +++ b/crates/revm/src/db/states/bundle_state.rs @@ -55,15 +55,15 @@ impl OriginalValuesKnown { impl Default for BundleBuilder { fn default() -> Self { BundleBuilder { - states: HashSet::new(), - state_original: HashMap::new(), - state_present: HashMap::new(), - state_storage: HashMap::new(), + states: HashSet::default(), + state_original: HashMap::default(), + state_present: HashMap::default(), + state_storage: HashMap::default(), reverts: BTreeSet::new(), revert_range: 0..=0, - revert_account: HashMap::new(), - revert_storage: HashMap::new(), - contracts: HashMap::new(), + revert_account: HashMap::default(), + revert_storage: HashMap::default(), + contracts: HashMap::default(), } } } @@ -782,7 +782,7 @@ impl BundleState { let mut account = BundleAccount::new( None, None, - HashMap::new(), + HashMap::default(), AccountStatus::LoadedNotExisting, ); if !account.revert(revert_account) { @@ -897,7 +897,7 @@ mod tests { code_hash: KECCAK_EMPTY, code: None, }), - HashMap::from([ + HashMap::from_iter([ (slot1(), (U256::from(0), U256::from(10))), (slot2(), (U256::from(0), U256::from(15))), ]), @@ -911,7 +911,7 @@ mod tests { code_hash: KECCAK_EMPTY, code: None, }), - HashMap::from([]), + HashMap::default(), ), ], vec![vec![ @@ -939,7 +939,7 @@ mod tests { code_hash: KECCAK_EMPTY, code: None, }), - HashMap::from([(slot1(), (U256::from(0), U256::from(15)))]), + HashMap::from_iter([(slot1(), (U256::from(0), U256::from(15)))]), )], vec![vec![( account1(), @@ -969,7 +969,7 @@ mod tests { ) .state_storage( account1(), - HashMap::from([(slot1(), (U256::from(0), U256::from(10)))]), + HashMap::from_iter([(slot1(), (U256::from(0), U256::from(10)))]), ) .state_address(account2()) .state_present_account_info( @@ -1002,7 +1002,7 @@ mod tests { ) .state_storage( account1(), - HashMap::from([(slot1(), (U256::from(0), U256::from(15)))]), + HashMap::from_iter([(slot1(), (U256::from(0), U256::from(15)))]), ) .revert_address(0, account1()) .revert_account_info( @@ -1132,7 +1132,7 @@ mod tests { Some(&BundleAccount::new( None, Some(AccountInfo::default()), - HashMap::new(), + HashMap::default(), AccountStatus::Changed )) ); @@ -1267,7 +1267,7 @@ mod tests { assert!(builder.get_state_storage_mut().is_empty()); builder .get_state_storage_mut() - .insert(account1(), HashMap::new()); + .insert(account1(), HashMap::default()); assert!(builder.get_state_storage_mut().contains_key(&account1())); // Test get_reverts_mut diff --git a/crates/revm/src/db/states/cache_account.rs b/crates/revm/src/db/states/cache_account.rs index 126ce2ff..325e32f7 100644 --- a/crates/revm/src/db/states/cache_account.rs +++ b/crates/revm/src/db/states/cache_account.rs @@ -186,7 +186,7 @@ impl CacheAccount { status: self.status, previous_info, previous_status, - storage: HashMap::new(), + storage: HashMap::default(), storage_was_destroyed: true, }) } @@ -259,7 +259,7 @@ impl CacheAccount { status: self.status, previous_info, previous_status, - storage: HashMap::new(), + storage: HashMap::default(), storage_was_destroyed: false, }, ) diff --git a/crates/revm/src/db/states/plain_account.rs b/crates/revm/src/db/states/plain_account.rs index 5aadfcc0..6bf5d6df 100644 --- a/crates/revm/src/db/states/plain_account.rs +++ b/crates/revm/src/db/states/plain_account.rs @@ -86,7 +86,7 @@ impl From for PlainAccount { fn from(info: AccountInfo) -> Self { Self { info, - storage: HashMap::new(), + storage: HashMap::default(), } } } diff --git a/crates/revm/src/db/states/state.rs b/crates/revm/src/db/states/state.rs index 9c3cc114..7f5d157d 100644 --- a/crates/revm/src/db/states/state.rs +++ b/crates/revm/src/db/states/state.rs @@ -190,9 +190,9 @@ impl State { let account = match info { None => CacheAccount::new_loaded_not_existing(), Some(acc) if acc.is_empty() => { - CacheAccount::new_loaded_empty_eip161(HashMap::new()) + CacheAccount::new_loaded_empty_eip161(HashMap::default()) } - Some(acc) => CacheAccount::new_loaded(acc, HashMap::new()), + Some(acc) => CacheAccount::new_loaded(acc, HashMap::default()), }; Ok(entry.insert(account)) } @@ -368,7 +368,7 @@ mod tests { nonce: 1, ..Default::default() }; - let existing_account_initial_storage = HashMap::::from([ + let existing_account_initial_storage = HashMap::::from_iter([ (slot1, U256::from(100)), // 0x01 => 100 (slot2, U256::from(200)), // 0x02 => 200 ]); @@ -396,7 +396,7 @@ mod tests { info: Some(existing_account_changed_info.clone()), previous_status: AccountStatus::Loaded, previous_info: Some(existing_account_initial_info.clone()), - storage: HashMap::from([( + storage: HashMap::from_iter([( slot1, StorageSlot::new_changed( *existing_account_initial_storage.get(&slot1).unwrap(), @@ -429,7 +429,7 @@ mod tests { info: Some(new_account_changed_info2.clone()), previous_status: AccountStatus::InMemoryChange, previous_info: Some(new_account_changed_info), - storage: HashMap::from([( + storage: HashMap::from_iter([( slot1, StorageSlot::new_changed(U256::ZERO, U256::from(1)), )]), @@ -443,7 +443,7 @@ mod tests { info: Some(existing_account_changed_info.clone()), previous_status: AccountStatus::InMemoryChange, previous_info: Some(existing_account_changed_info.clone()), - storage: HashMap::from([ + storage: HashMap::from_iter([ ( slot1, StorageSlot::new_changed(U256::from(100), U256::from(1_000)), @@ -480,7 +480,7 @@ mod tests { AccountRevert { account: AccountInfoRevert::DeleteIt, previous_status: AccountStatus::LoadedNotExisting, - storage: HashMap::from([(slot1, RevertToSlot::Some(U256::ZERO))]), + storage: HashMap::from_iter([(slot1, RevertToSlot::Some(U256::ZERO))]), wipe_storage: false, } ), @@ -489,7 +489,7 @@ mod tests { AccountRevert { account: AccountInfoRevert::RevertTo(existing_account_initial_info.clone()), previous_status: AccountStatus::Loaded, - storage: HashMap::from([ + storage: HashMap::from_iter([ ( slot1, RevertToSlot::Some( @@ -519,7 +519,7 @@ mod tests { info: Some(new_account_changed_info2), original_info: None, status: AccountStatus::InMemoryChange, - storage: HashMap::from([( + storage: HashMap::from_iter([( slot1, StorageSlot::new_changed(U256::ZERO, U256::from(1)) )]), @@ -535,7 +535,7 @@ mod tests { info: Some(existing_account_changed_info), original_info: Some(existing_account_initial_info), status: AccountStatus::InMemoryChange, - storage: HashMap::from([ + storage: HashMap::from_iter([ ( slot1, StorageSlot::new_changed( @@ -623,7 +623,7 @@ mod tests { info: Some(existing_account_with_storage_info.clone()), previous_status: AccountStatus::Loaded, previous_info: Some(existing_account_with_storage_info.clone()), - storage: HashMap::from([ + storage: HashMap::from_iter([ ( slot1, StorageSlot::new_changed(U256::from(1), U256::from(10)), @@ -664,7 +664,7 @@ mod tests { info: Some(existing_account_with_storage_info.clone()), previous_status: AccountStatus::Changed, previous_info: Some(existing_account_with_storage_info.clone()), - storage: HashMap::from([ + storage: HashMap::from_iter([ ( slot1, StorageSlot::new_changed(U256::from(10), U256::from(1)), @@ -721,7 +721,7 @@ mod tests { info: Some(existing_account_info.clone()), previous_status: AccountStatus::Destroyed, previous_info: None, - storage: HashMap::from([( + storage: HashMap::from_iter([( slot1, StorageSlot::new_changed(U256::ZERO, U256::from(1)), )]), @@ -751,7 +751,7 @@ mod tests { info: Some(existing_account_info.clone()), previous_status: AccountStatus::DestroyedAgain, previous_info: None, - storage: HashMap::from([( + storage: HashMap::from_iter([( slot2, StorageSlot::new_changed(U256::ZERO, U256::from(2)), )]), @@ -765,12 +765,12 @@ mod tests { assert_eq!( bundle_state.state, - HashMap::from([( + HashMap::from_iter([( existing_account_address, BundleAccount { info: Some(existing_account_info.clone()), original_info: Some(existing_account_info.clone()), - storage: HashMap::from([( + storage: HashMap::from_iter([( slot2, StorageSlot::new_changed(U256::ZERO, U256::from(2)) )]), @@ -786,7 +786,7 @@ mod tests { AccountRevert { account: AccountInfoRevert::DoNothing, previous_status: AccountStatus::Loaded, - storage: HashMap::from([(slot2, RevertToSlot::Destroyed)]), + storage: HashMap::from_iter([(slot2, RevertToSlot::Destroyed)]), wipe_storage: true, } )])]) diff --git a/crates/revm/src/db/states/transition_account.rs b/crates/revm/src/db/states/transition_account.rs index 599bc290..a559527f 100644 --- a/crates/revm/src/db/states/transition_account.rs +++ b/crates/revm/src/db/states/transition_account.rs @@ -139,7 +139,7 @@ impl TransitionAccount { BundleAccount { info: self.previous_info.clone(), original_info: self.previous_info.clone(), - storage: StorageWithOriginalValues::new(), + storage: StorageWithOriginalValues::default(), status: self.previous_status, } } diff --git a/crates/revm/src/db/states/transition_state.rs b/crates/revm/src/db/states/transition_state.rs index 8a5556cc..546e4ba0 100644 --- a/crates/revm/src/db/states/transition_state.rs +++ b/crates/revm/src/db/states/transition_state.rs @@ -11,7 +11,7 @@ pub struct TransitionState { impl TransitionState { /// Create new transition state containing one [`TransitionAccount`]. pub fn single(address: Address, transition: TransitionAccount) -> Self { - let mut transitions = HashMap::new(); + let mut transitions = HashMap::default(); transitions.insert(address, transition); TransitionState { transitions } } diff --git a/crates/revm/src/journaled_state.rs b/crates/revm/src/journaled_state.rs index 2d840329..7dce85a2 100644 --- a/crates/revm/src/journaled_state.rs +++ b/crates/revm/src/journaled_state.rs @@ -60,7 +60,7 @@ impl JournaledState { /// And will not take into account if account is not existing or empty. pub fn new(spec: SpecId, warm_preloaded_addresses: HashSet
) -> JournaledState { Self { - state: HashMap::new(), + state: HashMap::default(), transient_storage: TransientStorage::default(), logs: Vec::new(), journal: vec![vec![]], @@ -104,7 +104,7 @@ impl JournaledState { /// Clears the JournaledState. Preserving only the spec. pub fn clear(&mut self) { let spec = self.spec; - *self = Self::new(spec, HashSet::new()); + *self = Self::new(spec, HashSet::default()); } /// Does cleanup and returns modified state. diff --git a/crates/revm/src/optimism/handler_register.rs b/crates/revm/src/optimism/handler_register.rs index fc04e0ab..f9141e04 100644 --- a/crates/revm/src/optimism/handler_register.rs +++ b/crates/revm/src/optimism/handler_register.rs @@ -369,7 +369,7 @@ pub fn end( acc.mark_touch(); acc }; - let state = HashMap::from([(caller, account)]); + let state = HashMap::from_iter([(caller, account)]); // The gas used of a failed deposit post-regolith is the gas // limit of the transaction. pre-regolith, it is the gas limit From 4f093996c6059aad4db02b7eb03dca13e13be8a1 Mon Sep 17 00:00:00 2001 From: rakita Date: Thu, 26 Sep 2024 03:33:29 +0200 Subject: [PATCH 3/4] bump: release-plz update (#1807) * bump primitives * bump: release-plz update --- CHANGELOG.md | 11 ++++ Cargo.lock | 10 +-- bins/revm-test/CHANGELOG.md | 108 ++++++++++++++++++++++++++++++++ bins/revm-test/Cargo.toml | 2 +- bins/revme/CHANGELOG.md | 6 ++ bins/revme/Cargo.toml | 4 +- crates/interpreter/CHANGELOG.md | 6 ++ crates/interpreter/Cargo.toml | 4 +- crates/precompile/CHANGELOG.md | 6 ++ crates/precompile/Cargo.toml | 4 +- crates/primitives/CHANGELOG.md | 6 ++ crates/primitives/Cargo.toml | 2 +- crates/revm/CHANGELOG.md | 6 ++ crates/revm/Cargo.toml | 6 +- 14 files changed, 165 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 611feda0..c6be103e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ Because this is workspace with multi libraries, tags will be simplified, and with this document you can match version of project with git tag. +# v45 tag +date: 26.09.2024 + +Maintainance release. + +* `revme`: 0.10.2 -> 0.10.3 (✓ API compatible changes) +* `revm`: 14.0.2 -> 14.0.3 (✓ API compatible changes) +* `revm-primitives`: 9.0.2 -> 10.0.0 (✓ API compatible changes) +* `revm-interpreter`: 10.0.2 -> 10.0.3 +* `revm-precompile`: 11.0.2 -> 11.0.3 + # v44 tag date: 18.09.2024 diff --git a/Cargo.lock b/Cargo.lock index 777ee364..38bc3835 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3127,7 +3127,7 @@ dependencies = [ [[package]] name = "revm" -version = "14.0.2" +version = "14.0.3" dependencies = [ "alloy-eips", "alloy-provider", @@ -3153,7 +3153,7 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "10.0.2" +version = "10.0.3" dependencies = [ "bincode", "paste", @@ -3166,7 +3166,7 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "11.0.2" +version = "11.0.3" dependencies = [ "aurora-engine-modexp", "blst", @@ -3192,7 +3192,7 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "9.0.2" +version = "10.0.0" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -3225,7 +3225,7 @@ dependencies = [ [[package]] name = "revme" -version = "0.10.2" +version = "0.10.3" dependencies = [ "alloy-rlp", "hash-db", diff --git a/bins/revm-test/CHANGELOG.md b/bins/revm-test/CHANGELOG.md index 85b16662..39575c41 100644 --- a/bins/revm-test/CHANGELOG.md +++ b/bins/revm-test/CHANGELOG.md @@ -6,6 +6,114 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.1.0](https://github.com/bluealloy/revm/releases/tag/revm-test-v0.1.0) - 2024-09-26 + +### Added + +- EOF (Ethereum Object Format) ([#1143](https://github.com/bluealloy/revm/pull/1143)) +- add tests for shift instructions ([#1254](https://github.com/bluealloy/revm/pull/1254)) +- EvmBuilder and External Contexts ([#888](https://github.com/bluealloy/revm/pull/888)) +- separate initial checks ([#486](https://github.com/bluealloy/revm/pull/486)) +- revm-interpreter created ([#320](https://github.com/bluealloy/revm/pull/320)) +- *(interpreter)* Unify instruction fn signature ([#283](https://github.com/bluealloy/revm/pull/283)) +- Migrate `primitive_types::U256` to `ruint::Uint<256, 4>` ([#239](https://github.com/bluealloy/revm/pull/239)) +- Introduce ByteCode format, Update Readme ([#156](https://github.com/bluealloy/revm/pull/156)) + +### Fixed + +- *(eof)* fixture 2 tests ([#1550](https://github.com/bluealloy/revm/pull/1550)) +- *(clippy)* fix some clippy lints + +### Other + +- release-plz update +- *(deps)* bump alloy-sol-types from 0.8.0 to 0.8.2 ([#1762](https://github.com/bluealloy/revm/pull/1762)) +- release ([#1729](https://github.com/bluealloy/revm/pull/1729)) +- release ([#1722](https://github.com/bluealloy/revm/pull/1722)) +- *(deps)* bump alloy and primitives ([#1725](https://github.com/bluealloy/revm/pull/1725)) +- *(deps)* bump bytes from 1.6.1 to 1.7.1 ([#1700](https://github.com/bluealloy/revm/pull/1700)) +- tag v41 revm v13.0.0 ([#1692](https://github.com/bluealloy/revm/pull/1692)) +- release ([#1683](https://github.com/bluealloy/revm/pull/1683)) +- *(deps)* bump regex from 1.10.5 to 1.10.6 ([#1682](https://github.com/bluealloy/revm/pull/1682)) +- bump versions bcs of primitives ([#1631](https://github.com/bluealloy/revm/pull/1631)) +- release ([#1620](https://github.com/bluealloy/revm/pull/1620)) +- *(deps)* bump alloy-sol-types from 0.7.6 to 0.7.7 ([#1614](https://github.com/bluealloy/revm/pull/1614)) +- *(deps)* bump alloy-sol-macro from 0.7.6 to 0.7.7 ([#1613](https://github.com/bluealloy/revm/pull/1613)) +- release ([#1579](https://github.com/bluealloy/revm/pull/1579)) +- release ([#1548](https://github.com/bluealloy/revm/pull/1548)) +- replace TransactTo with TxKind ([#1542](https://github.com/bluealloy/revm/pull/1542)) +- *(deps)* bump regex from 1.10.4 to 1.10.5 ([#1502](https://github.com/bluealloy/revm/pull/1502)) +- release ([#1261](https://github.com/bluealloy/revm/pull/1261)) +- *(interpreter)* rewrite gas accounting for memory expansion ([#1361](https://github.com/bluealloy/revm/pull/1361)) +- revert snailtracer without microbench ([#1259](https://github.com/bluealloy/revm/pull/1259)) +- release ([#1231](https://github.com/bluealloy/revm/pull/1231)) +- *(deps)* bump other alloy deps 0.7.0 ([#1252](https://github.com/bluealloy/revm/pull/1252)) +- *(deps)* bump regex from 1.10.3 to 1.10.4 ([#1223](https://github.com/bluealloy/revm/pull/1223)) +- *(deps)* bump bytes from 1.5.0 to 1.6.0 ([#1224](https://github.com/bluealloy/revm/pull/1224)) +- release ([#1175](https://github.com/bluealloy/revm/pull/1175)) +- tag v32 revm v7.1.0 ([#1176](https://github.com/bluealloy/revm/pull/1176)) +- release ([#1125](https://github.com/bluealloy/revm/pull/1125)) +- *(deps)* bump alloy-sol-types from 0.6.3 to 0.6.4 ([#1148](https://github.com/bluealloy/revm/pull/1148)) +- *(deps)* bump alloy-sol-macro from 0.6.3 to 0.6.4 ([#1136](https://github.com/bluealloy/revm/pull/1136)) +- release tag v30 revm v6.1.0 ([#1100](https://github.com/bluealloy/revm/pull/1100)) +- clippy cleanup ([#1112](https://github.com/bluealloy/revm/pull/1112)) +- *(deps)* bump alloy-sol-types from 0.6.2 to 0.6.3 ([#1103](https://github.com/bluealloy/revm/pull/1103)) +- release ([#1082](https://github.com/bluealloy/revm/pull/1082)) +- *(deps)* bump alloy-sol-macro from 0.6.2 to 0.6.3 ([#1094](https://github.com/bluealloy/revm/pull/1094)) +- license date and revm docs ([#1080](https://github.com/bluealloy/revm/pull/1080)) +- release ([#1067](https://github.com/bluealloy/revm/pull/1067)) +- tag v27, revm v4.0.0 release ([#1061](https://github.com/bluealloy/revm/pull/1061)) +- *(deps)* bump eyre from 0.6.11 to 0.6.12 ([#1051](https://github.com/bluealloy/revm/pull/1051)) +- *(deps)* bump alloy-sol-types from 0.6.0 to 0.6.2 ([#1035](https://github.com/bluealloy/revm/pull/1035)) +- *(deps)* bump alloy-sol-macro from 0.6.0 to 0.6.2 ([#1013](https://github.com/bluealloy/revm/pull/1013)) +- chore(Test) : const to static ([#1016](https://github.com/bluealloy/revm/pull/1016)) +- Burntpix criterion bench ([#1004](https://github.com/bluealloy/revm/pull/1004)) +- Instruction table ([#759](https://github.com/bluealloy/revm/pull/759)) +- rewrite revm-test as a criterion bench ([#579](https://github.com/bluealloy/revm/pull/579)) +- optimize stack usage for recursive `call` and `create` programs ([#522](https://github.com/bluealloy/revm/pull/522)) +- Bump v24, revm v3.3.0 ([#476](https://github.com/bluealloy/revm/pull/476)) +- Release v23, revm v3.2.0 ([#464](https://github.com/bluealloy/revm/pull/464)) +- Release v22, revm v3.1.1 ([#460](https://github.com/bluealloy/revm/pull/460)) +- v21, revm v3.1.0 ([#444](https://github.com/bluealloy/revm/pull/444)) +- remove gas blocks ([#391](https://github.com/bluealloy/revm/pull/391)) +- *(deps)* bump bytes from 1.3.0 to 1.4.0 ([#355](https://github.com/bluealloy/revm/pull/355)) +- Bump v20, changelog ([#350](https://github.com/bluealloy/revm/pull/350)) +- includes to libs ([#338](https://github.com/bluealloy/revm/pull/338)) +- Creating revm-primitives, revm better errors and db components ([#334](https://github.com/bluealloy/revm/pull/334)) +- Cleanup, move hot fields toggether in Interpreter ([#321](https://github.com/bluealloy/revm/pull/321)) +- native bits ([#278](https://github.com/bluealloy/revm/pull/278)) +- *(release)* Bump revm and precompiles versions +- Bump primitive_types. Add statetest spec +- Bump revm v2.1.0 ([#224](https://github.com/bluealloy/revm/pull/224)) +- revm bump v2.0.0, precompile bump v1.1.1 ([#212](https://github.com/bluealloy/revm/pull/212)) +- Cfg choose create analysis, option on bytecode size limit ([#210](https://github.com/bluealloy/revm/pull/210)) +- Cargo sort. Bump lib versions ([#208](https://github.com/bluealloy/revm/pull/208)) +- Return `ExecutionResult`, which includes `gas_refunded` ([#169](https://github.com/bluealloy/revm/pull/169)) +- Bytecode hash, remove override_spec, ([#165](https://github.com/bluealloy/revm/pull/165)) +- revm bump 1.8. update libs. snailtracer rename ([#159](https://github.com/bluealloy/revm/pull/159)) +- v6 changelog, bump versions +- Big Refactor. Machine to Interpreter. refactor instructions. call/create struct ([#52](https://github.com/bluealloy/revm/pull/52)) +- [revm] pop_top and unsafe comments ([#51](https://github.com/bluealloy/revm/pull/51)) +- [precompiles] remove unused borsh +- [recompl] Bump precompile deps, cargo sort on workspace +- [revm] output log. Stetetest test log output. fmt +- Bump versions, Changelogs, fmt, revm readme, clippy. +- [revm] Run test multiple times. fmt, BenchmarkDB +- Multiple changes: web3 db, debugger initial commit, precompile load +- Memory to usize, clippy,fmt +- wip optimize i256 +- TEMP switch stacks H256 with U256 +- [revm] some perfs +- [revm] Perfs stack pop. Benchmark snailtracer. +- [revm] cleanup +- fmt +- EVM Interface changed. Inspector called separately +- Bump revm v0.3.0. README updated +- DB ref mut polished +- And now we debug +- [revm] Interface. Inspector added, Env cleanup. revm-test passes +- Rename bin to bins + ## [0.1.0](https://github.com/bluealloy/revm/releases/tag/revm-test-v0.1.0) - 2024-09-18 ### Added diff --git a/bins/revm-test/Cargo.toml b/bins/revm-test/Cargo.toml index 72c0aa82..79cffac8 100644 --- a/bins/revm-test/Cargo.toml +++ b/bins/revm-test/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [dependencies] bytes = "1.7" hex = "0.4" -revm = { path = "../../crates/revm", version = "14.0.2", default-features=false } +revm = { path = "../../crates/revm", version = "14.0.3", default-features=false } microbench = "0.5" alloy-sol-macro = "0.8.0" alloy-sol-types = "0.8.2" diff --git a/bins/revme/CHANGELOG.md b/bins/revme/CHANGELOG.md index 6f579c7e..1d6290f5 100644 --- a/bins/revme/CHANGELOG.md +++ b/bins/revme/CHANGELOG.md @@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.10.3](https://github.com/bluealloy/revm/compare/revme-v0.10.2...revme-v0.10.3) - 2024-09-26 + +### Other + +- update Cargo.lock dependencies + ## [0.10.2](https://github.com/bluealloy/revm/compare/revme-v0.10.1...revme-v0.10.2) - 2024-09-18 ### Added diff --git a/bins/revme/Cargo.toml b/bins/revme/Cargo.toml index 6a4fe52e..45a2d29c 100644 --- a/bins/revme/Cargo.toml +++ b/bins/revme/Cargo.toml @@ -6,7 +6,7 @@ keywords = ["ethereum", "evm"] license = "MIT" repository = "https://github.com/bluealloy/revm" description = "Rust Ethereum Virtual Machine Executable" -version = "0.10.2" +version = "0.10.3" [dependencies] hash-db = "0.15" @@ -15,7 +15,7 @@ hashbrown = "0.14" indicatif = "0.17" microbench = "0.5" plain_hasher = "0.2" -revm = { path = "../../crates/revm", version = "14.0.2", default-features = false, features = [ +revm = { path = "../../crates/revm", version = "14.0.3", default-features = false, features = [ "ethersdb", "std", "serde-json", diff --git a/crates/interpreter/CHANGELOG.md b/crates/interpreter/CHANGELOG.md index 7319a6ec..a9e1e5d4 100644 --- a/crates/interpreter/CHANGELOG.md +++ b/crates/interpreter/CHANGELOG.md @@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [10.0.3](https://github.com/bluealloy/revm/compare/revm-interpreter-v10.0.2...revm-interpreter-v10.0.3) - 2024-09-26 + +### Other + +- updated the following local packages: revm-primitives + ## [10.0.2](https://github.com/bluealloy/revm/compare/revm-interpreter-v10.0.1...revm-interpreter-v10.0.2) - 2024-09-18 ### Other diff --git a/crates/interpreter/Cargo.toml b/crates/interpreter/Cargo.toml index 93d1a6eb..38ae2080 100644 --- a/crates/interpreter/Cargo.toml +++ b/crates/interpreter/Cargo.toml @@ -6,7 +6,7 @@ keywords = ["no_std", "ethereum", "evm", "revm", "interpreter"] license = "MIT" name = "revm-interpreter" repository = "https://github.com/bluealloy/revm" -version = "10.0.2" +version = "10.0.3" readme = "../../README.md" [package.metadata.docs.rs] @@ -22,7 +22,7 @@ rust_2018_idioms = "deny" all = "warn" [dependencies] -revm-primitives = { path = "../primitives", version = "9.0.2", default-features = false } +revm-primitives = { path = "../primitives", version = "10.0.0", default-features = false } paste = { version = "1.0", optional = true } phf = { version = "0.11", default-features = false, optional = true, features = [ diff --git a/crates/precompile/CHANGELOG.md b/crates/precompile/CHANGELOG.md index f4385b21..5d45062e 100644 --- a/crates/precompile/CHANGELOG.md +++ b/crates/precompile/CHANGELOG.md @@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [11.0.3](https://github.com/bluealloy/revm/compare/revm-precompile-v11.0.2...revm-precompile-v11.0.3) - 2024-09-26 + +### Other + +- updated the following local packages: revm-primitives + ## [11.0.2](https://github.com/bluealloy/revm/compare/revm-precompile-v11.0.1...revm-precompile-v11.0.2) - 2024-09-18 ### Other diff --git a/crates/precompile/Cargo.toml b/crates/precompile/Cargo.toml index 1441be3b..4c57899f 100644 --- a/crates/precompile/Cargo.toml +++ b/crates/precompile/Cargo.toml @@ -6,7 +6,7 @@ keywords = ["no_std", "ethereum", "evm", "revm", "precompiles"] license = "MIT" name = "revm-precompile" repository = "https://github.com/bluealloy/revm" -version = "11.0.2" +version = "11.0.3" readme = "../../README.md" [package.metadata.docs.rs] @@ -22,7 +22,7 @@ rust_2018_idioms = "deny" all = "warn" [dependencies] -revm-primitives = { path = "../primitives", version = "9.0.2", default-features = false } +revm-primitives = { path = "../primitives", version = "10.0.0", default-features = false } once_cell = { version = "1.19", default-features = false, features = ["alloc"] } # ecRecover diff --git a/crates/primitives/CHANGELOG.md b/crates/primitives/CHANGELOG.md index f78b79f5..62a73edf 100644 --- a/crates/primitives/CHANGELOG.md +++ b/crates/primitives/CHANGELOG.md @@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [10.0.1](https://github.com/bluealloy/revm/compare/revm-primitives-v10.0.0...revm-primitives-v10.0.1) - 2024-09-26 + +### Other + +- update Cargo.toml dependencies + ## [9.0.2](https://github.com/bluealloy/revm/compare/revm-primitives-v9.0.1...revm-primitives-v9.0.2) - 2024-09-18 ### Other diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index ae803f06..d1a16a2a 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -6,7 +6,7 @@ keywords = ["no_std", "ethereum", "evm", "revm", "types"] license = "MIT" name = "revm-primitives" repository = "https://github.com/bluealloy/revm" -version = "9.0.2" +version = "10.0.0" readme = "../../README.md" [package.metadata.docs.rs] diff --git a/crates/revm/CHANGELOG.md b/crates/revm/CHANGELOG.md index aab95a07..8e6898b0 100644 --- a/crates/revm/CHANGELOG.md +++ b/crates/revm/CHANGELOG.md @@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [14.0.3](https://github.com/bluealloy/revm/compare/revm-v14.0.2...revm-v14.0.3) - 2024-09-26 + +### Other + +- update Cargo.lock dependencies + ## [14.0.2](https://github.com/bluealloy/revm/compare/revm-v14.0.1...revm-v14.0.2) - 2024-09-18 ### Fixed diff --git a/crates/revm/Cargo.toml b/crates/revm/Cargo.toml index b9b99d76..8e455bce 100644 --- a/crates/revm/Cargo.toml +++ b/crates/revm/Cargo.toml @@ -6,7 +6,7 @@ keywords = ["no_std", "ethereum", "evm", "revm"] license = "MIT" name = "revm" repository = "https://github.com/bluealloy/revm" -version = "14.0.2" +version = "14.0.3" readme = "../../README.md" [package.metadata.docs.rs] @@ -23,8 +23,8 @@ all = "warn" [dependencies] # revm -revm-interpreter = { path = "../interpreter", version = "10.0.2", default-features = false } -revm-precompile = { path = "../precompile", version = "11.0.2", default-features = false } +revm-interpreter = { path = "../interpreter", version = "10.0.3", default-features = false } +revm-precompile = { path = "../precompile", version = "11.0.3", default-features = false } # misc auto_impl = { version = "1.2", default-features = false } From a0b3a256f802d1ecfe628f0c6bcc54fa425a10c1 Mon Sep 17 00:00:00 2001 From: yutianwu Date: Mon, 21 Oct 2024 14:13:13 +0800 Subject: [PATCH 4/4] chore: fix ci issues --- crates/precompile/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/precompile/src/lib.rs b/crates/precompile/src/lib.rs index a8ce9a73..ec297fdd 100644 --- a/crates/precompile/src/lib.rs +++ b/crates/precompile/src/lib.rs @@ -487,9 +487,9 @@ impl PrecompileSpecId { #[cfg(feature = "optimism")] BEDROCK | REGOLITH | CANYON => Self::BERLIN, #[cfg(all(feature = "optimism", not(feature = "opbnb")))] - ECOTONE | FJORD | GRANITE | HOLOCENE=> Self::CANCUN, + ECOTONE | FJORD | GRANITE | HOLOCENE => Self::CANCUN, #[cfg(all(feature = "optimism", feature = "opbnb"))] - ECOTONE | GRANITE | HOLOCENE=> Self::CANCUN, + ECOTONE | GRANITE | HOLOCENE => Self::CANCUN, #[cfg(feature = "opbnb")] FERMAT => Self::FERMAT, #[cfg(any(feature = "bsc", feature = "opbnb"))]