From e25a38cb9a6af79b0d4e49156e8162117d0ef03b Mon Sep 17 00:00:00 2001 From: Zero Hero <0xzerohero@gmail.com> Date: Wed, 14 Feb 2024 12:49:49 +0200 Subject: [PATCH 1/5] fix: add missing depositReceiptVersion field --- crates/rpc/rpc/src/eth/api/transactions.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/rpc/rpc/src/eth/api/transactions.rs b/crates/rpc/rpc/src/eth/api/transactions.rs index daff7a3f9748..07d121dd9f2f 100644 --- a/crates/rpc/rpc/src/eth/api/transactions.rs +++ b/crates/rpc/rpc/src/eth/api/transactions.rs @@ -1359,13 +1359,10 @@ pub(crate) fn build_transaction_receipt_with_block_receipts( #[cfg(feature = "optimism")] { - let mut op_fields = OptimismTransactionReceiptFields { - deposit_nonce: receipt.deposit_nonce.map(U64::from), - ..Default::default() - }; + let mut op_fields = OptimismTransactionReceiptFields::default(); - if let Some(l1_block_info) = optimism_tx_meta.l1_block_info { - if !transaction.is_deposit() { + if !transaction.is_deposit() { + if let Some(l1_block_info) = optimism_tx_meta.l1_block_info { op_fields.l1_fee = optimism_tx_meta.l1_fee; op_fields.l1_gas_used = optimism_tx_meta .l1_data_gas @@ -1374,6 +1371,9 @@ pub(crate) fn build_transaction_receipt_with_block_receipts( Some(f64::from(l1_block_info.l1_base_fee_scalar) / 1_000_000.0); op_fields.l1_gas_price = Some(l1_block_info.l1_base_fee); } + } else { + op_fields.deposit_nonce = receipt.deposit_nonce.map(U64::from); + op_fields.deposit_receipt_version = receipt.deposit_receipt_version.map(U64::from); } res_receipt.other = op_fields.into(); From d42094732c882c2f8232c17e8a547de4b2c5415f Mon Sep 17 00:00:00 2001 From: Zero Hero <0xzerohero@gmail.com> Date: Wed, 14 Feb 2024 15:27:22 +0200 Subject: [PATCH 2/5] chore: swap if conditions --- crates/rpc/rpc/src/eth/api/transactions.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/rpc/rpc/src/eth/api/transactions.rs b/crates/rpc/rpc/src/eth/api/transactions.rs index 07d121dd9f2f..4d252ae987e4 100644 --- a/crates/rpc/rpc/src/eth/api/transactions.rs +++ b/crates/rpc/rpc/src/eth/api/transactions.rs @@ -1361,8 +1361,8 @@ pub(crate) fn build_transaction_receipt_with_block_receipts( { let mut op_fields = OptimismTransactionReceiptFields::default(); - if !transaction.is_deposit() { - if let Some(l1_block_info) = optimism_tx_meta.l1_block_info { + if let Some(l1_block_info) = optimism_tx_meta.l1_block_info { + if !transaction.is_deposit() { op_fields.l1_fee = optimism_tx_meta.l1_fee; op_fields.l1_gas_used = optimism_tx_meta .l1_data_gas @@ -1370,10 +1370,10 @@ pub(crate) fn build_transaction_receipt_with_block_receipts( op_fields.l1_fee_scalar = Some(f64::from(l1_block_info.l1_base_fee_scalar) / 1_000_000.0); op_fields.l1_gas_price = Some(l1_block_info.l1_base_fee); + } else { + op_fields.deposit_nonce = receipt.deposit_nonce.map(U64::from); + op_fields.deposit_receipt_version = receipt.deposit_receipt_version.map(U64::from); } - } else { - op_fields.deposit_nonce = receipt.deposit_nonce.map(U64::from); - op_fields.deposit_receipt_version = receipt.deposit_receipt_version.map(U64::from); } res_receipt.other = op_fields.into(); From e720ba0ac7c37815946ef6e587a4da317c2c8b98 Mon Sep 17 00:00:00 2001 From: Zero Hero <0xzerohero@gmail.com> Date: Wed, 14 Feb 2024 16:16:37 +0200 Subject: [PATCH 3/5] bump deps --- Cargo.lock | 48 ++++++++++++++++++++++++++++++++++++------------ Cargo.toml | 14 +++++++------- 2 files changed, 43 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 61f32d8899de..ada55783bbd3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -173,7 +173,7 @@ dependencies = [ [[package]] name = "alloy-eips" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=a4453d4#a4453d42ffb755a46bace2ceca3baa454e0cd807" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -183,10 +183,10 @@ dependencies = [ [[package]] name = "alloy-genesis" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=a4453d4#a4453d42ffb755a46bace2ceca3baa454e0cd807" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" dependencies = [ "alloy-primitives", - "alloy-rpc-types", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", "serde", ] @@ -205,7 +205,7 @@ dependencies = [ [[package]] name = "alloy-node-bindings" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=a4453d4#a4453d42ffb755a46bace2ceca3baa454e0cd807" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -266,11 +266,11 @@ dependencies = [ [[package]] name = "alloy-rpc-engine-types" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=a4453d4#a4453d42ffb755a46bace2ceca3baa454e0cd807" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" dependencies = [ "alloy-primitives", "alloy-rlp", - "alloy-rpc-types", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", "ethereum_ssz", "ethereum_ssz_derive", "jsonrpsee-types", @@ -284,7 +284,18 @@ version = "0.1.0" source = "git+https://github.com/alloy-rs/alloy?rev=a4453d4#a4453d42ffb755a46bace2ceca3baa454e0cd807" dependencies = [ "alloy-primitives", - "alloy-rpc-types", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=a4453d4)", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-rpc-trace-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", "serde", "serde_json", ] @@ -293,6 +304,19 @@ dependencies = [ name = "alloy-rpc-types" version = "0.1.0" source = "git+https://github.com/alloy-rs/alloy?rev=a4453d4#a4453d42ffb755a46bace2ceca3baa454e0cd807" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "itertools 0.12.1", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6829,8 +6853,8 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-rpc-engine-types", - "alloy-rpc-trace-types", - "alloy-rpc-types", + "alloy-rpc-trace-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", "arbitrary", "bytes", "ethereum_ssz", @@ -6854,7 +6878,7 @@ name = "reth-rpc-types-compat" version = "0.1.0-alpha.18" dependencies = [ "alloy-rlp", - "alloy-rpc-types", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", "reth-primitives", "reth-rpc-types", "serde_json", @@ -7038,8 +7062,8 @@ version = "0.1.0" source = "git+https://github.com/paradigmxyz/evm-inspectors?rev=b63ec73#b63ec734f89424dc4872a7cc18173c035889df80" dependencies = [ "alloy-primitives", - "alloy-rpc-trace-types", - "alloy-rpc-types", + "alloy-rpc-trace-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=a4453d4)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=a4453d4)", "alloy-sol-types", "boa_engine", "boa_gc", diff --git a/Cargo.toml b/Cargo.toml index 407158a2d8c6..04daf60292e6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -172,7 +172,7 @@ reth-trie = { path = "crates/trie" } # revm revm = { version = "5.0", features = ["std", "secp256k1"], default-features = false } revm-primitives = { version = "2.0", features = ["std"], default-features = false } -revm-inspectors = { git = "https://github.com/paradigmxyz/evm-inspectors", rev = "b63ec73" } +revm-inspectors = { git = "https://github.com/paradigmxyz/evm-inspectors", rev = "8f17f34" } # eth alloy-chains = { version = "0.1", feature = ["serde", "rlp", "arbitrary"] } @@ -181,12 +181,12 @@ alloy-dyn-abi = "0.6" alloy-sol-types = "0.6" alloy-rlp = "0.3" alloy-trie = "0.2" -alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "a4453d4" } -alloy-rpc-trace-types = { git = "https://github.com/alloy-rs/alloy", rev = "a4453d4" } -alloy-rpc-engine-types = { git = "https://github.com/alloy-rs/alloy", rev = "a4453d4" } -alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "a4453d4" } -alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "a4453d4" } -alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "a4453d4" } +alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "b9dd518" } +alloy-rpc-trace-types = { git = "https://github.com/alloy-rs/alloy", rev = "b9dd518" } +alloy-rpc-engine-types = { git = "https://github.com/alloy-rs/alloy", rev = "b9dd518" } +alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "b9dd518" } +alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "b9dd518" } +alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "b9dd518" } ethers-core = { version = "2.0", default-features = false } ethers-providers = { version = "2.0", default-features = false } ethers-signers = { version = "2.0", default-features = false } From 0eaa5e0609ba65ddb75294636580bb55d6976dd1 Mon Sep 17 00:00:00 2001 From: Zero Hero <0xzerohero@gmail.com> Date: Wed, 14 Feb 2024 17:56:50 +0200 Subject: [PATCH 4/5] chore: swap if conditions --- crates/rpc/rpc/src/eth/api/transactions.rs | 24 ++++++++++------------ 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/crates/rpc/rpc/src/eth/api/transactions.rs b/crates/rpc/rpc/src/eth/api/transactions.rs index 4d252ae987e4..8d5999a7efbc 100644 --- a/crates/rpc/rpc/src/eth/api/transactions.rs +++ b/crates/rpc/rpc/src/eth/api/transactions.rs @@ -1361,19 +1361,17 @@ pub(crate) fn build_transaction_receipt_with_block_receipts( { let mut op_fields = OptimismTransactionReceiptFields::default(); - if let Some(l1_block_info) = optimism_tx_meta.l1_block_info { - if !transaction.is_deposit() { - op_fields.l1_fee = optimism_tx_meta.l1_fee; - op_fields.l1_gas_used = optimism_tx_meta - .l1_data_gas - .map(|dg| dg + l1_block_info.l1_fee_overhead.unwrap_or_default()); - op_fields.l1_fee_scalar = - Some(f64::from(l1_block_info.l1_base_fee_scalar) / 1_000_000.0); - op_fields.l1_gas_price = Some(l1_block_info.l1_base_fee); - } else { - op_fields.deposit_nonce = receipt.deposit_nonce.map(U64::from); - op_fields.deposit_receipt_version = receipt.deposit_receipt_version.map(U64::from); - } + if transaction.is_deposit() { + op_fields.deposit_nonce = receipt.deposit_nonce.map(U64::from); + op_fields.deposit_receipt_version = receipt.deposit_receipt_version.map(U64::from); + } else if let Some(l1_block_info) = optimism_tx_meta.l1_block_info { + op_fields.l1_fee = optimism_tx_meta.l1_fee; + op_fields.l1_gas_used = optimism_tx_meta + .l1_data_gas + .map(|dg| dg + l1_block_info.l1_fee_overhead.unwrap_or_default()); + op_fields.l1_fee_scalar = + Some(f64::from(l1_block_info.l1_base_fee_scalar) / 1_000_000.0); + op_fields.l1_gas_price = Some(l1_block_info.l1_base_fee); } res_receipt.other = op_fields.into(); From 0ed2af64c57d9e7d4f73d6b30515d4dae2a2cd25 Mon Sep 17 00:00:00 2001 From: Zero Hero <0xzerohero@gmail.com> Date: Wed, 14 Feb 2024 17:57:23 +0200 Subject: [PATCH 5/5] update Cargo.lock --- Cargo.lock | 42 +++++++++--------------------------------- 1 file changed, 9 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ada55783bbd3..372767003731 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -186,7 +186,7 @@ version = "0.1.0" source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" dependencies = [ "alloy-primitives", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "alloy-rpc-types", "serde", ] @@ -270,7 +270,7 @@ source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706 dependencies = [ "alloy-primitives", "alloy-rlp", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "alloy-rpc-types", "ethereum_ssz", "ethereum_ssz_derive", "jsonrpsee-types", @@ -278,41 +278,17 @@ dependencies = [ "thiserror", ] -[[package]] -name = "alloy-rpc-trace-types" -version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=a4453d4#a4453d42ffb755a46bace2ceca3baa454e0cd807" -dependencies = [ - "alloy-primitives", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=a4453d4)", - "serde", - "serde_json", -] - [[package]] name = "alloy-rpc-trace-types" version = "0.1.0" source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" dependencies = [ "alloy-primitives", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "alloy-rpc-types", "serde", "serde_json", ] -[[package]] -name = "alloy-rpc-types" -version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=a4453d4#a4453d42ffb755a46bace2ceca3baa454e0cd807" -dependencies = [ - "alloy-primitives", - "alloy-rlp", - "itertools 0.12.1", - "serde", - "serde_json", - "thiserror", -] - [[package]] name = "alloy-rpc-types" version = "0.1.0" @@ -6853,8 +6829,8 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-rpc-engine-types", - "alloy-rpc-trace-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "alloy-rpc-trace-types", + "alloy-rpc-types", "arbitrary", "bytes", "ethereum_ssz", @@ -6878,7 +6854,7 @@ name = "reth-rpc-types-compat" version = "0.1.0-alpha.18" dependencies = [ "alloy-rlp", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "alloy-rpc-types", "reth-primitives", "reth-rpc-types", "serde_json", @@ -7059,11 +7035,11 @@ dependencies = [ [[package]] name = "revm-inspectors" version = "0.1.0" -source = "git+https://github.com/paradigmxyz/evm-inspectors?rev=b63ec73#b63ec734f89424dc4872a7cc18173c035889df80" +source = "git+https://github.com/paradigmxyz/evm-inspectors?rev=8f17f34#8f17f34da5fec043378e689bb9e4169453371c38" dependencies = [ "alloy-primitives", - "alloy-rpc-trace-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=a4453d4)", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=a4453d4)", + "alloy-rpc-trace-types", + "alloy-rpc-types", "alloy-sol-types", "boa_engine", "boa_gc",