diff --git a/CHANGELOG.md b/CHANGELOG.md index 83f3a8d3b3..6c484c1528 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ Because this is workspace with multi libraries, tags will be simplified, and with this document you can match version of project with git tag. +# v87 +date: 23.09.2025 + +Small change release. + +* `revm-context-interface`: 10.1.0 -> 10.2.0 (✓ API compatible changes) +* `revm-context`: 9.0.2 -> 9.1.0 (✓ API compatible changes) +* `op-revm`: 10.0.0 -> 10.1.0 (✓ API compatible changes) +* `revm-ee-tests`: 0.1.0 +* `revm-interpreter`: 25.0.2 -> 25.0.3 +* `revm-handler`: 10.0.0 -> 10.0.1 +* `revm-inspector`: 10.0.0 -> 10.0.1 +* `revm`: 29.0.0 -> 29.0.1 +* `revm-statetest-types`: 9.0.2 -> 9.0.3 +* `revme`: 7.2.2 -> 7.2.3 + + # v86 date: 24.08.2025 diff --git a/Cargo.lock b/Cargo.lock index dfba341dae..ad79469956 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3034,7 +3034,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "op-revm" -version = "10.0.0" +version = "10.1.0" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -3772,7 +3772,7 @@ dependencies = [ [[package]] name = "revm" -version = "29.0.0" +version = "29.0.1" dependencies = [ "revm-bytecode", "revm-context", @@ -3802,7 +3802,7 @@ dependencies = [ [[package]] name = "revm-context" -version = "9.0.2" +version = "9.1.0" dependencies = [ "bitvec", "cfg-if", @@ -3818,7 +3818,7 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "10.1.0" +version = "10.2.0" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -3874,7 +3874,7 @@ dependencies = [ [[package]] name = "revm-handler" -version = "10.0.0" +version = "10.0.1" dependencies = [ "alloy-eip7702", "alloy-provider", @@ -3896,7 +3896,7 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "10.0.0" +version = "10.0.1" dependencies = [ "auto_impl", "either", @@ -3913,7 +3913,7 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "25.0.2" +version = "25.0.3" dependencies = [ "bincode 2.0.1", "revm-bytecode", @@ -3974,7 +3974,7 @@ dependencies = [ [[package]] name = "revm-statetest-types" -version = "9.0.2" +version = "9.0.3" dependencies = [ "k256", "revm", @@ -3985,7 +3985,7 @@ dependencies = [ [[package]] name = "revme" -version = "7.2.2" +version = "7.2.3" dependencies = [ "alloy-rlp", "alloy-sol-types", diff --git a/Cargo.toml b/Cargo.toml index dd4f8aaf67..f93a837922 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,20 +41,20 @@ default-members = ["crates/revm"] [workspace.dependencies] # revm -revm = { path = "crates/revm", version = "29.0.0", default-features = false } +revm = { path = "crates/revm", version = "29.0.1", default-features = false } primitives = { path = "crates/primitives", package = "revm-primitives", version = "20.2.1", default-features = false } bytecode = { path = "crates/bytecode", package = "revm-bytecode", version = "6.2.2", default-features = false } database = { path = "crates/database", package = "revm-database", version = "7.0.5", default-features = false } database-interface = { path = "crates/database/interface", package = "revm-database-interface", version = "7.0.5", default-features = false } state = { path = "crates/state", package = "revm-state", version = "7.0.5", default-features = false } -interpreter = { path = "crates/interpreter", package = "revm-interpreter", version = "25.0.2", default-features = false } -inspector = { path = "crates/inspector", package = "revm-inspector", version = "10.0.0", default-features = false } +interpreter = { path = "crates/interpreter", package = "revm-interpreter", version = "25.0.3", default-features = false } +inspector = { path = "crates/inspector", package = "revm-inspector", version = "10.0.1", default-features = false } precompile = { path = "crates/precompile", package = "revm-precompile", version = "27.0.0", default-features = false } -statetest-types = { path = "crates/statetest-types", package = "revm-statetest-types", version = "9.0.2", default-features = false } -context = { path = "crates/context", package = "revm-context", version = "9.0.2", default-features = false } -context-interface = { path = "crates/context/interface", package = "revm-context-interface", version = "10.1.0", default-features = false } -handler = { path = "crates/handler", package = "revm-handler", version = "10.0.0", default-features = false } -op-revm = { path = "crates/op-revm", package = "op-revm", version = "10.0.0", default-features = false } +statetest-types = { path = "crates/statetest-types", package = "revm-statetest-types", version = "9.0.3", default-features = false } +context = { path = "crates/context", package = "revm-context", version = "9.1.0", default-features = false } +context-interface = { path = "crates/context/interface", package = "revm-context-interface", version = "10.2.0", default-features = false } +handler = { path = "crates/handler", package = "revm-handler", version = "10.0.1", default-features = false } +op-revm = { path = "crates/op-revm", package = "op-revm", version = "10.1.0", default-features = false } ee-tests = { path = "crates/ee-tests", package = "revm-ee-tests", version = "0.1.0", default-features = false } # alloy diff --git a/bins/revme/CHANGELOG.md b/bins/revme/CHANGELOG.md index 907105d190..be4f0350ce 100644 --- a/bins/revme/CHANGELOG.md +++ b/bins/revme/CHANGELOG.md @@ -40,6 +40,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [7.2.3](https://github.com/bluealloy/revm/compare/revme-v7.2.2...revme-v7.2.3) - 2025-09-23 + +### Other + +- updated the following local packages: revm-context-interface, revm-context, revm-inspector, revm, revm-statetest-types + ## [7.1.0](https://github.com/bluealloy/revm/compare/revme-v7.0.4...revme-v7.1.0) - 2025-07-23 ### Added diff --git a/bins/revme/Cargo.toml b/bins/revme/Cargo.toml index 1e4b918970..6dc9d6ca3c 100644 --- a/bins/revme/Cargo.toml +++ b/bins/revme/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "revme" description = "Rust Ethereum Virtual Machine Executable" -version = "7.2.2" +version = "7.2.3" authors.workspace = true edition.workspace = true keywords.workspace = true diff --git a/crates/context/CHANGELOG.md b/crates/context/CHANGELOG.md index 377e80b0c9..b278b54024 100644 --- a/crates/context/CHANGELOG.md +++ b/crates/context/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [9.1.0](https://github.com/bluealloy/revm/compare/revm-context-v9.0.2...revm-context-v9.1.0) - 2025-09-23 + +### Added + +- *(op-revm)* Add an option to disable "fee-charge" on `op-revm` ([#2980](https://github.com/bluealloy/revm/pull/2980)) + ## [9.0.2](https://github.com/bluealloy/revm/compare/revm-context-v9.0.1...revm-context-v9.0.2) - 2025-08-23 ### Fixed diff --git a/crates/context/Cargo.toml b/crates/context/Cargo.toml index fd2065ff02..aec9972079 100644 --- a/crates/context/Cargo.toml +++ b/crates/context/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "revm-context" description = "Revm context crates" -version = "9.0.2" +version = "9.1.0" authors.workspace = true edition.workspace = true keywords.workspace = true @@ -67,6 +67,7 @@ dev = [ "optional_eip3607", "optional_no_base_fee", "optional_priority_fee_check", + "optional_fee_charge", ] memory_limit = [] optional_balance_check = [] @@ -75,5 +76,6 @@ optional_eip3541 = [] optional_eip3607 = [] optional_no_base_fee = [] optional_priority_fee_check = [] +optional_fee_charge = [] enable_eip7702 = [] enable_eip7623 = [] diff --git a/crates/context/interface/CHANGELOG.md b/crates/context/interface/CHANGELOG.md index 0c2ec479a3..190b2b7910 100644 --- a/crates/context/interface/CHANGELOG.md +++ b/crates/context/interface/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [10.2.0](https://github.com/bluealloy/revm/compare/revm-context-interface-v10.1.0...revm-context-interface-v10.2.0) - 2025-09-23 + +### Added + +- *(op-revm)* Add an option to disable "fee-charge" on `op-revm` ([#2980](https://github.com/bluealloy/revm/pull/2980)) + ## [10.1.0](https://github.com/bluealloy/revm/compare/revm-context-interface-v10.0.1...revm-context-interface-v10.1.0) - 2025-08-23 ### Added diff --git a/crates/context/interface/Cargo.toml b/crates/context/interface/Cargo.toml index 82a8e8a5f8..d8f6e7f137 100644 --- a/crates/context/interface/Cargo.toml +++ b/crates/context/interface/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "revm-context-interface" description = "Revm context interface crates" -version = "10.1.0" +version = "10.2.0" authors.workspace = true edition.workspace = true keywords.workspace = true diff --git a/crates/context/interface/src/cfg.rs b/crates/context/interface/src/cfg.rs index 9e2d6f9a2f..2466e4e5d3 100644 --- a/crates/context/interface/src/cfg.rs +++ b/crates/context/interface/src/cfg.rs @@ -59,6 +59,9 @@ pub trait Cfg { /// Returns whether the priority fee check is disabled. fn is_priority_fee_check_disabled(&self) -> bool; + /// Returns whether the fee charge is disabled. + fn is_fee_charge_disabled(&self) -> bool; + /// Returns whether the EIP-7702 is enabled. fn is_eip7702_enabled(&self) -> bool; diff --git a/crates/context/src/cfg.rs b/crates/context/src/cfg.rs index 4846549d01..7ee337ba55 100644 --- a/crates/context/src/cfg.rs +++ b/crates/context/src/cfg.rs @@ -104,6 +104,12 @@ pub struct CfgEnv { /// By default, it is set to `false`. #[cfg(feature = "optional_priority_fee_check")] pub disable_priority_fee_check: bool, + /// Disables fee charging for transactions. + /// This is useful when executing `eth_call` for example, on OP-chains where setting the base fee + /// to 0 isn't sufficient. + /// By default, it is set to `false`. + #[cfg(feature = "optional_fee_charge")] + pub disable_fee_charge: bool, /// Enables EIP-7702, regardless of the current spec. /// /// By default, it is set to `false`. @@ -147,7 +153,7 @@ impl CfgEnv { pub fn new_with_spec(spec: SPEC) -> Self { Self { chain_id: 1, - tx_chain_id_check: false, + tx_chain_id_check: true, limit_contract_code_size: None, limit_contract_initcode_size: None, spec, @@ -169,6 +175,8 @@ impl CfgEnv { disable_base_fee: false, #[cfg(feature = "optional_priority_fee_check")] disable_priority_fee_check: false, + #[cfg(feature = "optional_fee_charge")] + disable_fee_charge: false, #[cfg(feature = "enable_eip7702")] enable_eip7702: false, #[cfg(feature = "enable_eip7623")] @@ -220,6 +228,8 @@ impl CfgEnv { disable_base_fee: self.disable_base_fee, #[cfg(feature = "optional_priority_fee_check")] disable_priority_fee_check: self.disable_priority_fee_check, + #[cfg(feature = "optional_fee_charge")] + disable_fee_charge: self.disable_fee_charge, #[cfg(feature = "enable_eip7702")] enable_eip7702: self.enable_eip7702, #[cfg(feature = "enable_eip7623")] @@ -250,6 +260,13 @@ impl CfgEnv { self } + /// Sets the disable fee charge flag. + #[cfg(feature = "optional_fee_charge")] + pub fn with_disable_fee_charge(mut self, disable: bool) -> Self { + self.disable_fee_charge = disable; + self + } + /// Enables EIP-7702. #[cfg(feature = "enable_eip7702")] pub fn enable_eip_7702(mut self) -> CfgEnv { @@ -377,6 +394,16 @@ impl + Copy> Cfg for CfgEnv { } } + fn is_fee_charge_disabled(&self) -> bool { + cfg_if::cfg_if! { + if #[cfg(feature = "optional_fee_charge")] { + self.disable_fee_charge + } else { + false + } + } + } + fn is_eip7702_enabled(&self) -> bool { cfg_if::cfg_if! { if #[cfg(feature = "enable_eip7702")] { diff --git a/crates/handler/CHANGELOG.md b/crates/handler/CHANGELOG.md index 8cb93f8356..239dc2be43 100644 --- a/crates/handler/CHANGELOG.md +++ b/crates/handler/CHANGELOG.md @@ -7,6 +7,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-handler-v10.0.0...revm-handler-v10.0.1) - 2025-09-23 + +### Other + +- updated the following local packages: revm-context-interface, revm-context, revm-interpreter + ## [10.0.0](https://github.com/bluealloy/revm/compare/revm-handler-v9.0.1...revm-handler-v10.0.0) - 2025-08-23 ### Added diff --git a/crates/handler/Cargo.toml b/crates/handler/Cargo.toml index 6cae72e6f1..5110a6f009 100644 --- a/crates/handler/Cargo.toml +++ b/crates/handler/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "revm-handler" description = "Revm handler crates" -version = "10.0.0" +version = "10.0.1" authors.workspace = true edition.workspace = true keywords.workspace = true diff --git a/crates/inspector/CHANGELOG.md b/crates/inspector/CHANGELOG.md index a05acf056d..75541a53db 100644 --- a/crates/inspector/CHANGELOG.md +++ b/crates/inspector/CHANGELOG.md @@ -7,6 +7,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-inspector-v10.0.0...revm-inspector-v10.0.1) - 2025-09-23 + +### Other + +- updated the following local packages: revm-context, revm-interpreter, revm-handler + ## [10.0.0](https://github.com/bluealloy/revm/compare/revm-inspector-v9.1.0...revm-inspector-v10.0.0) - 2025-08-23 ### Other diff --git a/crates/inspector/Cargo.toml b/crates/inspector/Cargo.toml index 519b30dcc9..63c5334bf7 100644 --- a/crates/inspector/Cargo.toml +++ b/crates/inspector/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "revm-inspector" description = "Revm inspector interface" -version = "10.0.0" +version = "10.0.1" authors.workspace = true edition.workspace = true keywords.workspace = true diff --git a/crates/interpreter/CHANGELOG.md b/crates/interpreter/CHANGELOG.md index 0d6561a73a..371f22484e 100644 --- a/crates/interpreter/CHANGELOG.md +++ b/crates/interpreter/CHANGELOG.md @@ -51,6 +51,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [25.0.3](https://github.com/bluealloy/revm/compare/revm-interpreter-v25.0.2...revm-interpreter-v25.0.3) - 2025-09-23 + +### Other + +- updated the following local packages: revm-context-interface + ## [24.0.0](https://github.com/bluealloy/revm/compare/revm-interpreter-v23.0.2...revm-interpreter-v24.0.0) - 2025-07-23 ### Added diff --git a/crates/interpreter/Cargo.toml b/crates/interpreter/Cargo.toml index 4e3ccca73d..2bef431c47 100644 --- a/crates/interpreter/Cargo.toml +++ b/crates/interpreter/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "revm-interpreter" description = "Revm Interpreter that executes bytecode." -version = "25.0.2" +version = "25.0.3" authors.workspace = true edition.workspace = true keywords.workspace = true diff --git a/crates/op-revm/CHANGELOG.md b/crates/op-revm/CHANGELOG.md index 3486bf1404..05e6874cf9 100644 --- a/crates/op-revm/CHANGELOG.md +++ b/crates/op-revm/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [10.1.0](https://github.com/bluealloy/revm/compare/op-revm-v10.0.0...op-revm-v10.1.0) - 2025-09-23 + +### Added + +- *(op-revm)* Add an option to disable "fee-charge" on `op-revm` ([#2980](https://github.com/bluealloy/revm/pull/2980)) + ## [10.0.0](https://github.com/bluealloy/revm/compare/op-revm-v9.0.1...op-revm-v10.0.0) - 2025-08-23 ### Added diff --git a/crates/op-revm/Cargo.toml b/crates/op-revm/Cargo.toml index 9565a3beca..c2abb9f6af 100644 --- a/crates/op-revm/Cargo.toml +++ b/crates/op-revm/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "op-revm" description = "Optimism variant of Revm" -version = "10.0.0" +version = "10.1.0" authors.workspace = true edition.workspace = true keywords.workspace = true diff --git a/crates/op-revm/src/handler.rs b/crates/op-revm/src/handler.rs index f70421fc72..732be00847 100644 --- a/crates/op-revm/src/handler.rs +++ b/crates/op-revm/src/handler.rs @@ -118,7 +118,7 @@ where let mut additional_cost = U256::ZERO; // The L1-cost fee is only computed for Optimism non-deposit transactions. - if !is_deposit { + if !is_deposit && !ctx.cfg().is_fee_charge_disabled() { // L1 block info is stored in the context for later use. // and it will be reloaded from the database if it is not for the current block. if ctx.chain().l2_block != block_number { diff --git a/crates/precompile/src/modexp.rs b/crates/precompile/src/modexp.rs index 3107837228..7a4fde3ed2 100644 --- a/crates/precompile/src/modexp.rs +++ b/crates/precompile/src/modexp.rs @@ -121,7 +121,7 @@ where // cast exp len to the max size, it will fail later in gas calculation if it is too large. let exp_len = usize::try_from(exp_len).unwrap_or(usize::MAX); - // for EIP-7823 we need to check size of imputs + // for EIP-7823 we need to check size of inputs if OSAKA && (base_len > eip7823::INPUT_SIZE_LIMIT || mod_len > eip7823::INPUT_SIZE_LIMIT diff --git a/crates/revm/CHANGELOG.md b/crates/revm/CHANGELOG.md index cd72a23e7c..e5825a10c3 100644 --- a/crates/revm/CHANGELOG.md +++ b/crates/revm/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [29.0.1](https://github.com/bluealloy/revm/compare/revm-v29.0.0...revm-v29.0.1) - 2025-09-23 + +### Other + +- updated the following local packages: revm-context-interface, revm-context, revm-interpreter, revm-handler, revm-inspector + ## [29.0.0](https://github.com/bluealloy/revm/compare/revm-v28.0.1...revm-v29.0.0) - 2025-08-23 ### Other diff --git a/crates/revm/Cargo.toml b/crates/revm/Cargo.toml index a5213197da..9cf1149111 100644 --- a/crates/revm/Cargo.toml +++ b/crates/revm/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "revm" description = "Revm - Rust Ethereum Virtual Machine" -version = "29.0.0" +version = "29.0.1" authors.workspace = true edition.workspace = true keywords.workspace = true diff --git a/crates/statetest-types/CHANGELOG.md b/crates/statetest-types/CHANGELOG.md index c89d542d84..33123721c9 100644 --- a/crates/statetest-types/CHANGELOG.md +++ b/crates/statetest-types/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [9.0.3](https://github.com/bluealloy/revm/compare/revm-statetest-types-v9.0.2...revm-statetest-types-v9.0.3) - 2025-09-23 + +### Other + +- updated the following local packages: revm + ## [9.0.2](https://github.com/bluealloy/revm/compare/revm-statetest-types-v9.0.1...revm-statetest-types-v9.0.2) - 2025-08-23 ### Other diff --git a/crates/statetest-types/Cargo.toml b/crates/statetest-types/Cargo.toml index 5b8950c772..488804fcb0 100644 --- a/crates/statetest-types/Cargo.toml +++ b/crates/statetest-types/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "revm-statetest-types" description = "Statetest types for revme" -version = "9.0.2" +version = "9.0.3" authors.workspace = true edition.workspace = true keywords.workspace = true