From 16adf432ed65f55113d0202b2a81fbe95e443b38 Mon Sep 17 00:00:00 2001 From: Delweng Date: Mon, 9 Sep 2024 18:08:12 +0800 Subject: [PATCH 01/11] chore: make clippy happy (#1755) * chore(revm): elided lifetime has a name Signed-off-by: jsvisa * clipy: map to inspect Signed-off-by: jsvisa * fix all clippy warnings Signed-off-by: jsvisa * typo Signed-off-by: jsvisa --------- Signed-off-by: jsvisa --- crates/interpreter/src/function_stack.rs | 7 +++---- .../interpreter/src/instructions/arithmetic.rs | 2 ++ crates/precompile/src/hash.rs | 18 ++++++++++++------ crates/revm/src/context/context_precompiles.rs | 2 +- crates/revm/src/db/states/account_status.rs | 13 +++++++++++++ crates/revm/src/evm.rs | 12 ++++-------- 6 files changed, 35 insertions(+), 19 deletions(-) diff --git a/crates/interpreter/src/function_stack.rs b/crates/interpreter/src/function_stack.rs index 4c33aa911c..400283ccdb 100644 --- a/crates/interpreter/src/function_stack.rs +++ b/crates/interpreter/src/function_stack.rs @@ -51,10 +51,9 @@ impl FunctionStack { /// Pops a frame from the stack and sets current_code_idx to the popped frame's idx. pub fn pop(&mut self) -> Option { - self.return_stack.pop().map(|frame| { - self.current_code_idx = frame.idx; - frame - }) + self.return_stack + .pop() + .inspect(|frame| self.current_code_idx = frame.idx) } /// Sets current_code_idx, this is needed for JUMPF opcode. diff --git a/crates/interpreter/src/instructions/arithmetic.rs b/crates/interpreter/src/instructions/arithmetic.rs index 9b34aa14f9..da11b79b9c 100644 --- a/crates/interpreter/src/instructions/arithmetic.rs +++ b/crates/interpreter/src/instructions/arithmetic.rs @@ -69,6 +69,8 @@ pub fn exp(interpreter: &mut Interpreter, _host: & *op2 = op1.pow(*op2); } +/// Implements the `SIGNEXTEND` opcode as defined in the Ethereum Yellow Paper. +/// /// In the yellow paper `SIGNEXTEND` is defined to take two inputs, we will call them /// `x` and `y`, and produce one output. The first `t` bits of the output (numbering from the /// left, starting from 0) are equal to the `t`-th bit of `y`, where `t` is equal to diff --git a/crates/precompile/src/hash.rs b/crates/precompile/src/hash.rs index 9457302b1a..1ea5e73dfc 100644 --- a/crates/precompile/src/hash.rs +++ b/crates/precompile/src/hash.rs @@ -11,9 +11,12 @@ pub const RIPEMD160: PrecompileWithAddress = PrecompileWithAddress( Precompile::Standard(ripemd160_run), ); -/// See: -/// See: -/// See: +/// Computes the SHA-256 hash of the input data. +/// +/// This function follows specifications defined in the following references: +/// - [Ethereum Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf) +/// - [Solidity Documentation on Mathematical and Cryptographic Functions](https://docs.soliditylang.org/en/develop/units-and-global-variables.html#mathematical-and-cryptographic-functions) +/// - [Address 0x02](https://etherscan.io/address/0000000000000000000000000000000000000002) pub fn sha256_run(input: &Bytes, gas_limit: u64) -> PrecompileResult { let cost = calc_linear_cost_u32(input.len(), 60, 12); if cost > gas_limit { @@ -24,9 +27,12 @@ pub fn sha256_run(input: &Bytes, gas_limit: u64) -> PrecompileResult { } } -/// See: -/// See: -/// See: +/// Computes the RIPEMD-160 hash of the input data. +/// +/// This function follows specifications defined in the following references: +/// - [Ethereum Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf) +/// - [Solidity Documentation on Mathematical and Cryptographic Functions](https://docs.soliditylang.org/en/develop/units-and-global-variables.html#mathematical-and-cryptographic-functions) +/// - [Address 03](https://etherscan.io/address/0000000000000000000000000000000000000003) pub fn ripemd160_run(input: &Bytes, gas_limit: u64) -> PrecompileResult { let gas_used = calc_linear_cost_u32(input.len(), 600, 120); if gas_used > gas_limit { diff --git a/crates/revm/src/context/context_precompiles.rs b/crates/revm/src/context/context_precompiles.rs index f674093535..f3fa881a14 100644 --- a/crates/revm/src/context/context_precompiles.rs +++ b/crates/revm/src/context/context_precompiles.rs @@ -95,7 +95,7 @@ impl ContextPrecompiles { /// Returns precompiles addresses. #[inline] - pub fn addresses<'a>(&'a self) -> Box + 'a> { + pub fn addresses<'a>(&'a self) -> Box + 'a> { match self.inner { PrecompilesCow::StaticRef(inner) => Box::new(inner.addresses()), PrecompilesCow::Owned(ref inner) => Box::new(inner.keys()), diff --git a/crates/revm/src/db/states/account_status.rs b/crates/revm/src/db/states/account_status.rs index 5902ed9819..6f0d8e7f78 100644 --- a/crates/revm/src/db/states/account_status.rs +++ b/crates/revm/src/db/states/account_status.rs @@ -1,6 +1,19 @@ +/// AccountStatus represents the various states an account can be in after being loaded from the database. +/// /// After account get loaded from database it can be in a lot of different states /// while we execute multiple transaction and even blocks over account that is in memory. /// This structure models all possible states that account can be in. +/// +/// # Variants +/// +/// - `LoadedNotExisting`: the account has been loaded but does not exist. +/// - `Loaded`: the account has been loaded and exists. +/// - `LoadedEmptyEIP161`: the account is loaded and empty, as per EIP-161. +/// - `InMemoryChange`: there are changes in the account that exist only in memory. +/// - `Changed`: the account has been modified. +/// - `Destroyed`: the account has been destroyed. +/// - `DestroyedChanged`: the account has been destroyed and then modified. +/// - `DestroyedAgain`: the account has been destroyed again. #[derive(Clone, Copy, Default, Debug, PartialEq, Eq, Hash)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum AccountStatus { diff --git a/crates/revm/src/evm.rs b/crates/revm/src/evm.rs index b42abcdcf1..ab34469ce4 100644 --- a/crates/revm/src/evm.rs +++ b/crates/revm/src/evm.rs @@ -199,10 +199,7 @@ impl Evm<'_, EXT, DB> { .handler .validation() .initial_tx_gas(&self.context.evm.env) - .map_err(|e| { - self.clear(); - e - })?; + .inspect_err(|_e| self.clear())?; let output = self.transact_preverified_inner(initial_gas_spend); let output = self.handler.post_execution().end(&mut self.context, output); self.clear(); @@ -228,10 +225,9 @@ impl Evm<'_, EXT, DB> { /// This function will validate the transaction. #[inline] pub fn transact(&mut self) -> EVMResult { - let initial_gas_spend = self.preverify_transaction_inner().map_err(|e| { - self.clear(); - e - })?; + let initial_gas_spend = self + .preverify_transaction_inner() + .inspect_err(|_e| self.clear())?; let output = self.transact_preverified_inner(initial_gas_spend); let output = self.handler.post_execution().end(&mut self.context, output); From e34bcba354281fb1a7d4cd7512b6a7f89807577f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:08:28 +0200 Subject: [PATCH 02/11] chore(deps): bump secp256k1 from 0.29.0 to 0.29.1 (#1758) Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from 0.29.0 to 0.29.1. - [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/secp256k1-0.29.1/CHANGELOG.md) - [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.29.0...secp256k1-0.29.1) --- updated-dependencies: - dependency-name: secp256k1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 94465d457b..d5c6611130 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3547,9 +3547,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0cc0f1cf93f4969faf3ea1c7d8a9faed25918d96affa959720823dfe86d4f3" +checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ "rand", "secp256k1-sys", From 32376114a2251782419a2ba08092595c0e34a8db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:15:30 +0200 Subject: [PATCH 03/11] chore(deps): bump alloy-primitives from 0.8.0 to 0.8.2 (#1761) Bumps [alloy-primitives](https://github.com/alloy-rs/core) from 0.8.0 to 0.8.2. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.8.0...v0.8.2) --- updated-dependencies: - dependency-name: alloy-primitives dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 37 ++++++++++++++++++++++++------------ crates/primitives/Cargo.toml | 2 +- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d5c6611130..ec2a71e7bb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -184,9 +184,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a767e59c86900dd7c3ce3ecef04f3ace5ac9631ee150beb8b7d22f7fa3bbb2d7" +checksum = "ccb865df835f851b367ae439d6c82b117ded971628c8888b24fed411a290e38a" dependencies = [ "alloy-rlp", "arbitrary", @@ -194,7 +194,7 @@ dependencies = [ "cfg-if", "const-hex", "derive_arbitrary", - "derive_more", + "derive_more 1.0.0", "getrandom", "hex-literal", "itoa", @@ -975,12 +975,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "core-foundation" version = "0.9.4" @@ -1162,13 +1156,32 @@ version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version 0.4.0", "syn 2.0.70", ] +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.70", + "unicode-xid", +] + [[package]] name = "digest" version = "0.9.0" @@ -3489,7 +3502,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "cfg-if", - "derive_more", + "derive_more 0.99.18", "parity-scale-codec", "scale-info-derive", ] diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 3f0b494f37..1135cac208 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -23,7 +23,7 @@ all = "warn" [dependencies] alloy-eips = { version = "0.3", default-features = false, features = ["k256"] } -alloy-primitives = { version = "0.8.0", default-features = false, features = [ +alloy-primitives = { version = "0.8.2", default-features = false, features = [ "rlp", ] } hashbrown = "0.14" From 0d840bfdd9167a31c16bea754c2d2a255ed79a43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:15:43 +0200 Subject: [PATCH 04/11] chore(deps): bump anyhow from 1.0.86 to 1.0.87 (#1760) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.86 to 1.0.87. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.86...1.0.87) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- crates/revm/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ec2a71e7bb..66a0d447df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -457,9 +457,9 @@ checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" [[package]] name = "arbitrary" diff --git a/crates/revm/Cargo.toml b/crates/revm/Cargo.toml index 9479989aeb..56d1d6644e 100644 --- a/crates/revm/Cargo.toml +++ b/crates/revm/Cargo.toml @@ -58,7 +58,7 @@ alloy-sol-types = { version = "0.8.0", default-features = false, features = [ "std", ] } ethers-contract = { version = "2.0.14", default-features = false } -anyhow = "1.0.83" +anyhow = "1.0.87" criterion = "0.5" indicatif = "0.17" reqwest = { version = "0.12" } From dcb92c6e2aa487bf45ce32f94c30a46a1ad90815 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:15:51 +0200 Subject: [PATCH 05/11] chore(deps): bump alloy-sol-types from 0.8.0 to 0.8.2 (#1762) Bumps [alloy-sol-types](https://github.com/alloy-rs/core) from 0.8.0 to 0.8.2. - [Release notes](https://github.com/alloy-rs/core/releases) - [Changelog](https://github.com/alloy-rs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/core/compare/v0.8.0...v0.8.2) --- updated-dependencies: - dependency-name: alloy-sol-types dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 54 +++++++++++++++++++++++++++------------ bins/revm-test/Cargo.toml | 2 +- crates/revm/Cargo.toml | 2 +- 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 66a0d447df..dfd4fe374d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -126,9 +126,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "299d2a937b6c60968df3dad2a988b0f0e03277b344639a4f7a31bd68e6285e59" +checksum = "a28ecae8b5315daecd0075084eb47f4374b3037777346ca52fc8d9c327693f02" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -332,13 +332,13 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183bcfc0f3291d9c41a3774172ee582fb2ce6eb6569085471d8f225de7bb86fc" +checksum = "e2dc5201ca0018afb7a3e0cd8bd15f7ca6aca924333b5f3bb87463b41d0c4ef2" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", "syn 2.0.70", @@ -346,15 +346,15 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71c4d842beb7a6686d04125603bc57614d5ed78bf95e4753274db3db4ba95214" +checksum = "155f63dc6945885aa4532601800201fddfaa3b20901fda8e8c2570327242fe0e" dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", "indexmap", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", "syn 2.0.70", @@ -364,9 +364,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1306e8d3c9e6e6ecf7a39ffaf7291e73a5f655a2defd366ee92c2efebcdf7fee" +checksum = "847700aa9cb59d3c7b290b2d05976cd8d76b64d73bb63116a9533132d995586b" dependencies = [ "const-hex", "dunce", @@ -379,9 +379,9 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4691da83dce9c9b4c775dd701c87759f173bd3021cbf2e60cde00c5fe6d7241" +checksum = "3a6b5d462d4520bd9ed70d8364c6280aeff13baa46ea26be1ddd33538dbbe6ac" dependencies = [ "serde", "winnow 0.6.18", @@ -389,9 +389,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "577e262966e92112edbd15b1b2c0947cc434d6e8311df96d3329793fe8047da9" +checksum = "83665e5607725a7a1aab3cb0dea708f4a05e70776954ec7f0a9461439175c957" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -2849,6 +2849,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.70", +] + [[package]] name = "proc-macro2" version = "1.0.86" @@ -3938,9 +3960,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284c41c2919303438fcf8dede4036fd1e82d4fc0fbb2b279bd2a1442c909ca92" +checksum = "f1e1355d44af21638c8e05d45097db6cb5ec2aa3e970c51cb2901605cf3344fa" dependencies = [ "paste", "proc-macro2", diff --git a/bins/revm-test/Cargo.toml b/bins/revm-test/Cargo.toml index 1603661040..6688fe905c 100644 --- a/bins/revm-test/Cargo.toml +++ b/bins/revm-test/Cargo.toml @@ -10,7 +10,7 @@ hex = "0.4" revm = { path = "../../crates/revm", version = "14.0.1", default-features=false } microbench = "0.5" alloy-sol-macro = "0.8.0" -alloy-sol-types = "0.8.0" +alloy-sol-types = "0.8.2" regex = "1.10.6" eyre = "0.6.12" diff --git a/crates/revm/Cargo.toml b/crates/revm/Cargo.toml index 56d1d6644e..559677f1dd 100644 --- a/crates/revm/Cargo.toml +++ b/crates/revm/Cargo.toml @@ -54,7 +54,7 @@ alloy-eips = { version = "0.3", optional = true, default-features = false } alloy-transport = { version = "0.3", optional = true, default-features = false } [dev-dependencies] -alloy-sol-types = { version = "0.8.0", default-features = false, features = [ +alloy-sol-types = { version = "0.8.2", default-features = false, features = [ "std", ] } ethers-contract = { version = "2.0.14", default-features = false } From f68d3dca9fc8938897e2d3267a32e72e01ed9763 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:16:03 +0200 Subject: [PATCH 06/11] chore(deps): bump alloy-provider from 0.3.0 to 0.3.1 (#1759) Bumps [alloy-provider](https://github.com/alloy-rs/alloy) from 0.3.0 to 0.3.1. - [Release notes](https://github.com/alloy-rs/alloy/releases) - [Changelog](https://github.com/alloy-rs/alloy/blob/main/CHANGELOG.md) - [Commits](https://github.com/alloy-rs/alloy/compare/v0.3.0...v0.3.1) --- updated-dependencies: - dependency-name: alloy-provider dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dfd4fe374d..bb66af3315 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -210,9 +210,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d2a195caa6707f5ce13905794865765afc6d9ea92c3a56e3a973c168d703bc" +checksum = "1376948df782ffee83a54cac4b2aba14134edd997229a3db97da0a606586eb5c" dependencies = [ "alloy-chains", "alloy-consensus", From 895dc1bd882ef0804c27e1e934422026e527d48d Mon Sep 17 00:00:00 2001 From: rakita Date: Wed, 18 Sep 2024 13:08:52 +0200 Subject: [PATCH 07/11] chore: release-plz update --- Cargo.lock | 10 +-- bins/revm-test/CHANGELOG.md | 107 ++++++++++++++++++++++++++++++++ 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 | 15 +++++ crates/revm/Cargo.toml | 6 +- 13 files changed, 162 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bb66af3315..157c19fcf9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3121,7 +3121,7 @@ dependencies = [ [[package]] name = "revm" -version = "14.0.1" +version = "14.0.2" dependencies = [ "alloy-eips", "alloy-provider", @@ -3147,7 +3147,7 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "10.0.1" +version = "10.0.2" dependencies = [ "bincode", "paste", @@ -3160,7 +3160,7 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "11.0.1" +version = "11.0.2" dependencies = [ "aurora-engine-modexp", "blst", @@ -3186,7 +3186,7 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "9.0.1" +version = "9.0.2" dependencies = [ "alloy-eips", "alloy-primitives", @@ -3219,7 +3219,7 @@ dependencies = [ [[package]] name = "revme" -version = "0.10.1" +version = "0.10.2" dependencies = [ "alloy-rlp", "hash-db", diff --git a/bins/revm-test/CHANGELOG.md b/bins/revm-test/CHANGELOG.md index 19d50a211f..85b1666228 100644 --- a/bins/revm-test/CHANGELOG.md +++ b/bins/revm-test/CHANGELOG.md @@ -6,6 +6,113 @@ 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-18 + +### 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 + +- *(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-08-30 ### Added diff --git a/bins/revm-test/Cargo.toml b/bins/revm-test/Cargo.toml index 6688fe905c..72c0aa82e3 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.1", default-features=false } +revm = { path = "../../crates/revm", version = "14.0.2", 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 938ef259b5..6f579c7eb9 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.2](https://github.com/bluealloy/revm/compare/revme-v0.10.1...revme-v0.10.2) - 2024-09-18 + +### Added + +- *(statetest)* enable EOF in Prague tests ([#1753](https://github.com/bluealloy/revm/pull/1753)) + ## [0.10.1](https://github.com/bluealloy/revm/compare/revme-v0.10.0...revme-v0.10.1) - 2024-08-30 ### Other diff --git a/bins/revme/Cargo.toml b/bins/revme/Cargo.toml index 798673b830..6a4fe52e42 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.1" +version = "0.10.2" [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.1", default-features = false, features = [ +revm = { path = "../../crates/revm", version = "14.0.2", default-features = false, features = [ "ethersdb", "std", "serde-json", diff --git a/crates/interpreter/CHANGELOG.md b/crates/interpreter/CHANGELOG.md index ddcf245bb0..7319a6ec19 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.2](https://github.com/bluealloy/revm/compare/revm-interpreter-v10.0.1...revm-interpreter-v10.0.2) - 2024-09-18 + +### Other + +- make clippy happy ([#1755](https://github.com/bluealloy/revm/pull/1755)) + ## [10.0.1](https://github.com/bluealloy/revm/compare/revm-interpreter-v10.0.0...revm-interpreter-v10.0.1) - 2024-08-30 ### Other diff --git a/crates/interpreter/Cargo.toml b/crates/interpreter/Cargo.toml index 7495dc5f4f..93d1a6eb40 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.1" +version = "10.0.2" 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.1", default-features = false } +revm-primitives = { path = "../primitives", version = "9.0.2", 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 a574aa4040..f4385b2100 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.2](https://github.com/bluealloy/revm/compare/revm-precompile-v11.0.1...revm-precompile-v11.0.2) - 2024-09-18 + +### Other + +- make clippy happy ([#1755](https://github.com/bluealloy/revm/pull/1755)) + ## [11.0.1](https://github.com/bluealloy/revm/compare/revm-precompile-v11.0.0...revm-precompile-v11.0.1) - 2024-08-30 ### Other diff --git a/crates/precompile/Cargo.toml b/crates/precompile/Cargo.toml index f30ae269c0..1441be3b70 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.1" +version = "11.0.2" 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.1", default-features = false } +revm-primitives = { path = "../primitives", version = "9.0.2", 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 5f280a5308..f78b79f5a5 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] +## [9.0.2](https://github.com/bluealloy/revm/compare/revm-primitives-v9.0.1...revm-primitives-v9.0.2) - 2024-09-18 + +### Other + +- *(deps)* bump alloy-primitives from 0.8.0 to 0.8.2 ([#1761](https://github.com/bluealloy/revm/pull/1761)) + ## [9.0.1](https://github.com/bluealloy/revm/compare/revm-primitives-v9.0.0...revm-primitives-v9.0.1) - 2024-08-30 ### Other diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 1135cac208..85a7264f8c 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.1" +version = "9.0.2" readme = "../../README.md" [package.metadata.docs.rs] diff --git a/crates/revm/CHANGELOG.md b/crates/revm/CHANGELOG.md index 3810eda0a1..aab95a07dc 100644 --- a/crates/revm/CHANGELOG.md +++ b/crates/revm/CHANGELOG.md @@ -6,6 +6,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [14.0.2](https://github.com/bluealloy/revm/compare/revm-v14.0.1...revm-v14.0.2) - 2024-09-18 + +### Fixed + +- *(inspector)* always call selfdestruct if entry is made ([#1746](https://github.com/bluealloy/revm/pull/1746)) + +### Other + +- *(deps)* bump alloy-sol-types from 0.8.0 to 0.8.2 ([#1762](https://github.com/bluealloy/revm/pull/1762)) +- *(deps)* bump anyhow from 1.0.86 to 1.0.87 ([#1760](https://github.com/bluealloy/revm/pull/1760)) +- make clippy happy ([#1755](https://github.com/bluealloy/revm/pull/1755)) +- Test l1 gas used fjord ([#1749](https://github.com/bluealloy/revm/pull/1749)) +- Add test for `revm::optimism::L1BlockInfo::calculate_tx_l1_cost_fjord` ([#1743](https://github.com/bluealloy/revm/pull/1743)) +- *(deps)* bump tokio from 1.39.2 to 1.40.0 ([#1739](https://github.com/bluealloy/revm/pull/1739)) + ## [14.0.1](https://github.com/bluealloy/revm/compare/revm-v14.0.0...revm-v14.0.1) - 2024-08-30 ### Other diff --git a/crates/revm/Cargo.toml b/crates/revm/Cargo.toml index 559677f1dd..b9b99d76ac 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.1" +version = "14.0.2" readme = "../../README.md" [package.metadata.docs.rs] @@ -23,8 +23,8 @@ all = "warn" [dependencies] # revm -revm-interpreter = { path = "../interpreter", version = "10.0.1", default-features = false } -revm-precompile = { path = "../precompile", version = "11.0.1", default-features = false } +revm-interpreter = { path = "../interpreter", version = "10.0.2", default-features = false } +revm-precompile = { path = "../precompile", version = "11.0.2", default-features = false } # misc auto_impl = { version = "1.2", default-features = false } From 95e53af2f40c8b37e27ab6edff197aa0660ff0a9 Mon Sep 17 00:00:00 2001 From: rakita Date: Wed, 18 Sep 2024 13:15:35 +0200 Subject: [PATCH 08/11] chore: release v44 bump main CHANGELOG --- CHANGELOG.md | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ec0a83025..611feda0f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,29 @@ Because this is workspace with multi libraries, tags will be simplified, and with this document you can match version of project with git tag. +# v44 tag +date: 18.09.2024 + +Small maintenance release. +Code can be found in release/v44 branch. +Fixes bug with Inspector selfdestruct not called every time, and enabled PRAGUE_EOF in statetest for PRAGUE tests. + +* `revme`: 0.10.1 -> 0.10.2 +* `revm`: 14.0.1 -> 14.0.2 +* `revm-interpreter`: 10.0.1 -> 10.0.2 +* `revm-primitives`: 9.0.1 -> 9.0.2 +* `revm-precompile`: 11.0.1 -> 11.0.2 +* `revm-test`: 0.1.0 + # v43 tag date: 30.08.2024 Logo change and doc fix. -* revm: 14.0.0 -> 14.0.1 -* revm-interpreter: 10.0.0 -> 10.0.1 -* revm-primitives: 9.0.0 -> 9.0.1 -* revm-precompile: 11.0.0 -> 11.0.1 -* revme: 0.10.0 -> 0.10.1 +* `revm`: 14.0.0 -> 14.0.1 +* `revm-interpreter`: 10.0.0 -> 10.0.1 +* `revm-primitives`: 9.0.0 -> 9.0.1 +* `revm-precompile`: 11.0.0 -> 11.0.1 +* `revme`: 0.10.0 -> 0.10.1 # v42 tag date: 29.08.2024 @@ -17,11 +31,11 @@ date: 29.08.2024 new EIP-7702 implemented. Passing all EOF and EIP-7702 tests. Preparation for devnet-3. -* revme: 0.9.0 -> 0.10.0 -* revm: 13.0.0 -> 14.0.0 -* revm-interpreter: 9.0.0 -> 10.0.0 -* revm-primitives: 8.0.0 -> 9.0.0 -* revm-precompile: 10.0.0 -> 11.0.0 +* `revme`: 0.9.0 -> 0.10.0 +* `revm`: 13.0.0 -> 14.0.0 +* `revm-interpreter`: 9.0.0 -> 10.0.0 +* `revm-primitives`: 8.0.0 -> 9.0.0 +* `revm-precompile`: 10.0.0 -> 11.0.0 # v41 tag date: 08.08.2024 From fc1556f77e02c58836f3825229035cee299da132 Mon Sep 17 00:00:00 2001 From: cody-wang-cb Date: Wed, 25 Sep 2024 20:05:29 -0400 Subject: [PATCH 09/11] 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 488983bcb1..1167028e9f 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 ac3c5a3ede..13ade0f4d6 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 10/11] 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 157c19fcf9..777ee36472 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 85a7264f8c..ae803f06cb 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 6032bcdcd1..4b1a872f7b 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 11131918b5..82b5411372 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 47be993043..35a3aab603 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 32a62ba6f1..9a432b81f9 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 0d6797cf84..bc2b956efb 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 58ab9ba1ba..5cc6987f55 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 5abf397bf7..365a816806 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 55fc3681a6..d1db92e021 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 126ce2ffe7..325e32f7be 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 5aadfcc073..6bf5d6dfe8 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 9c3cc114e7..7f5d157dd2 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 599bc290b0..a559527f30 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 8a5556cc77..546e4ba0a3 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 2d84032987..7dce85a2f0 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 fc04e0ab84..f9141e0407 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 11/11] 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 611feda0f1..c6be103e5f 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 777ee36472..38bc383582 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 85b1666228..39575c416f 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 72c0aa82e3..79cffac820 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 6f579c7eb9..1d6290f54a 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 6a4fe52e42..45a2d29c77 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 7319a6ec19..a9e1e5d4ce 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 93d1a6eb40..38ae20800a 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 f4385b2100..5d45062ef4 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 1441be3b70..4c57899fb0 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 f78b79f5a5..62a73edf3b 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 ae803f06cb..d1a16a2a98 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 aab95a07dc..8e6898b078 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 b9b99d76ac..8e455bce68 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 }