From b330f14d55775e98d2141f6465a3119ae047c208 Mon Sep 17 00:00:00 2001 From: CeciliaZ030 <45245961+CeciliaZ030@users.noreply.github.com> Date: Fri, 19 Jan 2024 02:34:47 +0800 Subject: [PATCH 1/2] chore: fix serde std flags for no-std build (#987) * use serde as no-std * optional serde std * delete comment #"std" * "preserve_order" * revme revert * Update bins/revme/Cargo.toml --------- Co-authored-by: Leo Alt --- crates/interpreter/Cargo.toml | 4 ++-- crates/primitives/Cargo.toml | 5 +++-- crates/revm/Cargo.toml | 6 +++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/crates/interpreter/Cargo.toml b/crates/interpreter/Cargo.toml index 11bae30a8a..02654d4700 100644 --- a/crates/interpreter/Cargo.toml +++ b/crates/interpreter/Cargo.toml @@ -17,11 +17,11 @@ rustdoc-args = ["--cfg", "docsrs"] revm-primitives = { path = "../primitives", version = "1.3.0", default-features = false } # optional -serde = { version = "1.0", features = ["derive", "rc"], optional = true } +serde = { version = "1.0", default-features = false, features = ["derive", "rc"], optional = true } [features] default = ["std"] -std = ["revm-primitives/std"] +std = ["serde?/std", "revm-primitives/std"] serde = ["dep:serde", "revm-primitives/serde"] arbitrary = ["std", "revm-primitives/arbitrary"] asm-keccak = ["revm-primitives/asm-keccak"] diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 7b55f557ab..e57aa16dc5 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -34,14 +34,15 @@ enumn = "0.1" derive_more = { version = "0.99", optional = true } # optional -serde = { version = "1.0", features = ["derive", "rc"], optional = true } +serde = { version = "1.0", default-features = false, features = ["derive", "rc"], optional = true } [build-dependencies] -hex = "0.4" +hex = { version = "0.4", default-features = false } [features] default = ["std", "c-kzg"] std = [ + "serde?/std", "alloy-primitives/std", "hex/std", "bitvec/std", diff --git a/crates/revm/Cargo.toml b/crates/revm/Cargo.toml index 8fd90f60d2..a4768dab50 100644 --- a/crates/revm/Cargo.toml +++ b/crates/revm/Cargo.toml @@ -22,8 +22,8 @@ revm-precompile = { path = "../precompile", version = "2.2.0", default-features auto_impl = { version = "1.1", default-features = false } # Optional -serde = { version = "1.0", features = ["derive", "rc"], optional = true } -serde_json = { version = "1.0", features = ["preserve_order"], optional = true } +serde = { version = "1.0", default-features = false, features = ["derive", "rc"], optional = true } +serde_json = { version = "1.0", default-features = false, features = ["alloc", "preserve_order"], optional = true } # ethersdb tokio = { version = "1.35", features = [ @@ -42,7 +42,7 @@ indicatif = "0.17" [features] default = ["std", "c-kzg", "secp256k1"] -std = ["revm-interpreter/std", "revm-precompile/std"] +std = ["serde?/std", "serde_json?/std", "revm-interpreter/std", "revm-precompile/std"] serde = ["dep:serde", "dep:serde_json", "revm-interpreter/serde"] arbitrary = ["revm-interpreter/arbitrary"] asm-keccak = ["revm-interpreter/asm-keccak", "revm-precompile/asm-keccak"] From 9d655c4824a2b301a8768994f2016473266e79f6 Mon Sep 17 00:00:00 2001 From: Wolfgang Welz Date: Thu, 18 Jan 2024 19:35:43 +0100 Subject: [PATCH 2/2] set deduct_caller in optimism handler (#988) --- crates/revm/src/optimism/handler_register.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/revm/src/optimism/handler_register.rs b/crates/revm/src/optimism/handler_register.rs index b0a5c91cdd..4dc9691ef7 100644 --- a/crates/revm/src/optimism/handler_register.rs +++ b/crates/revm/src/optimism/handler_register.rs @@ -20,7 +20,8 @@ pub fn optimism_handle_register(handler: &mut EvmHandler<'_, spec_to_generic!(handler.spec_id, { // Refund is calculated differently then mainnet. handler.execution_loop.first_frame_return = Arc::new(handle_call_return::); - // we reimburse caller the same was as in mainnet. + // An estimated batch cost is charged from the caller and added to L1 Fee Vault. + handler.pre_execution.deduct_caller = Arc::new(deduct_caller::); handler.post_execution.reward_beneficiary = Arc::new(reward_beneficiary::); // In case of halt of deposit transaction return Error. handler.post_execution.output = Arc::new(output::);