diff --git a/Cargo.lock b/Cargo.lock index b074209e32..a6e1d0203b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2921,7 +2921,7 @@ dependencies = [ [[package]] name = "revm" -version = "8.0.0" +version = "9.0.0" dependencies = [ "alloy-provider", "alloy-rpc-types", @@ -2947,7 +2947,7 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "4.0.0" +version = "5.0.0" dependencies = [ "bincode", "paste", @@ -2960,7 +2960,7 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "6.0.0" +version = "7.0.0" dependencies = [ "aurora-engine-modexp", "blst", @@ -2978,7 +2978,7 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "3.1.1" +version = "4.0.0" dependencies = [ "alloy-primitives", "auto_impl", @@ -3011,7 +3011,7 @@ dependencies = [ [[package]] name = "revme" -version = "0.4.0" +version = "0.5.0" dependencies = [ "alloy-rlp", "hash-db", diff --git a/bins/revm-test/Cargo.toml b/bins/revm-test/Cargo.toml index f26c4e7882..ef50c94059 100644 --- a/bins/revm-test/Cargo.toml +++ b/bins/revm-test/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [dependencies] bytes = "1.6" hex = "0.4" -revm = { path = "../../crates/revm", version = "8.0.0", default-features=false } +revm = { path = "../../crates/revm", version = "9.0.0", default-features=false } microbench = "0.5" alloy-sol-macro = "0.7.0" alloy-sol-types = "0.7.0" diff --git a/bins/revme/CHANGELOG.md b/bins/revme/CHANGELOG.md index 34abf0043d..41e895456c 100644 --- a/bins/revme/CHANGELOG.md +++ b/bins/revme/CHANGELOG.md @@ -6,6 +6,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.5.0](https://github.com/bluealloy/revm/compare/revme-v0.4.0...revme-v0.5.0) - 2024-05-12 + +### Added +- *(precompile)* Prague - EIP-2537 - BLS12-381 curve operations ([#1389](https://github.com/bluealloy/revm/pull/1389)) +- add trace option in `revme evm` ([#1376](https://github.com/bluealloy/revm/pull/1376)) +- *(revme)* add --keep-going to statetest command ([#1277](https://github.com/bluealloy/revm/pull/1277)) +- EOF (Ethereum Object Format) ([#1143](https://github.com/bluealloy/revm/pull/1143)) + +### Fixed +- *(revme)* Print one json outcome in statetest ([#1347](https://github.com/bluealloy/revm/pull/1347)) +- Drops check for .json when testing a single file ([#1301](https://github.com/bluealloy/revm/pull/1301)) + +### Other +- *(revme)* increment statetest bar *after* running the test ([#1377](https://github.com/bluealloy/revm/pull/1377)) +- *(interpreter)* branch less in as_usize_or_fail ([#1374](https://github.com/bluealloy/revm/pull/1374)) + ## [0.4.0](https://github.com/bluealloy/revm/compare/revme-v0.3.1...revme-v0.4.0) - 2024-04-02 ### Added diff --git a/bins/revme/Cargo.toml b/bins/revme/Cargo.toml index 84a695d7ca..71d9d6543d 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.4.0" +version = "0.5.0" [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 = "8.0.0", default-features = false, features = [ +revm = { path = "../../crates/revm", version = "9.0.0", default-features = false, features = [ "ethersdb", "std", "serde-json", diff --git a/crates/interpreter/CHANGELOG.md b/crates/interpreter/CHANGELOG.md index 97303ef63a..be64279f7d 100644 --- a/crates/interpreter/CHANGELOG.md +++ b/crates/interpreter/CHANGELOG.md @@ -6,6 +6,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [5.0.0](https://github.com/bluealloy/revm/compare/revm-interpreter-v4.0.0...revm-interpreter-v5.0.0) - 2024-05-12 + +### Added +- implement EIP-2935 ([#1354](https://github.com/bluealloy/revm/pull/1354)) +- parse opcodes from strings ([#1358](https://github.com/bluealloy/revm/pull/1358)) +- *(interpreter)* add helpers for spending all gas ([#1360](https://github.com/bluealloy/revm/pull/1360)) +- add helper methods to CallInputs ([#1345](https://github.com/bluealloy/revm/pull/1345)) +- *(revm)* make `FrameOrResult` serializable ([#1282](https://github.com/bluealloy/revm/pull/1282)) +- add flag to force hashbrown usage ([#1284](https://github.com/bluealloy/revm/pull/1284)) +- EOF (Ethereum Object Format) ([#1143](https://github.com/bluealloy/revm/pull/1143)) +- *(interpreter)* derive Eq for InterpreterAction ([#1262](https://github.com/bluealloy/revm/pull/1262)) +- *(interpreter)* remove SPEC generic from gas calculation functions ([#1243](https://github.com/bluealloy/revm/pull/1243)) +- *(interpreter)* test Host object-safety, allow `dyn Host` in instructions ([#1245](https://github.com/bluealloy/revm/pull/1245)) + +### Fixed +- return the correct error in resize_memory ([#1359](https://github.com/bluealloy/revm/pull/1359)) +- correct some stack IO ([#1302](https://github.com/bluealloy/revm/pull/1302)) + +### Other +- add Trin to used by list ([#1393](https://github.com/bluealloy/revm/pull/1393)) +- refactor lints ([#1386](https://github.com/bluealloy/revm/pull/1386)) +- remove unused file ([#1379](https://github.com/bluealloy/revm/pull/1379)) +- *(interpreter)* branch less in as_usize_or_fail ([#1374](https://github.com/bluealloy/revm/pull/1374)) +- re-use num_words in gas::cost_per_word ([#1371](https://github.com/bluealloy/revm/pull/1371)) +- *(interpreter)* rewrite gas accounting for memory expansion ([#1361](https://github.com/bluealloy/revm/pull/1361)) +- remove bounds check in DUP, SWAP/EXCHANGE ([#1346](https://github.com/bluealloy/revm/pull/1346)) +- don't clone bytes in `Bytecode::bytes` ([#1344](https://github.com/bluealloy/revm/pull/1344)) +- shrink OpCodeInfo and add more methods ([#1307](https://github.com/bluealloy/revm/pull/1307)) +- *(interpreter)* rename some macros ([#1304](https://github.com/bluealloy/revm/pull/1304)) +- *(interpreter)* remove EOF branch in CODE{SIZE,COPY} ([#1308](https://github.com/bluealloy/revm/pull/1308)) +- fix some warnings ([#1305](https://github.com/bluealloy/revm/pull/1305)) +- *(interpreter)* rename wrapping_* opcodes ([#1306](https://github.com/bluealloy/revm/pull/1306)) +- Add the modifies_memory macro ([#1270](https://github.com/bluealloy/revm/pull/1270)) +- *(interpreter)* use `pop_top!` where possible ([#1267](https://github.com/bluealloy/revm/pull/1267)) + ## [4.0.0](https://github.com/bluealloy/revm/compare/revm-interpreter-v3.4.0...revm-interpreter-v4.0.0) - 2024-04-02 ### Added diff --git a/crates/interpreter/Cargo.toml b/crates/interpreter/Cargo.toml index db705bd976..cd6b3d9668 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 = "4.0.0" +version = "5.0.0" readme = "../../README.md" [package.metadata.docs.rs] @@ -22,7 +22,7 @@ rust_2018_idioms = "deny" all = "warn" [dependencies] -revm-primitives = { path = "../primitives", version = "3.1.1", default-features = false } +revm-primitives = { path = "../primitives", version = "4.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 008c66f604..ac868f2e44 100644 --- a/crates/precompile/CHANGELOG.md +++ b/crates/precompile/CHANGELOG.md @@ -6,6 +6,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [7.0.0](https://github.com/bluealloy/revm/compare/revm-precompile-v6.0.0...revm-precompile-v7.0.0) - 2024-05-12 + +### Added +- *(precompile)* Prague - EIP-2537 - BLS12-381 curve operations ([#1389](https://github.com/bluealloy/revm/pull/1389)) +- *(precompile)* add Prague hardfork specification ([#1387](https://github.com/bluealloy/revm/pull/1387)) +- add flag to force hashbrown usage ([#1284](https://github.com/bluealloy/revm/pull/1284)) +- EOF (Ethereum Object Format) ([#1143](https://github.com/bluealloy/revm/pull/1143)) + +### Fixed +- *(precompile)* blst dangling pointers, cleanup ([#1391](https://github.com/bluealloy/revm/pull/1391)) +- *(precompile)* inherit Prague precompiles from Cancun ([#1392](https://github.com/bluealloy/revm/pull/1392)) + +### Other +- bump c-kzg to 1.0.2 ([#1390](https://github.com/bluealloy/revm/pull/1390)) +- refactor lints ([#1386](https://github.com/bluealloy/revm/pull/1386)) +- *(deps)* bump aurora-engine-modexp from 1.0.0 to 1.1.0 ([#1339](https://github.com/bluealloy/revm/pull/1339)) +- *(deps)* bump secp256k1 from 0.28.2 to 0.29.0 ([#1260](https://github.com/bluealloy/revm/pull/1260)) + ## [6.0.0](https://github.com/bluealloy/revm/compare/revm-precompile-v5.1.0...revm-precompile-v6.0.0) - 2024-04-02 ### Fixed diff --git a/crates/precompile/Cargo.toml b/crates/precompile/Cargo.toml index a2f4e86373..bd145fa9b1 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 = "6.0.0" +version = "7.0.0" [package.metadata.docs.rs] all-features = true @@ -21,7 +21,7 @@ rust_2018_idioms = "deny" all = "warn" [dependencies] -revm-primitives = { path = "../primitives", version = "3.1.1", default-features = false } +revm-primitives = { path = "../primitives", version = "4.0.0", default-features = false } bn = { package = "substrate-bn", version = "0.6", default-features = false } once_cell = { version = "1.19", default-features = false, features = ["alloc"] } ripemd = { version = "0.1", default-features = false } diff --git a/crates/primitives/CHANGELOG.md b/crates/primitives/CHANGELOG.md index 79148d55ba..ad68b29b62 100644 --- a/crates/primitives/CHANGELOG.md +++ b/crates/primitives/CHANGELOG.md @@ -6,6 +6,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [4.0.0](https://github.com/bluealloy/revm/compare/revm-primitives-v3.1.1...revm-primitives-v4.0.0) - 2024-05-12 + +### Added +- Add bytes to Bytecode ([#1396](https://github.com/bluealloy/revm/pull/1396)) +- implement EIP-2935 ([#1354](https://github.com/bluealloy/revm/pull/1354)) +- add `Bytecode::original_bytecode_slice` to match `BytecodeLocked` ([#1286](https://github.com/bluealloy/revm/pull/1286)) +- add flag to force hashbrown usage ([#1284](https://github.com/bluealloy/revm/pull/1284)) +- EOF (Ethereum Object Format) ([#1143](https://github.com/bluealloy/revm/pull/1143)) +- pass rand feature to alloy_primitives ([#1276](https://github.com/bluealloy/revm/pull/1276)) +- *(interpreter)* remove SPEC generic from gas calculation functions ([#1243](https://github.com/bluealloy/revm/pull/1243)) + +### Other +- add Trin to used by list ([#1393](https://github.com/bluealloy/revm/pull/1393)) +- bump c-kzg to 1.0.2 ([#1390](https://github.com/bluealloy/revm/pull/1390)) +- refactor lints ([#1386](https://github.com/bluealloy/revm/pull/1386)) +- add blob_count and max_blobs to `TooManyBlobs` err enum ([#1375](https://github.com/bluealloy/revm/pull/1375)) +- bump alloy & specify dep rev ([#1380](https://github.com/bluealloy/revm/pull/1380)) +- don't clone bytes in `Bytecode::bytes` ([#1344](https://github.com/bluealloy/revm/pull/1344)) +- shrink OpCodeInfo and add more methods ([#1307](https://github.com/bluealloy/revm/pull/1307)) +- Implement `with_chain_id` for `CfgEnv` ([#1327](https://github.com/bluealloy/revm/pull/1327)) +- *(interpreter)* remove EOF branch in CODE{SIZE,COPY} ([#1308](https://github.com/bluealloy/revm/pull/1308)) +- Update documentation ([#1275](https://github.com/bluealloy/revm/pull/1275)) + ## [3.1.1](https://github.com/bluealloy/revm/compare/revm-primitives-v3.1.0...revm-primitives-v3.1.1) - 2024-04-02 ### Fixed diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index b23697b172..a9d009d2e4 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 = "3.1.1" +version = "4.0.0" readme = "../../README.md" [package.metadata.docs.rs] diff --git a/crates/revm/CHANGELOG.md b/crates/revm/CHANGELOG.md index 1b01a63387..fc2408cb5c 100644 --- a/crates/revm/CHANGELOG.md +++ b/crates/revm/CHANGELOG.md @@ -6,6 +6,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [9.0.0](https://github.com/bluealloy/revm/compare/revm-v8.0.0...revm-v9.0.0) - 2024-05-12 + +### Added +- *(precompile)* Prague - EIP-2537 - BLS12-381 curve operations ([#1389](https://github.com/bluealloy/revm/pull/1389)) +- add a hook to execute individual frames ([#1369](https://github.com/bluealloy/revm/pull/1369)) +- *(Handler)* Add ClearHandle ([#1368](https://github.com/bluealloy/revm/pull/1368)) +- Add uniswap V2 WETH-USDC swap example ([#1353](https://github.com/bluealloy/revm/pull/1353)) +- *(interpreter)* add helpers for spending all gas ([#1360](https://github.com/bluealloy/revm/pull/1360)) +- add helper methods to CallInputs ([#1345](https://github.com/bluealloy/revm/pull/1345)) +- *(revm)* make `FrameOrResult` serializable ([#1282](https://github.com/bluealloy/revm/pull/1282)) +- add flag to force hashbrown usage ([#1284](https://github.com/bluealloy/revm/pull/1284)) +- EOF (Ethereum Object Format) ([#1143](https://github.com/bluealloy/revm/pull/1143)) +- *(`db`)* Introduce `alloydb` ([#1257](https://github.com/bluealloy/revm/pull/1257)) +- *(interpreter)* remove SPEC generic from gas calculation functions ([#1243](https://github.com/bluealloy/revm/pull/1243)) +- *(interpreter)* test Host object-safety, allow `dyn Host` in instructions ([#1245](https://github.com/bluealloy/revm/pull/1245)) + +### Fixed +- *(eip2935)* Preload blockchash storage address ([#1395](https://github.com/bluealloy/revm/pull/1395)) +- return the correct error in resize_memory ([#1359](https://github.com/bluealloy/revm/pull/1359)) + +### Other +- add Trin to used by list ([#1393](https://github.com/bluealloy/revm/pull/1393)) +- refactor lints ([#1386](https://github.com/bluealloy/revm/pull/1386)) +- bump alloy & specify dep rev ([#1380](https://github.com/bluealloy/revm/pull/1380)) +- *(interpreter)* branch less in as_usize_or_fail ([#1374](https://github.com/bluealloy/revm/pull/1374)) +- *(ci)* bump action/deploy ([#1372](https://github.com/bluealloy/revm/pull/1372)) +- shrink OpCodeInfo and add more methods ([#1307](https://github.com/bluealloy/revm/pull/1307)) +- *(deps)* bump anyhow from 1.0.81 to 1.0.82 ([#1293](https://github.com/bluealloy/revm/pull/1293)) +- fix some warnings ([#1305](https://github.com/bluealloy/revm/pull/1305)) +- Update documentation ([#1275](https://github.com/bluealloy/revm/pull/1275)) +- *(interpreter)* use `pop_top!` where possible ([#1267](https://github.com/bluealloy/revm/pull/1267)) +- add and use EvmContext::take_error ([#1264](https://github.com/bluealloy/revm/pull/1264)) + ## [8.0.0](https://github.com/bluealloy/revm/compare/revm-v7.2.0...revm-v8.0.0) - 2024-04-02 ### Added diff --git a/crates/revm/Cargo.toml b/crates/revm/Cargo.toml index 9b8446ad26..5f2407ec7e 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 = "8.0.0" +version = "9.0.0" readme = "../../README.md" [package.metadata.docs.rs] @@ -23,8 +23,8 @@ all = "warn" [dependencies] # revm -revm-interpreter = { path = "../interpreter", version = "4.0.0", default-features = false } -revm-precompile = { path = "../precompile", version = "6.0.0", default-features = false } +revm-interpreter = { path = "../interpreter", version = "5.0.0", default-features = false } +revm-precompile = { path = "../precompile", version = "7.0.0", default-features = false } # misc auto_impl = { version = "1.2", default-features = false }