From 105e9c3ad7b8d78a2a795c2f6344cdabcbc9bbec Mon Sep 17 00:00:00 2001 From: chee-chyuan <60590919+chee-chyuan@users.noreply.github.com> Date: Wed, 29 Apr 2026 14:40:32 +0800 Subject: [PATCH 01/19] =?UTF-8?q?chore:=20upgrade=20reth=20v0.0.9=20?= =?UTF-8?q?=E2=86=92=20v2.0.0=20(develop-v2)=20(#332)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: upgrade reth v0.0.9 → develop-v2 (reth 2.0.0) Dependency changes: - All reth-* crates: tag v0.0.9 → branch develop-v2 (reth 2.0.0) - reth-primitives removed; replaced by reth-ethereum-primitives (already depended on) - reth-primitives-traits: moved to bnb-chain/reth-core repo (branch main) - triedb: tag v0.0.2 → branch develop; adds rust-eth-triedb-state-trie - revm: 34.0.0 → 36.0.0; revm-database: 10→12; drops revm-context-interface; adds revm-bytecode, revm-state, revm-primitives, revm-interpreter, revm-database-interface - alloy: 1.1.3 → 1.8.2 (consensus/eips/genesis/network/rpc-types/signer) - alloy-primitives/dyn-abi/sol-*: 1.4.1 → 1.5.6 - alloy-chains: 0.2.23 → 0.2.33; alloy-evm: 0.26.3 → 0.30.0; alloy-rlp: 0.3.12 → 0.3.13 Source code conflicts (200 errors) remain to be resolved — see branch notes. Co-Authored-By: Claude Sonnet 4.6 * fix: implement NodePrimitives/BlockBody for BSC primitives (reth 2.0.0) - Remove reth_primitives import (crate removed); use reth_primitives_traits::NodePrimitives and reth_ethereum_primitives::TransactionSigned directly - Fix BlockBody::withdrawals() return type: alloy_rpc_types::Withdrawals → alloy_eips::eip4895::Withdrawals (trait signature changed) - Remove serde_bincode_compat module: reth_primitives_traits::serde_bincode_compat no longer exists in v0.1.1; BscBlock/BscBlockBody bincode impls dropped - Use reth-primitives-traits v0.1.1 from crates.io (matches develop-v2's dependency; reth-core/main is on alloy 2.0.x which conflicts with develop-v2's alloy 1.8.x) Reduces compilation errors from 180 → 73. Co-Authored-By: Claude Sonnet 4.6 * chore: source reth-core crates from git tag v0.1.1 Use reth-core git repo (tag v0.1.1) instead of crates.io for all reth-core-published crates. Patch section ensures reth develop-v2's internal crates.io deps are also redirected to the same git source, keeping a single copy of each crate in the dependency graph. Patches applied: reth-primitives-traits, reth-codecs, reth-codecs-derive, reth-rpc-traits, reth-zstd-compressors. Note: reth-core/main (v0.3.0) cannot be used until reth develop-v2 bumps its reth-primitives-traits requirement to 0.3.x (requires alloy 2.0.x). Co-Authored-By: Claude Sonnet 4.6 * chore: switch reth-core crates to branch v0.1.1-v2 Replaces tag = "v0.1.1" with branch = "v0.1.1-v2" across all five reth-core patches (reth-primitives-traits, reth-codecs, reth-codecs-derive, reth-rpc-traits, reth-zstd-compressors). The v0.1.1-v2 branch contains updates while remaining at version "0.1.1" and alloy 1.x, keeping full compatibility with reth develop-v2's dependency requirements. Co-Authored-By: Claude Sonnet 4.6 * fix: replace reth_primitives imports with reth 2.0 equivalents reth-primitives crate was removed in reth 2.0 (develop-v2). Migrate all usages across 29 files to the correct new crate paths: - reth_primitives::{TransactionSigned,Transaction,Block,BlockBody} → reth_ethereum_primitives - reth_primitives::{GotExpected,GotExpectedBoxed,SealedHeader,SealedBlock,RecoveredBlock,NodePrimitives,BlockTy,HeaderTy} → reth_primitives_traits - reth_primitives::Header → alloy_consensus::Header - reth_primitives::gas_spent_by_transactions → reth_primitives_traits::receipt::gas_spent_by_transactions - reth_primitives::InvalidTransactionError → reth_primitives_traits::transaction::error::InvalidTransactionError Co-Authored-By: Claude Sonnet 4.6 * fix: replace revm_context_interface with revm::context_interface revm_context_interface is no longer a standalone dependency in revm 36. It is re-exported via revm::context_interface. Co-Authored-By: Claude Sonnet 4.6 * fix: replace EthPayloadBuilderAttributes with EthPayloadAttributes (Group 3) EthPayloadBuilderAttributes was fully removed in locked reth commit 6fe9c72. Replace with alloy_rpc_types_engine::PayloadAttributes (aliased as EthPayloadAttributes): - Remove PayloadTypes::PayloadBuilderAttributes associated type (removed from trait) - Replace struct construction (no parent field, explicit fields, no Default) - Change method calls (.timestamp(), .prev_randao(), etc.) to field access - Convert withdrawals from Option> to Option - Fix PayloadConfig::new to take 3 args (add payload_id) - Fix MinerTrieDbPrefetcher::new to take 4 args (add WorkloadExecutor/TaskExecutor) - Thread TaskExecutor through BscPayloadBuilder and BidSimulator Co-Authored-By: Claude Sonnet 4.6 * fix: upgrade reth-bsc to develop-v2 (reth 2.0.0) Adapt to breaking API changes in reth 2.0 / alloy-evm 0.30: - BlockExecutor: use generic StateDB instead of &mut State - BscTxResult: new TxResult trait with result()/into_result() - ExecutionResult::Success: use ResultGas::new() instead of gas_used/gas_refunded - PoolBuilder: add Evm type parameter; build_pool takes evm_config - EthTransactionValidator: now takes 3 generic params (add Evm) - TransactionValidator: add associated type Block - BeaconEngineMessage::ForkchoiceUpdated: remove version field - fork_choice_updated: remove EngineApiMessageVersion argument - BlockEnv: add slot_num field (default 0) - Withdrawals: use .as_slice()/.into_inner() for Cow conversions - BscEngineApiTx: fix Arc -> DatabaseEnv type mismatch - StateRoot::overlay_root_with_updates: specify LegacyKeyAdapter explicitly - EthInstructions::new_mainnet: replace deprecated call with new_mainnet_with_spec - MainWorkWorker: add task_executor field for new bsc_miner API Co-Authored-By: Claude Sonnet 4.6 * fix: resolve clippy errors for CI - Remove unused `accumulate_blob_gas_used` method and its `Transaction` import - Remove useless `.into()` on `tx_signed.clone()` (same type conversion) - Suppress `too_many_arguments` lint on `BscPayloadJobGenerator::new` Co-Authored-By: Claude Sonnet 4.6 * chore: switch reth dependency from develop-v2 to v0.1.1-v2 Co-Authored-By: Claude Sonnet 4.6 * chore: revert reth to develop-v2, remove patch section for reth-core reth-core deps already reference v0.1.1-v2 directly so [patch.crates-io] is not needed. Co-Authored-By: Claude Sonnet 4.6 * chore: update Cargo.lock Co-Authored-By: Claude Sonnet 4.6 * fix: restore [patch.crates-io] for reth-core transitive deps reth (develop-v2) pulls reth-core packages from crates.io transitively; the patch is needed to unify them with the git source used by reth-bsc directly. Co-Authored-By: Claude Sonnet 4.6 * chore: remove [patch.crates-io] and update reth to latest develop-v2 reth develop-v2 now also references bnb-chain/reth-core directly, so no crates.io patch is needed to unify the types. Co-Authored-By: Claude Sonnet 4.6 * chore: regenerate Cargo.lock after merge conflict resolution Co-Authored-By: Claude Sonnet 4.6 * fix: remove stale EngineApiMessageVersion::V1 arg from fork_choice_updated The reth develop-v2 API dropped the version parameter; a second call site was introduced by the develop-v2 merge and needed the same fix. Co-Authored-By: Claude Sonnet 4.6 * fix: replace reth_primitives with reth_primitives_traits in fork_recover tests, remove stale version field from FCU pattern match Co-Authored-By: Claude Sonnet 4.6 --------- Co-authored-by: Chee Chyuan Ang Co-authored-by: Claude Sonnet 4.6 --- Cargo.lock | 2453 +++++++++-------- Cargo.toml | 142 +- src/chainspec/bsc.rs | 2 +- src/chainspec/bsc_chapel.rs | 2 +- src/chainspec/bsc_rialto.rs | 2 +- src/chainspec/local.rs | 2 +- src/consensus/parlia/snapshot.rs | 7 +- src/consensus/parlia/validation.rs | 4 +- src/evm/api/mod.rs | 2 +- src/evm/handler.rs | 27 +- src/evm/transaction.rs | 37 +- src/node/consensus.rs | 11 +- src/node/engine.rs | 7 +- src/node/engine_api/mod.rs | 3 - src/node/engine_api/payload.rs | 6 +- src/node/engine_api/validator.rs | 2 +- src/node/evm/assembler.rs | 7 +- src/node/evm/builder.rs | 6 +- src/node/evm/config.rs | 21 +- src/node/evm/error.rs | 2 +- src/node/evm/executor.rs | 490 ++-- src/node/evm/mod.rs | 2 +- src/node/evm/patch/mod.rs | 95 +- src/node/evm/post_execution.rs | 70 +- src/node/evm/pre_execution.rs | 14 +- src/node/evm/util.rs | 2 +- src/node/miner/bid_simulator.rs | 36 +- src/node/miner/bsc_miner.rs | 25 +- src/node/miner/payload.rs | 62 +- src/node/miner/signer.rs | 4 +- src/node/miner/util.rs | 12 +- src/node/mod.rs | 2 +- src/node/network/block_import/fork_recover.rs | 6 +- src/node/network/block_import/mod.rs | 2 +- src/node/network/block_import/service.rs | 11 +- src/node/network/blocks_by_range.rs | 2 +- src/node/network/mod.rs | 16 +- src/node/pool/mod.rs | 66 +- src/node/primitives.rs | 54 +- src/rpc/eth_config.rs | 2 +- src/rpc/mev.rs | 2 +- src/shared.rs | 4 +- src/system_contracts/mod.rs | 2 +- testing/bsc-ef-tests/Cargo.toml | 47 +- .../bsc-ef-tests/src/cases/blockchain_test.rs | 7 +- 45 files changed, 1847 insertions(+), 1933 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3fd5e04a..15c34ea1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -35,7 +35,7 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -106,9 +106,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.33" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e9e31d834fe25fe991b8884e4b9f0e59db4a97d86e05d1464d6899c013cd62" +checksum = "84e0378e959aa6a885897522080a990e80eb317f1e9a222a604492ea50e13096" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -116,7 +116,7 @@ dependencies = [ "num_enum", "proptest", "serde", - "strum 0.27.2", + "strum", ] [[package]] @@ -139,7 +139,7 @@ dependencies = [ "either", "k256", "once_cell", - "rand 0.8.5", + "rand 0.8.6", "secp256k1 0.30.0", "serde", "serde_json", @@ -189,7 +189,7 @@ dependencies = [ "alloy-rlp", "arbitrary", "crc", - "rand 0.8.5", + "rand 0.8.6", "serde", "thiserror 2.0.18", ] @@ -204,7 +204,7 @@ dependencies = [ "alloy-rlp", "arbitrary", "borsh", - "rand 0.8.5", + "rand 0.8.6", "serde", ] @@ -219,7 +219,7 @@ dependencies = [ "arbitrary", "borsh", "k256", - "rand 0.8.5", + "rand 0.8.6", "serde", "serde_with", "thiserror 2.0.18", @@ -227,14 +227,15 @@ dependencies = [ [[package]] name = "alloy-eip7928" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8222b1d88f9a6d03be84b0f5e76bb60cd83991b43ad8ab6477f0e4a7809b98d" +checksum = "ec6ae911a2fc304a7cb80a79fb7bed6d1474aed4e7c203df1f8ff538f64fc78d" dependencies = [ "alloy-primitives", "alloy-rlp", "arbitrary", "borsh", + "once_cell", "serde", ] @@ -257,8 +258,8 @@ dependencies = [ "c-kzg", "derive_more 2.1.1", "either", - "ethereum_ssz", - "ethereum_ssz_derive", + "ethereum_ssz 0.9.1", + "ethereum_ssz_derive 0.9.1", "serde", "serde_with", "sha2 0.10.9", @@ -266,9 +267,9 @@ dependencies = [ [[package]] name = "alloy-evm" -version = "0.26.4" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b99ba7b74a87176f31ee1cd26768f7155b0eeff61ed925f59b13085ffe5f891" +checksum = "e13146597a586a4166ac31b192883e08c044272d6b8c43de231ee1f43dd9a115" dependencies = [ "alloy-consensus", "alloy-eips", @@ -279,10 +280,9 @@ dependencies = [ "alloy-sol-types", "auto_impl", "derive_more 2.1.1", - "op-alloy", - "op-revm", "revm", "thiserror 2.0.18", + "tracing", ] [[package]] @@ -396,19 +396,19 @@ dependencies = [ "foldhash 0.2.0", "getrandom 0.4.2", "hashbrown 0.16.1", - "indexmap 2.13.0", + "indexmap 2.14.0", "itoa", "k256", "keccak-asm", "paste", "proptest", "proptest-derive", - "rand 0.9.2", + "rand 0.9.4", "rapidhash", "ruint", "rustc-hash", "serde", - "sha3 0.10.8", + "sha3 0.10.9", ] [[package]] @@ -442,10 +442,10 @@ dependencies = [ "either", "futures", "futures-utils-wasm", - "lru 0.16.3", + "lru 0.16.4", "parking_lot", "pin-project", - "reqwest 0.13.2", + "reqwest 0.13.3", "serde", "serde_json", "thiserror 2.0.18", @@ -479,9 +479,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93e50f64a77ad9c5470bf2ad0ca02f228da70c792a8f06634801e202579f35e" +checksum = "dc90b1e703d3c03f4ff7f48e82dd0bc1c8211ab7d079cd836a06fcfeb06651cb" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -490,9 +490,9 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce8849c74c9ca0f5a03da1c865e3eb6f768df816e67dd3721a398a8a7e398011" +checksum = "f36834a5c0a2fa56e171bf256c34d70fca07d0c0031583edea1c4946b7889c9e" dependencies = [ "proc-macro2", "quote", @@ -514,7 +514,7 @@ dependencies = [ "alloy-transport-ws", "futures", "pin-project", - "reqwest 0.13.2", + "reqwest 0.13.3", "serde", "serde_json", "tokio", @@ -583,8 +583,8 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", "derive_more 2.1.1", - "ethereum_ssz", - "ethereum_ssz_derive", + "ethereum_ssz 0.9.1", + "ethereum_ssz_derive 0.9.1", "serde", "serde_json", "serde_with", @@ -617,12 +617,12 @@ dependencies = [ "alloy-rlp", "alloy-serde", "derive_more 2.1.1", - "ethereum_ssz", - "ethereum_ssz_derive", + "ethereum_ssz 0.9.1", + "ethereum_ssz_derive 0.9.1", "jsonwebtoken", - "rand 0.8.5", + "rand 0.8.6", "serde", - "strum 0.27.2", + "strum", ] [[package]] @@ -729,7 +729,7 @@ dependencies = [ "coins-bip32", "coins-bip39", "k256", - "rand 0.8.5", + "rand 0.8.6", "thiserror 2.0.18", "zeroize", ] @@ -757,11 +757,11 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck", - "indexmap 2.13.0", + "indexmap 2.14.0", "proc-macro-error2", "proc-macro2", "quote", - "sha3 0.10.8", + "sha3 0.10.9", "syn 2.0.117", "syn-solidity", ] @@ -836,7 +836,7 @@ dependencies = [ "alloy-json-rpc", "alloy-transport", "itertools 0.14.0", - "reqwest 0.13.2", + "reqwest 0.13.3", "serde_json", "tower", "tracing", @@ -873,10 +873,10 @@ dependencies = [ "alloy-transport", "futures", "http 1.4.0", - "rustls 0.23.37", + "rustls 0.23.40", "serde_json", "tokio", - "tokio-tungstenite 0.28.0", + "tokio-tungstenite", "tracing", "url", "ws_stream_wasm", @@ -1332,7 +1332,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1342,7 +1342,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1352,7 +1352,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1378,9 +1378,9 @@ checksum = "4858a9d740c5007a9069007c3b4e91152d0506f13c1b31dd49051fd537656156" [[package]] name = "async-compression" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1" +checksum = "e79b3f8a79cccc2898f31920fc69f304859b3bd567490f75ebf51ae1c792a9ac" dependencies = [ "compression-codecs", "compression-core", @@ -1467,9 +1467,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-lc-rs" -version = "1.16.2" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc" +checksum = "0ec6fb3fe69024a75fa7e1bfb48aa6cf59706a101658ea01bfd33b2b248a038f" dependencies = [ "aws-lc-sys", "zeroize", @@ -1477,9 +1477,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.39.1" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399" +checksum = "f50037ee5e1e41e7b8f9d161680a725bd1626cb6f8c7e901f91f942850852fe7" dependencies = [ "cc", "cmake", @@ -1509,7 +1509,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -1573,31 +1573,13 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.71.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" -dependencies = [ - "bitflags 2.11.0", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.117", -] - [[package]] name = "bindgen" version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "cexpr", "clang-sys", "itertools 0.13.0", @@ -1663,9 +1645,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" dependencies = [ "serde_core", ] @@ -1683,6 +1665,20 @@ dependencies = [ "wyz", ] +[[package]] +name = "blake3" +version = "1.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aa83c34e62843d924f905e0f5c866eb1dd6545fc4d719e803d9ba6030371fce" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "cpufeatures 0.3.0", +] + [[package]] name = "block-buffer" version = "0.7.3" @@ -1766,11 +1762,11 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6339a700715bda376f5ea65c76e8fe8fc880930d8b0638cea68e7f3da6538e0a" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "boa_interner", "boa_macros", "boa_string", - "indexmap 2.13.0", + "indexmap 2.14.0", "num-bigint", "rustc-hash", ] @@ -1783,7 +1779,7 @@ checksum = "1521be326f8a5c8887e95d4ce7f002917a002a23f7b93b9a6a2bf50ed4157824" dependencies = [ "aligned-vec", "arrayvec", - "bitflags 2.11.0", + "bitflags 2.11.1", "boa_ast", "boa_gc", "boa_interner", @@ -1802,7 +1798,7 @@ dependencies = [ "futures-lite", "hashbrown 0.16.1", "icu_normalizer", - "indexmap 2.13.0", + "indexmap 2.14.0", "intrusive-collections", "itertools 0.14.0", "num-bigint", @@ -1811,7 +1807,7 @@ dependencies = [ "num_enum", "paste", "portable-atomic", - "rand 0.9.2", + "rand 0.9.4", "regress", "rustc-hash", "ryu-js", @@ -1848,7 +1844,7 @@ dependencies = [ "boa_gc", "boa_macros", "hashbrown 0.16.1", - "indexmap 2.13.0", + "indexmap 2.14.0", "once_cell", "phf 0.13.1", "rustc-hash", @@ -1875,7 +1871,7 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35bd957fa9fa93e3a001a8aba5a5cd40c2bbfde486378be4c4b472fd304aaddb" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "boa_ast", "boa_interner", "boa_macros", @@ -1985,7 +1981,6 @@ dependencies = [ "reth-ethereum-primitives", "reth-evm", "reth-evm-ethereum", - "reth-primitives", "reth-primitives-traits", "reth-provider", "reth-revm", @@ -2123,9 +2118,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87a0c0e6148f11f01f32650a2ea02d532b2ad4e81d8bd41e6e565b5adc5e6082" +checksum = "dd0061da739915fae12ea00e16397555ed4371a6bb285431aab930f61b0aa4ba" dependencies = [ "serde", "serde_core", @@ -2139,7 +2134,7 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform 0.1.9", - "semver 1.0.27", + "semver 1.0.28", "serde", "serde_json", ] @@ -2151,19 +2146,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" dependencies = [ "camino", - "cargo-platform 0.3.2", - "semver 1.0.27", + "cargo-platform 0.3.3", + "semver 1.0.28", "serde", "serde_json", "thiserror 2.0.18", ] -[[package]] -name = "cassowary" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" - [[package]] name = "castaway" version = "0.2.4" @@ -2175,9 +2164,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.58" +version = "1.2.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e928d4b69e3077709075a938a05ffbedfa53a84c8f766efbf8220bb1ff60e1" +checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d" dependencies = [ "find-msvc-tools", "jobserver", @@ -2223,7 +2212,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -2249,9 +2238,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.6.0" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", "clap_derive", @@ -2271,9 +2260,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.0" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck", "proc-macro2", @@ -2323,7 +2312,7 @@ dependencies = [ "hmac", "once_cell", "pbkdf2 0.12.2", - "rand 0.8.5", + "rand 0.8.6", "sha2 0.10.9", "thiserror 1.0.69", ] @@ -2343,7 +2332,7 @@ dependencies = [ "ripemd", "serde", "sha2 0.10.9", - "sha3 0.10.8", + "sha3 0.10.9", "thiserror 1.0.69", ] @@ -2472,9 +2461,9 @@ dependencies = [ "getrandom 0.2.17", "peg", "pin-project", - "rand 0.8.5", + "rand 0.8.6", "reqwest 0.11.27", - "semver 1.0.27", + "semver 1.0.28", "serde", "serde_bytes", "serde_json", @@ -2485,7 +2474,7 @@ dependencies = [ "tokio", "tracing", "url", - "uuid 1.23.0", + "uuid 1.23.1", "walkdir", ] @@ -2495,16 +2484,16 @@ version = "7.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "958c5d6ecf1f214b4c2bbbbf6ab9523a864bd136dcf71a7e8904799acfe1ad47" dependencies = [ - "crossterm 0.29.0", + "crossterm", "unicode-segmentation", - "unicode-width 0.2.0", + "unicode-width", ] [[package]] name = "compact_str" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" +checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" dependencies = [ "castaway", "cfg-if", @@ -2516,9 +2505,9 @@ dependencies = [ [[package]] name = "compression-codecs" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7" +checksum = "ce2548391e9c1929c21bf6aa2680af86fe4c1b33e6cea9ac1cfeec0bd11218cf" dependencies = [ "brotli", "compression-core", @@ -2530,9 +2519,9 @@ dependencies = [ [[package]] name = "compression-core" -version = "0.4.31" +version = "0.4.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" +checksum = "cc14f565cf027a105f7a44ccf9e5b424348421a1d8952a8fc9d499d313107789" [[package]] name = "concat-kdf" @@ -2550,7 +2539,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "proptest", "serde_core", ] @@ -2569,11 +2558,12 @@ checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" [[package]] name = "const_format" -version = "0.2.35" +version = "0.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" +checksum = "4481a617ad9a412be3b97c5d403fef8ed023103368908b9c50af598ff467cc1e" dependencies = [ "const_format_proc_macros", + "konst", ] [[package]] @@ -2587,6 +2577,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "constant_time_eq" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + [[package]] name = "contracts" version = "0.6.7" @@ -2639,15 +2635,6 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -[[package]] -name = "core2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" -dependencies = [ - "memchr", -] - [[package]] name = "cow-utils" version = "0.1.3" @@ -2663,6 +2650,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc" version = "3.4.0" @@ -2674,9 +2670,9 @@ dependencies = [ [[package]] name = "crc-catalog" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" [[package]] name = "crc32fast" @@ -2722,26 +2718,19 @@ dependencies = [ ] [[package]] -name = "crossbeam-utils" -version = "0.8.21" +name = "crossbeam-queue" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] [[package]] -name = "crossterm" -version = "0.28.1" +name = "crossbeam-utils" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" -dependencies = [ - "bitflags 2.11.0", - "crossterm_winapi", - "mio", - "parking_lot", - "rustix 0.38.44", - "signal-hook", - "signal-hook-mio", - "winapi", -] +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crossterm" @@ -2749,11 +2738,15 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "crossterm_winapi", + "derive_more 2.1.1", "document-features", + "mio", "parking_lot", - "rustix 1.1.4", + "rustix", + "signal-hook", + "signal-hook-mio", "winapi", ] @@ -2824,7 +2817,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", @@ -2946,25 +2939,27 @@ version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ + "arbitrary", "cfg-if", "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", + "serde", ] [[package]] name = "data-encoding" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" +checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" [[package]] name = "data-encoding-macro" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" +checksum = "3259c913752a86488b501ed8680446a5ed2d5aeac6e596cb23ba3800768ea32c" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -2972,9 +2967,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" +checksum = "ccc2776f0c61eca1ca32528f85548abd1a4be8fb53d1b21c013e4f18da1e7090" dependencies = [ "data-encoding", "syn 2.0.117", @@ -3153,15 +3148,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "dirs" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs-next" version = "2.0.0" @@ -3172,18 +3158,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" -dependencies = [ - "libc", - "option-ext", - "redox_users 0.5.2", - "windows-sys 0.61.2", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -3191,7 +3165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users 0.4.6", + "redox_users", "winapi", ] @@ -3218,7 +3192,7 @@ dependencies = [ "more-asserts", "multiaddr", "parking_lot", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "socket2 0.6.3", "tokio", @@ -3426,10 +3400,10 @@ dependencies = [ "hex 0.4.3", "k256", "log", - "rand 0.8.5", + "rand 0.8.6", "secp256k1 0.30.0", "serde", - "sha3 0.10.8", + "sha3 0.10.9", "zeroize", ] @@ -3522,12 +3496,12 @@ dependencies = [ "hex 0.4.3", "hmac", "pbkdf2 0.11.0", - "rand 0.8.5", + "rand 0.8.6", "scrypt 0.10.0", "serde", "serde_json", "sha2 0.10.9", - "sha3 0.10.8", + "sha3 0.10.9", "thiserror 1.0.69", "uuid 0.8.2", ] @@ -3538,7 +3512,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c853bd72c9e5787f8aafc3df2907c2ed03cff3150c3acd94e2e53a98ab70a8ab" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", "ring", "sha2 0.10.9", ] @@ -3571,6 +3545,21 @@ dependencies = [ "typenum", ] +[[package]] +name = "ethereum_ssz" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368a4a4e4273b0135111fe9464e35465067766a8f664615b5a86338b73864407" +dependencies = [ + "alloy-primitives", + "ethereum_serde_utils", + "itertools 0.14.0", + "serde", + "serde_derive", + "smallvec", + "typenum", +] + [[package]] name = "ethereum_ssz_derive" version = "0.9.1" @@ -3583,6 +3572,29 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "ethereum_ssz_derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cd82c68120c89361e1a457245cf212f7d9f541bffaffed530c8f2d54a160b2" +dependencies = [ + "darling 0.23.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "evmap" +version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8874945f036109c72242964c1174cf99434e30cfa45bf45fedc983f50046f8" +dependencies = [ + "hashbag", + "left-right", + "smallvec", +] + [[package]] name = "eyre" version = "0.6.12" @@ -3629,9 +3641,9 @@ checksum = "f8eb564c5c7423d25c886fb561d1e4ee69f72354d16918afa32c08811f6b6a55" [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "fastrlp" @@ -3705,6 +3717,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41c7aa69c00ebccf06c3fa7ffe2a6cf26a58b5fe4deabfe646285ff48136a8f" dependencies = [ "equivalent", + "rapidhash", + "typeid", ] [[package]] @@ -3714,7 +3728,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand 0.8.6", "rustc-hex", "static_assertions", ] @@ -3953,6 +3967,21 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" +[[package]] +name = "generator" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9" +dependencies = [ + "cc", + "cfg-if", + "libc", + "log", + "rustversion", + "windows-link 0.2.1", + "windows-result 0.4.1", +] + [[package]] name = "generic-array" version = "0.12.4" @@ -4046,7 +4075,7 @@ version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "libc", "libgit2-sys", "log", @@ -4128,7 +4157,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.13.0", + "indexmap 2.14.0", "slab", "tokio", "tokio-util", @@ -4147,7 +4176,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.4.0", - "indexmap 2.13.0", + "indexmap 2.14.0", "slab", "tokio", "tokio-util", @@ -4166,6 +4195,12 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" +[[package]] +name = "hashbag" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7040a10f52cba493ddb09926e15d10a9d8a28043708a405931fe4c6f19fac064" + [[package]] name = "hashbrown" version = "0.12.3" @@ -4211,6 +4246,12 @@ dependencies = [ "serde_core", ] +[[package]] +name = "hashbrown" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" + [[package]] name = "hashlink" version = "0.11.0" @@ -4279,7 +4320,7 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.9.2", + "rand 0.9.4", "ring", "serde", "thiserror 2.0.18", @@ -4302,7 +4343,7 @@ dependencies = [ "moka", "once_cell", "parking_lot", - "rand 0.9.2", + "rand 0.9.4", "resolv-conf", "serde", "smallvec", @@ -4486,21 +4527,18 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.7" +version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ "http 1.4.0", "hyper 1.9.0", "hyper-util", "log", - "rustls 0.23.37", - "rustls-native-certs 0.8.3", - "rustls-pki-types", + "rustls 0.23.40", "tokio", "tokio-rustls 0.26.4", "tower-service", - "webpki-roots 1.0.6", ] [[package]] @@ -4593,9 +4631,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" dependencies = [ "displaydoc", "litemap", @@ -4652,9 +4690,9 @@ checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" dependencies = [ "displaydoc", "icu_locale_core", @@ -4768,13 +4806,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.13.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "arbitrary", "equivalent", - "hashbrown 0.16.1", + "hashbrown 0.17.0", "serde", "serde_core", ] @@ -4794,7 +4832,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "inotify-sys", "libc", ] @@ -4833,9 +4871,9 @@ dependencies = [ [[package]] name = "interprocess" -version = "2.4.0" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6be5e5c847dbdb44564bd85294740d031f4f8aeb3464e5375ef7141f7538db69" +checksum = "069323743400cb7ab06a8fe5c1ed911d36b6919ec531661d034c89083629595b" dependencies = [ "doctest-file", "futures-core", @@ -4843,7 +4881,7 @@ dependencies = [ "recvmsg", "tokio", "widestring", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4966,6 +5004,36 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "jni" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +dependencies = [ + "cfg-if", + "combine", + "jni-macros", + "jni-sys 0.4.1", + "log", + "simd_cesu8", + "thiserror 2.0.18", + "walkdir", + "windows-link 0.2.1", +] + +[[package]] +name = "jni-macros" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version 0.4.1", + "simd_cesu8", + "syn 2.0.117", +] + [[package]] name = "jni-sys" version = "0.3.1" @@ -5006,9 +5074,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.94" +version = "0.3.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e04e2ef80ce82e13552136fabeef8a5ed1f985a96805761cbb9a2c34e7664d9" +checksum = "a1840c94c045fbcf8ba2812c95db44499f7c64910a912551aaaa541decebcacf" dependencies = [ "cfg-if", "futures-util", @@ -5047,9 +5115,9 @@ dependencies = [ "http 1.4.0", "jsonrpsee-core", "pin-project", - "rustls 0.23.37", + "rustls 0.23.40", "rustls-pki-types", - "rustls-platform-verifier", + "rustls-platform-verifier 0.5.3", "soketto", "thiserror 2.0.18", "tokio", @@ -5075,7 +5143,7 @@ dependencies = [ "jsonrpsee-types", "parking_lot", "pin-project", - "rand 0.9.2", + "rand 0.9.4", "rustc-hash", "serde", "serde_json", @@ -5096,12 +5164,12 @@ dependencies = [ "base64 0.22.1", "http-body 1.0.1", "hyper 1.9.0", - "hyper-rustls 0.27.7", + "hyper-rustls 0.27.9", "hyper-util", "jsonrpsee-core", "jsonrpsee-types", - "rustls 0.23.37", - "rustls-platform-verifier", + "rustls 0.23.40", + "rustls-platform-verifier 0.5.3", "serde", "serde_json", "thiserror 2.0.18", @@ -5218,13 +5286,24 @@ dependencies = [ "signature 2.2.0", ] +[[package]] +name = "kasuari" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bde5057d6143cc94e861d90f591b9303d6716c6b9602309150bd068853c10899" +dependencies = [ + "hashbrown 0.16.1", + "portable-atomic", + "thiserror 2.0.18", +] + [[package]] name = "keccak" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -5237,6 +5316,21 @@ dependencies = [ "sha3-asm", ] +[[package]] +name = "konst" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "128133ed7824fcd73d6e7b17957c5eb7bacb885649bd8c69708b2331a10bcefb" +dependencies = [ + "konst_macro_rules", +] + +[[package]] +name = "konst_macro_rules" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4933f3f57a8e9d9da04db23fb153356ecaf00cbd14aee46279c33dc80925c37" + [[package]] name = "kqueue" version = "1.1.1" @@ -5269,11 +5363,22 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +[[package]] +name = "left-right" +version = "0.11.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0c21e4c8ff95f487fb34e6f9182875f42c84cef966d29216bf115d9bba835a" +dependencies = [ + "crossbeam-utils", + "loom", + "slab", +] + [[package]] name = "libc" -version = "0.2.184" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libgit2-sys" @@ -5294,7 +5399,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -5328,21 +5433,21 @@ version = "0.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a54ad7278b8bc5301d5ffd2a94251c004feb971feba96c971ea4063645990757" dependencies = [ - "bindgen 0.72.1", + "bindgen", "errno", "libc", ] [[package]] name = "libredox" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" +checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "libc", "plain", - "redox_syscall 0.7.3", + "redox_syscall 0.7.4", ] [[package]] @@ -5351,7 +5456,7 @@ version = "0.17.3+10.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cef2a00ee60fe526157c9023edab23943fae1ce2ab6f4abb2a807c1746835de9" dependencies = [ - "bindgen 0.72.1", + "bindgen", "bzip2-sys", "cc", "libc", @@ -5363,9 +5468,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.25" +version = "1.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52f4c29e2a68ac30c9087e1b772dc9f44a2b66ed44edf2266cf2be9b03dafc1" +checksum = "fc3a226e576f50782b3305c5ccf458698f92798987f551c6a02efe8276721e22" dependencies = [ "cc", "libc", @@ -5373,6 +5478,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "line-clipping" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f50e8f47623268b5407192d26876c4d7f89d686ca130fdc53bced4814cd29f8" +dependencies = [ + "bitflags 2.11.1", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -5389,12 +5503,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -5403,9 +5511,9 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" [[package]] name = "litrs" @@ -5429,6 +5537,19 @@ version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +[[package]] +name = "loom" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber 0.3.23", +] + [[package]] name = "lru" version = "0.12.5" @@ -5440,9 +5561,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.16.3" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" +checksum = "7f66e8d5d03f609abc3a39e6f08e4164ebf1447a732906d39eb9b99b7919ef39" dependencies = [ "hashbrown 0.16.1", ] @@ -5474,9 +5595,9 @@ dependencies = [ [[package]] name = "lz4_flex" -version = "0.11.6" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373f5eceeeab7925e0c1098212f2fbc4d416adec9d35051a6ab251e824c1854a" +checksum = "98c23545df7ecf1b16c303910a69b079e8e251d60f7dd2cc9b4177f2afaf1746" [[package]] name = "mach2" @@ -5541,12 +5662,12 @@ dependencies = [ [[package]] name = "metrics" -version = "0.24.3" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5312e9ba3771cfa961b585728215e3d972c950a3eed9252aa093d6301277e8" +checksum = "b7cd3e9eb685089c784f5769b1197d348c7274bc20d4e1349650f63b91b6d0af" dependencies = [ - "ahash", "portable-atomic", + "rapidhash", ] [[package]] @@ -5562,12 +5683,13 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3589659543c04c7dc5526ec858591015b87cd8746583b51b48ef4353f99dbcda" +checksum = "5c0ca2990f7f78a72c4000ddce186db7d1b700477426563ee851c95ea3c0d0c4" dependencies = [ "base64 0.22.1", - "indexmap 2.13.0", + "evmap", + "indexmap 2.14.0", "metrics", "metrics-util", "quanta", @@ -5585,24 +5707,25 @@ dependencies = [ "mach2", "metrics", "once_cell", - "procfs 0.18.0", + "procfs", "rlimit", "windows 0.62.2", ] [[package]] name = "metrics-util" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdfb1365fea27e6dd9dc1dbc19f570198bc86914533ad639dae939635f096be4" +checksum = "55ff5c12b797ebf094dc7c1d87e905efc0329cba332f96d51db03875441012b5" dependencies = [ "crossbeam-epoch", "crossbeam-utils", "hashbrown 0.16.1", "metrics", "quanta", - "rand 0.9.2", + "rand 0.9.4", "rand_xoshiro", + "rapidhash", "sketches-ddsketch", ] @@ -5667,9 +5790,9 @@ dependencies = [ [[package]] name = "modular-bitfield" -version = "0.11.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" +checksum = "2956e537fc68236d2aa048f55704f231cc93f1c4de42fe1ecb5bd7938061fc4a" dependencies = [ "modular-bitfield-impl", "static_assertions", @@ -5677,13 +5800,13 @@ dependencies = [ [[package]] name = "modular-bitfield-impl" -version = "0.11.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" +checksum = "59b43b4fd69e3437618106f7754f34021b831a514f9e1a98ae863cabcd8d8dad" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.117", ] [[package]] @@ -5700,7 +5823,7 @@ dependencies = [ "portable-atomic", "smallvec", "tagptr", - "uuid 1.23.0", + "uuid 1.23.1", ] [[package]] @@ -5742,11 +5865,10 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.3" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" +checksum = "577c63b00ad74d57e8c9aa870b5fccebf2fd64a308a5aee9f1bb88e4aea19447" dependencies = [ - "core2", "unsigned-varint", ] @@ -5766,7 +5888,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "fsevent-sys", "inotify", "kqueue", @@ -5784,7 +5906,7 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", ] [[package]] @@ -5965,145 +6087,48 @@ dependencies = [ ] [[package]] -name = "object" -version = "0.37.3" +name = "objc2-core-foundation" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "memchr", + "bitflags 2.11.1", ] [[package]] -name = "once_cell" -version = "1.21.4" +name = "objc2-io-kit" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" -dependencies = [ - "critical-section", - "portable-atomic", -] - -[[package]] -name = "once_cell_polyfill" -version = "1.70.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" - -[[package]] -name = "op-alloy" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9b8fee21003dd4f076563de9b9d26f8c97840157ef78593cd7f262c5ca99848" -dependencies = [ - "op-alloy-consensus", - "op-alloy-network", - "op-alloy-provider", - "op-alloy-rpc-types", - "op-alloy-rpc-types-engine", -] - -[[package]] -name = "op-alloy-consensus" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736381a95471d23e267263cfcee9e1d96d30b9754a94a2819148f83379de8a86" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-eth", - "alloy-serde", - "arbitrary", - "derive_more 2.1.1", - "serde", - "serde_with", - "thiserror 2.0.18", -] - -[[package]] -name = "op-alloy-network" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4034183dca6bff6632e7c24c92e75ff5f0eabb58144edb4d8241814851334d47" -dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types-eth", - "alloy-signer", - "op-alloy-consensus", - "op-alloy-rpc-types", -] - -[[package]] -name = "op-alloy-provider" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6753d90efbaa8ea8bcb89c1737408ca85fa60d7adb875049d3f382c063666f86" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" dependencies = [ - "alloy-network", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types-engine", - "alloy-transport", - "async-trait", - "op-alloy-rpc-types-engine", + "libc", + "objc2-core-foundation", ] [[package]] -name = "op-alloy-rpc-types" -version = "0.23.1" +name = "object" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd87c6b9e5b6eee8d6b76f41b04368dca0e9f38d83338e5b00e730c282098a4" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "derive_more 2.1.1", - "op-alloy-consensus", - "serde", - "serde_json", - "thiserror 2.0.18", + "memchr", ] [[package]] -name = "op-alloy-rpc-types-engine" -version = "0.23.1" +name = "once_cell" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77727699310a18cdeed32da3928c709e2704043b6584ed416397d5da65694efc" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "alloy-serde", - "derive_more 2.1.1", - "ethereum_ssz", - "ethereum_ssz_derive", - "op-alloy-consensus", - "serde", - "sha2 0.10.9", - "snap", - "thiserror 2.0.18", + "critical-section", + "portable-atomic", ] [[package]] -name = "op-revm" -version = "15.0.0" +name = "once_cell_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c92b75162c2ed1661849fa51683b11254a5b661798360a2c24be918edafd40" -dependencies = [ - "auto_impl", - "revm", - "serde", -] +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "opaque-debug" @@ -6217,16 +6242,10 @@ dependencies = [ "futures-util", "opentelemetry", "percent-encoding", - "rand 0.9.2", + "rand 0.9.4", "thiserror 2.0.18", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "p256" version = "0.13.2" @@ -6261,7 +6280,6 @@ version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ - "arbitrary", "arrayvec", "bitvec", "byte-slice-cast", @@ -6311,7 +6329,7 @@ dependencies = [ "libc", "redox_syscall 0.5.18", "smallvec", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -6441,7 +6459,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared 0.11.3", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -6542,9 +6560,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] name = "plain" @@ -6568,7 +6586,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug 0.3.1", "universal-hash", ] @@ -6581,9 +6599,9 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "potential_utf" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" dependencies = [ "zerovec", ] @@ -6649,7 +6667,7 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit 0.25.9+spec-1.1.0", + "toml_edit 0.25.11+spec-1.1.0", ] [[package]] @@ -6683,40 +6701,17 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "procfs" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" -dependencies = [ - "bitflags 2.11.0", - "chrono", - "flate2", - "hex 0.4.3", - "procfs-core 0.17.0", - "rustix 0.38.44", -] - [[package]] name = "procfs" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" dependencies = [ - "bitflags 2.11.0", - "procfs-core 0.18.0", - "rustix 1.1.4", -] - -[[package]] -name = "procfs-core" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" -dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "chrono", - "hex 0.4.3", + "flate2", + "procfs-core", + "rustix", ] [[package]] @@ -6725,7 +6720,8 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", + "chrono", "hex 0.4.3", ] @@ -6737,9 +6733,9 @@ checksum = "4b45fcc2344c680f5025fe57779faef368840d0bd1f42f216291f0dc4ace4744" dependencies = [ "bit-set 0.8.0", "bit-vec 0.8.0", - "bitflags 2.11.0", + "bitflags 2.11.1", "num-traits", - "rand 0.9.2", + "rand 0.9.4", "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax", @@ -6887,7 +6883,7 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "memchr", "unicase", ] @@ -6934,7 +6930,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.37", + "rustls 0.23.40", "socket2 0.6.3", "thiserror 2.0.18", "tokio", @@ -6948,13 +6944,14 @@ version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" dependencies = [ + "aws-lc-rs", "bytes 1.11.1", "getrandom 0.3.4", "lru-slab", - "rand 0.9.2", + "rand 0.9.4", "ring", "rustc-hash", - "rustls 0.23.37", + "rustls 0.23.40", "rustls-pki-types", "slab", "thiserror 2.0.18", @@ -7019,9 +7016,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -7031,9 +7028,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.5", @@ -7131,29 +7128,71 @@ version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59" dependencies = [ - "rand 0.9.2", + "rand 0.9.4", "rustversion", ] [[package]] name = "ratatui" -version = "0.29.0" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1ce67fb8ba4446454d1c8dbaeda0557ff5e94d39d5e5ed7f10a65eb4c8266bc" +dependencies = [ + "instability", + "ratatui-core", + "ratatui-crossterm", + "ratatui-widgets", +] + +[[package]] +name = "ratatui-core" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" +checksum = "5ef8dea09a92caaf73bff7adb70b76162e5937524058a7e5bff37869cbbec293" dependencies = [ - "bitflags 2.11.0", - "cassowary", + "bitflags 2.11.1", "compact_str", - "crossterm 0.28.1", + "hashbrown 0.16.1", "indoc", - "instability", - "itertools 0.13.0", - "lru 0.12.5", - "paste", - "strum 0.26.3", + "itertools 0.14.0", + "kasuari", + "lru 0.16.4", + "strum", + "thiserror 2.0.18", "unicode-segmentation", "unicode-truncate", - "unicode-width 0.2.0", + "unicode-width", +] + +[[package]] +name = "ratatui-crossterm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "577c9b9f652b4c121fb25c6a391dd06406d3b092ba68827e6d2f09550edc54b3" +dependencies = [ + "cfg-if", + "crossterm", + "instability", + "ratatui-core", +] + +[[package]] +name = "ratatui-widgets" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7dbfa023cd4e604c2553483820c5fe8aa9d71a42eea5aa77c6e7f35756612db" +dependencies = [ + "bitflags 2.11.1", + "hashbrown 0.16.1", + "indoc", + "instability", + "itertools 0.14.0", + "line-clipping", + "ratatui-core", + "strum", + "time", + "unicode-segmentation", + "unicode-width", ] [[package]] @@ -7162,14 +7201,14 @@ version = "11.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", ] [[package]] name = "rayon" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" dependencies = [ "either", "rayon-core", @@ -7197,16 +7236,16 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", ] [[package]] name = "redox_syscall" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" +checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", ] [[package]] @@ -7220,17 +7259,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "redox_users" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" -dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 2.0.18", -] - [[package]] name = "ref-cast" version = "1.0.25" @@ -7352,62 +7380,64 @@ dependencies = [ "http-body 1.0.1", "http-body-util", "hyper 1.9.0", - "hyper-rustls 0.27.7", "hyper-util", "js-sys", "log", "percent-encoding", "pin-project-lite", - "quinn", - "rustls 0.23.37", - "rustls-native-certs 0.8.3", - "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.2", "tokio", - "tokio-rustls 0.26.4", - "tokio-util", "tower", "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams", "web-sys", - "webpki-roots 1.0.6", ] [[package]] name = "reqwest" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" +checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0" dependencies = [ "base64 0.22.1", "bytes 1.11.1", + "futures-channel", "futures-core", + "futures-util", "http 1.4.0", "http-body 1.0.1", "http-body-util", "hyper 1.9.0", + "hyper-rustls 0.27.9", "hyper-util", "js-sys", "log", "percent-encoding", "pin-project-lite", + "quinn", + "rustls 0.23.40", + "rustls-pki-types", + "rustls-platform-verifier 0.7.0", "serde", "serde_json", + "serde_urlencoded", "sync_wrapper 1.0.2", "tokio", + "tokio-rustls 0.26.4", + "tokio-util", "tower", "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-streams", "web-sys", ] @@ -7419,13 +7449,13 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ + "alloy-primitives", "alloy-rpc-types", "aquamarine", "clap", - "eyre", "reth-chainspec", "reth-cli-runner", "reth-cli-util", @@ -7435,7 +7465,6 @@ dependencies = [ "reth-ethereum-cli", "reth-ethereum-payload-builder", "reth-ethereum-primitives", - "reth-evm", "reth-network", "reth-network-api", "reth-node-api", @@ -7445,10 +7474,8 @@ dependencies = [ "reth-node-metrics", "reth-payload-builder", "reth-payload-primitives", - "reth-primitives", + "reth-primitives-traits", "reth-provider", - "reth-ress-protocol", - "reth-ress-provider", "reth-revm", "reth-rpc", "reth-rpc-api", @@ -7457,16 +7484,14 @@ dependencies = [ "reth-rpc-eth-types", "reth-rpc-server-types", "reth-tasks", - "reth-tokio-util", "reth-transaction-pool", - "tokio", "tracing", ] [[package]] name = "reth-basic-payload-builder" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7475,7 +7500,8 @@ dependencies = [ "futures-util", "metrics", "reth-chain-state", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-execution-cache", + "reth-metrics 2.0.0", "reth-payload-builder", "reth-payload-builder-primitives", "reth-payload-primitives", @@ -7483,14 +7509,16 @@ dependencies = [ "reth-revm", "reth-storage-api", "reth-tasks", + "reth-trie-parallel", + "serde", "tokio", "tracing", ] [[package]] name = "reth-chain-state" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7501,12 +7529,13 @@ dependencies = [ "metrics", "parking_lot", "pin-project", - "rand 0.9.2", + "rand 0.9.4", + "rayon", "reth-chainspec", "reth-errors", "reth-ethereum-primitives", "reth-execution-types", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-primitives-traits", "reth-storage-api", "reth-trie", @@ -7521,8 +7550,8 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7541,8 +7570,8 @@ dependencies = [ [[package]] name = "reth-cli" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-genesis", "clap", @@ -7550,13 +7579,12 @@ dependencies = [ "reth-cli-runner", "reth-db", "serde_json", - "shellexpand", ] [[package]] name = "reth-cli-commands" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7565,9 +7593,10 @@ dependencies = [ "alloy-rlp", "arbitrary", "backon", + "blake3", "clap", "comfy-table", - "crossterm 0.28.1", + "crossterm", "eyre", "fdlimit", "futures", @@ -7576,10 +7605,12 @@ dependencies = [ "itertools 0.14.0", "lz4", "metrics", + "parking_lot", "proptest", "proptest-arbitrary-interop", "ratatui", - "reqwest 0.12.28", + "rayon", + "reqwest 0.13.3", "reth-chainspec", "reth-cli", "reth-cli-runner", @@ -7622,6 +7653,7 @@ dependencies = [ "reth-stages-types", "reth-static-file", "reth-static-file-types", + "reth-storage-api", "reth-tasks", "reth-trie", "reth-trie-common", @@ -7633,7 +7665,7 @@ dependencies = [ "tar", "tokio", "tokio-stream", - "toml 0.8.23", + "toml 0.9.12+spec-1.1.0", "tracing", "url", "zstd", @@ -7641,8 +7673,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "reth-tasks", "tokio", @@ -7651,26 +7683,27 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-primitives", "cfg-if", "eyre", "libc", - "rand 0.8.5", + "rand 0.8.6", "reth-fs-util", "secp256k1 0.30.0", "serde", "thiserror 2.0.18", + "tikv-jemalloc-sys", "tikv-jemallocator", ] [[package]] name = "reth-codecs" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "0.1.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7680,7 +7713,7 @@ dependencies = [ "arbitrary", "bytes 1.11.1", "modular-bitfield", - "op-alloy-consensus", + "parity-scale-codec", "reth-codecs-derive", "reth-zstd-compressors", "serde", @@ -7689,8 +7722,8 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "0.1.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" dependencies = [ "proc-macro2", "quote", @@ -7699,8 +7732,8 @@ dependencies = [ [[package]] name = "reth-config" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "eyre", "humantime-serde", @@ -7709,14 +7742,14 @@ dependencies = [ "reth-stages-types", "reth-static-file-types", "serde", - "toml 0.8.23", + "toml 0.9.12+spec-1.1.0", "url", ] [[package]] name = "reth-consensus" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7728,11 +7761,12 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", + "alloy-primitives", "reth-chainspec", "reth-consensus", "reth-primitives-traits", @@ -7740,8 +7774,8 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7754,7 +7788,7 @@ dependencies = [ "derive_more 2.1.1", "eyre", "futures", - "reqwest 0.12.28", + "reqwest 0.13.3", "reth-node-api", "reth-primitives-traits", "reth-tracing", @@ -7766,8 +7800,8 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "derive_more 2.1.1", @@ -7775,40 +7809,40 @@ dependencies = [ "metrics", "page_size", "parking_lot", + "quanta", "reth-db-api", "reth-fs-util", "reth-libmdbx", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-nippy-jar", "reth-static-file-types", "reth-storage-errors", "reth-tracing", "rustc-hash", - "strum 0.27.2", + "strum", "sysinfo", "tempfile", "thiserror 2.0.18", + "tracing", ] [[package]] name = "reth-db-api" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", - "alloy-genesis", "alloy-primitives", "arbitrary", + "arrayvec", "bytes 1.11.1", "derive_more 2.1.1", "metrics", "modular-bitfield", - "parity-scale-codec", "proptest", "reth-codecs", "reth-db-models", "reth-ethereum-primitives", - "reth-optimism-primitives", "reth-primitives-traits", "reth-prune-types", "reth-stages-types", @@ -7820,8 +7854,8 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -7854,8 +7888,8 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7869,8 +7903,8 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7878,7 +7912,7 @@ dependencies = [ "enr", "itertools 0.14.0", "parking_lot", - "rand 0.8.5", + "rand 0.8.6", "reth-ethereum-forks", "reth-net-banlist", "reth-net-nat", @@ -7894,8 +7928,8 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7905,10 +7939,10 @@ dependencies = [ "futures", "itertools 0.14.0", "metrics", - "rand 0.9.2", + "rand 0.9.4", "reth-chainspec", "reth-ethereum-forks", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network-peers", "secp256k1 0.30.0", "thiserror 2.0.18", @@ -7918,15 +7952,15 @@ dependencies = [ [[package]] name = "reth-dns-discovery" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", + "dashmap 6.1.0", "data-encoding", "enr", "hickory-resolver", "linked_hash_set", - "parking_lot", "reth-ethereum-forks", "reth-network-peers", "reth-tokio-util", @@ -7942,8 +7976,8 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7959,7 +7993,7 @@ dependencies = [ "reth-config", "reth-consensus", "reth-ethereum-primitives", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network-p2p", "reth-network-peers", "reth-primitives-traits", @@ -7977,8 +8011,8 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "aes", "alloy-primitives", @@ -7992,7 +8026,7 @@ dependencies = [ "futures", "hmac", "pin-project", - "rand 0.8.5", + "rand 0.8.6", "reth-network-peers", "secp256k1 0.30.0", "sha2 0.10.9", @@ -8005,8 +8039,8 @@ dependencies = [ [[package]] name = "reth-engine-local" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8028,8 +8062,8 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8051,33 +8085,10 @@ dependencies = [ "tokio", ] -[[package]] -name = "reth-engine-service" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" -dependencies = [ - "futures", - "pin-project", - "reth-chainspec", - "reth-consensus", - "reth-engine-primitives", - "reth-engine-tree", - "reth-ethereum-primitives", - "reth-evm", - "reth-network-p2p", - "reth-node-types", - "reth-payload-builder", - "reth-provider", - "reth-prune", - "reth-stages-api", - "reth-tasks", - "reth-trie-db", -] - [[package]] name = "reth-engine-tree" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eip7928", @@ -8087,11 +8098,9 @@ dependencies = [ "alloy-rlp", "alloy-rpc-types-engine", "crossbeam-channel", - "dashmap 6.1.0", "derive_more 2.1.1", "futures", "metrics", - "mini-moka", "moka", "parking_lot", "rayon", @@ -8103,8 +8112,9 @@ dependencies = [ "reth-errors", "reth-ethereum-primitives", "reth-evm", + "reth-execution-cache", "reth-execution-types", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network-p2p", "reth-payload-builder", "reth-payload-primitives", @@ -8123,7 +8133,6 @@ dependencies = [ "reth-trie-db", "reth-trie-parallel", "reth-trie-sparse", - "reth-trie-sparse-parallel", "revm", "revm-primitives", "rust-eth-triedb", @@ -8131,7 +8140,6 @@ dependencies = [ "rust-eth-triedb-pathdb", "rust-eth-triedb-state-trie", "schnellru", - "smallvec", "thiserror 2.0.18", "tokio", "tracing", @@ -8139,8 +8147,8 @@ dependencies = [ [[package]] name = "reth-engine-util" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -8167,29 +8175,29 @@ dependencies = [ [[package]] name = "reth-era" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", - "ethereum_ssz", - "ethereum_ssz_derive", + "ethereum_ssz 0.10.3", + "ethereum_ssz_derive 0.10.3", "snap", "thiserror 2.0.18", ] [[package]] name = "reth-era-downloader" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "bytes 1.11.1", "eyre", "futures-util", - "reqwest 0.12.28", + "reqwest 0.13.3", "reth-era", "reth-fs-util", "sha2 0.10.9", @@ -8198,8 +8206,8 @@ dependencies = [ [[package]] name = "reth-era-utils" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8220,8 +8228,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -8231,8 +8239,8 @@ dependencies = [ [[package]] name = "reth-eth-wire" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8246,7 +8254,7 @@ dependencies = [ "reth-ecies", "reth-eth-wire-types", "reth-ethereum-forks", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network-peers", "reth-primitives-traits", "serde", @@ -8260,8 +8268,8 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-chains", "alloy-consensus", @@ -8284,8 +8292,8 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "clap", "eyre", @@ -8300,14 +8308,15 @@ dependencies = [ "reth-node-ethereum", "reth-node-metrics", "reth-rpc-server-types", + "reth-tasks", "reth-tracing", "tracing", ] [[package]] name = "reth-ethereum-consensus" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8322,26 +8331,24 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-primitives", - "alloy-rlp", "alloy-rpc-types-engine", "reth-engine-primitives", "reth-ethereum-primitives", "reth-payload-primitives", "reth-primitives-traits", "serde", - "sha2 0.10.9", "thiserror 2.0.18", ] [[package]] name = "reth-ethereum-forks" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -8354,8 +8361,8 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8369,6 +8376,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-evm", "reth-evm-ethereum", + "reth-execution-cache", "reth-payload-builder", "reth-payload-builder-primitives", "reth-payload-primitives", @@ -8383,28 +8391,22 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", - "alloy-rlp", "alloy-rpc-types-eth", - "alloy-serde", - "arbitrary", - "modular-bitfield", "reth-codecs", "reth-primitives-traits", - "reth-zstd-compressors", "serde", - "serde_with", ] [[package]] name = "reth-etl" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "rayon", "reth-db-api", @@ -8413,8 +8415,8 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8427,7 +8429,7 @@ dependencies = [ "rayon", "reth-execution-errors", "reth-execution-types", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", @@ -8438,16 +8440,14 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", - "derive_more 2.1.1", - "parking_lot", "reth-chainspec", "reth-ethereum-forks", "reth-ethereum-primitives", @@ -8458,10 +8458,28 @@ dependencies = [ "revm", ] +[[package]] +name = "reth-execution-cache" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +dependencies = [ + "alloy-primitives", + "fixed-cache", + "metrics", + "parking_lot", + "reth-errors", + "reth-metrics 2.0.0", + "reth-primitives-traits", + "reth-provider", + "reth-revm", + "reth-trie", + "tracing", +] + [[package]] name = "reth-execution-errors" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-evm", "alloy-primitives", @@ -8473,13 +8491,14 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-primitives", + "alloy-rlp", "derive_more 2.1.1", "reth-ethereum-primitives", "reth-primitives-traits", @@ -8491,8 +8510,8 @@ dependencies = [ [[package]] name = "reth-exex" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8509,7 +8528,7 @@ dependencies = [ "reth-evm", "reth-exex-types", "reth-fs-util", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-node-api", "reth-node-core", "reth-payload-builder", @@ -8529,8 +8548,8 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-primitives", @@ -8543,8 +8562,8 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "serde", "serde_json", @@ -8553,8 +8572,8 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8581,8 +8600,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "bytes 1.11.1", "futures", @@ -8601,11 +8620,12 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "byteorder", + "crossbeam-queue", "dashmap 6.1.0", "derive_more 2.1.1", "parking_lot", @@ -8617,17 +8637,17 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ - "bindgen 0.71.1", + "bindgen", "cc", ] [[package]] name = "reth-metrics" version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +source = "git+https://github.com/bnb-chain/reth.git#95d649fe0b75ba06e23c317fd75e07b422fdebd0" dependencies = [ "futures", "metrics", @@ -8638,8 +8658,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git#b02940f65fe1e12a4224452c7cdfaa9e56ce8f0f" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "futures", "metrics", @@ -8650,8 +8670,8 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "ipnet", @@ -8659,12 +8679,12 @@ dependencies = [ [[package]] name = "reth-net-nat" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "futures-util", "if-addrs", - "reqwest 0.12.28", + "reqwest 0.13.3", "serde_with", "thiserror 2.0.18", "tokio", @@ -8673,8 +8693,8 @@ dependencies = [ [[package]] name = "reth-network" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8690,8 +8710,8 @@ dependencies = [ "metrics", "parking_lot", "pin-project", - "rand 0.8.5", - "rand 0.9.2", + "rand 0.8.6", + "rand 0.9.4", "rayon", "reth-chainspec", "reth-consensus", @@ -8703,8 +8723,9 @@ dependencies = [ "reth-eth-wire-types", "reth-ethereum-forks", "reth-ethereum-primitives", + "reth-evm-ethereum", "reth-fs-util", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-net-banlist", "reth-network-api", "reth-network-p2p", @@ -8729,8 +8750,8 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8754,8 +8775,8 @@ dependencies = [ [[package]] name = "reth-network-p2p" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8777,8 +8798,8 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8792,8 +8813,8 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -8806,8 +8827,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "anyhow", "bincode", @@ -8823,8 +8844,8 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -8847,8 +8868,8 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8876,7 +8897,6 @@ dependencies = [ "reth-downloaders", "reth-engine-local", "reth-engine-primitives", - "reth-engine-service", "reth-engine-tree", "reth-engine-util", "reth-evm", @@ -8918,8 +8938,8 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8932,7 +8952,7 @@ dependencies = [ "futures", "humantime", "ipnet", - "rand 0.9.2", + "rand 0.9.4", "reth-chainspec", "reth-cli-util", "reth-config", @@ -8949,7 +8969,6 @@ dependencies = [ "reth-network-p2p", "reth-network-peers", "reth-primitives-traits", - "reth-provider", "reth-prune-types", "reth-rpc-convert", "reth-rpc-eth-types", @@ -8957,15 +8976,15 @@ dependencies = [ "reth-stages-types", "reth-storage-api", "reth-storage-errors", + "reth-tasks", "reth-tracing", "reth-tracing-otlp", "reth-transaction-pool", "secp256k1 0.30.0", "serde", - "shellexpand", - "strum 0.27.2", + "strum", "thiserror 2.0.18", - "toml 0.8.23", + "toml 0.9.12+spec-1.1.0", "tracing", "url", "vergen", @@ -8974,8 +8993,8 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-network", @@ -9012,8 +9031,8 @@ dependencies = [ [[package]] name = "reth-node-ethstats" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9029,15 +9048,15 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-stream", - "tokio-tungstenite 0.26.2", + "tokio-tungstenite", "tracing", "url", ] [[package]] name = "reth-node-events" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9060,8 +9079,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "bytes 1.11.1", "eyre", @@ -9072,9 +9091,9 @@ dependencies = [ "metrics-exporter-prometheus", "metrics-process", "metrics-util", - "procfs 0.17.0", - "reqwest 0.12.28", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "procfs", + "reqwest 0.13.3", + "reth-metrics 2.0.0", "reth-tasks", "tikv-jemalloc-ctl", "tokio", @@ -9084,8 +9103,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "reth-chainspec", "reth-db-api", @@ -9094,37 +9113,25 @@ dependencies = [ "reth-primitives-traits", ] -[[package]] -name = "reth-optimism-primitives" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "op-alloy-consensus", - "reth-primitives-traits", - "serde", - "serde_with", -] - [[package]] name = "reth-payload-builder" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-primitives", "alloy-rpc-types", + "derive_more 2.1.1", "futures-util", "metrics", "reth-chain-state", "reth-ethereum-engine-primitives", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-execution-cache", + "reth-metrics 2.0.0", "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives-traits", + "reth-trie-parallel", "tokio", "tokio-stream", "tracing", @@ -9132,8 +9139,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "pin-project", "reth-payload-primitives", @@ -9144,16 +9151,16 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", + "alloy-rlp", "alloy-rpc-types-engine", "auto_impl", "either", - "op-alloy-rpc-types-engine", "reth-chain-state", "reth-chainspec", "reth-errors", @@ -9161,38 +9168,25 @@ dependencies = [ "reth-primitives-traits", "reth-trie-common", "serde", + "sha2 0.10.9", "thiserror 2.0.18", "tokio", ] [[package]] name = "reth-payload-validator" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", "reth-primitives-traits", ] -[[package]] -name = "reth-primitives" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" -dependencies = [ - "alloy-consensus", - "c-kzg", - "once_cell", - "reth-ethereum-forks", - "reth-ethereum-primitives", - "reth-primitives-traits", - "reth-static-file-types", -] - [[package]] name = "reth-primitives-traits" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "0.1.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9202,15 +9196,15 @@ dependencies = [ "alloy-rpc-types-eth", "alloy-trie", "arbitrary", - "auto_impl", "byteorder", "bytes 1.11.1", + "dashmap 6.1.0", "derive_more 2.1.1", "modular-bitfield", "once_cell", - "op-alloy-consensus", "proptest", "proptest-arbitrary-interop", + "quanta", "rayon", "reth-codecs", "revm-bytecode", @@ -9218,20 +9212,19 @@ dependencies = [ "revm-state", "secp256k1 0.30.0", "serde", - "serde_with", "thiserror 2.0.18", ] [[package]] name = "reth-provider" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", + "alloy-genesis", "alloy-primitives", "alloy-rpc-types-engine", - "dashmap 6.1.0", "eyre", "itertools 0.14.0", "metrics", @@ -9247,7 +9240,8 @@ dependencies = [ "reth-ethereum-engine-primitives", "reth-ethereum-primitives", "reth-execution-types", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-fs-util", + "reth-metrics 2.0.0", "reth-nippy-jar", "reth-node-types", "reth-primitives-traits", @@ -9256,21 +9250,23 @@ dependencies = [ "reth-static-file-types", "reth-storage-api", "reth-storage-errors", + "reth-tasks", "reth-trie", "reth-trie-db", "revm-database", "revm-state", + "rocksdb", "rust-eth-triedb", "rust-eth-triedb-common", - "strum 0.27.2", + "strum", "tokio", "tracing", ] [[package]] name = "reth-prune" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9282,12 +9278,13 @@ dependencies = [ "reth-db-api", "reth-errors", "reth-exex-types", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-primitives-traits", "reth-provider", "reth-prune-types", "reth-stages-types", "reth-static-file-types", + "reth-storage-api", "reth-tokio-util", "rustc-hash", "thiserror 2.0.18", @@ -9297,8 +9294,8 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "arbitrary", @@ -9306,62 +9303,19 @@ dependencies = [ "modular-bitfield", "reth-codecs", "serde", - "strum 0.27.2", + "strum", "thiserror 2.0.18", -] - -[[package]] -name = "reth-ress-protocol" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" -dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rlp", - "futures", - "reth-eth-wire", - "reth-ethereum-primitives", - "reth-network", - "reth-network-api", - "reth-storage-errors", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "reth-ress-provider" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" -dependencies = [ - "alloy-consensus", - "alloy-primitives", - "eyre", - "futures", - "parking_lot", - "reth-chain-state", - "reth-errors", - "reth-ethereum-primitives", - "reth-evm", - "reth-node-api", - "reth-primitives-traits", - "reth-ress-protocol", - "reth-revm", - "reth-storage-api", - "reth-tasks", - "reth-tokio-util", - "reth-trie", - "schnellru", - "tokio", "tracing", ] [[package]] name = "reth-revm" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-debug", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", @@ -9371,8 +9325,8 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9400,13 +9354,9 @@ dependencies = [ "derive_more 2.1.1", "dyn-clone", "futures", - "http 1.4.0", - "http-body 1.0.1", - "hyper 1.9.0", "itertools 0.14.0", "jsonrpsee", "jsonrpsee-types", - "jsonwebtoken", "parking_lot", "pin-project", "reth-chain-state", @@ -9420,7 +9370,7 @@ dependencies = [ "reth-evm", "reth-evm-ethereum", "reth-execution-types", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network-api", "reth-network-peers", "reth-network-types", @@ -9435,6 +9385,7 @@ dependencies = [ "reth-rpc-server-types", "reth-storage-api", "reth-tasks", + "reth-tracing", "reth-transaction-pool", "reth-trie-common", "revm", @@ -9447,15 +9398,14 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-stream", - "tower", "tracing", "tracing-futures", ] [[package]] name = "reth-rpc-api" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eip7928", "alloy-eips", @@ -9479,13 +9429,14 @@ dependencies = [ "reth-network-peers", "reth-rpc-eth-api", "reth-trie-common", + "serde", "serde_json", ] [[package]] name = "reth-rpc-builder" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-network", "alloy-provider", @@ -9500,12 +9451,14 @@ dependencies = [ "reth-engine-primitives", "reth-evm", "reth-ipc", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network-api", "reth-node-core", + "reth-payload-primitives", "reth-primitives-traits", "reth-rpc", "reth-rpc-api", + "reth-rpc-engine-api", "reth-rpc-eth-api", "reth-rpc-eth-types", "reth-rpc-layer", @@ -9525,8 +9478,8 @@ dependencies = [ [[package]] name = "reth-rpc-convert" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-evm", @@ -9534,24 +9487,24 @@ dependencies = [ "alloy-network", "alloy-primitives", "alloy-rpc-types-eth", - "alloy-signer", "auto_impl", "dyn-clone", "jsonrpsee-types", - "reth-ethereum-primitives", "reth-evm", "reth-primitives-traits", + "reth-rpc-traits", "serde", "thiserror 2.0.18", ] [[package]] name = "reth-rpc-engine-api" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-primitives", + "alloy-rlp", "alloy-rpc-types-engine", "async-trait", "jsonrpsee-core", @@ -9559,7 +9512,7 @@ dependencies = [ "metrics", "reth-chainspec", "reth-engine-primitives", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network-api", "reth-payload-builder", "reth-payload-builder-primitives", @@ -9577,11 +9530,12 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-dyn-abi", + "alloy-eip7928", "alloy-eips", "alloy-evm", "alloy-json-rpc", @@ -9617,14 +9571,15 @@ dependencies = [ "revm", "revm-inspectors", "rust-eth-triedb", + "serde_json", "tokio", "tracing", ] [[package]] name = "reth-rpc-eth-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9641,15 +9596,15 @@ dependencies = [ "jsonrpsee-core", "jsonrpsee-types", "metrics", - "rand 0.9.2", - "reqwest 0.12.28", + "rand 0.9.4", + "reqwest 0.13.3", "reth-chain-state", "reth-chainspec", "reth-errors", "reth-ethereum-primitives", "reth-evm", "reth-execution-types", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-primitives-traits", "reth-revm", "reth-rpc-convert", @@ -9671,8 +9626,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-rpc-types-engine", "http 1.4.0", @@ -9685,8 +9640,8 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9696,25 +9651,40 @@ dependencies = [ "reth-errors", "reth-network-api", "serde", - "strum 0.27.2", + "strum", +] + +[[package]] +name = "reth-rpc-traits" +version = "0.1.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-signer", + "reth-primitives-traits", + "thiserror 2.0.18", ] [[package]] name = "reth-stages" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", + "alloy-rlp", "alloy-trie", - "bincode", "eyre", "futures-util", "itertools 0.14.0", "num-traits", + "page_size", "rayon", - "reqwest 0.12.28", + "reqwest 0.13.3", "reth-chainspec", "reth-codecs", "reth-config", @@ -9730,6 +9700,7 @@ dependencies = [ "reth-execution-types", "reth-exex", "reth-fs-util", + "reth-libmdbx", "reth-network-p2p", "reth-primitives-traits", "reth-provider", @@ -9740,6 +9711,7 @@ dependencies = [ "reth-static-file-types", "reth-storage-api", "reth-storage-errors", + "reth-tasks", "reth-testing-utils", "reth-trie", "reth-trie-common", @@ -9753,8 +9725,8 @@ dependencies = [ [[package]] name = "reth-stages-api" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9762,9 +9734,10 @@ dependencies = [ "auto_impl", "futures-util", "metrics", + "reth-codecs", "reth-consensus", "reth-errors", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network-p2p", "reth-primitives-traits", "reth-provider", @@ -9780,8 +9753,8 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "arbitrary", @@ -9794,8 +9767,8 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "parking_lot", @@ -9814,21 +9787,23 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "clap", "derive_more 2.1.1", "fixed-map", + "reth-stages-types", "serde", - "strum 0.27.2", + "strum", + "tracing", ] [[package]] name = "reth-storage-api" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9851,13 +9826,14 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rlp", "derive_more 2.1.1", + "reth-codecs", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", @@ -9868,17 +9844,20 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ - "auto_impl", - "dyn-clone", + "crossbeam-utils", + "dashmap 6.1.0", "futures-util", + "libc", "metrics", + "parking_lot", "pin-project", "rayon", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "thiserror 2.0.18", + "thread-priority", "tokio", "tracing", "tracing-futures", @@ -9886,15 +9865,15 @@ dependencies = [ [[package]] name = "reth-testing-utils" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-genesis", "alloy-primitives", - "rand 0.8.5", - "rand 0.9.2", + "rand 0.8.6", + "rand 0.9.4", "reth-ethereum-primitives", "reth-primitives-traits", "secp256k1 0.30.0", @@ -9902,8 +9881,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "tokio", "tokio-stream", @@ -9912,8 +9891,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "clap", "eyre", @@ -9927,8 +9906,8 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "clap", "eyre", @@ -9945,8 +9924,8 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9954,23 +9933,26 @@ dependencies = [ "alloy-rlp", "aquamarine", "auto_impl", - "bitflags 2.11.0", + "bitflags 2.11.1", "futures-util", "metrics", "parking_lot", "paste", "pin-project", - "rand 0.9.2", + "rand 0.9.4", "reth-chain-state", "reth-chainspec", "reth-eth-wire-types", "reth-ethereum-primitives", + "reth-evm", + "reth-evm-ethereum", "reth-execution-types", "reth-fs-util", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-primitives-traits", "reth-storage-api", "reth-tasks", + "revm", "revm-interpreter", "revm-primitives", "rustc-hash", @@ -9986,8 +9968,8 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9999,7 +9981,7 @@ dependencies = [ "metrics", "parking_lot", "reth-execution-errors", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-primitives-traits", "reth-stages-types", "reth-storage-errors", @@ -10012,8 +9994,8 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10041,15 +10023,15 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "metrics", "parking_lot", "reth-db-api", "reth-execution-errors", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-primitives-traits", "reth-stages-types", "reth-storage-api", @@ -10062,33 +10044,36 @@ dependencies = [ [[package]] name = "reth-trie-parallel" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ + "alloy-eip7928", + "alloy-evm", "alloy-primitives", "alloy-rlp", "crossbeam-channel", - "dashmap 6.1.0", + "crossbeam-utils", "derive_more 2.1.1", "itertools 0.14.0", "metrics", "rayon", "reth-execution-errors", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", + "reth-primitives-traits", "reth-provider", "reth-storage-errors", + "reth-tasks", "reth-trie", - "reth-trie-common", "reth-trie-sparse", + "revm-state", "thiserror 2.0.18", - "tokio", "tracing", ] [[package]] name = "reth-trie-sparse" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "2.0.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -10097,35 +10082,20 @@ dependencies = [ "metrics", "rayon", "reth-execution-errors", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-primitives-traits", "reth-trie-common", - "smallvec", - "tracing", -] - -[[package]] -name = "reth-trie-sparse-parallel" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" -dependencies = [ - "alloy-primitives", - "alloy-rlp", - "alloy-trie", - "metrics", - "rayon", - "reth-execution-errors", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", - "reth-trie-common", - "reth-trie-sparse", + "serde", + "serde_json", + "slotmap", "smallvec", "tracing", ] [[package]] name = "reth-zstd-compressors" -version = "1.10.2" -source = "git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928#ed59a0985b62f4964b389b1666b73b03b39b6928" +version = "0.1.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" dependencies = [ "zstd", ] @@ -10186,7 +10156,7 @@ dependencies = [ "pbkdf2 0.12.2", "phf 0.11.3", "prost 0.12.6", - "rand 0.9.2", + "rand 0.9.4", "reth", "reth-basic-payload-builder", "reth-chain-state", @@ -10194,6 +10164,7 @@ dependencies = [ "reth-cli", "reth-cli-commands", "reth-cli-util", + "reth-codecs", "reth-db", "reth-discv4", "reth-engine-local", @@ -10209,7 +10180,7 @@ dependencies = [ "reth-evm-ethereum", "reth-execution-types", "reth-ipc", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git?rev=ed59a0985b62f4964b389b1666b73b03b39b6928)", + "reth-metrics 2.0.0", "reth-network", "reth-network-api", "reth-network-p2p", @@ -10219,7 +10190,6 @@ dependencies = [ "reth-node-ethereum", "reth-payload-builder-primitives", "reth-payload-primitives", - "reth-primitives", "reth-primitives-traits", "reth-provider", "reth-revm", @@ -10232,11 +10202,16 @@ dependencies = [ "reth-trie-common", "reth-trie-db", "revm", - "revm-context-interface", + "revm-bytecode", "revm-database", + "revm-database-interface", + "revm-interpreter", + "revm-primitives", + "revm-state", "rust-eth-triedb", "rust-eth-triedb-common", "rust-eth-triedb-pathdb", + "rust-eth-triedb-state-trie", "schnellru", "scrypt 0.11.0", "secp256k1 0.30.0", @@ -10252,15 +10227,15 @@ dependencies = [ "tokio", "tokio-stream", "tracing", - "uuid 1.23.0", + "uuid 1.23.1", "zeroize", ] [[package]] name = "revm" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2aabdebaa535b3575231a88d72b642897ae8106cf6b0d12eafc6bfdf50abfc7" +checksum = "b0abc15d09cd211e9e73410ada10134069c794d4bcdb787dfc16a1bf0939849c" dependencies = [ "revm-bytecode", "revm-context", @@ -10277,11 +10252,12 @@ dependencies = [ [[package]] name = "revm-bytecode" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d1e5c1eaa44d39d537f668bc5c3409dc01e5c8be954da6c83370bbdf006457" +checksum = "e86e468df3cf5cf59fa7ef71a3e9ccabb76bb336401ea2c0674f563104cf3c5e" dependencies = [ "bitvec", + "paste", "phf 0.13.1", "revm-primitives", "serde", @@ -10289,9 +10265,9 @@ dependencies = [ [[package]] name = "revm-context" -version = "13.0.0" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "892ff3e6a566cf8d72ffb627fdced3becebbd9ba64089c25975b9b028af326a5" +checksum = "9eb1f0a76b14d684a444fc52f7bf6b7564bf882599d91ee62e76d602e7a187c7" dependencies = [ "bitvec", "cfg-if", @@ -10306,9 +10282,9 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "14.0.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57f61cc6d23678c4840af895b19f8acfbbd546142ec8028b6526c53cc1c16c98" +checksum = "fc256b27743e2912ca16899568e6652a372eb5d1d573e6edb16c7836b16cf487" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -10322,9 +10298,9 @@ dependencies = [ [[package]] name = "revm-database" -version = "10.0.0" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529528d0b05fe646be86223032c3e77aa8b05caa2a35447d538c55965956a511" +checksum = "2c0a7d6da41061f2c50f99a2632571026b23684b5449ff319914151f4449b6c8" dependencies = [ "alloy-eips", "revm-bytecode", @@ -10336,9 +10312,9 @@ dependencies = [ [[package]] name = "revm-database-interface" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7bf93ac5b91347c057610c0d96e923db8c62807e03f036762d03e981feddc1d" +checksum = "bd497a38a79057b94a049552cb1f925ad15078bc1a479c132aeeebd1d2ccc768" dependencies = [ "auto_impl", "either", @@ -10350,9 +10326,9 @@ dependencies = [ [[package]] name = "revm-handler" -version = "15.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd0e43e815a85eded249df886c4badec869195e70cdd808a13cfca2794622d2" +checksum = "9f1eed729ca9b228ae98688f352235871e9b8be3d568d488e4070f64c56e9d3d" dependencies = [ "auto_impl", "derive-where", @@ -10369,9 +10345,9 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "15.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3ccad59db91ef93696536a0dbaf2f6f17cfe20d4d8843ae118edb7e97947ef" +checksum = "cbf5102391706513689f91cb3cb3d97b5f13a02e8647e6e9cb7620877ef84847" dependencies = [ "auto_impl", "either", @@ -10387,9 +10363,9 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.34.3" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e341d9777b1903a8428bc6f8fe7a8f80671d2249837c9749566e61328ef14125" +checksum = "9487362b728f80dd2033ef5f4d0688453435bbe7caa721fa7e3b8fa25d89242b" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -10407,9 +10383,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "32.0.0" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11406408597bc249392d39295831c4b641b3a6f5c471a7c41104a7a1e3564c07" +checksum = "cf22f80612bb8f58fd1f578750281f2afadb6c93835b14ae6a4d6b75ca26f445" dependencies = [ "revm-bytecode", "revm-context-interface", @@ -10456,12 +10432,12 @@ dependencies = [ [[package]] name = "revm-state" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311720d4f0f239b041375e7ddafdbd20032a33b7bae718562ea188e188ed9fd3" +checksum = "d29404707763da607e5d6e4771cb203998c28159279c2f64cc32de08d2814651" dependencies = [ "alloy-eip7928", - "bitflags 2.11.0", + "bitflags 2.11.1", "revm-bytecode", "revm-primitives", "serde", @@ -10493,9 +10469,9 @@ dependencies = [ [[package]] name = "ringbuffer" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df6368f71f205ff9c33c076d170dd56ebf68e8161c733c0caa07a7a5509ed53" +checksum = "57b0b88a509053cbfd535726dcaaceee631313cef981266119527a1d110f6d2b" [[package]] name = "ripemd" @@ -10568,9 +10544,9 @@ dependencies = [ [[package]] name = "roaring" -version = "0.10.12" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e8d2cfa184d94d0726d650a9f4a1be7f9b76ac9fdb954219878dc00c1c1e7b" +checksum = "1dedc5658c6ecb3bdb5ef5f3295bb9253f42dcf3fd1402c03f6b1f7659c3c4a9" dependencies = [ "bytemuck", "byteorder", @@ -10603,9 +10579,9 @@ checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" [[package]] name = "ruint" -version = "1.17.2" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c141e807189ad38a07276942c6623032d3753c8859c146104ac2e4d68865945a" +checksum = "0298da754d1395046b0afdc2f20ee76d29a8ae310cd30ffa84ed42acba9cb12a" dependencies = [ "alloy-rlp", "arbitrary", @@ -10621,8 +10597,8 @@ dependencies = [ "parity-scale-codec", "primitive-types", "proptest", - "rand 0.8.5", - "rand 0.9.2", + "rand 0.8.6", + "rand 0.9.4", "rlp", "ruint-macro", "serde_core", @@ -10646,7 +10622,7 @@ dependencies = [ "metrics", "once_cell", "rayon", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git)", + "reth-metrics 1.10.2", "rust-eth-triedb-common", "rust-eth-triedb-pathdb", "rust-eth-triedb-state-trie", @@ -10677,7 +10653,7 @@ dependencies = [ "alloy-trie", "metrics", "mini-moka", - "reth-metrics 1.10.2 (git+https://github.com/bnb-chain/reth.git)", + "reth-metrics 1.10.2", "rocksdb", "rust-eth-triedb-common", "schnellru", @@ -10695,9 +10671,10 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-trie", + "arbitrary", "auto_impl", "hex 0.4.3", - "rand 0.8.5", + "rand 0.8.6", "rayon", "rust-eth-triedb-common", "rust-eth-triedb-pathdb", @@ -10718,7 +10695,7 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" dependencies = [ - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -10751,20 +10728,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.27", -] - -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags 2.11.0", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "semver 1.0.28", ] [[package]] @@ -10773,10 +10737,10 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "errno", "libc", - "linux-raw-sys 0.12.1", + "linux-raw-sys", "windows-sys 0.61.2", ] @@ -10794,16 +10758,16 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.37" +version = "0.23.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" +checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" dependencies = [ "aws-lc-rs", "log", "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.103.10", + "rustls-webpki 0.103.13", "subtle", "zeroize", ] @@ -10843,9 +10807,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.14.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" dependencies = [ "web-time", "zeroize", @@ -10859,19 +10823,40 @@ checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", - "jni", + "jni 0.21.1", "log", "once_cell", - "rustls 0.23.37", + "rustls 0.23.40", "rustls-native-certs 0.8.3", "rustls-platform-verifier-android", - "rustls-webpki 0.103.10", + "rustls-webpki 0.103.13", "security-framework 3.7.0", "security-framework-sys", "webpki-root-certs 0.26.11", "windows-sys 0.59.0", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni 0.22.4", + "log", + "once_cell", + "rustls 0.23.40", + "rustls-native-certs 0.8.3", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.13", + "security-framework 3.7.0", + "security-framework-sys", + "webpki-root-certs 1.0.7", + "windows-sys 0.61.2", +] + [[package]] name = "rustls-platform-verifier-android" version = "0.1.1" @@ -10890,9 +10875,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.10" +version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ "aws-lc-rs", "ring", @@ -10992,6 +10977,12 @@ dependencies = [ "hashbrown 0.13.2", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -11054,7 +11045,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ "bitcoin_hashes", - "rand 0.8.5", + "rand 0.8.6", "secp256k1-sys 0.10.1", "serde", ] @@ -11066,7 +11057,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c3c81b43dc2d8877c216a3fccf76677ee1ebccd429566d3e67447290d0c42b2" dependencies = [ "bitcoin_hashes", - "rand 0.9.2", + "rand 0.9.4", "secp256k1-sys 0.11.0", ] @@ -11094,7 +11085,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -11107,7 +11098,7 @@ version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -11144,9 +11135,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" dependencies = [ "serde", "serde_core", @@ -11235,7 +11226,7 @@ version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "itoa", "memchr", "serde", @@ -11263,6 +11254,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +dependencies = [ + "serde_core", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -11285,7 +11285,7 @@ dependencies = [ "chrono", "hex 0.4.3", "indexmap 1.9.3", - "indexmap 2.13.0", + "indexmap 2.14.0", "schemars 0.9.0", "schemars 1.2.1", "serde_core", @@ -11323,7 +11323,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.10.7", ] @@ -11347,7 +11347,7 @@ checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.9.0", "opaque-debug 0.3.1", ] @@ -11359,7 +11359,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.10.7", ] @@ -11378,9 +11378,9 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" dependencies = [ "digest 0.10.7", "keccak", @@ -11405,15 +11405,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shellexpand" -version = "3.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32824fab5e16e6c4d86dc1ba84489390419a39f97699852b66480bb87d297ed8" -dependencies = [ - "dirs", -] - [[package]] name = "shlex" version = "1.3.0" @@ -11473,6 +11464,22 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" +[[package]] +name = "simd_cesu8" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" +dependencies = [ + "rustc_version 0.4.1", + "simdutf8", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "simple_asn1" version = "0.6.4" @@ -11518,6 +11525,15 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +[[package]] +name = "slotmap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" +dependencies = [ + "version_check", +] + [[package]] name = "small_btree" version = "0.1.0" @@ -11575,7 +11591,7 @@ dependencies = [ "http 1.4.0", "httparse", "log", - "rand 0.8.5", + "rand 0.8.6", "sha1", ] @@ -11607,35 +11623,13 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros 0.26.4", -] - [[package]] name = "strum" version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "strum_macros 0.27.2", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.117", + "strum_macros", ] [[package]] @@ -11671,6 +11665,12 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" +[[package]] +name = "symlink" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" + [[package]] name = "syn" version = "1.0.109" @@ -11745,15 +11745,16 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.33.1" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" +checksum = "92ab6a2f8bfe508deb3c6406578252e491d299cbbf3bc0529ecc3313aee4a52f" dependencies = [ - "core-foundation-sys", "libc", "memchr", "ntapi", - "windows 0.57.0", + "objc2-core-foundation", + "objc2-io-kit", + "windows 0.62.2", ] [[package]] @@ -11815,7 +11816,7 @@ dependencies = [ "fastrand", "getrandom 0.4.2", "once_cell", - "rustix 1.1.4", + "rustix", "windows-sys 0.61.2", ] @@ -11880,9 +11881,9 @@ dependencies = [ [[package]] name = "thin-vec" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "144f754d318415ac792f9d69fc87abbbfc043ce2ef041c60f16ad828f638717d" +checksum = "259cdf8ed4e4aca6f1e9d011e10bd53f524a2d0637d7b28450f6c64ac298c4c6" [[package]] name = "thiserror" @@ -11924,6 +11925,20 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "thread-priority" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2210811179577da3d54eb69ab0b50490ee40491a25d95b8c6011ba40771cb721" +dependencies = [ + "bitflags 2.11.1", + "cfg-if", + "libc", + "log", + "rustversion", + "windows 0.61.3", +] + [[package]] name = "thread_local" version = "1.1.9" @@ -12008,9 +12023,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", "serde_core", @@ -12034,9 +12049,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.50.0" +version = "1.52.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" +checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" dependencies = [ "bytes 1.11.1", "libc", @@ -12051,9 +12066,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.6.1" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", @@ -12076,7 +12091,7 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ - "rustls 0.23.37", + "rustls 0.23.40", "tokio", ] @@ -12092,22 +12107,6 @@ dependencies = [ "tokio-util", ] -[[package]] -name = "tokio-tungstenite" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" -dependencies = [ - "futures-util", - "log", - "rustls 0.23.37", - "rustls-native-certs 0.8.3", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.26.4", - "tungstenite 0.26.2", -] - [[package]] name = "tokio-tungstenite" version = "0.28.0" @@ -12116,11 +12115,12 @@ checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" dependencies = [ "futures-util", "log", - "rustls 0.23.37", + "rustls 0.23.40", + "rustls-native-certs 0.8.3", "rustls-pki-types", "tokio", "tokio-rustls 0.26.4", - "tungstenite 0.28.0", + "tungstenite", "webpki-roots 0.26.11", ] @@ -12155,11 +12155,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", + "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_edit 0.22.27", ] +[[package]] +name = "toml" +version = "0.9.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +dependencies = [ + "indexmap 2.14.0", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.15", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -12169,6 +12184,15 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_datetime" version = "1.1.1+spec-1.1.0" @@ -12184,9 +12208,9 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "serde", - "serde_spanned", + "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_write", "winnow 0.7.15", @@ -12194,23 +12218,23 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.25.9+spec-1.1.0" +version = "0.25.11+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da053d28fe57e2c9d21b48261e14e7b4c8b670b54d2c684847b91feaf4c7dac5" +checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "toml_datetime 1.1.1+spec-1.1.0", "toml_parser", - "winnow 1.0.1", + "winnow 1.0.2", ] [[package]] name = "toml_parser" -version = "1.1.1+spec-1.1.0" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ca317ebc49f06bd748bfba29533eac9485569dc9bf80b849024b025e814fb9" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ - "winnow 1.0.1", + "winnow 1.0.2", ] [[package]] @@ -12219,6 +12243,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +[[package]] +name = "toml_writer" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" + [[package]] name = "tonic" version = "0.14.5" @@ -12265,7 +12295,7 @@ dependencies = [ "futures-core", "futures-util", "hdrhistogram", - "indexmap 2.13.0", + "indexmap 2.14.0", "pin-project-lite", "slab", "sync_wrapper 1.0.2", @@ -12284,7 +12314,7 @@ checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "async-compression", "base64 0.22.1", - "bitflags 2.11.0", + "bitflags 2.11.1", "bytes 1.11.1", "futures-core", "futures-util", @@ -12304,7 +12334,7 @@ dependencies = [ "tower-layer", "tower-service", "tracing", - "uuid 1.23.0", + "uuid 1.23.1", ] [[package]] @@ -12333,11 +12363,12 @@ dependencies = [ [[package]] name = "tracing-appender" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf" +checksum = "050686193eb999b4bb3bc2acfa891a13da00f79734704c4b8b4ef1a10b368a3c" dependencies = [ "crossbeam-channel", + "symlink", "thiserror 2.0.18", "time", "tracing-subscriber 0.3.23", @@ -12444,9 +12475,11 @@ dependencies = [ "serde", "serde_json", "sharded-slab", + "smallvec", "thread_local", "tracing", "tracing-core", + "tracing-log", "tracing-serde", ] @@ -12458,7 +12491,7 @@ checksum = "ee44f4cef85f88b4dea21c0b1f58320bdf35715cf56d840969487cff00613321" dependencies = [ "alloy-primitives", "ethereum_hashing", - "ethereum_ssz", + "ethereum_ssz 0.9.1", "smallvec", "typenum", ] @@ -12499,17 +12532,17 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.26.2" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" +checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ "bytes 1.11.1", "data-encoding", "http 1.4.0", "httparse", "log", - "rand 0.9.2", - "rustls 0.23.37", + "rand 0.9.4", + "rustls 0.23.40", "rustls-pki-types", "sha1", "thiserror 2.0.18", @@ -12517,29 +12550,16 @@ dependencies = [ ] [[package]] -name = "tungstenite" -version = "0.28.0" +name = "typeid" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" -dependencies = [ - "bytes 1.11.1", - "data-encoding", - "http 1.4.0", - "httparse", - "log", - "rand 0.9.2", - "rustls 0.23.37", - "rustls-pki-types", - "sha1", - "thiserror 2.0.18", - "utf-8", -] +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" [[package]] name = "ucd-trie" @@ -12597,26 +12617,20 @@ checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" [[package]] name = "unicode-truncate" -version = "1.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" +checksum = "16b380a1238663e5f8a691f9039c73e1cdae598a30e9855f541d29b08b53e9a5" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "unicode-segmentation", - "unicode-width 0.1.14", + "unicode-width", ] [[package]] name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "unicode-width" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unicode-xid" @@ -12695,9 +12709,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.23.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9" +checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" dependencies = [ "getrandom 0.4.2", "js-sys", @@ -12816,11 +12830,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.2+wasi-0.2.9" +version = "1.0.3+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.57.1", ] [[package]] @@ -12829,14 +12843,14 @@ version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.51.0", ] [[package]] name = "wasm-bindgen" -version = "0.2.117" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0551fc1bb415591e3372d0bc4780db7e587d84e2a7e79da121051c5c4b89d0b0" +checksum = "df52b6d9b87e0c74c9edfa1eb2d9bf85e5d63515474513aa50fa181b3c4f5db1" dependencies = [ "cfg-if", "once_cell", @@ -12847,9 +12861,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.67" +version = "0.4.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03623de6905b7206edd0a75f69f747f134b7f0a2323392d664448bf2d3c5d87e" +checksum = "af934872acec734c2d80e6617bbb5ff4f12b052dd8e6332b0817bce889516084" dependencies = [ "js-sys", "wasm-bindgen", @@ -12857,9 +12871,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.117" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbdf9a35adf44786aecd5ff89b4563a90325f9da0923236f6104e603c7e86be" +checksum = "78b1041f495fb322e64aca85f5756b2172e35cd459376e67f2a6c9dffcedb103" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -12867,9 +12881,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.117" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca9693ef2bab6d4e6707234500350d8dad079eb508dca05530c85dc3a529ff2" +checksum = "9dcd0ff20416988a18ac686d4d4d0f6aae9ebf08a389ff5d29012b05af2a1b41" dependencies = [ "bumpalo", "proc-macro2", @@ -12880,9 +12894,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.117" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39129a682a6d2d841b6c429d0c51e5cb0ed1a03829d8b3d1e69a011e62cb3d3b" +checksum = "49757b3c82ebf16c57d69365a142940b384176c24df52a087fb748e2085359ea" dependencies = [ "unicode-ident", ] @@ -12904,16 +12918,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", - "indexmap 2.13.0", + "indexmap 2.14.0", "wasm-encoder", "wasmparser", ] [[package]] name = "wasm-streams" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" dependencies = [ "futures-util", "js-sys", @@ -12928,10 +12942,10 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "hashbrown 0.15.5", - "indexmap 2.13.0", - "semver 1.0.27", + "indexmap 2.14.0", + "semver 1.0.28", ] [[package]] @@ -12950,9 +12964,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.94" +version = "0.3.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd70027e39b12f0849461e08ffc50b9cd7688d942c1c8e3c7b22273236b4dd0a" +checksum = "2eadbac71025cd7b0834f20d1fe8472e8495821b4e9801eb0a60bd1f19827602" dependencies = [ "js-sys", "wasm-bindgen", @@ -12974,14 +12988,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" dependencies = [ - "webpki-root-certs 1.0.6", + "webpki-root-certs 1.0.7", ] [[package]] name = "webpki-root-certs" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" +checksum = "f31141ce3fc3e300ae89b78c0dd67f9708061d1d2eda54b8209346fd6be9a92c" dependencies = [ "rustls-pki-types", ] @@ -12992,14 +13006,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.6", + "webpki-roots 1.0.7", ] [[package]] name = "webpki-roots" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" +checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" dependencies = [ "rustls-pki-types", ] @@ -13043,12 +13057,15 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.57.0" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.6", + "windows-collections 0.2.0", + "windows-core 0.61.2", + "windows-future 0.2.1", + "windows-link 0.1.3", + "windows-numerics 0.2.0", ] [[package]] @@ -13057,10 +13074,19 @@ version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" dependencies = [ - "windows-collections", + "windows-collections 0.3.2", "windows-core 0.62.2", - "windows-future", - "windows-numerics", + "windows-future 0.3.2", + "windows-numerics 0.3.1", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", ] [[package]] @@ -13074,14 +13100,15 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.57.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", - "windows-result 0.1.2", - "windows-targets 0.52.6", + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", ] [[package]] @@ -13090,33 +13117,33 @@ version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", - "windows-link", + "windows-implement", + "windows-interface", + "windows-link 0.2.1", "windows-result 0.4.1", - "windows-strings", + "windows-strings 0.5.1", ] [[package]] name = "windows-future" -version = "0.3.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ - "windows-core 0.62.2", - "windows-link", - "windows-threading", + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading 0.1.0", ] [[package]] -name = "windows-implement" -version = "0.57.0" +name = "windows-future" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", + "windows-core 0.62.2", + "windows-link 0.2.1", + "windows-threading 0.2.1", ] [[package]] @@ -13132,9 +13159,9 @@ dependencies = [ [[package]] name = "windows-interface" -version = "0.57.0" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", @@ -13142,15 +13169,10 @@ dependencies = [ ] [[package]] -name = "windows-interface" -version = "0.59.3" +name = "windows-link" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-link" @@ -13158,6 +13180,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + [[package]] name = "windows-numerics" version = "0.3.1" @@ -13165,7 +13197,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" dependencies = [ "windows-core 0.62.2", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -13174,18 +13206,18 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows-result 0.4.1", - "windows-strings", + "windows-strings 0.5.1", ] [[package]] name = "windows-result" -version = "0.1.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-targets 0.52.6", + "windows-link 0.1.3", ] [[package]] @@ -13194,7 +13226,16 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link", + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", ] [[package]] @@ -13203,7 +13244,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -13257,7 +13298,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -13312,7 +13353,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -13323,13 +13364,22 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + [[package]] name = "windows-threading" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -13523,9 +13573,9 @@ dependencies = [ [[package]] name = "winnow" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" +checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" dependencies = [ "memchr", ] @@ -13549,6 +13599,12 @@ dependencies = [ "wit-bindgen-rust-macro", ] +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + [[package]] name = "wit-bindgen-core" version = "0.51.0" @@ -13568,7 +13624,7 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck", - "indexmap 2.13.0", + "indexmap 2.14.0", "prettyplease", "syn 2.0.117", "wasm-metadata", @@ -13598,8 +13654,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.11.0", - "indexmap 2.13.0", + "bitflags 2.11.1", + "indexmap 2.14.0", "log", "serde", "serde_derive", @@ -13618,9 +13674,9 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", - "indexmap 2.13.0", + "indexmap 2.14.0", "log", - "semver 1.0.27", + "semver 1.0.28", "serde", "serde_derive", "serde_json", @@ -13636,9 +13692,9 @@ checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" [[package]] name = "writeable" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "ws_stream_wasm" @@ -13675,7 +13731,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix 1.1.4", + "rustix", ] [[package]] @@ -13692,9 +13748,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yoke" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -13703,9 +13759,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", @@ -13735,18 +13791,18 @@ dependencies = [ [[package]] name = "zerofrom" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", @@ -13776,20 +13832,21 @@ dependencies = [ [[package]] name = "zerotrie" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" dependencies = [ "displaydoc", "yoke", "zerofrom", + "zerovec", ] [[package]] name = "zerovec" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ "serde", "yoke", @@ -13799,9 +13856,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index c6766932..01e69b31 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,95 +16,100 @@ name = "reth-bsc" path = "src/main.rs" [dependencies] -reth = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-cli = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928", features = [ +reth = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-cli = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ "test-utils", ] } -reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928", features = [ +reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ "serde", ] } -reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-ipc = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-metrics = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-node-core = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-network = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928", features = [ +reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-ipc = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-metrics = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-node-core = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-network = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ "test-utils", ] } -reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-network-api = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928", features = [ +reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-network-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ "test-utils", ] } -reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-primitives-traits = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928", features = [ +reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.1.1-v2", default-features = false } +reth-codecs = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.1.1-v2" } +reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ "test-utils", ] } -reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-tasks = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } +reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-tasks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } # triedb dependencies rust-eth-triedb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2" } rust-eth-triedb-common = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2", package = "rust-eth-triedb-common" } rust-eth-triedb-pathdb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2", package = "rust-eth-triedb-pathdb" } +rust-eth-triedb-state-trie = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2", package = "rust-eth-triedb-state-trie" } -revm = "34.0.0" -revm-context-interface = "14.0.0" -revm-database = "10.0.0" +revm = "36.0.0" +revm-database = "12.0.0" +revm-bytecode = "9.0.0" +revm-state = "10.0.0" +revm-primitives = { version = "22.1.0", default-features = false } +revm-interpreter = "34.0.0" +revm-database-interface = "10.0.0" # alloy dependencies -alloy-evm = "0.26.3" - -alloy-genesis = "1.1.3" -alloy-consensus = "1.1.3" -alloy-eips = "1.1.3" -alloy-network = "1.1.3" -alloy-rpc-types = { version = "1.1.3", features = ["engine"] } -alloy-rpc-types-eth = "1.1.3" -alloy-rpc-types-engine = "1.1.3" -alloy-rpc-types-mev = "1.1.3" -alloy-signer = "1.1.3" - -alloy-chains = "0.2.23" -alloy-rlp = { version = "0.3.12", default-features = false, features = [ +alloy-evm = "0.30.0" + +alloy-genesis = "1.8.2" +alloy-consensus = "1.8.2" +alloy-eips = "1.8.2" +alloy-network = "1.8.2" +alloy-rpc-types = { version = "1.8.2", features = ["eth"] } +alloy-rpc-types-eth = "1.8.2" +alloy-rpc-types-engine = "1.8.2" +alloy-rpc-types-mev = "1.8.2" +alloy-signer = "1.8.2" + +alloy-chains = "0.2.33" +alloy-rlp = { version = "0.3.13", default-features = false, features = [ "core-net", ] } -alloy-dyn-abi = "1.4.1" -alloy-json-abi = { version = "1.4.1", default-features = false } -alloy-primitives = { version = "1.4.1", default-features = false, features = [ +alloy-dyn-abi = "1.5.6" +alloy-json-abi = { version = "1.5.6", default-features = false } +alloy-primitives = { version = "1.5.6", default-features = false, features = [ "map-foldhash", ] } -alloy-sol-macro = "1.4.1" -alloy-sol-types = { version = "1.4.1", default-features = false } +alloy-sol-macro = "1.5.6" +alloy-sol-types = { version = "1.5.6", default-features = false } jsonrpsee = { version = "0.26.0", features = ["server", "client", "macros"] } jsonrpsee-core = { version = "0.26.0", features = ["server"] } @@ -182,7 +187,6 @@ dev = ["reth-cli-commands/arbitrary", "reth/dev", "revm/dev"] asm-keccak = [ "reth/asm-keccak", "reth-node-core/asm-keccak", - "reth-primitives/asm-keccak", "reth-node-ethereum/asm-keccak", ] @@ -238,4 +242,6 @@ lto = "fat" codegen-units = 1 [dev-dependencies] -uuid = { version = "1", features = ["v4"] } \ No newline at end of file +uuid = { version = "1", features = ["v4"] } + + diff --git a/src/chainspec/bsc.rs b/src/chainspec/bsc.rs index 78eedcd0..8e7bab43 100644 --- a/src/chainspec/bsc.rs +++ b/src/chainspec/bsc.rs @@ -4,7 +4,7 @@ use alloy_primitives::BlockHash; use reth_chainspec::{ make_genesis_header, BaseFeeParams, BaseFeeParamsKind, Chain, ChainSpec, Head, NamedChain, }; -use reth_primitives::SealedHeader; +use reth_primitives_traits::SealedHeader; use std::str::FromStr; pub fn bsc_mainnet() -> ChainSpec { diff --git a/src/chainspec/bsc_chapel.rs b/src/chainspec/bsc_chapel.rs index 75eafa68..fb0d252b 100644 --- a/src/chainspec/bsc_chapel.rs +++ b/src/chainspec/bsc_chapel.rs @@ -4,7 +4,7 @@ use alloy_primitives::{BlockHash, B256, U256}; use reth_chainspec::{ make_genesis_header, BaseFeeParams, BaseFeeParamsKind, Chain, ChainSpec, Head, NamedChain, }; -use reth_primitives::SealedHeader; +use reth_primitives_traits::SealedHeader; use std::str::FromStr; pub fn bsc_testnet() -> ChainSpec { diff --git a/src/chainspec/bsc_rialto.rs b/src/chainspec/bsc_rialto.rs index c3fde534..b4eae32f 100644 --- a/src/chainspec/bsc_rialto.rs +++ b/src/chainspec/bsc_rialto.rs @@ -3,7 +3,7 @@ use alloy_primitives::{BlockHash, U256, B256}; use reth_chainspec::{ make_genesis_header, BaseFeeParams, BaseFeeParamsKind, Chain, ChainSpec, Head, }; -use reth_primitives::SealedHeader; +use reth_primitives_traits::SealedHeader; use std::str::FromStr; pub const RIALTO_CHAIN_ID: u64 = 714; diff --git a/src/chainspec/local.rs b/src/chainspec/local.rs index e8fc11bf..1ade751f 100644 --- a/src/chainspec/local.rs +++ b/src/chainspec/local.rs @@ -3,7 +3,7 @@ use crate::hardforks::bsc::BscHardfork; use reth_chainspec::{ make_genesis_header, BaseFeeParams, BaseFeeParamsKind, Chain, ChainSpec, Head, NamedChain, }; -use reth_primitives::SealedHeader; +use reth_primitives_traits::SealedHeader; pub fn bsc_local() -> ChainSpec { let genesis = serde_json::from_str(include_str!("genesis_local.json")) diff --git a/src/consensus/parlia/snapshot.rs b/src/consensus/parlia/snapshot.rs index acd18ed1..5a5cede4 100644 --- a/src/consensus/parlia/snapshot.rs +++ b/src/consensus/parlia/snapshot.rs @@ -4,8 +4,7 @@ use super::vote::{VoteAddress, VoteAttestation, VoteData}; use crate::metrics::BscVoteMetrics; use alloy_primitives::{Address, BlockHash, BlockNumber}; use once_cell::sync::Lazy; -use reth_db::table::{Compress, Decompress}; -use reth_db::DatabaseError; +use reth_codecs::{Compress, Decompress, DecompressError}; use serde::{Deserialize, Serialize}; /// Number of blocks after which we persist snapshots to DB. @@ -498,8 +497,8 @@ impl Compress for Snapshot { } impl Decompress for Snapshot { - fn decompress(value: &[u8]) -> Result { - serde_cbor::from_slice(value).map_err(|_| DatabaseError::Decode) + fn decompress(value: &[u8]) -> Result { + serde_cbor::from_slice(value).map_err(DecompressError::new) } } diff --git a/src/consensus/parlia/validation.rs b/src/consensus/parlia/validation.rs index 6df9838d..5778444f 100644 --- a/src/consensus/parlia/validation.rs +++ b/src/consensus/parlia/validation.rs @@ -7,7 +7,7 @@ use crate::consensus::eip4844::is_blob_eligible_block; use super::{Parlia, EMPTY_WITHDRAWALS_HASH}; use alloy_consensus::{Header, Transaction, EMPTY_OMMER_ROOT_HASH}; use alloy_primitives::B256; -use reth_primitives::GotExpected; +use reth_primitives_traits::GotExpected; use alloy_eips::eip4844::{DATA_GAS_PER_BLOB, MAX_DATA_GAS_PER_BLOCK_DENCUN}; use crate::BscBlock; use reth_primitives_traits::Block; @@ -297,7 +297,7 @@ impl SealedHeader { RethSealedHeader::new(header, B256::ZERO) diff --git a/src/evm/api/mod.rs b/src/evm/api/mod.rs index d7978e63..a074d977 100644 --- a/src/evm/api/mod.rs +++ b/src/evm/api/mod.rs @@ -335,7 +335,7 @@ mod tests { false, false, ); - mismatched.inner.instruction = EthInstructions::new_mainnet(); + mismatched.inner.instruction = EthInstructions::new_mainnet_with_spec(SpecId::default()); let mismatched_result = mismatched .transact_one(tx) diff --git a/src/evm/handler.rs b/src/evm/handler.rs index 631c6fb8..213ee97c 100644 --- a/src/evm/handler.rs +++ b/src/evm/handler.rs @@ -17,13 +17,13 @@ use revm::{ transaction::TransactionType, Cfg, ContextError, ContextTr, LocalContextTr, Transaction, }, - context_interface::{transaction::eip7702::AuthorizationTr, Block, JournalTr}, + context_interface::{result::ResultGas, transaction::eip7702::AuthorizationTr, Block, JournalTr}, handler::{EthFrame, EvmTr, FrameResult, Handler, MainnetHandler}, inspector::{Inspector, InspectorHandler}, interpreter::{interpreter::EthInterpreter, Host, InitialAndFloorGas, SuccessOrHalt}, primitives::hardfork::SpecId, }; -use revm_context_interface::journaled_state::account::JournaledAccountTr; +use revm::context_interface::journaled_state::account::JournaledAccountTr; use crate::consensus::SYSTEM_ADDRESS; pub struct BscHandler { @@ -249,6 +249,7 @@ impl Handler for BscHandler { &mut self, evm: &mut Self::Evm, result: FrameResult, + mut result_gas: ResultGas, ) -> Result, Self::Error> { // Ensure we always pop the trace context, even on early returns. struct PrecompileTracePopGuard; @@ -265,15 +266,12 @@ impl Handler for BscHandler { Ok(_) => (), } - // used gas with refund calculated. - let raw_gas_refunded = result.gas().refunded() as u64; - let raw_gas_spent = result.gas().spent(); - let is_system_tx = { - let ctx = evm.ctx_ref(); - ctx.tx().is_system_transaction - }; - let gas_refunded = if is_system_tx { 0 } else { raw_gas_refunded }; - let final_gas_used = raw_gas_spent - gas_refunded; + // System transactions never get a gas refund in BSC. + let is_system_tx = evm.ctx_ref().tx().is_system_transaction; + if is_system_tx { + result_gas.set_refunded(0); + } + let output = result.output(); let instruction_result = result.into_interpreter_result(); @@ -283,16 +281,15 @@ impl Handler for BscHandler { let result = match SuccessOrHalt::from(instruction_result.result) { SuccessOrHalt::Success(reason) => ExecutionResult::Success { reason, - gas_used: final_gas_used, - gas_refunded, + gas: result_gas, logs, output, }, SuccessOrHalt::Revert => { - ExecutionResult::Revert { gas_used: final_gas_used, output: output.into_data() } + ExecutionResult::Revert { gas: result_gas, logs, output: output.into_data() } } SuccessOrHalt::Halt(reason) => { - ExecutionResult::Halt { reason, gas_used: final_gas_used } + ExecutionResult::Halt { reason, gas: result_gas, logs } } // Only two internal return flags. flag @ (SuccessOrHalt::FatalExternalError | SuccessOrHalt::Internal(_)) => { diff --git a/src/evm/transaction.rs b/src/evm/transaction.rs index 184dc86a..a085bdcc 100644 --- a/src/evm/transaction.rs +++ b/src/evm/transaction.rs @@ -1,7 +1,8 @@ use alloy_evm::{rpc::TryIntoTxEnv, EvmEnv}; use alloy_rpc_types_eth::{AccessList, TransactionRequest}; -use reth_evm::{FromRecoveredTx, FromTxWithEncoded, IntoTxEnv, TransactionEnv}; -use reth_primitives::TransactionSigned; +use alloy_evm::TransactionEnvMut; +use reth_evm::{FromRecoveredTx, FromTxWithEncoded, IntoTxEnv}; +use reth_ethereum_primitives::TransactionSigned; use revm::{ context::TxEnv, context_interface::transaction::Transaction, @@ -110,26 +111,22 @@ impl FromRecoveredTx for BscTxEnv { impl FromTxWithEncoded for BscTxEnv { fn from_encoded_tx(tx: &TransactionSigned, sender: Address, _encoded: Bytes) -> Self { let base = match tx.clone().into_typed_transaction() { - reth_primitives::Transaction::Legacy(tx) => TxEnv::from_recovered_tx(&tx, sender), - reth_primitives::Transaction::Eip2930(tx) => TxEnv::from_recovered_tx(&tx, sender), - reth_primitives::Transaction::Eip1559(tx) => TxEnv::from_recovered_tx(&tx, sender), - reth_primitives::Transaction::Eip4844(tx) => TxEnv::from_recovered_tx(&tx, sender), - reth_primitives::Transaction::Eip7702(tx) => TxEnv::from_recovered_tx(&tx, sender), + reth_ethereum_primitives::Transaction::Legacy(tx) => TxEnv::from_recovered_tx(&tx, sender), + reth_ethereum_primitives::Transaction::Eip2930(tx) => TxEnv::from_recovered_tx(&tx, sender), + reth_ethereum_primitives::Transaction::Eip1559(tx) => TxEnv::from_recovered_tx(&tx, sender), + reth_ethereum_primitives::Transaction::Eip4844(tx) => TxEnv::from_recovered_tx(&tx, sender), + reth_ethereum_primitives::Transaction::Eip7702(tx) => TxEnv::from_recovered_tx(&tx, sender), }; Self { base, is_system_transaction: false } } } -impl TransactionEnv for BscTxEnv { +impl TransactionEnvMut for BscTxEnv { fn set_gas_limit(&mut self, gas_limit: u64) { self.base.set_gas_limit(gas_limit); } - fn nonce(&self) -> u64 { - TransactionEnv::nonce(&self.base) - } - fn set_nonce(&mut self, nonce: u64) { self.base.set_nonce(nonce); } @@ -157,15 +154,19 @@ impl SystemCallTx for BscTxEnv { } } -impl TryIntoTxEnv for TransactionRequest { - type Err = >::Err; +impl TryIntoTxEnv + for TransactionRequest +{ + type Err = >::Err; - fn try_into_tx_env( + fn try_into_tx_env( self, - evm_env: &EvmEnv, - ) -> Result>::Err> { + evm_env: &EvmEnv, + ) -> Result { Ok(BscTxEnv { - base: >::try_into_tx_env(self, evm_env)?, + base: >::try_into_tx_env( + self, evm_env, + )?, is_system_transaction: false, }) } diff --git a/src/node/consensus.rs b/src/node/consensus.rs index 075c9126..4409e964 100644 --- a/src/node/consensus.rs +++ b/src/node/consensus.rs @@ -32,8 +32,7 @@ use reth::{ use reth_chainspec::EthChainSpec; use reth_engine_primitives::ConsensusEngineHandle; use reth_ethereum_primitives::Receipt; -use reth_payload_primitives::EngineApiMessageVersion; -use reth_primitives::{gas_spent_by_transactions, GotExpected}; +use reth_primitives_traits::{receipt::gas_spent_by_transactions, GotExpected}; use reth_primitives_traits::constants::{GAS_LIMIT_BOUND_DIVISOR, MINIMUM_GAS_LIMIT}; use reth_provider::{BlockNumReader, HeaderProvider}; use std::sync::Arc; @@ -375,15 +374,15 @@ mod tests { fn sealed_header( &self, _number: u64, - ) -> reth_provider::ProviderResult>> { + ) -> reth_provider::ProviderResult>> { Ok(None) } fn sealed_headers_while( &self, _range: impl core::ops::RangeBounds, - _predicate: impl FnMut(&reth_primitives::SealedHeader) -> bool, - ) -> reth_provider::ProviderResult>> { + _predicate: impl FnMut(&reth_primitives_traits::SealedHeader) -> bool, + ) -> reth_provider::ProviderResult>> { Ok(Vec::new()) } } @@ -1256,7 +1255,7 @@ where match self .engine_handle - .fork_choice_updated(state, None, EngineApiMessageVersion::default()) + .fork_choice_updated(state, None) .await { Ok(response) => match response.payload_status.status { diff --git a/src/node/engine.rs b/src/node/engine.rs index 64f5a4c8..26a81418 100644 --- a/src/node/engine.rs +++ b/src/node/engine.rs @@ -22,7 +22,8 @@ use reth_chain_state::ExecutedBlock; use reth_evm::ConfigureEvm; use reth_payload_builder_primitives::Events; use reth_payload_primitives::BuiltPayload; -use reth_primitives::{SealedBlock, TransactionSigned}; +use reth_primitives_traits::SealedBlock; +use reth_ethereum_primitives::TransactionSigned; use std::sync::Arc; use std::time::Duration; use tokio::sync::{broadcast, mpsc}; @@ -122,7 +123,7 @@ where let chain_spec_clone = Arc::new(ctx.config().chain.clone().as_ref().clone()); let task_executor_clone = ctx.task_executor().clone(); - ctx.task_executor().spawn_critical("bsc-miner-initializer", async move { + ctx.task_executor().spawn_critical_task("bsc-miner-initializer", async move { info!("Waiting for consensus module to initialize snapshot provider..."); let mut attempts = 0; let snapshot_provider = loop { @@ -164,7 +165,7 @@ where let _ = crate::shared::set_payload_events_tx(events_tx.clone()); // Handle payload service commands (keep minimal compatibility but with shared events channel) - ctx.task_executor().spawn_critical("payload-service-handler", async move { + ctx.task_executor().spawn_critical_task("payload-service-handler", async move { while let Some(message) = rx.recv().await { match message { PayloadServiceCommand::Subscribe(tx) => { diff --git a/src/node/engine_api/mod.rs b/src/node/engine_api/mod.rs index c05eec63..b9d404cf 100644 --- a/src/node/engine_api/mod.rs +++ b/src/node/engine_api/mod.rs @@ -8,8 +8,6 @@ use alloy_rpc_types_engine::{ForkchoiceState, PayloadStatusEnum}; #[cfg(feature = "bench-test")] use jsonrpsee_types::ErrorObjectOwned; #[cfg(feature = "bench-test")] -use reth_payload_primitives::EngineApiMessageVersion; -#[cfg(feature = "bench-test")] use reth_node_ethereum::engine::EthPayloadAttributes; @@ -68,7 +66,6 @@ impl IntoEngineApiRpcModule for BscEngineApi { .fork_choice_updated( forkchoice_state, payload_attrs, - EngineApiMessageVersion::V1, ) .await { diff --git a/src/node/engine_api/payload.rs b/src/node/engine_api/payload.rs index 684d829a..65748a12 100644 --- a/src/node/engine_api/payload.rs +++ b/src/node/engine_api/payload.rs @@ -1,8 +1,5 @@ use crate::node::{engine::BscBuiltPayload, engine_api::validator::BscExecutionData}; -use reth::{ - payload::EthPayloadBuilderAttributes, - primitives::{NodePrimitives, SealedBlock}, -}; +use reth::primitives::{NodePrimitives, SealedBlock}; use reth_node_ethereum::engine::EthPayloadAttributes; use reth_payload_primitives::{BuiltPayload, PayloadTypes}; @@ -14,7 +11,6 @@ pub struct BscPayloadTypes; impl PayloadTypes for BscPayloadTypes { type BuiltPayload = BscBuiltPayload; type PayloadAttributes = EthPayloadAttributes; - type PayloadBuilderAttributes = EthPayloadBuilderAttributes; type ExecutionData = BscExecutionData; fn block_to_payload( diff --git a/src/node/engine_api/validator.rs b/src/node/engine_api/validator.rs index a3b02171..15436209 100644 --- a/src/node/engine_api/validator.rs +++ b/src/node/engine_api/validator.rs @@ -14,7 +14,7 @@ use reth::{ }; use reth_engine_primitives::{ExecutionPayload, PayloadValidator}; use reth_payload_primitives::NewPayloadError; -use reth_primitives::{RecoveredBlock, SealedBlock}; +use reth_primitives_traits::{RecoveredBlock, SealedBlock}; use reth_primitives_traits::Block; use reth_trie_common::HashedPostState; use serde::{Deserialize, Serialize}; diff --git a/src/node/evm/assembler.rs b/src/node/evm/assembler.rs index 63f5c269..e4900907 100644 --- a/src/node/evm/assembler.rs +++ b/src/node/evm/assembler.rs @@ -233,10 +233,13 @@ where let logs_bloom = logs_bloom(receipts.iter().flat_map(|r| &r.logs)); let block_number = evm_env.block_env.number().saturating_to(); - let withdrawals = self + let withdrawals: Option = self .chain_spec .is_shanghai_active_at_timestamp(timestamp) - .then(|| eth_ctx.withdrawals.clone().map(|w| w.into_owned()).unwrap_or_default()); + .then(|| { + let v = eth_ctx.withdrawals.clone().map(|w| w.into_owned()).unwrap_or_default(); + Withdrawals::new(v) + }); let withdrawals_root = withdrawals.as_deref().map(|w| proofs::calculate_withdrawals_root(w)); diff --git a/src/node/evm/builder.rs b/src/node/evm/builder.rs index cc54c7a2..fb55975b 100644 --- a/src/node/evm/builder.rs +++ b/src/node/evm/builder.rs @@ -98,10 +98,11 @@ where &revm::context::result::ExecutionResult<<::Evm as alloy_evm::Evm>::HaltReason>, ) -> alloy_evm::block::CommitChanges, ) -> Result, BlockExecutionError> { + let (tx_env, recovered) = tx.into_parts(); if let Some(gas_used) = - self.executor.execute_transaction_with_commit_condition(tx.as_executable(), f)? + self.executor.execute_transaction_with_commit_condition((tx_env, &recovered), f)? { - self.transactions.push(tx.into_recovered()); + self.transactions.push(recovered); Ok(Some(gas_used)) } else { Ok(None) @@ -112,6 +113,7 @@ where fn finish( self, state: impl StateProvider, + _state_root_precomputed: Option<(alloy_primitives::B256, TrieUpdates)>, ) -> Result, BlockExecutionError> { Ok(self.finish_with_difflayer(state)?.inner) } diff --git a/src/node/evm/config.rs b/src/node/evm/config.rs index d3727760..07094c01 100644 --- a/src/node/evm/config.rs +++ b/src/node/evm/config.rs @@ -25,7 +25,8 @@ use reth_evm::{ NextBlockEnvAttributes, }; use reth_evm_ethereum::RethReceiptBuilder; -use reth_primitives::{BlockTy, HeaderTy, SealedBlock, SealedHeader, TransactionSigned}; +use reth_primitives_traits::{BlockTy, HeaderTy, SealedBlock, SealedHeader}; +use reth_ethereum_primitives::TransactionSigned; use reth_primitives_traits::constants::MAX_TX_GAS_LIMIT_OSAKA; use reth_revm::State; use reth_rpc_eth_api::helpers::pending_block::BuildPendingEnv; @@ -240,12 +241,12 @@ where #[allow(refining_impl_trait)] fn create_executor<'a, DB, I>( &'a self, - evm: ::Evm<&'a mut State, I>, + evm: ::Evm, ctx: Self::ExecutionCtx<'a>, - ) -> BscBlockExecutor<'a, ::Evm<&'a mut State, I>, Spec, R> + ) -> BscBlockExecutor<'a, ::Evm, Spec, R> where - DB: alloy_evm::Database + 'a, - I: Inspector<::Context<&'a mut State>> + 'a, + DB: alloy_evm::block::StateDB + 'a, + I: Inspector<::Context> + 'a, { BscBlockExecutor::new( evm, @@ -329,6 +330,7 @@ where gas_limit: header.gas_limit(), basefee: header.base_fee_per_gas().unwrap_or_default(), blob_excess_gas_and_price, + slot_num: 0, }; Ok(EvmEnv { cfg_env, block_env }) @@ -408,6 +410,7 @@ where basefee: basefee.unwrap_or_default(), // calculate excess gas based on parent block's blob gas usage blob_excess_gas_and_price, + slot_num: 0, }; Ok(EvmEnv { cfg_env, block_env }) @@ -423,7 +426,7 @@ where parent_hash: block.header().parent_hash, parent_beacon_block_root: block.header().parent_beacon_block_root, ommers: &block.body().ommers, - withdrawals: block.body().withdrawals.as_ref().map(Cow::Borrowed), + withdrawals: block.body().withdrawals.as_ref().map(|w| Cow::Borrowed(w.as_slice())), extra_data: block.header().extra_data.clone(), }, header: Some(block.header().clone()), @@ -448,7 +451,7 @@ where parent_hash: parent.hash(), parent_beacon_block_root: attributes.inner.parent_beacon_block_root, ommers: &[], - withdrawals: attributes.inner.withdrawals.map(Cow::Owned), + withdrawals: attributes.inner.withdrawals.map(|w| Cow::Owned(w.into_inner())), extra_data: attributes.inner.extra_data, }, header: None, // No header available for next block context @@ -469,7 +472,7 @@ where ctx: ::ExecutionCtx<'a>, ) -> impl BlockBuilder< Primitives = Self::Primitives, - Executor: BlockExecutorFor<'a, Self::BlockExecutorFactory, DB, I>, + Executor: BlockExecutorFor<'a, Self::BlockExecutorFactory, &'a mut State, I>, > where DB: Database, @@ -522,7 +525,7 @@ where parent_hash: block.header.parent_hash(), parent_beacon_block_root: block.header.parent_beacon_block_root, ommers: &block.body.inner.ommers, - withdrawals: block.body.inner.withdrawals.as_ref().map(Cow::Borrowed), + withdrawals: block.body.inner.withdrawals.as_ref().map(|w| Cow::Borrowed(w.as_slice())), extra_data: block.header.extra_data.clone(), }, header: Some(block.header.clone()), diff --git a/src/node/evm/error.rs b/src/node/evm/error.rs index 1945c30d..bfc96206 100644 --- a/src/node/evm/error.rs +++ b/src/node/evm/error.rs @@ -4,7 +4,7 @@ use alloy_primitives::{Address, BlockHash, BlockNumber, B256, U256}; use crate::consensus::parlia::error::ParliaConsensusError; use reth_evm::execute::{BlockExecutionError, BlockValidationError}; use reth_provider::ProviderError; -use reth_primitives::{GotExpected, GotExpectedBoxed}; +use reth_primitives_traits::{GotExpected, GotExpectedBoxed}; /// BSC specific block validation error #[derive(thiserror::Error, Debug, Clone)] diff --git a/src/node/evm/executor.rs b/src/node/evm/executor.rs index cf20de55..5c1a339c 100644 --- a/src/node/evm/executor.rs +++ b/src/node/evm/executor.rs @@ -1,39 +1,72 @@ +use super::config::{revm_spec_by_timestamp_and_block_number, BscBlockExecutionCtx}; use super::patch::HertzPatchManager; +use crate::consensus::parlia::SnapshotProvider; use crate::{ - consensus::{SYSTEM_ADDRESS, parlia::{Parlia, Snapshot, VoteAddress}}, evm::{precompiles, transaction::BscTxEnv}, hardforks::BscHardforks, metrics::{BscBlockchainMetrics, BscConsensusMetrics, BscExecutorMetrics, BscRewardsMetrics, BscVoteMetrics}, node::evm::config::BscExecutionSharedCtx, system_contracts::{ - SystemContract, feynman_fork::ValidatorElectionInfo, get_upgrade_system_contracts, is_system_transaction - } + consensus::{ + parlia::{Parlia, Snapshot, VoteAddress}, + SYSTEM_ADDRESS, + }, + evm::{precompiles, transaction::BscTxEnv}, + hardforks::BscHardforks, + metrics::{ + BscBlockchainMetrics, BscConsensusMetrics, BscExecutorMetrics, BscRewardsMetrics, + BscVoteMetrics, + }, + node::evm::config::BscExecutionSharedCtx, + system_contracts::{ + feynman_fork::ValidatorElectionInfo, get_upgrade_system_contracts, is_system_transaction, + SystemContract, + }, }; -use alloy_consensus::{Header, Transaction, TxReceipt}; +use alloy_consensus::{Header, TxReceipt, TxType}; +use alloy_eips::eip2935::{HISTORY_STORAGE_ADDRESS, HISTORY_STORAGE_CODE}; use alloy_eips::{eip7685::Requests, Encodable2718}; -use alloy_evm::{block::{ExecutableTx, StateChangeSource}, eth::receipt_builder::ReceiptBuilderCtx}; -use alloy_primitives::{hex, uint, Address, U256, BlockNumber, Bytes}; +use alloy_evm::{ + block::{ExecutableTx, StateChangeSource, TxResult}, + eth::receipt_builder::ReceiptBuilderCtx, +}; +use alloy_primitives::keccak256; +use alloy_primitives::{hex, uint, Address, BlockNumber, Bytes, U256}; use reth_chainspec::{EthChainSpec, EthereumHardforks, Hardforks}; -use super::config::{BscBlockExecutionCtx, revm_spec_by_timestamp_and_block_number}; +use reth_ethereum_primitives::TransactionSigned; use reth_evm::{ - block::{BlockValidationError, CommitChanges}, + block::BlockValidationError, eth::receipt_builder::ReceiptBuilder, execute::{BlockExecutionError, BlockExecutor}, system_calls::SystemCaller, - Database, Evm, FromRecoveredTx, FromTxWithEncoded, IntoTxEnv, OnStateHook, RecoveredTx, + Evm, FromRecoveredTx, FromTxWithEncoded, IntoTxEnv, OnStateHook, }; -use reth_primitives::TransactionSigned; use reth_provider::BlockExecutionResult; -use reth_revm::State; +use revm::Database as _; use revm::{ - context::{ - result::{ExecutionResult, ResultAndState}, - - }, + context::result::{ExecutionResult, Output, ResultAndState, ResultGas, SuccessReason}, context_interface::block::Block, - state::Bytecode, + state::{Account as RevmAccount, Bytecode, EvmState}, DatabaseCommit, }; -use tracing::{error, warn, info, debug, trace}; -use alloy_eips::eip2935::{HISTORY_STORAGE_ADDRESS, HISTORY_STORAGE_CODE}; -use alloy_primitives::keccak256; use std::{collections::HashMap, sync::Arc}; -use crate::consensus::parlia::SnapshotProvider; +use tracing::{debug, error, info, trace, warn}; + +/// Result of executing a single BSC transaction. +pub struct BscTxResult { + pub inner: ResultAndState, + pub blob_gas_used: u64, + pub tx_type: TxType, + pub tx: TransactionSigned, + pub is_system: bool, +} + +impl TxResult for BscTxResult { + type HaltReason = H; + + fn result(&self) -> &ResultAndState { + &self.inner + } + + fn into_result(self) -> ResultAndState { + self.inner + } +} /// Helper type for the input of post execution. #[allow(clippy::type_complexity)] #[derive(Debug, Clone)] @@ -93,11 +126,10 @@ where pub(super) rewards_metrics: BscRewardsMetrics, } -impl<'a, DB, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> +impl<'a, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> where - DB: Database + 'a, EVM: Evm< - DB = &'a mut State, + DB: alloy_evm::block::StateDB + 'a, Tx: FromRecoveredTx + FromRecoveredTx + FromTxWithEncoded, @@ -121,15 +153,19 @@ where ) -> Self { let is_mainnet = spec.chain().id() == 56; // BSC mainnet chain ID let hertz_patch_manager = HertzPatchManager::new(is_mainnet); - + trace!("Succeed to new block executor, header: {:?}", ctx.header); if let Some(ref header) = ctx.header { crate::node::evm::util::HEADER_CACHE_READER .lock() .unwrap() .insert_header_to_cache_with_hash(header.clone(), ctx.header_hash); - } else if !ctx.is_miner { // miner has no current header. - warn!("No header found in the context, block_number: {:?}", evm.block().number().to::()); + } else if !ctx.is_miner { + // miner has no current header. + warn!( + "No header found in the context, block_number: {:?}", + evm.block().number().to::() + ); } let parlia = Arc::new(Parlia::new(Arc::new(spec.clone()), 200)); @@ -166,22 +202,13 @@ where } } - /// Accumulate blob gas used for Cancun blocks. - fn accumulate_blob_gas_used(&mut self, tx: &T) { - if !BscHardforks::is_cancun_active_at_timestamp( - &self.spec, - self.evm.block().number().to::(), - self.evm.block().timestamp().to::(), - ) { - return; - } - - self.blob_gas_used = - self.blob_gas_used.saturating_add(tx.blob_gas_used().unwrap_or_default()); - } - /// Applies system contract upgrades if the Feynman fork is not yet active. - fn upgrade_contracts(&mut self, block_number: BlockNumber, block_timestamp: u64, parent_timestamp: u64) -> Result<(), BlockExecutionError> { + fn upgrade_contracts( + &mut self, + block_number: BlockNumber, + block_timestamp: u64, + parent_timestamp: u64, + ) -> Result<(), BlockExecutionError> { trace!( target: "bsc::executor::upgrade", block_number, @@ -189,7 +216,7 @@ where parent_timestamp, "Calling get_upgrade_system_contracts" ); - + let contracts = get_upgrade_system_contracts( &self.spec, block_number, @@ -215,7 +242,13 @@ where } /// Mimics Geth-BSC's TryUpdateBuildInSystemContract function - fn try_update_build_in_system_contract(&mut self, block_number: BlockNumber, block_timestamp: u64, parent_timestamp: u64, at_block_begin: bool) -> Result<(), BlockExecutionError> { + fn try_update_build_in_system_contract( + &mut self, + block_number: BlockNumber, + block_timestamp: u64, + parent_timestamp: u64, + at_block_begin: bool, + ) -> Result<(), BlockExecutionError> { if at_block_begin { // Upgrade system contracts before Feynman at block begin if !self.spec.is_feynman_active_at_timestamp(block_number, parent_timestamp) { @@ -227,10 +260,14 @@ where ); self.upgrade_contracts(block_number, block_timestamp, parent_timestamp)?; } - + // HistoryStorageAddress is a special system contract in BSC, which can't be upgraded // This must be done at block begin when Prague activates - if self.spec.is_prague_transition_at_block_and_timestamp(block_number, block_timestamp, parent_timestamp) { + if self.spec.is_prague_transition_at_block_and_timestamp( + block_number, + block_timestamp, + parent_timestamp, + ) { info!( target: "bsc::executor::prague", block_number, @@ -272,7 +309,7 @@ where beneficiary: Address, ) -> Result<(), BlockExecutionError> { let txs = self.system_contracts.genesis_contracts_txs(); - for tx in txs { + for tx in txs { self.transact_system_tx(tx.into(), beneficiary)?; } Ok(()) @@ -284,15 +321,15 @@ where address: Address, code: Bytecode, ) -> Result<(), BlockExecutionError> { - let account = - self.evm.db_mut().load_cache_account(address).map_err(BlockExecutionError::other)?; - - let mut info = account.account_info().unwrap_or_default(); + let db = self.evm.db_mut(); + let mut info = db.basic(address).map_err(BlockExecutionError::other)?.unwrap_or_default(); info.code_hash = code.hash_slow(); info.code = Some(code); - - let transition = account.change(info, Default::default()); - self.evm.db_mut().apply_transition(vec![(address, transition)]); + let mut account = RevmAccount::from(info); + account.mark_touch(); + let mut changes: EvmState = Default::default(); + changes.insert(address, account); + db.commit(changes); Ok(()) } @@ -307,7 +344,8 @@ where "Deploying HistoryStorageAddress contract (Prague transition)" ); - let account = self.evm.db_mut().load_cache_account(HISTORY_STORAGE_ADDRESS).map_err(|err| { + let db = self.evm.db_mut(); + let old_info = db.basic(HISTORY_STORAGE_ADDRESS).map_err(|err| { error!( target: "bsc::executor::prague", block_number, @@ -316,8 +354,6 @@ where ); BlockExecutionError::other(err) })?; - - let old_info = account.account_info(); debug!( target: "bsc::executor::prague", block_number, @@ -326,15 +362,17 @@ where "HistoryStorageAddress account before deployment" ); - let mut new_info = account.account_info().unwrap_or_default(); + let mut new_info = old_info.unwrap_or_default(); new_info.code_hash = keccak256(HISTORY_STORAGE_CODE.clone()); new_info.code = Some(Bytecode::new_raw(Bytes::from_static(&HISTORY_STORAGE_CODE))); new_info.nonce = 1_u64; new_info.balance = U256::ZERO; + let mut account = RevmAccount::from(new_info); + account.mark_touch(); + let mut changes: EvmState = Default::default(); + changes.insert(HISTORY_STORAGE_ADDRESS, account); + db.commit(changes); - let transition = account.change(new_info, Default::default()); - self.evm.db_mut().apply_transition(vec![(HISTORY_STORAGE_ADDRESS, transition)]); - info!( target: "bsc::executor::prague", block_number, @@ -344,11 +382,10 @@ where } } -impl<'a, DB, E, Spec, R> BlockExecutor for BscBlockExecutor<'a, E, Spec, R> +impl<'a, E, Spec, R> BlockExecutor for BscBlockExecutor<'a, E, Spec, R> where - DB: Database + 'a, E: Evm< - DB = &'a mut State, + DB: alloy_evm::block::StateDB + 'a, Tx: FromRecoveredTx + FromRecoveredTx + FromTxWithEncoded, @@ -364,16 +401,17 @@ where type Transaction = TransactionSigned; type Receipt = R::Receipt; type Evm = E; + type Result = BscTxResult; fn apply_pre_execution_changes(&mut self) -> Result<(), BlockExecutionError> { let block_env = self.evm.block().clone(); trace!( - target: "bsc::executor", + target: "bsc::executor", block_id = %block_env.number(), is_miner = self.ctx.is_miner, "Start to apply_pre_execution_changes" ); - + // Update current block height and header height metrics let block_number = block_env.number().to::(); self.consensus_metrics.current_block_height.set(block_number as f64); @@ -384,23 +422,19 @@ where } else { self.check_new_block(&block_env)?; } - - // set state clear flag if the block is after the Spurious Dragon hardfork. - let block_number = self.evm.block().number().to::(); - let state_clear_flag = self.spec.is_spurious_dragon_active_at_block(block_number); - self.evm.db_mut().set_state_clear_flag(state_clear_flag); + let parent_timestamp = self.inner_ctx.parent_header.as_ref().unwrap().timestamp; self.try_update_build_in_system_contract( - self.evm.block().number().to::(), - self.evm.block().timestamp().to::(), - parent_timestamp, - true + self.evm.block().number().to::(), + self.evm.block().timestamp().to::(), + parent_timestamp, + true, )?; - + // Apply historical block hashes if Prague is active if self.spec.is_prague_active_at_block_and_timestamp( - self.evm.block().number().to::(), - self.evm.block().timestamp().to::() + self.evm.block().number().to::(), + self.evm.block().timestamp().to::(), ) { trace!( target: "bsc::executor::prague", @@ -418,123 +452,78 @@ where fn execute_transaction_without_commit( &mut self, tx: impl ExecutableTx, - ) -> Result::HaltReason>, BlockExecutionError> { - let block_available_gas = self.evm.block().gas_limit() - self.gas_used; - if tx.tx().gas_limit() > block_available_gas { - return Err(BlockValidationError::TransactionGasLimitMoreThanAvailableBlockGas { - transaction_gas_limit: tx.tx().gas_limit(), - block_available_gas, - } - .into()); - } + ) -> Result, BlockExecutionError> { + use alloy_evm::RecoveredTx as _; - let tx_hash = tx.tx().trie_hash(); - let block_number = self.evm.block().number().to::(); - let timestamp = self.evm.block().timestamp().to::(); - let spec = revm_spec_by_timestamp_and_block_number(self.spec.clone(), timestamp, block_number); - let (to, selector, input_len) = { - let to = tx.tx().to(); - let input = tx.tx().input(); - let selector = if input.len() >= 4 { - Some(hex::encode(&input[..4])) - } else { - None - }; - (to, selector, input.len()) - }; + let (tx_env, recovered) = tx.into_parts(); + let signer = *recovered.signer(); + let tx_signed: TransactionSigned = recovered.tx().clone(); + let tx_type = tx_signed.tx_type(); - precompiles::push_precompile_trace_context(precompiles::PrecompileTraceContext::from_parts( - block_number, - spec, - false, - Some(tx_hash), - to, - selector, - input_len, - )); - struct PrecompileTracePopGuard; - impl Drop for PrecompileTracePopGuard { - fn drop(&mut self) { - precompiles::pop_precompile_trace_context(); - } + // Detect system transactions: skip EVM execution, accumulate for later. + let is_system = is_system_transaction(&tx_signed, signer, self.evm.block().beneficiary()); + if is_system { + self.system_txs.push(tx_signed.clone()); + let dummy = ResultAndState { + result: ExecutionResult::Success { + reason: SuccessReason::Stop, + gas: ResultGas::new(0, 0, 0, 0, 0), + logs: vec![], + output: Output::Call(Bytes::new()), + }, + state: Default::default(), + }; + return Ok(BscTxResult { + inner: dummy, + blob_gas_used: 0, + tx_type, + tx: tx_signed, + is_system: true, + }); } - let _precompile_trace_pop_guard = PrecompileTracePopGuard; - - self.evm - .transact(&tx) - .map_err(|err| BlockExecutionError::evm(err, tx_hash)) - } - - fn commit_transaction( - &mut self, - output: ResultAndState<::HaltReason>, - tx: impl ExecutableTx, - ) -> Result { - let ResultAndState { result, state } = output; - - let mut temp_state = state.clone(); - temp_state.remove(&SYSTEM_ADDRESS); - self.system_caller - .on_state(StateChangeSource::Transaction(self.receipts.len()), &temp_state); - - let gas_used = result.gas_used(); - self.gas_used += gas_used; - self.accumulate_blob_gas_used(tx.tx()); - self.receipts.push(self.receipt_builder.build_receipt(ReceiptBuilderCtx { - tx: tx.tx(), - evm: &self.evm, - result, - state: &state, - cumulative_gas_used: self.gas_used, - })); - - self.evm.db_mut().commit(state); - - Ok(gas_used) - } + // Apply hertz patch before tx (validation only, not mining). + if !self.ctx.is_miner { + self.hertz_patch_manager.patch_before_tx(&tx_signed, self.evm.db_mut())?; + } - fn execute_transaction_with_commit_condition( - &mut self, - tx: impl ExecutableTx, - f: impl FnOnce(&ExecutionResult<::HaltReason>) -> CommitChanges, - ) -> Result, BlockExecutionError> { - // The sum of the transaction's gas limit, Tg, and the gas utilized in this block prior, - // must be no greater than the block's gasLimit. let block_available_gas = self.evm.block().gas_limit() - self.gas_used; - - if tx.tx().gas_limit() > block_available_gas { + let tx_gas_limit = { + use alloy_consensus::Transaction as _; + tx_signed.gas_limit() + }; + if tx_gas_limit > block_available_gas { return Err(BlockValidationError::TransactionGasLimitMoreThanAvailableBlockGas { - transaction_gas_limit: tx.tx().gas_limit(), + transaction_gas_limit: tx_gas_limit, block_available_gas, } .into()); } - let tx_hash = tx.tx().trie_hash(); + let tx_hash = tx_signed.trie_hash(); let block_number = self.evm.block().number().to::(); let timestamp = self.evm.block().timestamp().to::(); - let spec = revm_spec_by_timestamp_and_block_number(self.spec.clone(), timestamp, block_number); + let spec = + revm_spec_by_timestamp_and_block_number(self.spec.clone(), timestamp, block_number); let (to, selector, input_len) = { - let to = tx.tx().to(); - let input = tx.tx().input(); - let selector = if input.len() >= 4 { - Some(hex::encode(&input[..4])) - } else { - None - }; + use alloy_consensus::Transaction as _; + let to = tx_signed.to(); + let input = tx_signed.input(); + let selector = if input.len() >= 4 { Some(hex::encode(&input[..4])) } else { None }; (to, selector, input.len()) }; - precompiles::push_precompile_trace_context(precompiles::PrecompileTraceContext::from_parts( - block_number, - spec, - false, - Some(tx_hash), - to, - selector, - input_len, - )); + precompiles::push_precompile_trace_context( + precompiles::PrecompileTraceContext::from_parts( + block_number, + spec, + false, + Some(tx_hash), + to, + selector, + input_len, + ), + ); struct PrecompileTracePopGuard; impl Drop for PrecompileTracePopGuard { fn drop(&mut self) { @@ -543,133 +532,63 @@ where } let _precompile_trace_pop_guard = PrecompileTracePopGuard; - // Execute transaction. - let ResultAndState { result, state } = self - .evm - .transact(&tx) - .map_err(|err| BlockExecutionError::evm(err, tx_hash))?; - - if !f(&result).should_commit() { - return Ok(None); - } - - let mut temp_state = state.clone(); - temp_state.remove(&SYSTEM_ADDRESS); - self.system_caller - .on_state(StateChangeSource::Transaction(self.receipts.len()), &temp_state); - - let gas_used = result.gas_used(); - - // append gas used - self.gas_used += gas_used; - self.accumulate_blob_gas_used(tx.tx()); - - // Push transaction changeset and calculate header bloom filter for receipt. - self.receipts.push(self.receipt_builder.build_receipt(ReceiptBuilderCtx { - tx: tx.tx(), - evm: &self.evm, - result, - state: &state, - cumulative_gas_used: self.gas_used, - })); + let blob_gas_used = + if BscHardforks::is_cancun_active_at_timestamp(&self.spec, block_number, timestamp) { + use alloy_consensus::Transaction as _; + tx_signed.blob_gas_used().unwrap_or_default() + } else { + 0 + }; - // Commit the state changes. - self.evm.db_mut().commit(state); + let inner = + self.evm.transact(tx_env).map_err(|err| BlockExecutionError::evm(err, tx_hash))?; - Ok(Some(gas_used)) + Ok(BscTxResult { inner, blob_gas_used, tx_type, tx: tx_signed, is_system: false }) } - fn execute_transaction_with_result_closure( + fn commit_transaction( &mut self, - tx: impl ExecutableTx - + IntoTxEnv<::Tx> - + RecoveredTx, - f: impl for<'b> FnOnce(&'b ExecutionResult<::HaltReason>), + output: BscTxResult, ) -> Result { - let signer = tx.signer(); - let is_system = is_system_transaction(tx.tx(), *signer, self.evm.block().beneficiary()); - if is_system { - self.system_txs.push(tx.tx().clone()); + if output.is_system { return Ok(0); } - self.hertz_patch_manager.patch_before_tx(tx.tx(), self.evm.db_mut())?; - - let block_available_gas = self.evm.block().gas_limit() - self.gas_used; - if tx.tx().gas_limit() > block_available_gas { - return Err(BlockValidationError::TransactionGasLimitMoreThanAvailableBlockGas { - transaction_gas_limit: tx.tx().gas_limit(), - block_available_gas, - } - .into()); - } - let tx_hash = tx.tx().trie_hash(); - let block_number = self.evm.block().number().to::(); - let timestamp = self.evm.block().timestamp().to::(); - let spec = revm_spec_by_timestamp_and_block_number(self.spec.clone(), timestamp, block_number); - let (to, selector, input_len) = { - let to = tx.tx().to(); - let input = tx.tx().input(); - let selector = if input.len() >= 4 { - Some(hex::encode(&input[..4])) - } else { - None - }; - (to, selector, input.len()) - }; - - precompiles::push_precompile_trace_context(precompiles::PrecompileTraceContext::from_parts( - block_number, - spec, - false, - Some(tx_hash), - to, - selector, - input_len, - )); - struct PrecompileTracePopGuard; - impl Drop for PrecompileTracePopGuard { - fn drop(&mut self) { - precompiles::pop_precompile_trace_context(); - } - } - let _precompile_trace_pop_guard = PrecompileTracePopGuard; - - let tx_ref = tx.tx().clone(); - let result_and_state = - self.evm.transact(tx).map_err(|err| BlockExecutionError::evm(err, tx_hash))?; - let ResultAndState { result, state } = result_and_state; - - f(&result); + let ResultAndState { result, state } = output.inner; let mut temp_state = state.clone(); temp_state.remove(&SYSTEM_ADDRESS); - self.system_caller.on_state(StateChangeSource::Transaction(self.receipts.len()), &temp_state); + self.system_caller + .on_state(StateChangeSource::Transaction(self.receipts.len()), &temp_state); let gas_used = result.gas_used(); self.gas_used += gas_used; - self.accumulate_blob_gas_used(&tx_ref); + self.blob_gas_used = self.blob_gas_used.saturating_add(output.blob_gas_used); + self.receipts.push(self.receipt_builder.build_receipt(ReceiptBuilderCtx { - tx: &tx_ref, + tx_type: output.tx_type, evm: &self.evm, result, state: &state, cumulative_gas_used: self.gas_used, })); + self.evm.db_mut().commit(state); - self.hertz_patch_manager.patch_after_tx(&tx_ref, self.evm.db_mut())?; + // Apply hertz patch after tx (validation only, not mining). + if !self.ctx.is_miner { + self.hertz_patch_manager.patch_after_tx(&output.tx, self.evm.db_mut())?; + } Ok(gas_used) } - fn finish( mut self, ) -> Result<(Self::Evm, BlockExecutionResult), BlockExecutionError> { let block_env = self.evm.block().clone(); debug!( - target: "bsc::executor", + target: "bsc::executor", block_id = %block_env.number(), is_miner = self.ctx.is_miner, "Start to finish" @@ -677,17 +596,17 @@ where let parent_timestamp = self.inner_ctx.parent_header.as_ref().unwrap().timestamp; self.try_update_build_in_system_contract( - self.evm.block().number().to::(), - self.evm.block().timestamp().to::(), - parent_timestamp, - false + self.evm.block().number().to::(), + self.evm.block().timestamp().to::(), + parent_timestamp, + false, )?; // Initialize Feynman contracts on transition block if self.spec.is_feynman_transition_at_timestamp( - self.evm.block().number().to::(), - self.evm.block().timestamp().to::(), - parent_timestamp + self.evm.block().number().to::(), + self.evm.block().timestamp().to::(), + parent_timestamp, ) { info!( target: "bsc::executor::feynman", @@ -715,23 +634,25 @@ where // Update receipt height metric let block_number = self.evm.block().number().to::(); self.blockchain_metrics.current_receipt_height.set(block_number as f64); - + // Update block execution metrics self.executor_metrics.executed_blocks_total.increment(1); - + // Update block insert metrics // Calculate total transaction size in bytes (simplified estimation) - // Each receipt contributes approximately: + // Each receipt contributes approximately: // - Base tx overhead: ~100 bytes // - Per log: ~100 bytes (address + topics + data average) - let tx_size_bytes: usize = self.receipts.iter() + let tx_size_bytes: usize = self + .receipts + .iter() .map(|r| { let logs_count = r.logs().len(); 100 + logs_count * 100 // Base + logs estimation }) .sum(); self.blockchain_metrics.block_tx_size_bytes.set(tx_size_bytes as f64); - + // Calculate block receive time difference // This is the difference between current block timestamp and parent block timestamp let current_timestamp = self.evm.block().timestamp().to::(); @@ -740,7 +661,7 @@ where let time_diff = (current_timestamp as i64) - (parent_timestamp as i64); self.blockchain_metrics.block_receive_time_diff_seconds.set(time_diff as f64); } - + // Note: For gas-related metrics, use reth's ExecutorMetrics: // - sync.execution.gas_used_histogram // - sync.execution.gas_per_second (can be converted to MGas/s) @@ -772,5 +693,4 @@ where fn receipts(&self) -> &[Self::Receipt] { &self.receipts } - } diff --git a/src/node/evm/mod.rs b/src/node/evm/mod.rs index 399848aa..c78432eb 100644 --- a/src/node/evm/mod.rs +++ b/src/node/evm/mod.rs @@ -25,7 +25,7 @@ use revm::{ context_interface::JournalTr, Context, ExecuteEvm, InspectEvm, Inspector, SystemCallEvm, }; -use revm_context_interface::journaled_state::account::JournaledAccountTr; +use revm::context_interface::journaled_state::account::JournaledAccountTr; mod assembler; mod builder; diff --git a/src/node/evm/patch/mod.rs b/src/node/evm/patch/mod.rs index dd124557..8eda7b65 100644 --- a/src/node/evm/patch/mod.rs +++ b/src/node/evm/patch/mod.rs @@ -1,8 +1,7 @@ use alloy_primitives::{address, b256, Address, B256, U256}; use reth_evm::block::BlockExecutionError; use reth_primitives_traits::SignedTransaction; -use reth_revm::{db::states::StorageSlot, State}; -use revm::Database; +use revm::{state::{Account, EvmState, EvmStorageSlot}, Database, DatabaseCommit}; use std::{collections::HashMap, str::FromStr, sync::LazyLock}; use tracing::trace; @@ -676,100 +675,94 @@ static CHAPEL_PATCHES_AFTER_TX: LazyLock> = LazyLock pub(crate) fn patch_mainnet_before_tx( transaction: &T, - state: &mut State, + db: &mut DB, ) -> Result<(), BlockExecutionError> where T: SignedTransaction, - DB: Database, - ::Error: Sync + Send + 'static, + DB: Database + DatabaseCommit, + ::Error: std::error::Error + Send + Sync + 'static, { let tx_hash = transaction.tx_hash(); if let Some(patch) = MAINNET_PATCHES_BEFORE_TX.get(tx_hash) { trace!("patch evm state for mainnet before tx {:?}", tx_hash); - - apply_patch(state, patch.address, &patch.storage)?; + apply_patch(db, patch.address, &patch.storage)?; } Ok(()) } pub(crate) fn patch_mainnet_after_tx( transaction: &T, - state: &mut State, + db: &mut DB, ) -> Result<(), BlockExecutionError> where - DB: Database, - ::Error: Sync + Send + 'static, + DB: Database + DatabaseCommit, + ::Error: std::error::Error + Send + Sync + 'static, T: SignedTransaction, { let tx_hash = transaction.tx_hash(); if let Some(patch) = MAINNET_PATCHES_AFTER_TX.get(tx_hash) { trace!("patch evm state for mainnet after tx {:?}", tx_hash); - - apply_patch(state, patch.address, &patch.storage)?; + apply_patch(db, patch.address, &patch.storage)?; } Ok(()) } pub(crate) fn patch_chapel_before_tx( transaction: &T, - state: &mut State, + db: &mut DB, ) -> Result<(), BlockExecutionError> where T: SignedTransaction, - DB: Database, - ::Error: Sync + Send + 'static, + DB: Database + DatabaseCommit, + ::Error: std::error::Error + Send + Sync + 'static, { let tx_hash = transaction.tx_hash(); if let Some(patch) = CHAPEL_PATCHES_BEFORE_TX.get(tx_hash) { trace!("patch evm state for chapel testnet before tx {:?}", tx_hash); - - apply_patch(state, patch.address, &patch.storage)?; + apply_patch(db, patch.address, &patch.storage)?; } Ok(()) } pub(crate) fn patch_chapel_after_tx( transaction: &T, - state: &mut State, + db: &mut DB, ) -> Result<(), BlockExecutionError> where - DB: Database, - ::Error: Sync + Send + 'static, + DB: Database + DatabaseCommit, + ::Error: std::error::Error + Send + Sync + 'static, T: SignedTransaction, { let tx_hash = transaction.tx_hash(); if let Some(patch) = CHAPEL_PATCHES_AFTER_TX.get(tx_hash) { trace!("patch evm state for chapel testnet after tx {:?}", tx_hash); - - apply_patch(state, patch.address, &patch.storage)?; + apply_patch(db, patch.address, &patch.storage)?; } Ok(()) } fn apply_patch( - state: &mut State, + db: &mut DB, address: Address, storage: &HashMap, ) -> Result<(), BlockExecutionError> where - DB: Database, - ::Error: Sync + Send + 'static, + DB: Database + DatabaseCommit, + ::Error: std::error::Error + Send + Sync + 'static, { - let account = state.load_cache_account(address).map_err(BlockExecutionError::other)?; - let account_change = account.change( - account.account_info().unwrap_or_default(), - storage - .iter() - .map(|(key, value)| { - ( - *key, - StorageSlot { previous_or_original_value: U256::ZERO, present_value: *value }, - ) - }) - .collect(), - ); - - state.apply_transition(vec![(address, account_change)]); + let info = db.basic(address).map_err(BlockExecutionError::other)?.unwrap_or_default(); + let mut account = Account::from(info); + account.mark_touch(); + for (&key, &value) in storage.iter() { + let original = if value == U256::ZERO { U256::from(1) } else { U256::ZERO }; + account.storage.insert( + key, + EvmStorageSlot { original_value: original, present_value: value, transaction_id: 0, is_cold: false }, + ); + } + let mut changes: EvmState = Default::default(); + changes.insert(address, account); + db.commit(changes); Ok(()) } @@ -784,31 +777,31 @@ impl HertzPatchManager { Self { is_mainnet } } - pub fn patch_before_tx(&self, transaction: &T, state: &mut State) -> Result<(), BlockExecutionError> + pub fn patch_before_tx(&self, transaction: &T, db: &mut DB) -> Result<(), BlockExecutionError> where T: SignedTransaction, - DB: Database, - ::Error: Sync + Send + 'static, + DB: Database + DatabaseCommit, + ::Error: std::error::Error + Send + Sync + 'static, { if self.is_mainnet { - patch_mainnet_before_tx(transaction, state)?; + patch_mainnet_before_tx(transaction, db)?; } else { - patch_chapel_before_tx(transaction, state)?; + patch_chapel_before_tx(transaction, db)?; } Ok(()) } - + /// Apply patches after transaction execution - pub fn patch_after_tx(&self, transaction: &T, state: &mut State) -> Result<(), BlockExecutionError> + pub fn patch_after_tx(&self, transaction: &T, db: &mut DB) -> Result<(), BlockExecutionError> where T: SignedTransaction, - DB: Database, - ::Error: Sync + Send + 'static, + DB: Database + DatabaseCommit, + ::Error: std::error::Error + Send + Sync + 'static, { if self.is_mainnet { - patch_mainnet_after_tx(transaction, state)?; + patch_mainnet_after_tx(transaction, db)?; } else { - patch_chapel_after_tx(transaction, state)?; + patch_chapel_after_tx(transaction, db)?; } Ok(()) } diff --git a/src/node/evm/post_execution.rs b/src/node/evm/post_execution.rs index 599b61d9..0db81d58 100644 --- a/src/node/evm/post_execution.rs +++ b/src/node/evm/post_execution.rs @@ -12,17 +12,16 @@ use crate::evm::precompiles; use crate::evm::transaction::BscTxEnv; use crate::system_contracts::{SLASH_CONTRACT, SYSTEM_REWARD_CONTRACT, STAKE_HUB_CONTRACT, feynman_fork::{ValidatorElectionInfo, get_top_validators_by_voting_power, ElectedValidators}}; use reth_chainspec::{EthChainSpec, EthereumHardforks, Hardforks}; -use reth_evm::{eth::receipt_builder::{ReceiptBuilder, ReceiptBuilderCtx}, execute::BlockExecutionError, Database, Evm, FromRecoveredTx, FromTxWithEncoded, IntoTxEnv, block::StateChangeSource}; -use reth_primitives::{TransactionSigned, Transaction}; -use reth_revm::State; +use reth_evm::{eth::receipt_builder::{ReceiptBuilder, ReceiptBuilderCtx}, execute::BlockExecutionError, Evm, FromRecoveredTx, FromTxWithEncoded, IntoTxEnv, block::StateChangeSource}; +use reth_ethereum_primitives::{TransactionSigned, Transaction}; use crate::node::evm::ResultAndState; use revm::{ context::{BlockEnv, TxEnv}, context_interface::block::Block, - Database as RevmDatabase, + Database as _, DatabaseCommit, + state::{Account as RevmAccount, EvmState}, }; -use revm_database::DatabaseCommitExt; use alloy_consensus::{Header, TxReceipt, Transaction as AlloyTransaction, SignableTransaction}; use alloy_primitives::{Address, BlockNumber, TxKind, U256, hex}; use std::collections::HashMap; @@ -39,11 +38,10 @@ fn turn_length_matches(turn_length_from_header: Option, expected_turn_length } -impl<'a, DB, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> +impl<'a, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> where - DB: Database + 'a, EVM: Evm< - DB = &'a mut State, + DB: alloy_evm::block::StateDB + 'a, Tx: FromRecoveredTx + FromRecoveredTx + FromTxWithEncoded, @@ -414,7 +412,7 @@ where } let _precompile_trace_pop_guard = PrecompileTracePopGuard; - let result_and_state = self.evm.transact(tx_env).map_err(BlockExecutionError::other)?; + let result_and_state = self.evm.transact(tx_env.into_tx_env()).map_err(BlockExecutionError::other)?; let ResultAndState { result, state } = result_and_state; let mut temp_state = state.clone(); temp_state.remove(&SYSTEM_ADDRESS); @@ -422,12 +420,16 @@ where let gas_used = result.gas_used(); self.gas_used += gas_used; - + // Record system transaction gas usage self.executor_metrics.system_tx_gas_used_total.increment(gas_used); + let tx_type = { + use alloy_consensus::TxType; + signed_tx.as_ref().map(|tx| tx.tx_type()).unwrap_or(TxType::Legacy) + }; self.receipts.push(self.receipt_builder.build_receipt(ReceiptBuilderCtx { - tx: signed_tx.as_ref().unwrap(), + tx_type, evm: &self.evm, result, state: &state, @@ -446,27 +448,37 @@ where &mut self, validator: Address, ) -> Result<(), BlockExecutionError> { - let system_account = self - .evm - .db_mut() - .load_cache_account(SYSTEM_ADDRESS) - .map_err(BlockExecutionError::other)?; + let system_info = self.evm.db_mut().basic(SYSTEM_ADDRESS) + .map_err(BlockExecutionError::other)? + .unwrap_or_default(); + let mut block_reward = system_info.balance.to::(); - if system_account.account.is_none() || - system_account.account.as_ref().unwrap().info.balance == U256::ZERO - { + if block_reward == 0 { return Ok(()); } - let (mut block_reward, mut transition) = system_account.drain_balance(); - transition.info = None; - self.evm.db_mut().apply_transition(vec![(SYSTEM_ADDRESS, transition)]); - let balance_increment = vec![(validator, block_reward)]; + // Zero out SYSTEM_ADDRESS balance + { + let mut system_account = RevmAccount::from(system_info); + system_account.mark_touch(); + system_account.info.balance = U256::ZERO; + let mut changes: EvmState = Default::default(); + changes.insert(SYSTEM_ADDRESS, system_account); + self.evm.db_mut().commit(changes); + } - self.evm - .db_mut() - .increment_balances(balance_increment) - .map_err(BlockExecutionError::other)?; + // Credit validator with the block reward + { + let validator_info = self.evm.db_mut().basic(validator) + .map_err(BlockExecutionError::other)? + .unwrap_or_default(); + let mut validator_account = RevmAccount::from(validator_info); + validator_account.mark_touch(); + validator_account.info.balance = validator_account.info.balance.saturating_add(U256::from(block_reward)); + let mut changes: EvmState = Default::default(); + changes.insert(validator, validator_account); + self.evm.db_mut().commit(changes); + } let system_reward_balance = self .evm @@ -491,7 +503,7 @@ where // Track system rewards distribution self.rewards_metrics.system_rewards_distributed_total.increment(1); // Note: Truncating to u64 for metrics (large rewards unlikely) - self.rewards_metrics.system_rewards_amount_wei_total.increment(reward_to_system.min(u128::from(u64::MAX)) as u64); + self.rewards_metrics.system_rewards_amount_wei_total.increment(reward_to_system.min(u64::MAX as u128) as u64); } block_reward -= reward_to_system; @@ -505,7 +517,7 @@ where // Track validator rewards distribution self.rewards_metrics.validator_rewards_distributed_total.increment(1); // Note: Truncating to u64 for metrics (large rewards unlikely) - self.rewards_metrics.validator_rewards_amount_wei_total.increment(block_reward.min(u128::from(u64::MAX)) as u64); + self.rewards_metrics.validator_rewards_amount_wei_total.increment(block_reward.min(u64::MAX as u128) as u64); Ok(()) } diff --git a/src/node/evm/pre_execution.rs b/src/node/evm/pre_execution.rs index f3a79b31..a844ae5a 100644 --- a/src/node/evm/pre_execution.rs +++ b/src/node/evm/pre_execution.rs @@ -2,9 +2,8 @@ use super::executor::BscBlockExecutor; use crate::evm::transaction::BscTxEnv; use reth_chainspec::{EthChainSpec, EthereumHardforks, Hardforks}; -use reth_evm::{eth::receipt_builder::ReceiptBuilder, execute::BlockExecutionError, Database, Evm, FromRecoveredTx, FromTxWithEncoded, IntoTxEnv}; -use reth_primitives::TransactionSigned; -use reth_revm::State; +use reth_evm::{eth::receipt_builder::ReceiptBuilder, execute::BlockExecutionError, Evm, FromRecoveredTx, FromTxWithEncoded, IntoTxEnv}; +use reth_ethereum_primitives::TransactionSigned; use revm::{ context::{BlockEnv, TxEnv}, context_interface::block::Block, @@ -20,7 +19,7 @@ use crate::node::evm::util::HEADER_CACHE_READER; use crate::system_contracts::feynman_fork::ValidatorElectionInfo; use std::{collections::HashMap, sync::{LazyLock, Mutex}}; use schnellru::{ByLength, LruMap}; -use reth_primitives::GotExpected; +use reth_primitives_traits::GotExpected; use blst::{ min_pk::{PublicKey, Signature}, BLST_ERROR, @@ -41,11 +40,10 @@ pub static TURN_LENGTH_CACHE: LazyLock> = LazyLock::new(| Mutex::new(LruMap::new(ByLength::new(1024))) }); -impl<'a, DB, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> +impl<'a, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> where - DB: Database + 'a, EVM: Evm< - DB = &'a mut State, + DB: alloy_evm::block::StateDB + 'a, Tx: FromRecoveredTx + FromRecoveredTx + FromTxWithEncoded, @@ -232,7 +230,7 @@ where is_system_transaction: true, }; - let result_and_state = self.evm.transact(tx_env).map_err(BlockExecutionError::other)?; + let result_and_state = self.evm.transact(tx_env.into_tx_env()).map_err(BlockExecutionError::other)?; if !result_and_state.result.is_success() { tracing::error!("Failed to eth call, to: {:?}, data: {:?}", to, data); return Err(BlockExecutionError::msg("ETH call failed")); diff --git a/src/node/evm/util.rs b/src/node/evm/util.rs index b3c4cb34..e1052db8 100644 --- a/src/node/evm/util.rs +++ b/src/node/evm/util.rs @@ -1,4 +1,4 @@ -use reth_primitives::Transaction; +use reth_ethereum_primitives::Transaction; use alloy_consensus::{Header, BlockHeader}; use alloy_primitives::{B256, BlockHash, BlockNumber}; use schnellru::{ByLength, LruMap}; diff --git a/src/node/miner/bid_simulator.rs b/src/node/miner/bid_simulator.rs index c1f8805f..259b9d7a 100644 --- a/src/node/miner/bid_simulator.rs +++ b/src/node/miner/bid_simulator.rs @@ -15,7 +15,7 @@ use alloy_evm::Evm; use alloy_primitives::U256; use alloy_primitives::{Address, B256}; use parking_lot::RwLock; -use reth::payload::EthPayloadBuilderAttributes; +use reth_node_ethereum::engine::EthPayloadAttributes; use reth::transaction_pool::BestTransactionsAttributes; use reth_chainspec::EthChainSpec; use reth_ethereum_payload_builder::EthereumBuilderConfig; @@ -24,12 +24,12 @@ use reth_evm::execute::BlockBuilderOutcome; use reth_evm::execute::{BlockExecutionError, BlockValidationError}; use reth_evm::{ConfigureEvm, NextBlockEnvAttributes}; use reth_execution_types::BlockExecutionOutput; -use reth_payload_primitives::PayloadBuilderAttributes; use reth_payload_primitives::{BuiltPayloadExecutedBlock, PayloadBuilderError}; +use alloy_eips::eip4895::Withdrawals; use either::Either; -use revm_context_interface::Block as EvmBlock; -use reth_primitives::SealedHeader; -use reth_primitives::TransactionSigned; +use revm::context_interface::Block as EvmBlock; +use reth_primitives_traits::SealedHeader; +use reth_ethereum_primitives::TransactionSigned; use reth_primitives_traits::SignerRecoverable; use reth_provider::StateProviderFactory; use reth_provider::{BlockHashReader, HeaderProvider}; @@ -51,7 +51,7 @@ pub struct Bid { pub builder: Address, pub block_number: u64, pub parent_hash: B256, - pub txs: Vec, + pub txs: Vec, pub blob_sidecars: HashMap, pub un_revertible: Vec, pub gas_used: u64, @@ -79,6 +79,7 @@ pub struct BidSimulator { parlia: Arc>, pool: Pool, validator_address: Address, + task_executor: reth_tasks::TaskExecutor, // Each map has its own lock for fine-grained concurrency control // This avoids writer starvation when one operation needs write access @@ -117,12 +118,14 @@ where snapshot_provider: Arc, validator_commission: u64, greedy_merge: bool, + task_executor: reth_tasks::TaskExecutor, ) -> Self { Self { client, parlia, pool, validator_address, + task_executor, chain_spec, snapshot_provider, best_bid_to_run: Arc::new(RwLock::new(HashMap::new())), @@ -313,7 +316,7 @@ where &self, _bid: &Bid, _validator_commission: u64, - attributes: EthPayloadBuilderAttributes, + attributes: EthPayloadAttributes, mining_ctx: MiningContext, ) -> Result, Box> { let mut runtime = BidRuntime::new( @@ -419,6 +422,7 @@ where parent_header.state_root(), path_db, Some(difflayers), + self.task_executor.clone(), ) .ok() }); @@ -442,12 +446,12 @@ where &parent_header, BscNextBlockEnvAttributes { inner: NextBlockEnvAttributes { - timestamp: attributes.timestamp(), - suggested_fee_recipient: attributes.suggested_fee_recipient(), - prev_randao: attributes.prev_randao(), + timestamp: attributes.timestamp, + suggested_fee_recipient: attributes.suggested_fee_recipient, + prev_randao: attributes.prev_randao, gas_limit, - parent_beacon_block_root: attributes.parent_beacon_block_root(), - withdrawals: Some(attributes.withdrawals().clone()), + parent_beacon_block_root: attributes.parent_beacon_block_root, + withdrawals: attributes.withdrawals.as_ref().map(|w| Withdrawals::new(w.clone())), extra_data: builder_config.extra_data.clone(), }, parent_difflayers: triedb_env_difflayers, @@ -703,7 +707,7 @@ pub struct BidRuntime { pool: Pool, evm_config: EvmConfig, parent_header: SealedHeader, - attributes: EthPayloadBuilderAttributes, + attributes: EthPayloadAttributes, builder_config: EthereumBuilderConfig, chain_spec: Arc, pub bsc_payload: Option, @@ -733,7 +737,7 @@ where bid: Bid, pool: Pool, evm_config: EvmConfig, - attributes: EthPayloadBuilderAttributes, + attributes: EthPayloadAttributes, chain_spec: Arc, mining_ctx: MiningContext, ) -> Self { @@ -807,7 +811,7 @@ where B::Primitives: reth_primitives_traits::NodePrimitives, { let base_fee: u64 = builder.evm().block().basefee(); - let blob_params = self.chain_spec.blob_params_at_timestamp(self.attributes.timestamp()); + let blob_params = self.chain_spec.blob_params_at_timestamp(self.attributes.timestamp); let header = self.mining_ctx.header.as_ref().unwrap(); let blob_eligible = is_blob_eligible_block(&self.chain_spec, header.number, header.timestamp); let mut max_blob_count = @@ -959,7 +963,7 @@ where fn fill_tx_from_pool( &mut self, builder: &mut B, - bid_txs: Vec, + bid_txs: Vec, block_gas_limit: u64, delay_ms: u64, ) -> Result<(), Box> diff --git a/src/node/miner/bsc_miner.rs b/src/node/miner/bsc_miner.rs index 98807827..83f33e51 100644 --- a/src/node/miner/bsc_miner.rs +++ b/src/node/miner/bsc_miner.rs @@ -33,7 +33,8 @@ use reth_chainspec::EthChainSpec; use reth_ethereum_payload_builder::EthereumBuilderConfig; use reth_network::message::NewBlockMessage; use reth_payload_primitives::BuiltPayload; -use reth_primitives::{SealedHeader, TransactionSigned}; +use reth_primitives_traits::SealedHeader; +use reth_ethereum_primitives::TransactionSigned; use reth_primitives_traits::BlockBody; use reth_provider::{ BlockNumReader, CanonStateNotification, CanonStateSubscriptions, HeaderProvider, @@ -53,8 +54,8 @@ const RECENT_MINED_BLOCKS_CACHE_SIZE: usize = 100; #[derive(Clone, Debug)] pub struct MiningContext { - pub header: Option, // tmp header for payload building. - pub parent_header: reth_primitives::SealedHeader, + pub header: Option, // tmp header for payload building. + pub parent_header: reth_primitives_traits::SealedHeader, pub parent_snapshot: Arc, pub is_inturn: bool, pub cached_reads: Option, @@ -403,7 +404,7 @@ where } } - fn get_tip_header_at_startup(&self) -> Option { + fn get_tip_header_at_startup(&self) -> Option { let best_number = self.provider.best_block_number().ok()?; let tip_header = self.provider.sealed_header(best_number).ok()??; Some(tip_header) @@ -564,6 +565,7 @@ pub struct MainWorkWorker { simulator: Arc>, // No outer RwLock, each map has its own lock desired_gas_limit: u64, desired_min_gas_tip: u128, + task_executor: reth_tasks::TaskExecutor, } impl MainWorkWorker @@ -592,6 +594,7 @@ where payload_tx: mpsc::UnboundedSender, desired_gas_limit: u64, desired_min_gas_tip: u128, + task_executor: reth_tasks::TaskExecutor, ) -> Self { Self { pool, @@ -606,6 +609,7 @@ where payload_job_join_set: JoinSet::new(), desired_gas_limit, desired_min_gas_tip, + task_executor, } } @@ -719,10 +723,11 @@ where self.chain_spec.clone(), self.parlia.clone(), mining_ctx.clone(), + self.task_executor.clone(), ); let build_args = BscBuildArguments { cached_reads: mining_ctx.cached_reads.clone().unwrap_or_default(), - config: PayloadConfig::new(Arc::new(mining_ctx.parent_header.clone()), attributes), + config: PayloadConfig::new(Arc::new(mining_ctx.parent_header.clone()), attributes, alloy_rpc_types_engine::PayloadId::new([0u8; 8])), cancel: ManualCancel::default(), trace_id: crate::node::miner::payload::generate_trace_id(), min_gas_tip: crate::shared::get_miner_gas_tip() @@ -1275,6 +1280,7 @@ where snapshot_provider.clone(), mining_config.validator_commission.unwrap_or(100), mining_config.greedy_merge, + task_executor.clone(), )); let main_work_worker = MainWorkWorker::new( validator_address, @@ -1287,6 +1293,7 @@ where payload_tx, desired_gas_limit, desired_min_gas_tip, + task_executor.clone(), ); let result_work_worker = ResultWorkWorker::new( @@ -1321,10 +1328,10 @@ where } fn spawn_workers(self) -> Result<(), Box> { - self.task_executor.spawn_critical("mev_work_worker", self.mev_work_worker.run()); - self.task_executor.spawn_critical("new_work_worker", self.new_work_worker.run()); - self.task_executor.spawn_critical("main_work_worker", self.main_work_worker.run()); - self.task_executor.spawn_critical("result_work_worker", self.result_work_worker.run()); + self.task_executor.spawn_critical_task("mev_work_worker", self.mev_work_worker.run()); + self.task_executor.spawn_critical_task("new_work_worker", self.new_work_worker.run()); + self.task_executor.spawn_critical_task("main_work_worker", self.main_work_worker.run()); + self.task_executor.spawn_critical_task("result_work_worker", self.result_work_worker.run()); info!("Succeed to start mining, address: {}", self.validator_address); Ok(()) } diff --git a/src/node/miner/payload.rs b/src/node/miner/payload.rs index 7dce6cb4..026cd103 100644 --- a/src/node/miner/payload.rs +++ b/src/node/miner/payload.rs @@ -18,7 +18,7 @@ use alloy_consensus::{BlockHeader, Transaction}; use alloy_evm::block::BlockExecutor; use alloy_evm::Evm; use alloy_primitives::U256; -use reth::payload::EthPayloadBuilderAttributes; +use reth_node_ethereum::engine::EthPayloadAttributes; use reth::transaction_pool::error::Eip4844PoolTransactionError; use reth::transaction_pool::error::InvalidPoolTransactionError; use reth::transaction_pool::BestTransactionsAttributes; @@ -31,14 +31,14 @@ use reth_evm::execute::BlockBuilder; use reth_evm::execute::BlockBuilderOutcome; use reth_evm::{ConfigureEvm, NextBlockEnvAttributes}; use reth_execution_types::BlockExecutionOutput; -use reth_payload_primitives::PayloadBuilderAttributes; use reth_payload_primitives::{BuiltPayload, BuiltPayloadExecutedBlock, PayloadBuilderError}; +use alloy_eips::eip4895::Withdrawals; use either::Either; use once_cell::sync::Lazy; -use revm_context_interface::Block as EvmBlock; -use reth_primitives::{HeaderTy, SealedHeader}; -use reth_primitives::InvalidTransactionError; -use reth_primitives::TransactionSigned; +use revm::context_interface::Block as EvmBlock; +use reth_primitives_traits::{HeaderTy, SealedHeader}; +use reth_primitives_traits::transaction::error::InvalidTransactionError; +use reth_ethereum_primitives::TransactionSigned; use reth_primitives_traits::{BlockBody, RecoveredBlock, SignerRecoverable}; use reth_provider::StateProviderFactory; use reth_revm::cached::CachedReads; @@ -306,6 +306,8 @@ pub struct BscPayloadBuilder { parlia: Arc>, // Mining context containing header information for blob fee calculation ctx: MiningContext, + /// Task executor for spawning blocking tasks (e.g., trie prefetcher). + task_executor: reth_tasks::TaskExecutor, } impl BscPayloadBuilder @@ -320,7 +322,8 @@ where >, Pool: TransactionPool> + 'static, { - pub const fn new( + #[allow(clippy::too_many_arguments)] + pub fn new( client: Client, pool: Pool, evm_config: EvmConfig, @@ -328,8 +331,9 @@ where chain_spec: Arc, parlia: Arc>, ctx: MiningContext, + task_executor: reth_tasks::TaskExecutor, ) -> Self { - Self { client, pool, evm_config, builder_config, chain_spec, parlia, ctx } + Self { client, pool, evm_config, builder_config, chain_spec, parlia, ctx, task_executor } } /// Builds a payload with the given arguments. @@ -349,11 +353,11 @@ where /// Returns a `Result` containing the built payload or an error. pub async fn build_payload( &self, - args: BscBuildArguments, + args: BscBuildArguments, ) -> Result> { let build_start = std::time::Instant::now(); let BscBuildArguments { mut cached_reads, config, cancel, trace_id, min_gas_tip, parent_difflayers } = args; - let PayloadConfig { parent_header, attributes } = config; + let PayloadConfig { parent_header, attributes, payload_id: _ } = config; let parent_hash = parent_header.hash_slow(); // Parent difflayers were fetched once at job start; reuse across all retry attempts. @@ -397,7 +401,7 @@ where let triedb_prefetcher = triedb_parent_difflayers.clone().and_then(|difflayers| { let mut triedb = get_global_triedb(); let path_db = triedb.get_mut_path_db_ref().clone(); - MinerTrieDbPrefetcher::new(parent_header.state_root(), path_db, Some(difflayers)).ok() + MinerTrieDbPrefetcher::new(parent_header.state_root(), path_db, Some(difflayers), self.task_executor.clone()).ok() }); // Sinks transport current_validators / turn_length from the builder (which is consumed by @@ -409,12 +413,12 @@ where let next_env_attributes = BscNextBlockEnvAttributes { inner: NextBlockEnvAttributes { - timestamp: attributes.timestamp(), - suggested_fee_recipient: attributes.suggested_fee_recipient(), - prev_randao: attributes.prev_randao(), + timestamp: attributes.timestamp, + suggested_fee_recipient: attributes.suggested_fee_recipient, + prev_randao: attributes.prev_randao, gas_limit: self.builder_config.gas_limit(parent_header.gas_limit), - parent_beacon_block_root: attributes.parent_beacon_block_root(), - withdrawals: Some(attributes.withdrawals().clone()), + parent_beacon_block_root: attributes.parent_beacon_block_root, + withdrawals: attributes.withdrawals.as_ref().map(|w| Withdrawals::new(w.clone())), extra_data: crate::shared::get_miner_extra() .filter(|b| !b.is_empty()) .unwrap_or_else(|| self.builder_config.extra_data.clone()), @@ -477,7 +481,7 @@ where let mut block_blob_count = 0; let mut blob_fee = None; - let blob_params = self.chain_spec.blob_params_at_timestamp(attributes.timestamp()); + let blob_params = self.chain_spec.blob_params_at_timestamp(attributes.timestamp); let header = self.ctx.header.as_ref().ok_or_else(|| { Box::new(std::io::Error::other("Missing header in mining context")) as Box @@ -609,7 +613,7 @@ where if BscHardforks::is_cancun_active_at_timestamp( &self.chain_spec, parent_header.number + 1, - attributes.timestamp(), + attributes.timestamp, ) { let left = max_blob_count - block_blob_count; if left < blob_tx.tx().blob_gas_used().unwrap_or(0) / BLOB_TX_BLOB_GAS_PER_BLOB @@ -876,12 +880,12 @@ where /// Only contains system transactions (if any) pub async fn build_empty_payload( &self, - args: BscBuildArguments, + args: BscBuildArguments, ) -> Result> { let build_start = std::time::Instant::now(); let BscBuildArguments { mut cached_reads, config, cancel: _, trace_id, min_gas_tip: _, parent_difflayers } = args; - let PayloadConfig { parent_header, attributes } = config; + let PayloadConfig { parent_header, attributes, payload_id: _ } = config; let parent_hash = parent_header.hash_slow(); // Parent difflayers were fetched once at job start; reuse across all retry attempts. @@ -923,7 +927,7 @@ where let triedb_prefetcher = triedb_parent_difflayers.clone().and_then(|difflayers| { let mut triedb = get_global_triedb(); let path_db = triedb.get_mut_path_db_ref().clone(); - MinerTrieDbPrefetcher::new(parent_header.state_root(), path_db, Some(difflayers)).ok() + MinerTrieDbPrefetcher::new(parent_header.state_root(), path_db, Some(difflayers), self.task_executor.clone()).ok() }); // Sinks for empty-payload builds (same delayed-seal mechanism as normal builds). @@ -938,12 +942,12 @@ where &parent_header, BscNextBlockEnvAttributes { inner: NextBlockEnvAttributes { - timestamp: attributes.timestamp(), - suggested_fee_recipient: attributes.suggested_fee_recipient(), - prev_randao: attributes.prev_randao(), + timestamp: attributes.timestamp, + suggested_fee_recipient: attributes.suggested_fee_recipient, + prev_randao: attributes.prev_randao, gas_limit: self.builder_config.gas_limit(parent_header.gas_limit), - parent_beacon_block_root: attributes.parent_beacon_block_root(), - withdrawals: Some(attributes.withdrawals().clone()), + parent_beacon_block_root: attributes.parent_beacon_block_root, + withdrawals: attributes.withdrawals.as_ref().map(|w| Withdrawals::new(w.clone())), extra_data: crate::shared::get_miner_extra() .filter(|b| !b.is_empty()) .unwrap_or_else(|| self.builder_config.extra_data.clone()), @@ -1129,7 +1133,7 @@ where /// Potential payloads vector for selecting the best one potential_payloads: Vec, /// Current build arguments - build_args: BscBuildArguments, + build_args: BscBuildArguments, /// Retry count for payload building retries: u32, /// JoinSet for managing build tasks @@ -1176,7 +1180,7 @@ where parlia: Arc>, mining_ctx: MiningContext, builder: BscPayloadBuilder, - build_args: BscBuildArguments, + build_args: BscBuildArguments, simulator: Arc>, // No outer RwLock needed result_tx: mpsc::UnboundedSender, ) -> (Self, BscPayloadJobHandle) { @@ -2287,7 +2291,7 @@ mod tests { }; use alloy_primitives::{Address, B256, U256}; use reth::transaction_pool::error::Eip4844PoolTransactionError; - use reth_primitives::SealedHeader; + use reth_primitives_traits::SealedHeader; use std::sync::Arc; use std::time::Duration; diff --git a/src/node/miner/signer.rs b/src/node/miner/signer.rs index ed326932..03781081 100644 --- a/src/node/miner/signer.rs +++ b/src/node/miner/signer.rs @@ -1,6 +1,6 @@ use once_cell::sync::OnceCell; use std::sync::Arc; -use reth_primitives::{Transaction, TransactionSigned}; +use reth_ethereum_primitives::{Transaction, TransactionSigned}; // reth signing helper avoided to not materialize a B256 from secret use alloy_primitives::B256; use alloy_consensus::{SignableTransaction, Header}; @@ -128,7 +128,7 @@ mod tests { use alloy_consensus::Header; use alloy_primitives::{keccak256, Address, Bytes, TxKind, U256}; use alloy_consensus::TxLegacy; - use reth_primitives::Transaction; + use reth_ethereum_primitives::Transaction; use reth_primitives_traits::SignerRecoverable; use secp256k1::{ecdsa::RecoverableSignature, ecdsa::RecoveryId}; diff --git a/src/node/miner/util.rs b/src/node/miner/util.rs index 13712c87..27209791 100644 --- a/src/node/miner/util.rs +++ b/src/node/miner/util.rs @@ -17,9 +17,9 @@ use crate::node::miner::bsc_miner::MiningContext; use crate::node::miner::signer::{seal_header_with_global_signer, SignerError}; use alloy_consensus::{BlockHeader, Header}; use alloy_primitives::{Address, Bytes, B256}; -use reth::payload::EthPayloadBuilderAttributes; +use reth_node_ethereum::engine::EthPayloadAttributes; use reth_chainspec::EthChainSpec; -use reth_primitives::SealedHeader; +use reth_primitives_traits::SealedHeader; use std::sync::Arc; fn resolve_epoch_validators( @@ -79,7 +79,7 @@ pub fn prepare_new_attributes( parlia: Arc>, parent_header: &SealedHeader, signer: Address, -) -> EthPayloadBuilderAttributes { +) -> EthPayloadAttributes { let mut new_header = prepare_new_header(parlia.clone(), parent_header, signer); // Cache the planned millisecond timestamp so finalize_new_header can reuse it verbatim. ctx.block_timestamp_ms = @@ -97,12 +97,12 @@ pub fn prepare_new_attributes( // Ethereum PoS). The validation path in BscEvmConfig::evm_env sets // `prevrandao = header.difficulty()`, so the building path must match. let difficulty = calculate_difficulty(&ctx.parent_snapshot, signer); - let mut attributes = EthPayloadBuilderAttributes { - parent: new_header.parent_hash, + let mut attributes = EthPayloadAttributes { timestamp: new_header.timestamp, suggested_fee_recipient: new_header.beneficiary, prev_randao: difficulty.into(), - ..Default::default() + withdrawals: None, + parent_beacon_block_root: None, }; if BscHardforks::is_bohr_active_at_timestamp( &parlia.spec, diff --git a/src/node/mod.rs b/src/node/mod.rs index 38743b3e..55fe7f1b 100644 --- a/src/node/mod.rs +++ b/src/node/mod.rs @@ -29,7 +29,7 @@ use reth_engine_local::LocalPayloadAttributesBuilder; use reth_engine_primitives::ConsensusEngineHandle; use reth_payload_primitives::{PayloadAttributesBuilder, PayloadTypes}; -use reth_primitives::BlockBody; +use reth_ethereum_primitives::BlockBody; use std::sync::Arc; use tokio::sync::{oneshot, Mutex}; use tracing::trace; diff --git a/src/node/network/block_import/fork_recover.rs b/src/node/network/block_import/fork_recover.rs index 3711ea77..9f1a2a04 100644 --- a/src/node/network/block_import/fork_recover.rs +++ b/src/node/network/block_import/fork_recover.rs @@ -518,14 +518,14 @@ mod tests { fn sealed_header( &self, _number: u64, - ) -> Result>, ProviderError> { + ) -> Result>, ProviderError> { Ok(None) } fn sealed_headers_while( &self, _range: impl core::ops::RangeBounds, - _predicate: impl FnMut(&reth_primitives::SealedHeader) -> bool, - ) -> Result>, ProviderError> { + _predicate: impl FnMut(&reth_primitives_traits::SealedHeader) -> bool, + ) -> Result>, ProviderError> { Ok(vec![]) } } diff --git a/src/node/network/block_import/mod.rs b/src/node/network/block_import/mod.rs index 38097095..3b32defa 100644 --- a/src/node/network/block_import/mod.rs +++ b/src/node/network/block_import/mod.rs @@ -4,7 +4,7 @@ use reth_engine_primitives::EngineTypes; use reth_network::import::{BlockImport, BlockImportOutcome, NewBlockEvent}; use reth_network_peers::PeerId; use reth_payload_primitives::{BuiltPayload, PayloadTypes}; -use reth_primitives::NodePrimitives; +use reth_primitives_traits::NodePrimitives; use service::{BlockMsg, ImportEvent, Outcome}; use std::{ fmt, diff --git a/src/node/network/block_import/service.rs b/src/node/network/block_import/service.rs index 031b2424..f9197cc3 100644 --- a/src/node/network/block_import/service.rs +++ b/src/node/network/block_import/service.rs @@ -32,8 +32,8 @@ use reth_network::{ use reth_network_api::{PeerId, Peers, ReputationChangeKind}; use reth_node_ethereum::EthEngineTypes; use reth_payload_builder_primitives::Events; -use reth_payload_primitives::{BuiltPayload, EngineApiMessageVersion, PayloadTypes}; -use reth_primitives::NodePrimitives; +use reth_payload_primitives::{BuiltPayload, PayloadTypes}; +use reth_primitives_traits::NodePrimitives; use reth_primitives_traits::{AlloyBlockHeader, Block}; use reth_provider::{BlockHashReader, BlockNumReader, BlockReaderIdExt, HeaderProvider}; use std::{ @@ -658,7 +658,7 @@ where safe_block_hash: B256::ZERO, finalized_block_hash: B256::ZERO, }; - match engine.fork_choice_updated(state, None, EngineApiMessageVersion::V1).await { + match engine.fork_choice_updated(state, None).await { Ok(ret) => tracing::info!( target: "bsc::block_import", %head_hash, @@ -898,7 +898,8 @@ mod tests { use reth_engine_primitives::{BeaconEngineMessage, OnForkChoiceUpdated}; use reth_eth_wire::NewBlock; use reth_node_ethereum::EthEngineTypes; - use reth_primitives::{Block, SealedHeader}; + use reth_ethereum_primitives::Block; + use reth_primitives_traits::SealedHeader; use reth_provider::ProviderError; use schnellru::{ByLength, LruMap}; use std::{ @@ -1317,7 +1318,6 @@ mod tests { BeaconEngineMessage::ForkchoiceUpdated { state: _, payload_attrs: _, - version: _, tx, } => { tx.send(Ok(OnForkChoiceUpdated::valid(PayloadStatus::new( @@ -1360,7 +1360,6 @@ mod tests { BeaconEngineMessage::ForkchoiceUpdated { state, payload_attrs: _, - version: _, tx, } => { let _ = fcu_tx.send(state); diff --git a/src/node/network/blocks_by_range.rs b/src/node/network/blocks_by_range.rs index b796b47e..c07db84f 100644 --- a/src/node/network/blocks_by_range.rs +++ b/src/node/network/blocks_by_range.rs @@ -205,7 +205,7 @@ mod tests { use crate::BscBlockBody; use alloy_consensus::Header; use alloy_rlp::RlpDecodable; - use reth_primitives::TransactionSigned; + use reth_ethereum_primitives::TransactionSigned; use bytes::BytesMut; use std::collections::HashMap; diff --git a/src/node/network/mod.rs b/src/node/network/mod.rs index 8f1c4e41..ff1abc5c 100644 --- a/src/node/network/mod.rs +++ b/src/node/network/mod.rs @@ -23,7 +23,7 @@ use reth_network::{NetworkConfig, NetworkHandle, NetworkManager}; use reth_network_api::PeersInfo; use reth_network_peers::NodeRecord; use reth_provider::{BlockNumReader, HeaderProvider, StateProviderFactory}; -use reth_primitives::TransactionSigned; +use reth_ethereum_primitives::TransactionSigned; use std::{sync::Arc, time::Duration}; use tokio::sync::{mpsc, oneshot, Mutex}; use tracing::{debug, info, warn}; @@ -60,7 +60,7 @@ mod rlp { use alloy_primitives::U128; use alloy_rlp::{RlpDecodable, RlpEncodable}; use alloy_rpc_types::Withdrawals; - use reth_primitives::TransactionSigned; + use reth_ethereum_primitives::TransactionSigned; use std::borrow::Cow; #[derive(RlpEncodable, RlpDecodable)] @@ -288,7 +288,7 @@ impl BscNetworkBuilder { } // Spawn the critical ImportService task exactly like the official implementation - ctx.task_executor().spawn_critical("block import", async move { + ctx.task_executor().spawn_critical_task("block import", async move { let handle = engine_handle_rx .lock() .await @@ -421,7 +421,7 @@ fn spawn_evn_sync_watcher( .unwrap_or(30); let provider = ctx.provider().clone(); let chain_spec = ctx.chain_spec().clone(); - ctx.task_executor().spawn_critical("evn-sync-watcher", async move { + ctx.task_executor().spawn_critical_task("evn-sync-watcher", async move { use std::time::{SystemTime, UNIX_EPOCH, Duration}; use alloy_consensus::BlockHeader; @@ -505,7 +505,7 @@ async fn register_nodeids_actions( let mut signed_batch: Vec = Vec::new(); if !to_add.is_empty() { let (_to, data) = crate::system_contracts::encode_add_node_ids_call(to_add.clone()); - let mut tx = reth_primitives::Transaction::Legacy(alloy_consensus::TxLegacy { + let mut tx = reth_ethereum_primitives::Transaction::Legacy(alloy_consensus::TxLegacy { chain_id: Some(chain_id), nonce: next_nonce, gas_price: 1000000000, @@ -520,7 +520,7 @@ async fn register_nodeids_actions( let gas = crate::shared::ipc_estimate_gas(req, None, None).await?; let gas_limit = std::cmp::min(gas, U256::from(u64::MAX / 2)).to::(); debug!(target: "bsc::evn", "Estimated gas for transaction, to_add: {:?}, gas: {}, gas_limit: {}", to_add, gas, gas_limit); - if let reth_primitives::Transaction::Legacy(inner) = &mut tx { + if let reth_ethereum_primitives::Transaction::Legacy(inner) = &mut tx { inner.gas_limit = gas_limit; } let signed = sign_system_transaction(tx)?; @@ -532,7 +532,7 @@ async fn register_nodeids_actions( if !to_remove.is_empty() { let (_to, data) = crate::system_contracts::encode_remove_node_ids_call(to_remove.clone()); - let mut tx = reth_primitives::Transaction::Legacy(alloy_consensus::TxLegacy { + let mut tx = reth_ethereum_primitives::Transaction::Legacy(alloy_consensus::TxLegacy { chain_id: Some(chain_id), nonce: next_nonce, gas_price: 1000000000, @@ -547,7 +547,7 @@ async fn register_nodeids_actions( let gas = crate::shared::ipc_estimate_gas(req, None, None).await?; let gas_limit = std::cmp::min(gas, U256::from(u64::MAX / 2)).to::(); debug!(target: "bsc::evn", "Estimated gas for transaction, to_remove: {:?}, gas: {}, gas_limit: {}", to_remove, gas, gas_limit); - if let reth_primitives::Transaction::Legacy(inner) = &mut tx { + if let reth_ethereum_primitives::Transaction::Legacy(inner) = &mut tx { inner.gas_limit = gas_limit; } let signed = sign_system_transaction(tx)?; diff --git a/src/node/pool/mod.rs b/src/node/pool/mod.rs index 45e733be..62493dc2 100644 --- a/src/node/pool/mod.rs +++ b/src/node/pool/mod.rs @@ -13,6 +13,7 @@ use reth::builder::{ }; use reth_chainspec::{EthChainSpec, EthereumHardforks, ForkCondition, Hardforks}; use reth_ethereum_primitives::TransactionSigned as EthTxSigned; +use reth_evm::ConfigureEvm; use reth_payload_primitives::PayloadTypes; use reth_primitives_traits::SignedTransaction; use reth_primitives_traits::constants::MAX_TX_GAS_LIMIT_OSAKA; @@ -70,6 +71,7 @@ where V: TransactionValidator + Send + Sync + 'static, { type Transaction = ::Transaction; + type Block = ::Block; async fn validate_transaction( &self, @@ -109,54 +111,7 @@ where self.inner.validate_transaction(origin, transaction).await } - async fn validate_transactions( - &self, - transactions: Vec<(TransactionOrigin, Self::Transaction)>, - ) -> Vec> { - let outcomes = self.inner.validate_transactions(transactions).await; - let mut mapped: Vec> = - Vec::with_capacity(outcomes.len()); - for outcome in outcomes { - let new_outcome: TransactionValidationOutcome = match outcome { - TransactionValidationOutcome::Valid { - balance, - state_nonce, - bytecode_hash, - transaction, - propagate, - authorities, - } => { - if blacklist::check_tx_basic_blacklist( - transaction.transaction().sender(), - transaction.transaction().to(), - ) { - tracing::debug!(target: "bsc::txpool", "Blacklisted transaction: {:?}", transaction.hash()); - TransactionValidationOutcome::Invalid( - transaction.into_transaction(), - InvalidPoolTransactionError::other(BlacklistedAddressError()), - ) - } else { - TransactionValidationOutcome::Valid { - balance, - state_nonce, - bytecode_hash, - transaction, - propagate, - authorities, - } - } - } - other => other, - }; - mapped.push(new_outcome); - } - mapped - } - - fn on_new_head_block(&self, new_tip_block: &reth_primitives_traits::SealedBlock) - where - B: reth_primitives_traits::Block, - { + fn on_new_head_block(&self, new_tip_block: &reth_primitives_traits::SealedBlock) { if let Some(osaka_ts) = self.osaka_timestamp { self.osaka_activated.store( new_tip_block.header().timestamp() >= osaka_ts, @@ -172,7 +127,7 @@ where #[non_exhaustive] pub struct BscPoolBuilder; -impl PoolBuilder for BscPoolBuilder +impl PoolBuilder for BscPoolBuilder where Node: FullNodeTypes, Types: NodeTypes< @@ -183,16 +138,22 @@ where ::Payload: PayloadTypes, EthPooledTransaction: reth_transaction_pool::EthPoolTransaction, EthPooledTransaction: PoolTransaction, + Evm: ConfigureEvm< + Primitives: NodePrimitives< + BlockHeader = <::Primitives as NodePrimitives>::BlockHeader, + Block = <::Primitives as NodePrimitives>::Block, + >, + > + Clone + Send + Sync + 'static, { type Pool = Pool< TransactionValidationTaskExecutor< - BscTxValidator>, + BscTxValidator>, >, CoinbaseTipOrdering, DiskFileBlobStore, >; - async fn build_pool(self, ctx: &BuilderContext) -> eyre::Result { + async fn build_pool(self, ctx: &BuilderContext, evm_config: Evm) -> eyre::Result { // Disable the upstream protocol base fee check (MIN_PROTOCOL_BASE_FEE = 7 wei) // because BSC handles min gas price dynamically via miner_setGasPrice RPC // and enforces it in BscTxValidator instead. @@ -223,8 +184,7 @@ where // Build default Ethereum validator executor // BSC rejected EIP-7594 (PeerDAS), so we disable EIP-7594 sidecar support to always // use v0 (legacy) blob sidecars and reject v1 (EIP-7594) sidecars. - let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone()) - .with_head_timestamp(ctx.head().timestamp) + let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone(), evm_config) .with_max_tx_input_bytes(ctx.config().txpool.max_tx_input_bytes) .kzg_settings(ctx.kzg_settings()?) .with_local_transactions_config(pool_config.local_transactions_config.clone()) diff --git a/src/node/primitives.rs b/src/node/primitives.rs index 1640bbc2..bb4d8796 100644 --- a/src/node/primitives.rs +++ b/src/node/primitives.rs @@ -1,10 +1,10 @@ #![allow(clippy::owned_cow)] use alloy_consensus::{BlobTransactionSidecar, Header}; +use alloy_eips::eip4895::Withdrawals; use alloy_primitives::B256; use alloy_rlp::{Decodable, Encodable}; -use reth_ethereum_primitives::{BlockBody, Receipt}; -use reth_primitives::{NodePrimitives, TransactionSigned}; -use reth_primitives_traits::{Block, BlockBody as BlockBodyTrait, InMemorySize}; +use reth_ethereum_primitives::{BlockBody, Receipt, TransactionSigned}; +use reth_primitives_traits::{Block, BlockBody as BlockBodyTrait, InMemorySize, NodePrimitives}; use serde::{Deserialize, Serialize}; use std::borrow::Cow; @@ -149,7 +149,7 @@ impl BlockBodyTrait for BscBlockBody { self.inner.into_transactions() } - fn withdrawals(&self) -> Option<&alloy_rpc_types::Withdrawals> { + fn withdrawals(&self) -> Option<&Withdrawals> { self.inner.withdrawals() } @@ -340,58 +340,12 @@ mod rlp { } } -pub mod serde_bincode_compat { - use super::*; - use reth_primitives_traits::serde_bincode_compat::{BincodeReprFor, SerdeBincodeCompat}; - - #[derive(Debug, Serialize, Deserialize)] - pub struct BscBlockBodyBincode<'a> { - inner: BincodeReprFor<'a, BlockBody>, - sidecars: Option>>, - } - - #[derive(Debug, Serialize, Deserialize)] - pub struct BscBlockBincode<'a> { - header: BincodeReprFor<'a, Header>, - body: BincodeReprFor<'a, BscBlockBody>, - } - - impl SerdeBincodeCompat for BscBlockBody { - type BincodeRepr<'a> = BscBlockBodyBincode<'a>; - - fn as_repr(&self) -> Self::BincodeRepr<'_> { - BscBlockBodyBincode { - inner: self.inner.as_repr(), - sidecars: self.sidecars.as_ref().map(Cow::Borrowed), - } - } - - fn from_repr(repr: Self::BincodeRepr<'_>) -> Self { - let BscBlockBodyBincode { inner, sidecars } = repr; - Self { inner: BlockBody::from_repr(inner), sidecars: sidecars.map(|s| s.into_owned()) } - } - } - - impl SerdeBincodeCompat for BscBlock { - type BincodeRepr<'a> = BscBlockBincode<'a>; - - fn as_repr(&self) -> Self::BincodeRepr<'_> { - BscBlockBincode { header: self.header.as_repr(), body: self.body.as_repr() } - } - - fn from_repr(repr: Self::BincodeRepr<'_>) -> Self { - let BscBlockBincode { header, body } = repr; - Self { header: Header::from_repr(header), body: BscBlockBody::from_repr(body) } - } - } -} #[cfg(test)] mod tests { use super::*; use alloy_consensus::Header; use alloy_eips::eip4895::Withdrawals; - use reth_primitives_traits::Block; fn create_test_header() -> Header { Header::default() diff --git a/src/rpc/eth_config.rs b/src/rpc/eth_config.rs index ba2a9736..31c68390 100644 --- a/src/rpc/eth_config.rs +++ b/src/rpc/eth_config.rs @@ -2,7 +2,7 @@ use alloy_eips::eip7910::{EthConfig, EthForkConfig, SystemContract}; use jsonrpsee::core::RpcResult; use reth_chainspec::{ChainSpecProvider, EthereumHardforks, Hardforks}; use reth_evm::ConfigureEvm; -use reth_primitives::NodePrimitives; +use reth_primitives_traits::NodePrimitives; use reth_primitives_traits::header::HeaderMut; use reth_provider::BlockReaderIdExt; use reth_rpc_eth_api::helpers::config::{EthConfigApiServer, EthConfigHandler}; diff --git a/src/rpc/mev.rs b/src/rpc/mev.rs index 8a86bc3c..afd2c01c 100644 --- a/src/rpc/mev.rs +++ b/src/rpc/mev.rs @@ -11,7 +11,7 @@ use alloy_primitives::{Bytes, B256, U256, U64}; use jsonrpsee::core::RpcResult; use jsonrpsee::proc_macros::rpc; use reth_chainspec::EthChainSpec; -use reth_primitives::TransactionSigned; +use reth_ethereum_primitives::TransactionSigned; use reth_primitives_traits::SignerRecoverable; use std::collections::HashSet; use std::sync::{Arc, RwLock}; diff --git a/src/shared.rs b/src/shared.rs index 2d838e54..1519c49e 100644 --- a/src/shared.rs +++ b/src/shared.rs @@ -19,7 +19,7 @@ use reth_network::NetworkHandle; use reth_network_api::PeerId; use reth_provider::providers::BlockchainProvider; use reth_payload_builder_primitives::Events; -use reth_primitives::TransactionSigned; +use reth_ethereum_primitives::TransactionSigned; use reth_provider::{BlockNumReader, HeaderProvider}; use schnellru::{ByLength, LruMap}; use std::collections::VecDeque; @@ -34,7 +34,7 @@ pub type BscEngineApiTx = UnboundedSender< EngineApiRequest< crate::node::engine_api::payload::BscPayloadTypes, crate::BscPrimitives, - BlockchainProvider>>, + BlockchainProvider>, crate::node::evm::config::BscEvmConfig, >, >; diff --git a/src/system_contracts/mod.rs b/src/system_contracts/mod.rs index a5f5623c..bdc4d703 100644 --- a/src/system_contracts/mod.rs +++ b/src/system_contracts/mod.rs @@ -14,7 +14,7 @@ use alloy_primitives::{address, hex, Address, BlockNumber, Bytes, Signature, TxK use lazy_static::lazy_static; use reth_chainspec::{ChainSpec, EthChainSpec}; use reth_ethereum_forks::Hardforks; -use reth_primitives::{Transaction, TransactionSigned}; +use reth_ethereum_primitives::{Transaction, TransactionSigned}; use revm::state::Bytecode; use std::{collections::HashMap, sync::Arc}; use thiserror::Error; diff --git a/testing/bsc-ef-tests/Cargo.toml b/testing/bsc-ef-tests/Cargo.toml index c1eb507d..05893c13 100644 --- a/testing/bsc-ef-tests/Cargo.toml +++ b/testing/bsc-ef-tests/Cargo.toml @@ -13,34 +13,33 @@ asm-keccak = ["alloy-primitives/asm-keccak"] # BSC crate reth_bsc = { path = "../.." } -# reth dependencies aligned with root crate rev to avoid duplicate crate versions -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-consensus = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928", features = ["mdbx", "test-utils", "disable-lock"] } -reth-db-api = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-db-common = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-primitives-traits = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928", features = ["test-utils"] } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928", features = ["std"] } -reth-tracing = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-trie = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", rev = "ed59a0985b62f4964b389b1666b73b03b39b6928" } +# reth dependencies aligned with root crate branch to avoid duplicate crate versions +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = ["mdbx", "test-utils", "disable-lock"] } +reth-db-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-db-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.1.1-v2", default-features = false } +reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = ["test-utils"] } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = ["std"] } +reth-tracing = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-trie = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } # revm -revm = { version = "34.0.0", features = ["secp256k1", "blst", "c-kzg", "memory_limit"] } +revm = { version = "36.0.0", features = ["secp256k1", "blst", "c-kzg", "memory_limit"] } # alloy -alloy-consensus = "1.1.3" -alloy-eips = "1.1.3" -alloy-genesis = "1.1.3" -alloy-primitives = "1.4.1" -alloy-rlp = "0.3.12" +alloy-consensus = "1.8.2" +alloy-eips = "1.8.2" +alloy-genesis = "1.8.2" +alloy-primitives = "1.5.6" +alloy-rlp = "0.3.13" # misc rayon = "1" diff --git a/testing/bsc-ef-tests/src/cases/blockchain_test.rs b/testing/bsc-ef-tests/src/cases/blockchain_test.rs index f907ba87..e932e733 100644 --- a/testing/bsc-ef-tests/src/cases/blockchain_test.rs +++ b/testing/bsc-ef-tests/src/cases/blockchain_test.rs @@ -29,7 +29,7 @@ use reth_provider::{ }; use reth_revm::{database::StateProviderDatabase, State}; use reth_trie::{HashedPostState, KeccakKeyHasher, StateRoot}; -use reth_trie_db::DatabaseStateRoot; +use reth_trie_db::{DatabaseHashedCursorFactory, DatabaseStateRoot, DatabaseTrieCursorFactory, LegacyKeyAdapter}; use std::{ collections::BTreeMap, fs, @@ -236,7 +236,10 @@ fn run_case( // Compute and check the post state root let hashed_state = HashedPostState::from_bundle_state::(output.state.state()); - let (computed_state_root, _) = StateRoot::overlay_root_with_updates( + let (computed_state_root, _) = , + DatabaseHashedCursorFactory<_>, + > as DatabaseStateRoot<_>>::overlay_root_with_updates( provider.tx_ref(), &hashed_state.clone_into_sorted(), ) From 76ba4adb462cacdc0d67532ccd50457160572836 Mon Sep 17 00:00:00 2001 From: chee Date: Tue, 5 May 2026 17:00:32 +0800 Subject: [PATCH 02/19] chore: upgrade bnb-chain/reth to develop-v2.1 and reth-core to v0.3.0-v2 Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 1863 ++++++++++++++++++++----------- Cargo.toml | 88 +- testing/bsc-ef-tests/Cargo.toml | 32 +- 3 files changed, 1255 insertions(+), 728 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 15c34ea1..3dbd93c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -125,12 +125,39 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f16daaf7e1f95f62c6c3bf8a3fc3d78b08ae9777810c0bb5e94966c7cd57ef0" dependencies = [ - "alloy-eips", + "alloy-eips 1.8.3", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 1.8.3", "alloy-trie", - "alloy-tx-macros", + "alloy-tx-macros 1.8.3", + "auto_impl", + "borsh", + "c-kzg", + "derive_more 2.1.1", + "either", + "k256", + "once_cell", + "rand 0.8.6", + "secp256k1 0.30.0", + "serde", + "serde_json", + "serde_with", + "thiserror 2.0.18", +] + +[[package]] +name = "alloy-consensus" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d64da86c616b5092ea64eea648f311bbd58630a0b384c42d699175d6f9122b" +dependencies = [ + "alloy-eips 2.0.4", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 2.0.4", + "alloy-trie", + "alloy-tx-macros 2.0.4", "arbitrary", "auto_impl", "borsh", @@ -153,11 +180,25 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "118998d9015332ab1b4720ae1f1e3009491966a0349938a1f43ff45a8a4c6299" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 1.8.3", + "alloy-eips 1.8.3", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 1.8.3", + "serde", +] + +[[package]] +name = "alloy-consensus-any" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd98696ca3617d3a9ba1a6f2011880cbfd5618228dab6400c9f8bca457859a8" +dependencies = [ + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 2.0.4", "arbitrary", "serde", ] @@ -251,15 +292,38 @@ dependencies = [ "alloy-eip7928", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 1.8.3", + "auto_impl", + "borsh", + "c-kzg", + "derive_more 2.1.1", + "either", + "serde", + "serde_with", + "sha2 0.10.9", +] + +[[package]] +name = "alloy-eips" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c0456f5f7a4497e9342d20f528e30f5288ddfa0d6a012bd5044afee46cd8a0" +dependencies = [ + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-eip7928", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 2.0.4", "arbitrary", "auto_impl", "borsh", "c-kzg", "derive_more 2.1.1", "either", - "ethereum_ssz 0.9.1", - "ethereum_ssz_derive 0.9.1", + "ethereum_ssz", + "ethereum_ssz_derive", "serde", "serde_with", "sha2 0.10.9", @@ -271,16 +335,36 @@ version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e13146597a586a4166ac31b192883e08c044272d6b8c43de231ee1f43dd9a115" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 1.8.3", + "alloy-eips 1.8.3", + "alloy-hardforks", + "alloy-primitives", + "alloy-rpc-types-engine 1.8.3", + "alloy-rpc-types-eth 1.8.3", + "alloy-sol-types", + "auto_impl", + "derive_more 2.1.1", + "revm 36.0.0", + "thiserror 2.0.18", + "tracing", +] + +[[package]] +name = "alloy-evm" +version = "0.33.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f092eb6af80456e4ab41c9722e777d791335bc9c00b11bc3db7bf29a432dfd0" +dependencies = [ + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-hardforks", "alloy-primitives", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", + "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-eth 2.0.4", "alloy-sol-types", "auto_impl", "derive_more 2.1.1", - "revm", + "revm 38.0.0", "thiserror 2.0.18", "tracing", ] @@ -291,9 +375,24 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbf9480307b09d22876efb67d30cadd9013134c21f3a17ec9f93fd7536d38024" dependencies = [ - "alloy-eips", + "alloy-eips 1.8.3", "alloy-primitives", - "alloy-serde", + "alloy-serde 1.8.3", + "alloy-trie", + "borsh", + "serde", + "serde_with", +] + +[[package]] +name = "alloy-genesis" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a71ff8b55d2b8aa05259f474cae7dea0e4991724dc18936b81cb23ec492a0c2a" +dependencies = [ + "alloy-eips 2.0.4", + "alloy-primitives", + "alloy-serde 2.0.4", "alloy-trie", "borsh", "serde", @@ -341,22 +440,63 @@ dependencies = [ "tracing", ] +[[package]] +name = "alloy-json-rpc" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19e352478b756bad5d7203148e4b461861282ea2ded3da406ba24868b52cd098" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "http 1.4.0", + "serde", + "serde_json", + "thiserror 2.0.18", + "tracing", +] + [[package]] name = "alloy-network" version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7197a66d94c4de1591cdc16a9bcea5f8cccd0da81b865b49aef97b1b4016e0fa" dependencies = [ - "alloy-consensus", - "alloy-consensus-any", - "alloy-eips", - "alloy-json-rpc", - "alloy-network-primitives", + "alloy-consensus 1.8.3", + "alloy-consensus-any 1.8.3", + "alloy-eips 1.8.3", + "alloy-json-rpc 1.8.3", + "alloy-network-primitives 1.8.3", "alloy-primitives", - "alloy-rpc-types-any", - "alloy-rpc-types-eth", - "alloy-serde", - "alloy-signer", + "alloy-rpc-types-any 1.8.3", + "alloy-rpc-types-eth 1.8.3", + "alloy-serde 1.8.3", + "alloy-signer 1.8.3", + "alloy-sol-types", + "async-trait", + "auto_impl", + "derive_more 2.1.1", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.18", +] + +[[package]] +name = "alloy-network" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed08ae169869e08370ed121612e0d3dadac33d1a256e9f2465926b23f0bd7d95" +dependencies = [ + "alloy-consensus 2.0.4", + "alloy-consensus-any 2.0.4", + "alloy-eips 2.0.4", + "alloy-json-rpc 2.0.4", + "alloy-network-primitives 2.0.4", + "alloy-primitives", + "alloy-rpc-types-any 2.0.4", + "alloy-rpc-types-eth 2.0.4", + "alloy-serde 2.0.4", + "alloy-signer 2.0.4", "alloy-sol-types", "async-trait", "auto_impl", @@ -373,10 +513,23 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb82711d59a43fdfd79727c99f270b974c784ec4eb5728a0d0d22f26716c87ef" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 1.8.3", + "alloy-eips 1.8.3", + "alloy-primitives", + "alloy-serde 1.8.3", + "serde", +] + +[[package]] +name = "alloy-network-primitives" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e6c7ad28afe348a9a9c5624b67ee5b3607b8de98d5816b3056ecdfa6fa2697" +dependencies = [ + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-serde", + "alloy-serde 2.0.4", "serde", ] @@ -413,23 +566,23 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6b18b929ef1d078b834c3631e9c925177f3b23ddc6fa08a722d13047205876" +checksum = "93a7c17472b55482d4734154c2f5ed13f72e03f6752cebb927f6a2d8b52e646c" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network", - "alloy-network-primitives", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-json-rpc 2.0.4", + "alloy-network 2.0.4", + "alloy-network-primitives 2.0.4", "alloy-primitives", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types-debug", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 2.0.4", "alloy-rpc-types-trace", - "alloy-signer", + "alloy-signer 2.0.4", "alloy-sol-types", "alloy-transport", "alloy-transport-http", @@ -457,11 +610,11 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad54073131e7292d4e03e1aa2287730f737280eb160d8b579fb31939f558c11" +checksum = "a8d86958b02bca85103d64fa60d7b364a8b017c6e40f2b02c3f50ca22964a738" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 2.0.4", "alloy-primitives", "alloy-transport", "auto_impl", @@ -501,11 +654,11 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fcc9604042ca80bd37aa5e232ea1cd851f337e31e2babbbb345bc0b1c30de3" +checksum = "5beb5c2fe6b960c8e8b038e69fd502a90a2e930afa4770efb748b163b0767729" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 2.0.4", "alloy-primitives", "alloy-pubsub", "alloy-transport", @@ -532,19 +685,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4faad925d3a669ffc15f43b3deec7fbdf2adeb28a4d6f9cf4bc661698c0f8f4b" dependencies = [ "alloy-primitives", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-engine 1.8.3", + "alloy-rpc-types-eth 1.8.3", + "alloy-serde 1.8.3", + "serde", +] + +[[package]] +name = "alloy-rpc-types" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee1257a278f6d293e05c5162c5940a1561b1aa85ded0028b464c81de37ebfa5" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-eth 2.0.4", + "alloy-serde 2.0.4", "serde", ] [[package]] name = "alloy-rpc-types-admin" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b38080c2b01ad1bacbd3583cf7f6f800e5e0ffc11eaddaad7321225733a2d818" +checksum = "e2144d5b2866e651796eac0a997d3b5a056449c12e0d91be3184129e0c722885" dependencies = [ - "alloy-genesis", + "alloy-genesis 2.0.4", "alloy-primitives", "serde", "serde_json", @@ -552,13 +718,13 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47df51bedb3e6062cb9981187a51e86d0d64a4de66eb0855e9efe6574b044ddf" +checksum = "df32156f085e74eac942b6103744be49b817c302341aaa8cb0c1c88dc29228d9" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 2.0.4", + "alloy-serde 2.0.4", "serde", ] @@ -568,23 +734,38 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3823026d1ed239a40f12364fac50726c8daf1b6ab8077a97212c5123910429ed" dependencies = [ - "alloy-consensus-any", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-consensus-any 1.8.3", + "alloy-rpc-types-eth 1.8.3", + "alloy-serde 1.8.3", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a234bfbdf7a76c3d13808f729af5321852de3dedcaa6fc6d5f54787aaf54c6a" +dependencies = [ + "alloy-consensus-any 2.0.4", + "alloy-network-primitives 2.0.4", + "alloy-primitives", + "alloy-rpc-types-eth 2.0.4", + "alloy-serde 2.0.4", + "serde", + "serde_json", ] [[package]] name = "alloy-rpc-types-beacon" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f526dbd7bb039327cfd0ccf18c8a29ffd7402616b0c7a0239512bf8417d544c7" +checksum = "296450f5e76bece0116c939b9437b0421a5da9c5d40031bf4cf9b38d3d94e475" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "derive_more 2.1.1", - "ethereum_ssz 0.9.1", - "ethereum_ssz_derive 0.9.1", + "ethereum_ssz", + "ethereum_ssz_derive", "serde", "serde_json", "serde_with", @@ -595,11 +776,12 @@ dependencies = [ [[package]] name = "alloy-rpc-types-debug" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2145138f3214928f08cd13da3cb51ef7482b5920d8ac5a02ecd4e38d1a8f6d1e" +checksum = "0ab075ac1c25bcf697f133b7cd92e2fb26afe213e872ef79fdf77f0d7bcb3793" dependencies = [ "alloy-primitives", + "alloy-rlp", "derive_more 2.1.1", "serde", "serde_with", @@ -611,15 +793,33 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb9b97b6e7965679ad22df297dda809b11cebc13405c1b537e5cffecc95834fa" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 1.8.3", + "alloy-eips 1.8.3", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 1.8.3", "derive_more 2.1.1", - "ethereum_ssz 0.9.1", - "ethereum_ssz_derive 0.9.1", - "jsonwebtoken", + "jsonwebtoken 9.3.1", + "rand 0.8.6", + "serde", + "strum", +] + +[[package]] +name = "alloy-rpc-types-engine" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b12366c96f4013e1aeebc96c6b56e5f33f07853c42ea2f485045c0c157a4a1" +dependencies = [ + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 2.0.4", + "derive_more 2.1.1", + "ethereum_ssz", + "ethereum_ssz_derive", + "jsonwebtoken 10.3.0", "rand 0.8.6", "serde", "strum", @@ -631,15 +831,14 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59c095f92c4e1ff4981d89e9aa02d5f98c762a1980ab66bec49c44be11349da2" dependencies = [ - "alloy-consensus", - "alloy-consensus-any", - "alloy-eips", - "alloy-network-primitives", + "alloy-consensus 1.8.3", + "alloy-consensus-any 1.8.3", + "alloy-eips 1.8.3", + "alloy-network-primitives 1.8.3", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 1.8.3", "alloy-sol-types", - "arbitrary", "itertools 0.14.0", "serde", "serde_json", @@ -647,30 +846,67 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "alloy-rpc-types-eth" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56a282daf869eeb7383d3d5c2deb35b0b3fb45ecb329513af4090fc61245ee18" +dependencies = [ + "alloy-consensus 2.0.4", + "alloy-consensus-any 2.0.4", + "alloy-eips 2.0.4", + "alloy-network-primitives 2.0.4", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 2.0.4", + "alloy-sol-types", + "arbitrary", + "itertools 0.13.0", + "serde", + "serde_json", + "serde_with", + "thiserror 2.0.18", +] + [[package]] name = "alloy-rpc-types-mev" version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eae9c65ff60dcc262247b6ebb5ad391ddf36d09029802c1768c5723e0cfa2f4" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 1.8.3", + "alloy-eips 1.8.3", + "alloy-primitives", + "alloy-rpc-types-eth 1.8.3", + "alloy-serde 1.8.3", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-rpc-types-mev" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7adc1243d55744a66b3a6cbbbba96436e8df5d248f2ee8186bef4238ef704ec7" +dependencies = [ + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 2.0.4", + "alloy-serde 2.0.4", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-trace" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5a4d010f86cd4e01e5205ec273911e538e1738e76d8bafe9ecd245910ea5a3" +checksum = "6184b5d14152b68b0bb8beb621339d94f0b761a37958bb365fbf7c00922125c2" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 2.0.4", + "alloy-serde 2.0.4", "serde", "serde_json", "thiserror 2.0.18", @@ -678,13 +914,13 @@ dependencies = [ [[package]] name = "alloy-rpc-types-txpool" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942d26a2ca8891b26de4a8529d21091e21c1093e27eb99698f1a86405c76b1ff" +checksum = "f00b631c361e7c7baaf4f1f5a9877730f3507fed2acb9d4b34841b8184b2ec28" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 2.0.4", + "alloy-serde 2.0.4", "serde", ] @@ -693,6 +929,17 @@ name = "alloy-serde" version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11ece63b89294b8614ab3f483560c08d016930f842bf36da56bf0b764a15c11e" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-serde" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0eada2558e921b39dfcead33c487364df9b31374f5733c1c9d2c891c4529933" dependencies = [ "alloy-primitives", "arbitrary", @@ -715,16 +962,31 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "alloy-signer" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41eb29f7a8adcd8941fbb8e134022a133e6f8dfd345f2e3b7109599f8a7dca08" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "either", + "elliptic-curve", + "k256", + "thiserror 2.0.18", +] + [[package]] name = "alloy-signer-local" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f721f4bf2e4812e5505aaf5de16ef3065a8e26b9139ac885862d00b5a55a659a" +checksum = "bef839e7ce9b59aa60fa9a175e97986c6145c888d643b0f1fb0a3e7b8e56a2e2" dependencies = [ - "alloy-consensus", - "alloy-network", + "alloy-consensus 2.0.4", + "alloy-network 2.0.4", "alloy-primitives", - "alloy-signer", + "alloy-signer 2.0.4", "async-trait", "coins-bip32", "coins-bip39", @@ -806,11 +1068,11 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8098f965442a9feb620965ba4b4be5e2b320f4ec5a3fff6bfa9e1ff7ef42bed1" +checksum = "3ac7a80c0bac3e44559d53d002e34c461dc2f23262b42cafec019bc70551abbe" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 2.0.4", "auto_impl", "base64 0.22.1", "derive_more 2.1.1", @@ -829,13 +1091,13 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8597d36d546e1dab822345ad563243ec3920e199322cb554ce56c8ef1a1e2e7" +checksum = "eed3ed3300a998f88639ed619fdbbd88bd82865e00c6a8ecb796c99eb12358f6" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 2.0.4", "alloy-transport", - "itertools 0.14.0", + "itertools 0.13.0", "reqwest 0.13.3", "serde_json", "tower", @@ -845,11 +1107,11 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1bd98c3870b8a44b79091dde5216a81d58ffbc1fd8ed61b776f9fee0f3bdf20" +checksum = "1075d9d30fd4d71e50000fd4afb19ed2664ceab20c2a29f3889a6e988329e02d" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 2.0.4", "alloy-pubsub", "alloy-transport", "bytes 1.11.1", @@ -865,9 +1127,9 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "1.8.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3ab7a72b180992881acc112628b7668337a19ce15293ee974600ea7b693691" +checksum = "0e3bff84b2b2a46eb34cc522dc3f889a2867c70be90a377421429b662b3ec4ce" dependencies = [ "alloy-pubsub", "alloy-transport", @@ -914,6 +1176,18 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "alloy-tx-macros" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99fce0350197dcd4ba4e9a7dd43915d908c0eb0e7352755791709a705e1c76b6" +dependencies = [ + "darling 0.23.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "android_system_properties" version = "0.1.5" @@ -1011,6 +1285,12 @@ dependencies = [ "derive_arbitrary", ] +[[package]] +name = "archery" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e0a5f99dfebb87bb342d0f53bb92c81842e100bbb915223e38349580e5441d" + [[package]] name = "ark-bls12-381" version = "0.4.0" @@ -1472,6 +1752,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ec6fb3fe69024a75fa7e1bfb48aa6cf59706a101658ea01bfd33b2b248a038f" dependencies = [ "aws-lc-sys", + "untrusted 0.7.1", "zeroize", ] @@ -1652,6 +1933,12 @@ dependencies = [ "serde_core", ] +[[package]] +name = "bitmaps" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d084b0137aaa901caf9f1e8b21daa6aa24d41cd806e111335541eff9683bd6" + [[package]] name = "bitvec" version = "1.0.1" @@ -1965,9 +2252,9 @@ dependencies = [ name = "bsc-ef-tests" version = "0.1.0" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 1.8.3", + "alloy-eips 1.8.3", + "alloy-genesis 1.8.3", "alloy-primitives", "alloy-rlp", "rayon", @@ -1988,7 +2275,7 @@ dependencies = [ "reth-trie", "reth-trie-db", "reth_bsc", - "revm", + "revm 36.0.0", "serde", "serde_json", "thiserror 2.0.18", @@ -3508,9 +3795,9 @@ dependencies = [ [[package]] name = "ethereum_hashing" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c853bd72c9e5787f8aafc3df2907c2ed03cff3150c3acd94e2e53a98ab70a8ab" +checksum = "5aa93f58bb1eb3d1e556e4f408ef1dac130bad01ac37db4e7ade45de40d1c86a" dependencies = [ "cpufeatures 0.2.17", "ring", @@ -3530,21 +3817,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "ethereum_ssz" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dcddb2554d19cde19b099fadddde576929d7a4d0c1cd3512d1fd95cf174375c" -dependencies = [ - "alloy-primitives", - "ethereum_serde_utils", - "itertools 0.13.0", - "serde", - "serde_derive", - "smallvec", - "typenum", -] - [[package]] name = "ethereum_ssz" version = "0.10.3" @@ -3560,18 +3832,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "ethereum_ssz_derive" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a657b6b3b7e153637dc6bdc6566ad9279d9ee11a15b12cfb24a2e04360637e9f" -dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "ethereum_ssz_derive" version = "0.10.3" @@ -4536,6 +4796,7 @@ dependencies = [ "hyper-util", "log", "rustls 0.23.40", + "rustls-native-certs 0.8.3", "tokio", "tokio-rustls 0.26.4", "tower-service", @@ -4748,6 +5009,31 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "imbl" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e525189e5f603908d0c6e0d402cb5de9c4b2c8866151fabc4ebd771ed2630a2e" +dependencies = [ + "archery", + "bitmaps", + "imbl-sized-chunks", + "rand_core 0.9.5", + "rand_xoshiro", + "serde_core", + "version_check", + "wide", +] + +[[package]] +name = "imbl-sized-chunks" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4241005618a62f8d57b2febd02510fb96e0137304728543dfc5fd6f052c22d" +dependencies = [ + "bitmaps", +] + [[package]] name = "impl-codec" version = "0.6.0" @@ -5271,6 +5557,23 @@ dependencies = [ "simple_asn1", ] +[[package]] +name = "jsonwebtoken" +version = "10.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0529410abe238729a60b108898784df8984c87f6054c9c4fcacc47e4803c1ce1" +dependencies = [ + "aws-lc-rs", + "base64 0.22.1", + "getrandom 0.2.17", + "js-sys", + "pem", + "serde", + "serde_json", + "signature 2.2.0", + "simple_asn1", +] + [[package]] name = "k256" version = "0.13.4" @@ -7380,16 +7683,22 @@ dependencies = [ "http-body 1.0.1", "http-body-util", "hyper 1.9.0", + "hyper-rustls 0.27.9", "hyper-util", "js-sys", "log", "percent-encoding", "pin-project-lite", + "quinn", + "rustls 0.23.40", + "rustls-native-certs 0.8.3", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.2", "tokio", + "tokio-rustls 0.26.4", "tower", "tower-http", "tower-service", @@ -7449,11 +7758,11 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", - "alloy-rpc-types", + "alloy-rpc-types 2.0.4", "aquamarine", "clap", "reth-chainspec", @@ -7490,18 +7799,18 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "futures-core", "futures-util", "metrics", "reth-chain-state", "reth-execution-cache", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-payload-builder", "reth-payload-builder-primitives", "reth-payload-primitives", @@ -7517,13 +7826,13 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-signer", + "alloy-signer 2.0.4", "alloy-signer-local", "derive_more 2.1.1", "metrics", @@ -7535,12 +7844,12 @@ dependencies = [ "reth-errors", "reth-ethereum-primitives", "reth-execution-types", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-storage-api", "reth-trie", - "revm-database", - "revm-state", + "revm-database 13.0.1", + "revm-state 11.0.1", "rust-eth-triedb-common", "serde", "tokio", @@ -7550,14 +7859,14 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-evm", - "alloy-genesis", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-evm 0.33.3", + "alloy-genesis 2.0.4", "alloy-primitives", "alloy-trie", "auto_impl", @@ -7570,10 +7879,10 @@ dependencies = [ [[package]] name = "reth-cli" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-genesis", + "alloy-genesis 2.0.4", "clap", "eyre", "reth-cli-runner", @@ -7583,12 +7892,12 @@ dependencies = [ [[package]] name = "reth-cli-commands" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", "arbitrary", @@ -7673,8 +7982,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "reth-tasks", "tokio", @@ -7683,10 +7992,10 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", "cfg-if", "eyre", @@ -7702,12 +8011,12 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "0.1.1" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" +version = "0.3.0" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-genesis 2.0.4", "alloy-primitives", "alloy-trie", "arbitrary", @@ -7722,8 +8031,8 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "0.1.1" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" +version = "0.3.0" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ "proc-macro2", "quote", @@ -7732,8 +8041,8 @@ dependencies = [ [[package]] name = "reth-config" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "eyre", "humantime-serde", @@ -7748,10 +8057,10 @@ dependencies = [ [[package]] name = "reth-consensus" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", "auto_impl", "reth-execution-types", @@ -7761,11 +8070,11 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -7774,15 +8083,15 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-json-rpc 2.0.4", "alloy-primitives", "alloy-provider", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "alloy-transport", "auto_impl", "derive_more 2.1.1", @@ -7800,8 +8109,8 @@ dependencies = [ [[package]] name = "reth-db" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "derive_more 2.1.1", @@ -7813,7 +8122,7 @@ dependencies = [ "reth-db-api", "reth-fs-util", "reth-libmdbx", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-nippy-jar", "reth-static-file-types", "reth-storage-errors", @@ -7828,10 +8137,10 @@ dependencies = [ [[package]] name = "reth-db-api" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", "arbitrary", "arrayvec", @@ -7854,11 +8163,11 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-genesis", + "alloy-consensus 2.0.4", + "alloy-genesis 2.0.4", "alloy-primitives", "alloy-trie", "boyer-moore-magiclen", @@ -7888,10 +8197,10 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", "arbitrary", "bytes 1.11.1", @@ -7903,8 +8212,8 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7928,8 +8237,8 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7942,7 +8251,7 @@ dependencies = [ "rand 0.9.4", "reth-chainspec", "reth-ethereum-forks", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network-peers", "secp256k1 0.30.0", "thiserror 2.0.18", @@ -7952,8 +8261,8 @@ dependencies = [ [[package]] name = "reth-dns-discovery" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "dashmap 6.1.0", @@ -7976,11 +8285,11 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", "async-compression", @@ -7993,7 +8302,7 @@ dependencies = [ "reth-config", "reth-consensus", "reth-ethereum-primitives", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network-p2p", "reth-network-peers", "reth-primitives-traits", @@ -8011,8 +8320,8 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "aes", "alloy-primitives", @@ -8039,12 +8348,12 @@ dependencies = [ [[package]] name = "reth-engine-local" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "eyre", "futures-util", "reth-chainspec", @@ -8062,13 +8371,13 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "auto_impl", "futures", "reth-chain-state", @@ -8087,19 +8396,20 @@ dependencies = [ [[package]] name = "reth-engine-tree" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-eip7928", - "alloy-eips", - "alloy-evm", + "alloy-eips 2.0.4", + "alloy-evm 0.33.3", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "crossbeam-channel", "derive_more 2.1.1", "futures", + "indexmap 2.14.0", "metrics", "moka", "parking_lot", @@ -8114,7 +8424,7 @@ dependencies = [ "reth-evm", "reth-execution-cache", "reth-execution-types", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network-p2p", "reth-payload-builder", "reth-payload-primitives", @@ -8133,8 +8443,8 @@ dependencies = [ "reth-trie-db", "reth-trie-parallel", "reth-trie-sparse", - "revm", - "revm-primitives", + "revm 38.0.0", + "revm-primitives 23.0.0", "rust-eth-triedb", "rust-eth-triedb-common", "rust-eth-triedb-pathdb", @@ -8147,11 +8457,11 @@ dependencies = [ [[package]] name = "reth-engine-util" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-rpc-types-engine", + "alloy-consensus 2.0.4", + "alloy-rpc-types-engine 2.0.4", "eyre", "futures", "itertools 0.14.0", @@ -8175,23 +8485,23 @@ dependencies = [ [[package]] name = "reth-era" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", - "ethereum_ssz 0.10.3", - "ethereum_ssz_derive 0.10.3", + "ethereum_ssz", + "ethereum_ssz_derive", "snap", "thiserror 2.0.18", ] [[package]] name = "reth-era-downloader" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "bytes 1.11.1", @@ -8206,10 +8516,10 @@ dependencies = [ [[package]] name = "reth-era-utils" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", "eyre", "futures-util", @@ -8228,8 +8538,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -8239,8 +8549,8 @@ dependencies = [ [[package]] name = "reth-eth-wire" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8254,7 +8564,7 @@ dependencies = [ "reth-ecies", "reth-eth-wire-types", "reth-ethereum-forks", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network-peers", "reth-primitives-traits", "serde", @@ -8268,12 +8578,13 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eip7928", + "alloy-eips 2.0.4", "alloy-hardforks", "alloy-primitives", "alloy-rlp", @@ -8292,8 +8603,8 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "clap", "eyre", @@ -8315,11 +8626,11 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -8331,12 +8642,12 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "reth-engine-primitives", "reth-ethereum-primitives", "reth-payload-primitives", @@ -8347,8 +8658,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -8361,14 +8672,14 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "reth-basic-payload-builder", "reth-chainspec", "reth-consensus-common", @@ -8385,19 +8696,19 @@ dependencies = [ "reth-revm", "reth-storage-api", "reth-transaction-pool", - "revm", + "revm 38.0.0", "tracing", ] [[package]] name = "reth-ethereum-primitives" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 2.0.4", "reth-codecs", "reth-primitives-traits", "serde", @@ -8405,8 +8716,8 @@ dependencies = [ [[package]] name = "reth-etl" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "rayon", "reth-db-api", @@ -8415,12 +8726,12 @@ dependencies = [ [[package]] name = "reth-evm" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-evm", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-evm 0.33.3", "alloy-primitives", "auto_impl", "derive_more 2.1.1", @@ -8429,25 +8740,25 @@ dependencies = [ "rayon", "reth-execution-errors", "reth-execution-types", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", "reth-trie-common", - "revm", + "revm 38.0.0", "rust-eth-triedb-common", ] [[package]] name = "reth-evm-ethereum" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-evm", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-evm 0.33.3", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "reth-chainspec", "reth-ethereum-forks", "reth-ethereum-primitives", @@ -8455,20 +8766,20 @@ dependencies = [ "reth-execution-types", "reth-primitives-traits", "reth-storage-errors", - "revm", + "revm 38.0.0", ] [[package]] name = "reth-execution-cache" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "fixed-cache", "metrics", "parking_lot", "reth-errors", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-provider", "reth-revm", @@ -8478,10 +8789,10 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-evm", + "alloy-evm 0.33.3", "alloy-primitives", "alloy-rlp", "nybbles", @@ -8491,30 +8802,30 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-evm", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-evm 0.33.3", "alloy-primitives", "alloy-rlp", "derive_more 2.1.1", "reth-ethereum-primitives", "reth-primitives-traits", "reth-trie-common", - "revm", + "revm 38.0.0", "serde", "serde_with", ] [[package]] name = "reth-exex" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "eyre", "futures", @@ -8528,7 +8839,7 @@ dependencies = [ "reth-evm", "reth-exex-types", "reth-fs-util", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-node-api", "reth-node-core", "reth-payload-builder", @@ -8548,10 +8859,10 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", "reth-chain-state", "reth-execution-types", @@ -8562,8 +8873,8 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "serde", "serde_json", @@ -8572,10 +8883,10 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-debug", @@ -8591,17 +8902,17 @@ dependencies = [ "reth-rpc-api", "reth-tracing", "reth-trie", - "revm", - "revm-bytecode", - "revm-database", + "revm 38.0.0", + "revm-bytecode 10.0.0", + "revm-database 13.0.1", "serde", "serde_json", ] [[package]] name = "reth-ipc" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "bytes 1.11.1", "futures", @@ -8620,8 +8931,8 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "bitflags 2.11.1", "byteorder", @@ -8637,8 +8948,8 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "bindgen", "cc", @@ -8658,8 +8969,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "futures", "metrics", @@ -8670,8 +8981,8 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "ipnet", @@ -8679,8 +8990,8 @@ dependencies = [ [[package]] name = "reth-net-nat" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "futures-util", "if-addrs", @@ -8693,11 +9004,11 @@ dependencies = [ [[package]] name = "reth-network" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", "aquamarine", @@ -8725,7 +9036,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-evm-ethereum", "reth-fs-util", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-net-banlist", "reth-network-api", "reth-network-p2p", @@ -8750,13 +9061,13 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", "alloy-rpc-types-admin", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 2.0.4", "auto_impl", "derive_more 2.1.1", "enr", @@ -8775,11 +9086,11 @@ dependencies = [ [[package]] name = "reth-network-p2p" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "auto_impl", "derive_more 2.1.1", @@ -8798,8 +9109,8 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8813,8 +9124,8 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -8827,8 +9138,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "anyhow", "bincode", @@ -8844,10 +9155,10 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "eyre", "reth-basic-payload-builder", "reth-consensus", @@ -8868,15 +9179,15 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-provider", - "alloy-rpc-types", - "alloy-rpc-types-engine", + "alloy-rpc-types 2.0.4", + "alloy-rpc-types-engine 2.0.4", "aquamarine", "eyre", "fdlimit", @@ -8938,13 +9249,13 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "clap", "derive_more 2.1.1", "dirs-next", @@ -8993,13 +9304,13 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", - "alloy-network", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", + "alloy-eips 2.0.4", + "alloy-network 2.0.4", + "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-eth 2.0.4", "eyre", "reth-chainspec", "reth-engine-local", @@ -9025,16 +9336,16 @@ dependencies = [ "reth-rpc-server-types", "reth-tracing", "reth-transaction-pool", - "revm", + "revm 38.0.0", "tokio", ] [[package]] name = "reth-node-ethstats" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", "chrono", "futures-util", @@ -9055,13 +9366,13 @@ dependencies = [ [[package]] name = "reth-node-events" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "derive_more 2.1.1", "futures", "humantime", @@ -9079,8 +9390,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "bytes 1.11.1", "eyre", @@ -9093,7 +9404,7 @@ dependencies = [ "metrics-util", "procfs", "reqwest 0.13.3", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-tasks", "tikv-jemalloc-ctl", "tokio", @@ -9103,8 +9414,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "reth-chainspec", "reth-db-api", @@ -9115,19 +9426,19 @@ dependencies = [ [[package]] name = "reth-payload-builder" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", - "alloy-rpc-types", + "alloy-rpc-types 2.0.4", "derive_more 2.1.1", "futures-util", "metrics", "reth-chain-state", "reth-ethereum-engine-primitives", "reth-execution-cache", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives-traits", @@ -9139,8 +9450,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "pin-project", "reth-payload-primitives", @@ -9151,14 +9462,14 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "auto_impl", "either", "reth-chain-state", @@ -9175,25 +9486,25 @@ dependencies = [ [[package]] name = "reth-payload-validator" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-rpc-types-engine", + "alloy-consensus 2.0.4", + "alloy-rpc-types-engine 2.0.4", "reth-primitives-traits", ] [[package]] name = "reth-primitives-traits" -version = "0.1.1" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" +version = "0.3.0" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-genesis 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 2.0.4", "alloy-trie", "arbitrary", "byteorder", @@ -9207,9 +9518,9 @@ dependencies = [ "quanta", "rayon", "reth-codecs", - "revm-bytecode", - "revm-primitives", - "revm-state", + "revm-bytecode 10.0.0", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "secp256k1 0.30.0", "serde", "thiserror 2.0.18", @@ -9217,14 +9528,14 @@ dependencies = [ [[package]] name = "reth-provider" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-genesis 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "eyre", "itertools 0.14.0", "metrics", @@ -9241,7 +9552,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-execution-types", "reth-fs-util", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-nippy-jar", "reth-node-types", "reth-primitives-traits", @@ -9253,8 +9564,8 @@ dependencies = [ "reth-tasks", "reth-trie", "reth-trie-db", - "revm-database", - "revm-state", + "revm-database 13.0.1", + "revm-state 11.0.1", "rocksdb", "rust-eth-triedb", "rust-eth-triedb-common", @@ -9265,11 +9576,11 @@ dependencies = [ [[package]] name = "reth-prune" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "itertools 0.14.0", "metrics", @@ -9278,7 +9589,7 @@ dependencies = [ "reth-db-api", "reth-errors", "reth-exex-types", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-provider", "reth-prune-types", @@ -9294,8 +9605,8 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "arbitrary", @@ -9310,8 +9621,8 @@ dependencies = [ [[package]] name = "reth-revm" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9320,35 +9631,34 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie", - "revm", + "revm 38.0.0", ] [[package]] name = "reth-rpc" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-dyn-abi", - "alloy-eip7928", - "alloy-eips", - "alloy-evm", - "alloy-genesis", - "alloy-network", + "alloy-eips 2.0.4", + "alloy-evm 0.33.3", + "alloy-genesis 2.0.4", + "alloy-network 2.0.4", "alloy-primitives", "alloy-rlp", "alloy-rpc-client", - "alloy-rpc-types", + "alloy-rpc-types 2.0.4", "alloy-rpc-types-admin", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", + "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-mev 2.0.4", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde", - "alloy-signer", + "alloy-serde 2.0.4", + "alloy-signer 2.0.4", "alloy-signer-local", "async-trait", "derive_more 2.1.1", @@ -9370,7 +9680,7 @@ dependencies = [ "reth-evm", "reth-evm-ethereum", "reth-execution-types", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network-api", "reth-network-peers", "reth-network-types", @@ -9388,9 +9698,9 @@ dependencies = [ "reth-tracing", "reth-transaction-pool", "reth-trie-common", - "revm", + "revm 38.0.0", "revm-inspectors", - "revm-primitives", + "revm-primitives 23.0.0", "rust-eth-triedb", "serde", "serde_json", @@ -9404,25 +9714,24 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eip7928", - "alloy-eips", - "alloy-genesis", - "alloy-json-rpc", + "alloy-eips 2.0.4", + "alloy-genesis 2.0.4", + "alloy-json-rpc 2.0.4", "alloy-primitives", - "alloy-rpc-types", + "alloy-rpc-types 2.0.4", "alloy-rpc-types-admin", "alloy-rpc-types-anvil", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", + "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-mev 2.0.4", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde", + "alloy-serde 2.0.4", "jsonrpsee", "reth-chain-state", "reth-engine-primitives", @@ -9435,10 +9744,10 @@ dependencies = [ [[package]] name = "reth-rpc-builder" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-network", + "alloy-network 2.0.4", "alloy-provider", "dyn-clone", "http 1.4.0", @@ -9451,7 +9760,7 @@ dependencies = [ "reth-engine-primitives", "reth-evm", "reth-ipc", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network-api", "reth-node-core", "reth-payload-primitives", @@ -9478,15 +9787,15 @@ dependencies = [ [[package]] name = "reth-rpc-convert" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-evm", - "alloy-json-rpc", - "alloy-network", + "alloy-consensus 2.0.4", + "alloy-evm 0.33.3", + "alloy-json-rpc 2.0.4", + "alloy-network 2.0.4", "alloy-primitives", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 2.0.4", "auto_impl", "dyn-clone", "jsonrpsee-types", @@ -9499,20 +9808,20 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "async-trait", "jsonrpsee-core", "jsonrpsee-types", "metrics", "reth-chainspec", "reth-engine-primitives", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network-api", "reth-payload-builder", "reth-payload-builder-primitives", @@ -9530,21 +9839,21 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-dyn-abi", "alloy-eip7928", - "alloy-eips", - "alloy-evm", - "alloy-json-rpc", - "alloy-network", + "alloy-eips 2.0.4", + "alloy-evm 0.33.3", + "alloy-json-rpc 2.0.4", + "alloy-network 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", - "alloy-serde", + "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-mev 2.0.4", + "alloy-serde 2.0.4", "async-trait", "auto_impl", "dyn-clone", @@ -9568,7 +9877,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie-common", - "revm", + "revm 38.0.0", "revm-inspectors", "rust-eth-triedb", "serde_json", @@ -9578,16 +9887,16 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-evm", - "alloy-network", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-evm 0.33.3", + "alloy-network 2.0.4", "alloy-primitives", "alloy-rpc-client", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 2.0.4", "alloy-sol-types", "alloy-transport", "derive_more 2.1.1", @@ -9604,7 +9913,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-evm", "reth-execution-types", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-revm", "reth-rpc-convert", @@ -9613,7 +9922,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie", - "revm", + "revm 38.0.0", "revm-inspectors", "schnellru", "serde", @@ -9626,10 +9935,10 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "http 1.4.0", "jsonrpsee-http-client", "pin-project", @@ -9640,12 +9949,12 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "jsonrpsee-core", "jsonrpsee-types", "reth-errors", @@ -9656,25 +9965,25 @@ dependencies = [ [[package]] name = "reth-rpc-traits" -version = "0.1.1" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" +version = "0.3.0" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ - "alloy-consensus", - "alloy-network", + "alloy-consensus 2.0.4", + "alloy-network 2.0.4", "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-signer", + "alloy-rpc-types-eth 2.0.4", + "alloy-signer 2.0.4", "reth-primitives-traits", "thiserror 2.0.18", ] [[package]] name = "reth-stages" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", "alloy-trie", @@ -9725,10 +10034,10 @@ dependencies = [ [[package]] name = "reth-stages-api" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", "aquamarine", "auto_impl", @@ -9737,7 +10046,7 @@ dependencies = [ "reth-codecs", "reth-consensus", "reth-errors", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network-p2p", "reth-primitives-traits", "reth-provider", @@ -9753,8 +10062,8 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "arbitrary", @@ -9767,8 +10076,8 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "parking_lot", @@ -9787,8 +10096,8 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "clap", @@ -9802,13 +10111,13 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 2.0.4", "auto_impl", "reth-chainspec", "reth-db-api", @@ -9820,16 +10129,16 @@ dependencies = [ "reth-stages-types", "reth-storage-errors", "reth-trie-common", - "revm-database", + "revm-database 13.0.1", "serde_json", ] [[package]] name = "reth-storage-errors" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-eips", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", "derive_more 2.1.1", @@ -9837,15 +10146,15 @@ dependencies = [ "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", - "revm-database-interface", - "revm-state", + "revm-database-interface 11.0.1", + "revm-state 11.0.1", "thiserror 2.0.18", ] [[package]] name = "reth-tasks" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "crossbeam-utils", "dashmap 6.1.0", @@ -9855,7 +10164,7 @@ dependencies = [ "parking_lot", "pin-project", "rayon", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "thiserror 2.0.18", "thread-priority", "tokio", @@ -9865,12 +10174,12 @@ dependencies = [ [[package]] name = "reth-testing-utils" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", + "alloy-genesis 2.0.4", "alloy-primitives", "rand 0.8.6", "rand 0.9.4", @@ -9881,8 +10190,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "tokio", "tokio-stream", @@ -9891,8 +10200,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "clap", "eyre", @@ -9906,8 +10215,8 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "clap", "eyre", @@ -9924,17 +10233,18 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", "aquamarine", "auto_impl", "bitflags 2.11.1", "futures-util", + "imbl", "metrics", "parking_lot", "paste", @@ -9948,13 +10258,13 @@ dependencies = [ "reth-evm-ethereum", "reth-execution-types", "reth-fs-util", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "revm", - "revm-interpreter", - "revm-primitives", + "revm 38.0.0", + "revm-interpreter 35.0.1", + "revm-primitives 23.0.0", "rustc-hash", "schnellru", "serde", @@ -9968,11 +10278,11 @@ dependencies = [ [[package]] name = "reth-trie" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 2.0.4", + "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", "alloy-trie", @@ -9981,27 +10291,27 @@ dependencies = [ "metrics", "parking_lot", "reth-execution-errors", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-stages-types", "reth-storage-errors", "reth-trie-common", "reth-trie-sparse", - "revm-database", + "revm-database 13.0.1", "tracing", "triehash", ] [[package]] name = "reth-trie-common" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ - "alloy-consensus", + "alloy-consensus 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 2.0.4", + "alloy-serde 2.0.4", "alloy-trie", "arbitrary", "arrayvec", @@ -10014,7 +10324,7 @@ dependencies = [ "rayon", "reth-codecs", "reth-primitives-traits", - "revm-database", + "revm-database 13.0.1", "rust-eth-triedb", "rust-eth-triedb-state-trie", "serde", @@ -10023,15 +10333,15 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "metrics", "parking_lot", "reth-db-api", "reth-execution-errors", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-stages-types", "reth-storage-api", @@ -10044,11 +10354,11 @@ dependencies = [ [[package]] name = "reth-trie-parallel" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-eip7928", - "alloy-evm", + "alloy-evm 0.33.3", "alloy-primitives", "alloy-rlp", "crossbeam-channel", @@ -10058,22 +10368,22 @@ dependencies = [ "metrics", "rayon", "reth-execution-errors", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-provider", "reth-storage-errors", "reth-tasks", "reth-trie", "reth-trie-sparse", - "revm-state", + "revm-state 11.0.1", "thiserror 2.0.18", "tracing", ] [[package]] name = "reth-trie-sparse" -version = "2.0.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2#ba2f60cb3cab4a12accf089e9fc30a7e7d655f27" +version = "2.1.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -10082,7 +10392,7 @@ dependencies = [ "metrics", "rayon", "reth-execution-errors", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-primitives-traits", "reth-trie-common", "serde", @@ -10094,8 +10404,8 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" -version = "0.1.1" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.1.1-v2#5e11acfdc8e02201f3e83635b7ff9724ab36f63a" +version = "0.3.0" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ "zstd", ] @@ -10106,20 +10416,20 @@ version = "0.1.0" dependencies = [ "aes", "alloy-chains", - "alloy-consensus", + "alloy-consensus 1.8.3", "alloy-dyn-abi", - "alloy-eips", - "alloy-evm", - "alloy-genesis", + "alloy-eips 1.8.3", + "alloy-evm 0.30.0", + "alloy-genesis 1.8.3", "alloy-json-abi", - "alloy-network", + "alloy-network 1.8.3", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", - "alloy-signer", + "alloy-rpc-types 1.8.3", + "alloy-rpc-types-engine 1.8.3", + "alloy-rpc-types-eth 1.8.3", + "alloy-rpc-types-mev 1.8.3", + "alloy-signer 1.8.3", "alloy-sol-macro", "alloy-sol-types", "async-trait", @@ -10180,7 +10490,7 @@ dependencies = [ "reth-evm-ethereum", "reth-execution-types", "reth-ipc", - "reth-metrics 2.0.0", + "reth-metrics 2.1.0", "reth-network", "reth-network-api", "reth-network-p2p", @@ -10201,13 +10511,13 @@ dependencies = [ "reth-transaction-pool", "reth-trie-common", "reth-trie-db", - "revm", - "revm-bytecode", - "revm-database", - "revm-database-interface", - "revm-interpreter", - "revm-primitives", - "revm-state", + "revm 36.0.0", + "revm-bytecode 9.0.0", + "revm-database 12.0.0", + "revm-database-interface 10.0.0", + "revm-interpreter 34.0.0", + "revm-primitives 22.1.0", + "revm-state 10.0.0", "rust-eth-triedb", "rust-eth-triedb-common", "rust-eth-triedb-pathdb", @@ -10237,17 +10547,36 @@ version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0abc15d09cd211e9e73410ada10134069c794d4bcdb787dfc16a1bf0939849c" dependencies = [ - "revm-bytecode", - "revm-context", - "revm-context-interface", - "revm-database", - "revm-database-interface", - "revm-handler", - "revm-inspector", - "revm-interpreter", - "revm-precompile", - "revm-primitives", - "revm-state", + "revm-bytecode 9.0.0", + "revm-context 15.0.0", + "revm-context-interface 16.0.0", + "revm-database 12.0.0", + "revm-database-interface 10.0.0", + "revm-handler 17.0.0", + "revm-inspector 17.0.0", + "revm-interpreter 34.0.0", + "revm-precompile 32.1.0", + "revm-primitives 22.1.0", + "revm-state 10.0.0", +] + +[[package]] +name = "revm" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91202d39dbe8e8d10e9e8f2b76c30da68ecd1d25be69ba6d853ad0d03a3a398a" +dependencies = [ + "revm-bytecode 10.0.0", + "revm-context 16.0.1", + "revm-context-interface 17.0.1", + "revm-database 13.0.1", + "revm-database-interface 11.0.1", + "revm-handler 18.1.0", + "revm-inspector 19.0.0", + "revm-interpreter 35.0.1", + "revm-precompile 34.0.0", + "revm-primitives 23.0.0", + "revm-state 11.0.1", ] [[package]] @@ -10259,7 +10588,19 @@ dependencies = [ "bitvec", "paste", "phf 0.13.1", - "revm-primitives", + "revm-primitives 22.1.0", + "serde", +] + +[[package]] +name = "revm-bytecode" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdbb3a3d735efa94c91f2ef6bf20a35f99a77bc78f3e25bd758336901bdf9661" +dependencies = [ + "bitvec", + "phf 0.13.1", + "revm-primitives 23.0.0", "serde", ] @@ -10272,11 +10613,28 @@ dependencies = [ "bitvec", "cfg-if", "derive-where", - "revm-bytecode", - "revm-context-interface", - "revm-database-interface", - "revm-primitives", - "revm-state", + "revm-bytecode 9.0.0", + "revm-context-interface 16.0.0", + "revm-database-interface 10.0.0", + "revm-primitives 22.1.0", + "revm-state 10.0.0", + "serde", +] + +[[package]] +name = "revm-context" +version = "16.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f68d928d8b228e0faeb1c6ed75c4fde7d124f1ddf9119b67e7a0ad4041237d" +dependencies = [ + "bitvec", + "cfg-if", + "derive-where", + "revm-bytecode 10.0.0", + "revm-context-interface 17.0.1", + "revm-database-interface 11.0.1", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "serde", ] @@ -10290,9 +10648,25 @@ dependencies = [ "alloy-eip7702", "auto_impl", "either", - "revm-database-interface", - "revm-primitives", - "revm-state", + "revm-database-interface 10.0.0", + "revm-primitives 22.1.0", + "revm-state 10.0.0", + "serde", +] + +[[package]] +name = "revm-context-interface" +version = "17.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3758e6167c4ba7a59a689c519a047edaefcd4c37d74f279b93ed87bc8aece4" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "auto_impl", + "either", + "revm-database-interface 11.0.1", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "serde", ] @@ -10302,11 +10676,25 @@ version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c0a7d6da41061f2c50f99a2632571026b23684b5449ff319914151f4449b6c8" dependencies = [ - "alloy-eips", - "revm-bytecode", - "revm-database-interface", - "revm-primitives", - "revm-state", + "alloy-eips 1.8.3", + "revm-bytecode 9.0.0", + "revm-database-interface 10.0.0", + "revm-primitives 22.1.0", + "revm-state 10.0.0", + "serde", +] + +[[package]] +name = "revm-database" +version = "13.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c281a1f11d3bcb8c0bba1199ed6bcb001d1aeb3d4fb366819e14f88723989a4e" +dependencies = [ + "alloy-eips 1.8.3", + "revm-bytecode 10.0.0", + "revm-database-interface 11.0.1", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "serde", ] @@ -10318,8 +10706,22 @@ checksum = "bd497a38a79057b94a049552cb1f925ad15078bc1a479c132aeeebd1d2ccc768" dependencies = [ "auto_impl", "either", - "revm-primitives", - "revm-state", + "revm-primitives 22.1.0", + "revm-state 10.0.0", + "serde", + "thiserror 2.0.18", +] + +[[package]] +name = "revm-database-interface" +version = "11.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89efb9832a4e3742bb4ded5f7fe5bf905e8860e69427d4dfec153484fc6d304" +dependencies = [ + "auto_impl", + "either", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "serde", "thiserror 2.0.18", ] @@ -10332,14 +10734,33 @@ checksum = "9f1eed729ca9b228ae98688f352235871e9b8be3d568d488e4070f64c56e9d3d" dependencies = [ "auto_impl", "derive-where", - "revm-bytecode", - "revm-context", - "revm-context-interface", - "revm-database-interface", - "revm-interpreter", - "revm-precompile", - "revm-primitives", - "revm-state", + "revm-bytecode 9.0.0", + "revm-context 15.0.0", + "revm-context-interface 16.0.0", + "revm-database-interface 10.0.0", + "revm-interpreter 34.0.0", + "revm-precompile 32.1.0", + "revm-primitives 22.1.0", + "revm-state 10.0.0", + "serde", +] + +[[package]] +name = "revm-handler" +version = "18.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "783e903d6922b7f5f9a940d1bb229530502d2924b1aed9d5ca5a94ebf065d460" +dependencies = [ + "auto_impl", + "derive-where", + "revm-bytecode 10.0.0", + "revm-context 16.0.1", + "revm-context-interface 17.0.1", + "revm-database-interface 11.0.1", + "revm-interpreter 35.0.1", + "revm-precompile 34.0.0", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "serde", ] @@ -10351,31 +10772,49 @@ checksum = "cbf5102391706513689f91cb3cb3d97b5f13a02e8647e6e9cb7620877ef84847" dependencies = [ "auto_impl", "either", - "revm-context", - "revm-database-interface", - "revm-handler", - "revm-interpreter", - "revm-primitives", - "revm-state", + "revm-context 15.0.0", + "revm-database-interface 10.0.0", + "revm-handler 17.0.0", + "revm-interpreter 34.0.0", + "revm-primitives 22.1.0", + "revm-state 10.0.0", + "serde", + "serde_json", +] + +[[package]] +name = "revm-inspector" +version = "19.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8216ad58422090d0daa9eb430e0a081f7ad07e7fd30681dee71f8420c99624e0" +dependencies = [ + "auto_impl", + "either", + "revm-context 16.0.1", + "revm-database-interface 11.0.1", + "revm-handler 18.1.0", + "revm-interpreter 35.0.1", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "serde", "serde_json", ] [[package]] name = "revm-inspectors" -version = "0.36.1" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9487362b728f80dd2033ef5f4d0688453435bbe7caa721fa7e3b8fa25d89242b" +checksum = "731b682530a732ef9c189ef831589128e2ce34d4a306c956322ae2dffe009715" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 2.0.4", "alloy-rpc-types-trace", "alloy-sol-types", "anstyle", "boa_engine", "boa_gc", "colorchoice", - "revm", + "revm 38.0.0", "serde", "serde_json", "thiserror 2.0.18", @@ -10387,10 +10826,23 @@ version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf22f80612bb8f58fd1f578750281f2afadb6c93835b14ae6a4d6b75ca26f445" dependencies = [ - "revm-bytecode", - "revm-context-interface", - "revm-primitives", - "revm-state", + "revm-bytecode 9.0.0", + "revm-context-interface 16.0.0", + "revm-primitives 22.1.0", + "revm-state 10.0.0", + "serde", +] + +[[package]] +name = "revm-interpreter" +version = "35.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ece9f41b69658c15d748288a4dbdfc06a63f3ce93d983af440de3f1631dce6a" +dependencies = [ + "revm-bytecode 10.0.0", + "revm-context-interface 17.0.1", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "serde", ] @@ -10412,7 +10864,32 @@ dependencies = [ "cfg-if", "k256", "p256", - "revm-primitives", + "revm-primitives 22.1.0", + "ripemd", + "secp256k1 0.31.1", + "sha2 0.10.9", +] + +[[package]] +name = "revm-precompile" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a346a8cc6c8c39bd65306641c692191299c0a7b63d38810e39e8fe9b92378660" +dependencies = [ + "ark-bls12-381 0.5.0", + "ark-bn254", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "arrayref", + "aurora-engine-modexp", + "blst", + "c-kzg", + "cfg-if", + "k256", + "p256", + "revm-context-interface 17.0.1", + "revm-primitives 23.0.0", "ripemd", "secp256k1 0.31.1", "sha2 0.10.9", @@ -10430,6 +10907,18 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-primitives" +version = "23.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c99bda77d9661521ba0b4bc04558c6692074f01e65dd420fa3b893033d9b8a2" +dependencies = [ + "alloy-primitives", + "num_enum", + "once_cell", + "serde", +] + [[package]] name = "revm-state" version = "10.0.0" @@ -10438,8 +10927,21 @@ checksum = "d29404707763da607e5d6e4771cb203998c28159279c2f64cc32de08d2814651" dependencies = [ "alloy-eip7928", "bitflags 2.11.1", - "revm-bytecode", - "revm-primitives", + "revm-bytecode 9.0.0", + "revm-primitives 22.1.0", + "serde", +] + +[[package]] +name = "revm-state" +version = "11.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c32490ed687dba31c3c882beb8c20408bdd30ef96690d8f145b0ee9a87040bfe" +dependencies = [ + "alloy-eip7928", + "bitflags 2.11.1", + "revm-bytecode 10.0.0", + "revm-primitives 23.0.0", "serde", ] @@ -10463,7 +10965,7 @@ dependencies = [ "cfg-if", "getrandom 0.2.17", "libc", - "untrusted", + "untrusted 0.9.0", "windows-sys 0.52.0", ] @@ -10870,7 +11372,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ "ring", - "untrusted", + "untrusted 0.9.0", ] [[package]] @@ -10882,7 +11384,7 @@ dependencies = [ "aws-lc-rs", "ring", "rustls-pki-types", - "untrusted", + "untrusted 0.9.0", ] [[package]] @@ -10915,6 +11417,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd29631678d6fb0903b69223673e122c32e9ae559d0960a38d574695ebc0ea15" +[[package]] +name = "safe_arch" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" +dependencies = [ + "bytemuck", +] + [[package]] name = "salsa20" version = "0.10.2" @@ -11020,7 +11531,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ "ring", - "untrusted", + "untrusted 0.9.0", ] [[package]] @@ -12485,24 +12996,24 @@ dependencies = [ [[package]] name = "tree_hash" -version = "0.10.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee44f4cef85f88b4dea21c0b1f58320bdf35715cf56d840969487cff00613321" +checksum = "f7fd51aa83d2eb83b04570808430808b5d24fdbf479a4d5ac5dee4a2e2dd2be4" dependencies = [ "alloy-primitives", "ethereum_hashing", - "ethereum_ssz 0.9.1", + "ethereum_ssz", "smallvec", "typenum", ] [[package]] name = "tree_hash_derive" -version = "0.10.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bee2ea1551f90040ab0e34b6fb7f2fa3bad8acc925837ac654f2c78a13e3089" +checksum = "8840ad4d852e325d3afa7fde8a50b2412f89dce47d7eb291c0cc7f87cd040f38" dependencies = [ - "darling 0.20.11", + "darling 0.23.0", "proc-macro2", "quote", "syn 2.0.117", @@ -12654,6 +13165,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "untrusted" version = "0.9.0" @@ -13018,6 +13535,16 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "wide" +version = "0.7.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" +dependencies = [ + "bytemuck", + "safe_arch", +] + [[package]] name = "widestring" version = "1.2.1" diff --git a/Cargo.toml b/Cargo.toml index 01e69b31..bbb028e5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,60 +16,60 @@ name = "reth-bsc" path = "src/main.rs" [dependencies] -reth = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-cli = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ +reth = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-cli = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ "test-utils", ] } -reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ +reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ "serde", ] } -reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-ipc = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-metrics = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-node-core = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-network = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ +reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-ipc = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-metrics = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-node-core = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-network = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ "test-utils", ] } -reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-network-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ +reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-network-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ "test-utils", ] } -reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.1.1-v2", default-features = false } -reth-codecs = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.1.1-v2" } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = [ +reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.0-v2", default-features = false } +reth-codecs = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.0-v2" } +reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ "test-utils", ] } -reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-tasks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-tasks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } # triedb dependencies rust-eth-triedb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2" } diff --git a/testing/bsc-ef-tests/Cargo.toml b/testing/bsc-ef-tests/Cargo.toml index 05893c13..40259a10 100644 --- a/testing/bsc-ef-tests/Cargo.toml +++ b/testing/bsc-ef-tests/Cargo.toml @@ -14,22 +14,22 @@ asm-keccak = ["alloy-primitives/asm-keccak"] reth_bsc = { path = "../.." } # reth dependencies aligned with root crate branch to avoid duplicate crate versions -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = ["mdbx", "test-utils", "disable-lock"] } -reth-db-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-db-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.1.1-v2", default-features = false } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = ["test-utils"] } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2", features = ["std"] } -reth-tracing = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-trie = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = ["mdbx", "test-utils", "disable-lock"] } +reth-db-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-db-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.0-v2", default-features = false } +reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = ["test-utils"] } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = ["std"] } +reth-tracing = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-trie = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } # revm revm = { version = "36.0.0", features = ["secp256k1", "blst", "c-kzg", "memory_limit"] } From 5187fa2a5e08603d78e3beb7c1f66ad60bcf4dd9 Mon Sep 17 00:00:00 2001 From: chee Date: Tue, 5 May 2026 21:34:39 +0800 Subject: [PATCH 03/19] fix: migrate to revm 38 / revm-precompile 34 API - Split PrecompileError into fatal PrecompileError and non-fatal PrecompileHalt - Add reservoir: u64 parameter to all precompile functions (EIP-8037) - Update PrecompileOutput::new/revert/halt to 3-arg form with reservoir - Replace output.reverted field with output.is_success()/is_halt() - Fix PrecompileError::other -> PrecompileError::Fatal(String) - Add cfg_env() method to Evm impl for BscEvm - Add gas_limit() and slot_number() to ExecutionPayload for BscExecutionData - Add slot_number: None to NextBlockEnvAttributes and EthPayloadAttributes literals - Add block_access_list_hash/slot_number to Header constructors in assembler - Add slot_number to EthBlockExecutionCtx constructors in config - Change commit_transaction return type to GasOutput - Fix HRTB E0276 in builder.rs execute_transaction_with_commit_condition - Fix InitialAndFloorGas::new(0,0) and ResultGas::new(0,0,0) constructors - Fix apply_eip7702_auth_list signature to include _init_and_floor_gas param - Fix Precompile decomposition to use id()/address() getters + store in trace entry Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 715 +++++++----------- Cargo.toml | 36 +- src/evm/handler.rs | 4 +- src/evm/precompiles/bls.rs | 36 +- src/evm/precompiles/cometbft.rs | 87 ++- src/evm/precompiles/double_sign.rs | 41 +- src/evm/precompiles/error.rs | 13 +- src/evm/precompiles/iavl.rs | 46 +- src/evm/precompiles/mod.rs | 21 +- src/evm/precompiles/tendermint.rs | 16 +- src/evm/precompiles/tm_secp256k1.rs | 21 +- src/node/consensus.rs | 2 +- src/node/engine_api/validator.rs | 8 + src/node/evm/assembler.rs | 4 + src/node/evm/builder.rs | 8 +- src/node/evm/config.rs | 3 + src/node/evm/executor.rs | 10 +- src/node/evm/mod.rs | 6 +- src/node/miner/bid_simulator.rs | 1 + src/node/miner/payload.rs | 2 + src/node/miner/util.rs | 1 + src/node/network/block_import/fork_recover.rs | 2 +- src/node/network/block_import/service.rs | 2 +- 23 files changed, 461 insertions(+), 624 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3dbd93c6..4aa5b86b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -138,7 +138,6 @@ dependencies = [ "either", "k256", "once_cell", - "rand 0.8.6", "secp256k1 0.30.0", "serde", "serde_json", @@ -174,20 +173,6 @@ dependencies = [ "thiserror 2.0.18", ] -[[package]] -name = "alloy-consensus-any" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "118998d9015332ab1b4720ae1f1e3009491966a0349938a1f43ff45a8a4c6299" -dependencies = [ - "alloy-consensus 1.8.3", - "alloy-eips 1.8.3", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 1.8.3", - "serde", -] - [[package]] name = "alloy-consensus-any" version = "2.0.4" @@ -329,26 +314,6 @@ dependencies = [ "sha2 0.10.9", ] -[[package]] -name = "alloy-evm" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13146597a586a4166ac31b192883e08c044272d6b8c43de231ee1f43dd9a115" -dependencies = [ - "alloy-consensus 1.8.3", - "alloy-eips 1.8.3", - "alloy-hardforks", - "alloy-primitives", - "alloy-rpc-types-engine 1.8.3", - "alloy-rpc-types-eth 1.8.3", - "alloy-sol-types", - "auto_impl", - "derive_more 2.1.1", - "revm 36.0.0", - "thiserror 2.0.18", - "tracing", -] - [[package]] name = "alloy-evm" version = "0.33.3" @@ -359,8 +324,8 @@ dependencies = [ "alloy-eips 2.0.4", "alloy-hardforks", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "alloy-sol-types", "auto_impl", "derive_more 2.1.1", @@ -425,21 +390,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "alloy-json-rpc" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422d110f1c40f1f8d0e5562b0b649c35f345fccb7093d9f02729943dcd1eef71" -dependencies = [ - "alloy-primitives", - "alloy-sol-types", - "http 1.4.0", - "serde", - "serde_json", - "thiserror 2.0.18", - "tracing", -] - [[package]] name = "alloy-json-rpc" version = "2.0.4" @@ -455,32 +405,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "alloy-network" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7197a66d94c4de1591cdc16a9bcea5f8cccd0da81b865b49aef97b1b4016e0fa" -dependencies = [ - "alloy-consensus 1.8.3", - "alloy-consensus-any 1.8.3", - "alloy-eips 1.8.3", - "alloy-json-rpc 1.8.3", - "alloy-network-primitives 1.8.3", - "alloy-primitives", - "alloy-rpc-types-any 1.8.3", - "alloy-rpc-types-eth 1.8.3", - "alloy-serde 1.8.3", - "alloy-signer 1.8.3", - "alloy-sol-types", - "async-trait", - "auto_impl", - "derive_more 2.1.1", - "futures-utils-wasm", - "serde", - "serde_json", - "thiserror 2.0.18", -] - [[package]] name = "alloy-network" version = "2.0.4" @@ -488,15 +412,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed08ae169869e08370ed121612e0d3dadac33d1a256e9f2465926b23f0bd7d95" dependencies = [ "alloy-consensus 2.0.4", - "alloy-consensus-any 2.0.4", + "alloy-consensus-any", "alloy-eips 2.0.4", - "alloy-json-rpc 2.0.4", - "alloy-network-primitives 2.0.4", + "alloy-json-rpc", + "alloy-network-primitives", "alloy-primitives", - "alloy-rpc-types-any 2.0.4", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-any", + "alloy-rpc-types-eth", "alloy-serde 2.0.4", - "alloy-signer 2.0.4", + "alloy-signer", "alloy-sol-types", "async-trait", "auto_impl", @@ -507,19 +431,6 @@ dependencies = [ "thiserror 2.0.18", ] -[[package]] -name = "alloy-network-primitives" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb82711d59a43fdfd79727c99f270b974c784ec4eb5728a0d0d22f26716c87ef" -dependencies = [ - "alloy-consensus 1.8.3", - "alloy-eips 1.8.3", - "alloy-primitives", - "alloy-serde 1.8.3", - "serde", -] - [[package]] name = "alloy-network-primitives" version = "2.0.4" @@ -573,16 +484,16 @@ dependencies = [ "alloy-chains", "alloy-consensus 2.0.4", "alloy-eips 2.0.4", - "alloy-json-rpc 2.0.4", - "alloy-network 2.0.4", - "alloy-network-primitives 2.0.4", + "alloy-json-rpc", + "alloy-network", + "alloy-network-primitives", "alloy-primitives", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types-debug", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-rpc-types-trace", - "alloy-signer 2.0.4", + "alloy-signer", "alloy-sol-types", "alloy-transport", "alloy-transport-http", @@ -614,7 +525,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8d86958b02bca85103d64fa60d7b364a8b017c6e40f2b02c3f50ca22964a738" dependencies = [ - "alloy-json-rpc 2.0.4", + "alloy-json-rpc", "alloy-primitives", "alloy-transport", "auto_impl", @@ -658,7 +569,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5beb5c2fe6b960c8e8b038e69fd502a90a2e930afa4770efb748b163b0767729" dependencies = [ - "alloy-json-rpc 2.0.4", + "alloy-json-rpc", "alloy-primitives", "alloy-pubsub", "alloy-transport", @@ -678,19 +589,6 @@ dependencies = [ "wasmtimer", ] -[[package]] -name = "alloy-rpc-types" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4faad925d3a669ffc15f43b3deec7fbdf2adeb28a4d6f9cf4bc661698c0f8f4b" -dependencies = [ - "alloy-primitives", - "alloy-rpc-types-engine 1.8.3", - "alloy-rpc-types-eth 1.8.3", - "alloy-serde 1.8.3", - "serde", -] - [[package]] name = "alloy-rpc-types" version = "2.0.4" @@ -698,8 +596,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ee1257a278f6d293e05c5162c5940a1561b1aa85ded0028b464c81de37ebfa5" dependencies = [ "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "alloy-serde 2.0.4", "serde", ] @@ -723,32 +621,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df32156f085e74eac942b6103744be49b817c302341aaa8cb0c1c88dc29228d9" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-serde 2.0.4", "serde", ] -[[package]] -name = "alloy-rpc-types-any" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3823026d1ed239a40f12364fac50726c8daf1b6ab8077a97212c5123910429ed" -dependencies = [ - "alloy-consensus-any 1.8.3", - "alloy-rpc-types-eth 1.8.3", - "alloy-serde 1.8.3", -] - [[package]] name = "alloy-rpc-types-any" version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a234bfbdf7a76c3d13808f729af5321852de3dedcaa6fc6d5f54787aaf54c6a" dependencies = [ - "alloy-consensus-any 2.0.4", - "alloy-network-primitives 2.0.4", + "alloy-consensus-any", + "alloy-network-primitives", "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-serde 2.0.4", "serde", "serde_json", @@ -762,7 +649,7 @@ checksum = "296450f5e76bece0116c939b9437b0421a5da9c5d40031bf4cf9b38d3d94e475" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "derive_more 2.1.1", "ethereum_ssz", "ethereum_ssz_derive", @@ -787,24 +674,6 @@ dependencies = [ "serde_with", ] -[[package]] -name = "alloy-rpc-types-engine" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb9b97b6e7965679ad22df297dda809b11cebc13405c1b537e5cffecc95834fa" -dependencies = [ - "alloy-consensus 1.8.3", - "alloy-eips 1.8.3", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 1.8.3", - "derive_more 2.1.1", - "jsonwebtoken 9.3.1", - "rand 0.8.6", - "serde", - "strum", -] - [[package]] name = "alloy-rpc-types-engine" version = "2.0.4" @@ -819,33 +688,12 @@ dependencies = [ "derive_more 2.1.1", "ethereum_ssz", "ethereum_ssz_derive", - "jsonwebtoken 10.3.0", + "jsonwebtoken", "rand 0.8.6", "serde", "strum", ] -[[package]] -name = "alloy-rpc-types-eth" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c095f92c4e1ff4981d89e9aa02d5f98c762a1980ab66bec49c44be11349da2" -dependencies = [ - "alloy-consensus 1.8.3", - "alloy-consensus-any 1.8.3", - "alloy-eips 1.8.3", - "alloy-network-primitives 1.8.3", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 1.8.3", - "alloy-sol-types", - "itertools 0.14.0", - "serde", - "serde_json", - "serde_with", - "thiserror 2.0.18", -] - [[package]] name = "alloy-rpc-types-eth" version = "2.0.4" @@ -853,36 +701,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56a282daf869eeb7383d3d5c2deb35b0b3fb45ecb329513af4090fc61245ee18" dependencies = [ "alloy-consensus 2.0.4", - "alloy-consensus-any 2.0.4", + "alloy-consensus-any", "alloy-eips 2.0.4", - "alloy-network-primitives 2.0.4", + "alloy-network-primitives", "alloy-primitives", "alloy-rlp", "alloy-serde 2.0.4", "alloy-sol-types", "arbitrary", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", "serde_with", "thiserror 2.0.18", ] -[[package]] -name = "alloy-rpc-types-mev" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eae9c65ff60dcc262247b6ebb5ad391ddf36d09029802c1768c5723e0cfa2f4" -dependencies = [ - "alloy-consensus 1.8.3", - "alloy-eips 1.8.3", - "alloy-primitives", - "alloy-rpc-types-eth 1.8.3", - "alloy-serde 1.8.3", - "serde", - "serde_json", -] - [[package]] name = "alloy-rpc-types-mev" version = "2.0.4" @@ -892,7 +725,7 @@ dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-serde 2.0.4", "serde", "serde_json", @@ -905,7 +738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6184b5d14152b68b0bb8beb621339d94f0b761a37958bb365fbf7c00922125c2" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-serde 2.0.4", "serde", "serde_json", @@ -919,7 +752,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f00b631c361e7c7baaf4f1f5a9877730f3507fed2acb9d4b34841b8184b2ec28" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-serde 2.0.4", "serde", ] @@ -947,21 +780,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "alloy-signer" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f447aefab0f1c0649f71edc33f590992d4e122bc35fb9cdbbf67d4421ace85" -dependencies = [ - "alloy-primitives", - "async-trait", - "auto_impl", - "either", - "elliptic-curve", - "k256", - "thiserror 2.0.18", -] - [[package]] name = "alloy-signer" version = "2.0.4" @@ -984,9 +802,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef839e7ce9b59aa60fa9a175e97986c6145c888d643b0f1fb0a3e7b8e56a2e2" dependencies = [ "alloy-consensus 2.0.4", - "alloy-network 2.0.4", + "alloy-network", "alloy-primitives", - "alloy-signer 2.0.4", + "alloy-signer", "async-trait", "coins-bip32", "coins-bip39", @@ -1072,7 +890,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ac7a80c0bac3e44559d53d002e34c461dc2f23262b42cafec019bc70551abbe" dependencies = [ - "alloy-json-rpc 2.0.4", + "alloy-json-rpc", "auto_impl", "base64 0.22.1", "derive_more 2.1.1", @@ -1095,9 +913,9 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eed3ed3300a998f88639ed619fdbbd88bd82865e00c6a8ecb796c99eb12358f6" dependencies = [ - "alloy-json-rpc 2.0.4", + "alloy-json-rpc", "alloy-transport", - "itertools 0.13.0", + "itertools 0.14.0", "reqwest 0.13.3", "serde_json", "tower", @@ -1111,7 +929,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1075d9d30fd4d71e50000fd4afb19ed2664ceab20c2a29f3889a6e988329e02d" dependencies = [ - "alloy-json-rpc 2.0.4", + "alloy-json-rpc", "alloy-pubsub", "alloy-transport", "bytes 1.11.1", @@ -2821,9 +2639,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.18.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" +checksum = "20d9a563d167a9cce0f94153382b33cb6eded6dfabff03c69ad65a28ea1514e0" dependencies = [ "cfg-if", "cpufeatures 0.2.17", @@ -4426,9 +4244,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" +checksum = "171fefbc92fe4a4de27e0698d6a5b392d6a0e333506bc49133760b3bcf948733" dependencies = [ "atomic-waker", "bytes 1.11.1", @@ -4759,7 +4577,7 @@ dependencies = [ "bytes 1.11.1", "futures-channel", "futures-core", - "h2 0.4.13", + "h2 0.4.14", "http 1.4.0", "http-body 1.0.1", "httparse", @@ -5542,21 +5360,6 @@ dependencies = [ "url", ] -[[package]] -name = "jsonwebtoken" -version = "9.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" -dependencies = [ - "base64 0.22.1", - "js-sys", - "pem", - "ring", - "serde", - "serde_json", - "simple_asn1", -] - [[package]] name = "jsonwebtoken" version = "10.3.0" @@ -5646,11 +5449,11 @@ dependencies = [ [[package]] name = "kqueue-sys" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +checksum = "a7b65860415f949f23fa882e669f2dbd4a0f0eeb1acdd56790b30494afd7da2f" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.11.1", "libc", ] @@ -5750,7 +5553,7 @@ dependencies = [ "bitflags 2.11.1", "libc", "plain", - "redox_syscall 0.7.4", + "redox_syscall 0.7.5", ] [[package]] @@ -5965,9 +5768,9 @@ dependencies = [ [[package]] name = "metrics" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cd3e9eb685089c784f5769b1197d348c7274bc20d4e1349650f63b91b6d0af" +checksum = "ff56c2e7dce6bd462e3b8919986a617027481b1dcc703175b58cf9dd98a2f071" dependencies = [ "portable-atomic", "rapidhash", @@ -5986,9 +5789,9 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.18.2" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c0ca2990f7f78a72c4000ddce186db7d1b700477426563ee851c95ea3c0d0c4" +checksum = "1db0d8f1fc9e62caebd0319e11eaec5822b0186c171568f0480b46a0137f9108" dependencies = [ "base64 0.22.1", "evmap", @@ -6017,9 +5820,9 @@ dependencies = [ [[package]] name = "metrics-util" -version = "0.20.2" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ff5c12b797ebf094dc7c1d87e905efc0329cba332f96d51db03875441012b5" +checksum = "9e56997f084e57b045edf17c3ed8ba7f9f779c670df8206dfd1c736f4c02dc4a" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -6673,9 +6476,9 @@ dependencies = [ [[package]] name = "peg" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9928cfca101b36ec5163e70049ee5368a8a1c3c6efc9ca9c5f9cc2f816152477" +checksum = "0aad070be5b63aa72103f2fcdd70a83adbd5e90112ce5b574171ff1c65501773" dependencies = [ "peg-macros", "peg-runtime", @@ -6683,9 +6486,9 @@ dependencies = [ [[package]] name = "peg-macros" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6298ab04c202fa5b5d52ba03269fb7b74550b150323038878fe6c372d8280f71" +checksum = "ddd8ef6825cae95355031ae26a99b616a2a21f22ba2de0197c43dfb05acbe7ee" dependencies = [ "peg-runtime", "proc-macro2", @@ -6694,9 +6497,9 @@ dependencies = [ [[package]] name = "peg-runtime" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fca" +checksum = "7011d97b484a5ebdc4b1fdb3b12d5e4bbbea56e9d22b688f2e79e04b65a7d8a6" [[package]] name = "pem" @@ -6821,18 +6624,18 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.11" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" +checksum = "cbf0d9e68100b3a7989b4901972f265cd542e560a3a8a724e1e20322f4d06ce9" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.11" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" +checksum = "a990e22f43e84855daf260dded30524ef4a9021cc7541c26540500a50b624389" dependencies = [ "proc-macro2", "quote", @@ -7544,9 +7347,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a" +checksum = "4666a1a60d8412eab19d94f6d13dcc9cea0a5ef4fdf6a5db306537413c661b1b" dependencies = [ "bitflags 2.11.1", ] @@ -7759,10 +7562,10 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", - "alloy-rpc-types 2.0.4", + "alloy-rpc-types", "aquamarine", "clap", "reth-chainspec", @@ -7800,7 +7603,7 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -7827,12 +7630,12 @@ dependencies = [ [[package]] name = "reth-chain-state" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", - "alloy-signer 2.0.4", + "alloy-signer", "alloy-signer-local", "derive_more 2.1.1", "metrics", @@ -7860,12 +7663,12 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-chains", "alloy-consensus 2.0.4", "alloy-eips 2.0.4", - "alloy-evm 0.33.3", + "alloy-evm", "alloy-genesis 2.0.4", "alloy-primitives", "alloy-trie", @@ -7880,7 +7683,7 @@ dependencies = [ [[package]] name = "reth-cli" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-genesis 2.0.4", "clap", @@ -7893,7 +7696,7 @@ dependencies = [ [[package]] name = "reth-cli-commands" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-chains", "alloy-consensus 2.0.4", @@ -7983,7 +7786,7 @@ dependencies = [ [[package]] name = "reth-cli-runner" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "reth-tasks", "tokio", @@ -7993,7 +7796,7 @@ dependencies = [ [[package]] name = "reth-cli-util" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8042,7 +7845,7 @@ dependencies = [ [[package]] name = "reth-config" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "eyre", "humantime-serde", @@ -8058,7 +7861,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", @@ -8071,7 +7874,7 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -8084,14 +7887,14 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", - "alloy-json-rpc 2.0.4", + "alloy-json-rpc", "alloy-primitives", "alloy-provider", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "alloy-transport", "auto_impl", "derive_more 2.1.1", @@ -8110,7 +7913,7 @@ dependencies = [ [[package]] name = "reth-db" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "derive_more 2.1.1", @@ -8138,7 +7941,7 @@ dependencies = [ [[package]] name = "reth-db-api" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", @@ -8164,7 +7967,7 @@ dependencies = [ [[package]] name = "reth-db-common" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-genesis 2.0.4", @@ -8198,7 +8001,7 @@ dependencies = [ [[package]] name = "reth-db-models" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8213,7 +8016,7 @@ dependencies = [ [[package]] name = "reth-discv4" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8238,7 +8041,7 @@ dependencies = [ [[package]] name = "reth-discv5" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8262,7 +8065,7 @@ dependencies = [ [[package]] name = "reth-dns-discovery" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "dashmap 6.1.0", @@ -8286,7 +8089,7 @@ dependencies = [ [[package]] name = "reth-downloaders" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -8321,7 +8124,7 @@ dependencies = [ [[package]] name = "reth-ecies" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "aes", "alloy-primitives", @@ -8349,11 +8152,11 @@ dependencies = [ [[package]] name = "reth-engine-local" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "eyre", "futures-util", "reth-chainspec", @@ -8372,12 +8175,12 @@ dependencies = [ [[package]] name = "reth-engine-primitives" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "auto_impl", "futures", "reth-chain-state", @@ -8397,15 +8200,15 @@ dependencies = [ [[package]] name = "reth-engine-tree" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eip7928", "alloy-eips 2.0.4", - "alloy-evm 0.33.3", + "alloy-evm", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "crossbeam-channel", "derive_more 2.1.1", "futures", @@ -8458,10 +8261,10 @@ dependencies = [ [[package]] name = "reth-engine-util" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "eyre", "futures", "itertools 0.14.0", @@ -8486,7 +8289,7 @@ dependencies = [ [[package]] name = "reth-era" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -8501,7 +8304,7 @@ dependencies = [ [[package]] name = "reth-era-downloader" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "bytes 1.11.1", @@ -8517,7 +8320,7 @@ dependencies = [ [[package]] name = "reth-era-utils" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", @@ -8539,7 +8342,7 @@ dependencies = [ [[package]] name = "reth-errors" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -8550,7 +8353,7 @@ dependencies = [ [[package]] name = "reth-eth-wire" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8579,7 +8382,7 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-chains", "alloy-consensus 2.0.4", @@ -8604,7 +8407,7 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "clap", "eyre", @@ -8627,7 +8430,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -8643,11 +8446,11 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "reth-engine-primitives", "reth-ethereum-primitives", "reth-payload-primitives", @@ -8659,7 +8462,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -8673,13 +8476,13 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "reth-basic-payload-builder", "reth-chainspec", "reth-consensus-common", @@ -8703,12 +8506,12 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "reth-codecs", "reth-primitives-traits", "serde", @@ -8717,7 +8520,7 @@ dependencies = [ [[package]] name = "reth-etl" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "rayon", "reth-db-api", @@ -8727,11 +8530,11 @@ dependencies = [ [[package]] name = "reth-evm" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", - "alloy-evm 0.33.3", + "alloy-evm", "alloy-primitives", "auto_impl", "derive_more 2.1.1", @@ -8752,13 +8555,13 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", - "alloy-evm 0.33.3", + "alloy-evm", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "reth-chainspec", "reth-ethereum-forks", "reth-ethereum-primitives", @@ -8772,7 +8575,7 @@ dependencies = [ [[package]] name = "reth-execution-cache" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "fixed-cache", @@ -8790,9 +8593,9 @@ dependencies = [ [[package]] name = "reth-execution-errors" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-evm 0.33.3", + "alloy-evm", "alloy-primitives", "alloy-rlp", "nybbles", @@ -8803,11 +8606,11 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", - "alloy-evm 0.33.3", + "alloy-evm", "alloy-primitives", "alloy-rlp", "derive_more 2.1.1", @@ -8822,7 +8625,7 @@ dependencies = [ [[package]] name = "reth-exex" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -8860,7 +8663,7 @@ dependencies = [ [[package]] name = "reth-exex-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8874,7 +8677,7 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "serde", "serde_json", @@ -8884,7 +8687,7 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", @@ -8912,7 +8715,7 @@ dependencies = [ [[package]] name = "reth-ipc" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "bytes 1.11.1", "futures", @@ -8932,7 +8735,7 @@ dependencies = [ [[package]] name = "reth-libmdbx" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "bitflags 2.11.1", "byteorder", @@ -8949,7 +8752,7 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "bindgen", "cc", @@ -8970,7 +8773,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "futures", "metrics", @@ -8982,7 +8785,7 @@ dependencies = [ [[package]] name = "reth-net-banlist" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "ipnet", @@ -8991,7 +8794,7 @@ dependencies = [ [[package]] name = "reth-net-nat" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "futures-util", "if-addrs", @@ -9005,7 +8808,7 @@ dependencies = [ [[package]] name = "reth-network" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -9062,12 +8865,12 @@ dependencies = [ [[package]] name = "reth-network-api" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", "alloy-rpc-types-admin", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "auto_impl", "derive_more 2.1.1", "enr", @@ -9087,7 +8890,7 @@ dependencies = [ [[package]] name = "reth-network-p2p" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -9110,7 +8913,7 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9125,7 +8928,7 @@ dependencies = [ [[package]] name = "reth-network-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -9139,7 +8942,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "anyhow", "bincode", @@ -9156,9 +8959,9 @@ dependencies = [ [[package]] name = "reth-node-api" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "eyre", "reth-basic-payload-builder", "reth-consensus", @@ -9180,14 +8983,14 @@ dependencies = [ [[package]] name = "reth-node-builder" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", "alloy-provider", - "alloy-rpc-types 2.0.4", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types", + "alloy-rpc-types-engine", "aquamarine", "eyre", "fdlimit", @@ -9250,12 +9053,12 @@ dependencies = [ [[package]] name = "reth-node-core" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "clap", "derive_more 2.1.1", "dirs-next", @@ -9305,12 +9108,12 @@ dependencies = [ [[package]] name = "reth-node-ethereum" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", - "alloy-network 2.0.4", - "alloy-rpc-types-engine 2.0.4", - "alloy-rpc-types-eth 2.0.4", + "alloy-network", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "eyre", "reth-chainspec", "reth-engine-local", @@ -9343,7 +9146,7 @@ dependencies = [ [[package]] name = "reth-node-ethstats" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", @@ -9367,12 +9170,12 @@ dependencies = [ [[package]] name = "reth-node-events" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "derive_more 2.1.1", "futures", "humantime", @@ -9391,7 +9194,7 @@ dependencies = [ [[package]] name = "reth-node-metrics" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "bytes 1.11.1", "eyre", @@ -9415,7 +9218,7 @@ dependencies = [ [[package]] name = "reth-node-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "reth-chainspec", "reth-db-api", @@ -9427,11 +9230,11 @@ dependencies = [ [[package]] name = "reth-payload-builder" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", - "alloy-rpc-types 2.0.4", + "alloy-rpc-types", "derive_more 2.1.1", "futures-util", "metrics", @@ -9451,7 +9254,7 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "pin-project", "reth-payload-primitives", @@ -9463,13 +9266,13 @@ dependencies = [ [[package]] name = "reth-payload-primitives" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "auto_impl", "either", "reth-chain-state", @@ -9487,10 +9290,10 @@ dependencies = [ [[package]] name = "reth-payload-validator" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "reth-primitives-traits", ] @@ -9504,7 +9307,7 @@ dependencies = [ "alloy-genesis 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-trie", "arbitrary", "byteorder", @@ -9529,13 +9332,13 @@ dependencies = [ [[package]] name = "reth-provider" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-genesis 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "eyre", "itertools 0.14.0", "metrics", @@ -9577,7 +9380,7 @@ dependencies = [ [[package]] name = "reth-prune" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -9606,7 +9409,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "arbitrary", @@ -9622,7 +9425,7 @@ dependencies = [ [[package]] name = "reth-revm" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9637,28 +9440,28 @@ dependencies = [ [[package]] name = "reth-rpc" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-dyn-abi", "alloy-eips 2.0.4", - "alloy-evm 0.33.3", + "alloy-evm", "alloy-genesis 2.0.4", - "alloy-network 2.0.4", + "alloy-network", "alloy-primitives", "alloy-rlp", "alloy-rpc-client", - "alloy-rpc-types 2.0.4", + "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", - "alloy-rpc-types-engine 2.0.4", - "alloy-rpc-types-eth 2.0.4", - "alloy-rpc-types-mev 2.0.4", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", "alloy-serde 2.0.4", - "alloy-signer 2.0.4", + "alloy-signer", "alloy-signer-local", "async-trait", "derive_more 2.1.1", @@ -9715,20 +9518,20 @@ dependencies = [ [[package]] name = "reth-rpc-api" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-genesis 2.0.4", - "alloy-json-rpc 2.0.4", + "alloy-json-rpc", "alloy-primitives", - "alloy-rpc-types 2.0.4", + "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-anvil", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", - "alloy-rpc-types-engine 2.0.4", - "alloy-rpc-types-eth 2.0.4", - "alloy-rpc-types-mev 2.0.4", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", "alloy-serde 2.0.4", @@ -9745,9 +9548,9 @@ dependencies = [ [[package]] name = "reth-rpc-builder" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-network 2.0.4", + "alloy-network", "alloy-provider", "dyn-clone", "http 1.4.0", @@ -9788,14 +9591,14 @@ dependencies = [ [[package]] name = "reth-rpc-convert" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", - "alloy-evm 0.33.3", - "alloy-json-rpc 2.0.4", - "alloy-network 2.0.4", + "alloy-evm", + "alloy-json-rpc", + "alloy-network", "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "auto_impl", "dyn-clone", "jsonrpsee-types", @@ -9809,12 +9612,12 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "async-trait", "jsonrpsee-core", "jsonrpsee-types", @@ -9840,19 +9643,19 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-dyn-abi", "alloy-eip7928", "alloy-eips 2.0.4", - "alloy-evm 0.33.3", - "alloy-json-rpc 2.0.4", - "alloy-network 2.0.4", + "alloy-evm", + "alloy-json-rpc", + "alloy-network", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth 2.0.4", - "alloy-rpc-types-mev 2.0.4", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", "alloy-serde 2.0.4", "async-trait", "auto_impl", @@ -9888,15 +9691,15 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", - "alloy-evm 0.33.3", - "alloy-network 2.0.4", + "alloy-evm", + "alloy-network", "alloy-primitives", "alloy-rpc-client", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-sol-types", "alloy-transport", "derive_more 2.1.1", @@ -9936,9 +9739,9 @@ dependencies = [ [[package]] name = "reth-rpc-layer" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "http 1.4.0", "jsonrpsee-http-client", "pin-project", @@ -9950,11 +9753,11 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "jsonrpsee-core", "jsonrpsee-types", "reth-errors", @@ -9969,10 +9772,10 @@ version = "0.3.0" source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ "alloy-consensus 2.0.4", - "alloy-network 2.0.4", + "alloy-network", "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", - "alloy-signer 2.0.4", + "alloy-rpc-types-eth", + "alloy-signer", "reth-primitives-traits", "thiserror 2.0.18", ] @@ -9980,7 +9783,7 @@ dependencies = [ [[package]] name = "reth-stages" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -10035,7 +9838,7 @@ dependencies = [ [[package]] name = "reth-stages-api" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -10063,7 +9866,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "arbitrary", @@ -10077,7 +9880,7 @@ dependencies = [ [[package]] name = "reth-static-file" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "parking_lot", @@ -10097,7 +9900,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "clap", @@ -10112,12 +9915,12 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", "alloy-primitives", - "alloy-rpc-types-engine 2.0.4", + "alloy-rpc-types-engine", "auto_impl", "reth-chainspec", "reth-db-api", @@ -10136,7 +9939,7 @@ dependencies = [ [[package]] name = "reth-storage-errors" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -10154,7 +9957,7 @@ dependencies = [ [[package]] name = "reth-tasks" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "crossbeam-utils", "dashmap 6.1.0", @@ -10175,7 +9978,7 @@ dependencies = [ [[package]] name = "reth-testing-utils" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -10191,7 +9994,7 @@ dependencies = [ [[package]] name = "reth-tokio-util" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "tokio", "tokio-stream", @@ -10201,7 +10004,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "clap", "eyre", @@ -10216,7 +10019,7 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "clap", "eyre", @@ -10234,7 +10037,7 @@ dependencies = [ [[package]] name = "reth-transaction-pool" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -10279,7 +10082,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-eips 2.0.4", @@ -10305,12 +10108,12 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-consensus 2.0.4", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-serde 2.0.4", "alloy-trie", "arbitrary", @@ -10334,7 +10137,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "metrics", @@ -10355,10 +10158,10 @@ dependencies = [ [[package]] name = "reth-trie-parallel" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eip7928", - "alloy-evm 0.33.3", + "alloy-evm", "alloy-primitives", "alloy-rlp", "crossbeam-channel", @@ -10383,7 +10186,7 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#7093d7dca6b2b00719a4d2d8b897362766741af7" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -10416,20 +10219,20 @@ version = "0.1.0" dependencies = [ "aes", "alloy-chains", - "alloy-consensus 1.8.3", + "alloy-consensus 2.0.4", "alloy-dyn-abi", - "alloy-eips 1.8.3", - "alloy-evm 0.30.0", - "alloy-genesis 1.8.3", + "alloy-eips 2.0.4", + "alloy-evm", + "alloy-genesis 2.0.4", "alloy-json-abi", - "alloy-network 1.8.3", + "alloy-network", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types 1.8.3", - "alloy-rpc-types-engine 1.8.3", - "alloy-rpc-types-eth 1.8.3", - "alloy-rpc-types-mev 1.8.3", - "alloy-signer 1.8.3", + "alloy-rpc-types", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-signer", "alloy-sol-macro", "alloy-sol-types", "async-trait", @@ -10511,13 +10314,13 @@ dependencies = [ "reth-transaction-pool", "reth-trie-common", "reth-trie-db", - "revm 36.0.0", - "revm-bytecode 9.0.0", - "revm-database 12.0.0", - "revm-database-interface 10.0.0", - "revm-interpreter 34.0.0", - "revm-primitives 22.1.0", - "revm-state 10.0.0", + "revm 38.0.0", + "revm-bytecode 10.0.0", + "revm-database 13.0.1", + "revm-database-interface 11.0.1", + "revm-interpreter 35.0.1", + "revm-primitives 23.0.0", + "revm-state 11.0.1", "rust-eth-triedb", "rust-eth-triedb-common", "rust-eth-triedb-pathdb", @@ -10586,7 +10389,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e86e468df3cf5cf59fa7ef71a3e9ccabb76bb336401ea2c0674f563104cf3c5e" dependencies = [ "bitvec", - "paste", "phf 0.13.1", "revm-primitives 22.1.0", "serde", @@ -10599,6 +10401,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdbb3a3d735efa94c91f2ef6bf20a35f99a77bc78f3e25bd758336901bdf9661" dependencies = [ "bitvec", + "paste", "phf 0.13.1", "revm-primitives 23.0.0", "serde", @@ -10807,7 +10610,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731b682530a732ef9c189ef831589128e2ce34d4a306c956322ae2dffe009715" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 2.0.4", + "alloy-rpc-types-eth", "alloy-rpc-types-trace", "alloy-sol-types", "anstyle", @@ -11788,9 +11591,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.18.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" +checksum = "f05839ce67618e14a09b286535c0d9c94e85ef25469b0e13cb4f844e5593eb19" dependencies = [ "base64 0.22.1", "chrono", @@ -11807,9 +11610,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.18.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" +checksum = "cf2ebbe86054f9b45bc3881e865683ccfaccce97b9b4cb53f3039d67f355a334" dependencies = [ "darling 0.23.0", "proc-macro2", @@ -12005,9 +11808,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" [[package]] name = "skeptic" @@ -12392,9 +12195,9 @@ dependencies = [ [[package]] name = "thin-vec" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "259cdf8ed4e4aca6f1e9d011e10bd53f524a2d0637d7b28450f6c64ac298c4c6" +checksum = "b0f7e269b48f0a7dd0146680fa24b50cc67fc0373f086a5b2f99bd084639b482" [[package]] name = "thiserror" @@ -12560,9 +12363,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.1" +version = "1.52.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" +checksum = "110a78583f19d5cdb2c5ccf321d1290344e71313c6c37d43520d386027d18386" dependencies = [ "bytes 1.11.1", "libc", diff --git a/Cargo.toml b/Cargo.toml index bbb028e5..a1ebd25f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -77,26 +77,26 @@ rust-eth-triedb-common = { git = "https://github.com/bnb-chain/reth-bsc-triedb.g rust-eth-triedb-pathdb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2", package = "rust-eth-triedb-pathdb" } rust-eth-triedb-state-trie = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2", package = "rust-eth-triedb-state-trie" } -revm = "36.0.0" -revm-database = "12.0.0" -revm-bytecode = "9.0.0" -revm-state = "10.0.0" -revm-primitives = { version = "22.1.0", default-features = false } -revm-interpreter = "34.0.0" -revm-database-interface = "10.0.0" +revm = "38.0.0" +revm-database = "13.0.0" +revm-bytecode = "10.0.0" +revm-state = "11.0.0" +revm-primitives = { version = "23.0.0", default-features = false } +revm-interpreter = "35.0.0" +revm-database-interface = "11.0.0" # alloy dependencies -alloy-evm = "0.30.0" - -alloy-genesis = "1.8.2" -alloy-consensus = "1.8.2" -alloy-eips = "1.8.2" -alloy-network = "1.8.2" -alloy-rpc-types = { version = "1.8.2", features = ["eth"] } -alloy-rpc-types-eth = "1.8.2" -alloy-rpc-types-engine = "1.8.2" -alloy-rpc-types-mev = "1.8.2" -alloy-signer = "1.8.2" +alloy-evm = { version = "0.33.0", features = ["rpc"] } + +alloy-genesis = "2.0.0" +alloy-consensus = "2.0.0" +alloy-eips = "2.0.0" +alloy-network = "2.0.0" +alloy-rpc-types = { version = "2.0.0", features = ["eth"] } +alloy-rpc-types-eth = "2.0.0" +alloy-rpc-types-engine = "2.0.0" +alloy-rpc-types-mev = "2.0.0" +alloy-signer = "2.0.0" alloy-chains = "0.2.33" alloy-rlp = { version = "0.3.13", default-features = false, features = [ diff --git a/src/evm/handler.rs b/src/evm/handler.rs index 213ee97c..44fac555 100644 --- a/src/evm/handler.rs +++ b/src/evm/handler.rs @@ -79,7 +79,7 @@ impl Handler for BscHandler { // https://github.com/bluealloy/revm/blob/df467931c4b1b8b620ff2cb9f62501c7abc3ea03/crates/handler/src/pre_execution.rs#L186 // with slight modifications to support BSC specific validation. // https://github.com/bnb-chain/bsc/blob/develop/core/state_transition.go#L593 - fn apply_eip7702_auth_list(&self, evm: &mut Self::Evm) -> Result { + fn apply_eip7702_auth_list(&self, evm: &mut Self::Evm, _init_and_floor_gas: &mut InitialAndFloorGas) -> Result { let ctx = evm.ctx_ref(); let tx = ctx.tx(); @@ -204,7 +204,7 @@ impl Handler for BscHandler { )); let res = if is_system_tx { - Ok(InitialAndFloorGas { initial_gas: 0, floor_gas: 0 }) + Ok(InitialAndFloorGas::new(0, 0)) } else { self.mainnet.validate_initial_tx_gas(evm) }; diff --git a/src/evm/precompiles/bls.rs b/src/evm/precompiles/bls.rs index 02de02d8..3952a016 100644 --- a/src/evm/precompiles/bls.rs +++ b/src/evm/precompiles/bls.rs @@ -3,7 +3,7 @@ use alloy_primitives::Bytes; use bls_on_arkworks as bls; use revm::precompile::{ - u64_to_address, PrecompileError, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, + u64_to_address, PrecompileHalt, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, }; use std::{borrow::Cow, vec::Vec}; @@ -22,13 +22,13 @@ const BLS_DST: &[u8] = bls::DST_ETHEREUM.as_bytes(); /// The input is encoded as follows: /// | msg_hash | signature | [{bls pubkey}] | /// | 32 | 96 | [{48}] | -fn bls_signature_validation_run(input: &[u8], gas_limit: u64) -> PrecompileResult { +fn bls_signature_validation_run(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { let cost = calc_gas_cost(input); if cost > gas_limit { - return Err(PrecompileError::OutOfGas); + return Ok(PrecompileOutput::halt(PrecompileHalt::OutOfGas, reservoir)); } - let revert = || Ok(PrecompileOutput::new_reverted(cost, Default::default())); + let revert = || Ok(PrecompileOutput::revert(cost, Default::default(), reservoir)); let msg_and_sig_length = BLS_MSG_HASH_LENGTH + BLS_SIGNATURE_LENGTH; let input_length = input.len() as u64; @@ -73,7 +73,7 @@ fn bls_signature_validation_run(input: &[u8], gas_limit: u64) -> PrecompileResul output = Bytes::from(vec![]); } - Ok(PrecompileOutput::new(cost, output)) + Ok(PrecompileOutput::new(cost, output, reservoir)) } fn calc_gas_cost(input: &[u8]) -> u64 { @@ -111,7 +111,7 @@ mod tests { input.extend_from_slice(&pub_key); let excepted_output = Bytes::from(vec![1]); - let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { + let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { Ok(o) => o.bytes, Err(e) => panic!("BLS signature validation failed, {e:?}"), }; @@ -127,7 +127,7 @@ mod tests { input.extend_from_slice(&pub_key); let excepted_output = Bytes::from(vec![]); - let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { + let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { Ok(o) => o.bytes, Err(e) => panic!("BLS signature validation failed, {e:?}"), }; @@ -142,8 +142,8 @@ mod tests { input.extend_from_slice(&signature); input.extend_from_slice(&pub_key); - match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { - Ok(res) => assert_eq!(res, PrecompileOutput::new_reverted(4500, Default::default())), + match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { + Ok(res) => assert_eq!(res, PrecompileOutput::revert(4500, Default::default(), 0)), Err(e) => panic!("BLS signature validation failed, expect error"), } @@ -156,8 +156,8 @@ mod tests { input.extend_from_slice(&signature); input.extend_from_slice(&pub_key); - match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { - Ok(res) => assert_eq!(res, PrecompileOutput::new_reverted(4500, Default::default())), + match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { + Ok(res) => assert_eq!(res, PrecompileOutput::revert(4500, Default::default(), 0)), Err(e) => panic!("BLS signature validation failed, expect error"), } } @@ -177,7 +177,7 @@ mod tests { input.extend_from_slice(&pub_key3); let excepted_output = Bytes::from(vec![1]); - let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { + let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { Ok(o) => o.bytes, Err(e) => panic!("BLS signature validation failed, {e:?}"), }; @@ -196,7 +196,7 @@ mod tests { input.extend_from_slice(&pub_key2); input.extend_from_slice(&pub_key3); let excepted_output = Bytes::from(vec![]); - let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { + let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { Ok(o) => o.bytes, Err(e) => panic!("BLS signature validation failed, {e:?}"), }; @@ -215,8 +215,8 @@ mod tests { input.extend_from_slice(&pub_key2); input.extend_from_slice(&pub_key3); - match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { - Ok(res) => assert_eq!(res, PrecompileOutput::new_reverted(11500, Default::default())), + match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { + Ok(res) => assert_eq!(res, PrecompileOutput::revert(11500, Default::default(), 0)), Err(e) => panic!("BLS signature validation failed, expect error"), } @@ -233,8 +233,8 @@ mod tests { input.extend_from_slice(&pub_key2); input.extend_from_slice(&pub_key3); - match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { - Ok(res) => assert_eq!(res, PrecompileOutput::new_reverted(11500, Default::default())), + match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { + Ok(res) => assert_eq!(res, PrecompileOutput::revert(11500, Default::default(), 0)), Err(e) => panic!("BLS signature validation failed, expect error"), } @@ -251,7 +251,7 @@ mod tests { input.extend_from_slice(&pub_key2); input.extend_from_slice(&pub_key3); let excepted_output = Bytes::from(vec![]); - let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000) { + let result = match bls_signature_validation_run(&Bytes::from(input.clone()), 100_000_000, 0) { Ok(o) => o.bytes, Err(e) => panic!("BLS signature validation failed, {e:?}"), }; diff --git a/src/evm/precompiles/cometbft.rs b/src/evm/precompiles/cometbft.rs index e3ad05eb..bcdbf79c 100644 --- a/src/evm/precompiles/cometbft.rs +++ b/src/evm/precompiles/cometbft.rs @@ -14,7 +14,7 @@ use cometbft_light_client_verifier::{ use cometbft_proto::types::v1::LightBlock as TmLightBlock; use prost::Message; use revm::precompile::{ - u64_to_address, PrecompileError, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, + u64_to_address, PrecompileHalt, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, }; use std::{borrow::{Cow, ToOwned}, string::String, vec::Vec}; @@ -46,46 +46,61 @@ const MAX_CONSENSUS_STATE_LENGTH: u64 = CHAIN_ID_LENGTH + VALIDATOR_SET_HASH_LENGTH + 99 * SINGLE_VALIDATOR_BYTES_LENGTH; -fn cometbft_light_block_validation_run(input: &[u8], gas_limit: u64) -> PrecompileResult { - cometbft_light_block_validation_run_inner(input, gas_limit, true) +fn cometbft_light_block_validation_run(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { + cometbft_light_block_validation_run_inner(input, gas_limit, reservoir, true) } fn cometbft_light_block_validation_run_before_hertz( input: &[u8], gas_limit: u64, + reservoir: u64, ) -> PrecompileResult { - cometbft_light_block_validation_run_inner(input, gas_limit, false) + cometbft_light_block_validation_run_inner(input, gas_limit, reservoir, false) } fn cometbft_light_block_validation_run_inner( input: &[u8], gas_limit: u64, + reservoir: u64, is_hertz: bool, ) -> PrecompileResult { const COMETBFT_LIGHT_BLOCK_VALIDATION_BASE: u64 = 3_000; if COMETBFT_LIGHT_BLOCK_VALIDATION_BASE > gas_limit { - return Err(PrecompileError::OutOfGas); + return Ok(PrecompileOutput::halt(PrecompileHalt::OutOfGas, reservoir)); } - let (mut consensus_state, tm_light_block) = decode_light_block_validation_input(input)?; + let (mut consensus_state, tm_light_block) = match decode_light_block_validation_input(input) { + Ok(v) => v, + Err(h) => return Ok(PrecompileOutput::halt(h, reservoir)), + }; - let light_block = convert_light_block_from_proto(&tm_light_block)?; + let light_block = match convert_light_block_from_proto(&tm_light_block) { + Ok(v) => v, + Err(h) => return Ok(PrecompileOutput::halt(h, reservoir)), + }; - let mut validator_set_changed = consensus_state.apply_light_block(&light_block)?; + let mut validator_set_changed = match consensus_state.apply_light_block(&light_block) { + Ok(v) => v, + Err(h) => return Ok(PrecompileOutput::halt(h, reservoir)), + }; if !is_hertz { validator_set_changed = false; } - let consensus_state_bytes = consensus_state.encode()?; + let consensus_state_bytes = match consensus_state.encode() { + Ok(v) => v, + Err(h) => return Ok(PrecompileOutput::halt(h, reservoir)), + }; Ok(PrecompileOutput::new( COMETBFT_LIGHT_BLOCK_VALIDATION_BASE, encode_light_block_validation_result(validator_set_changed, consensus_state_bytes), + reservoir, )) } -type ConvertLightBlockResult = Result; +type ConvertLightBlockResult = Result; fn convert_light_block_from_proto(light_block_proto: &TmLightBlock) -> ConvertLightBlockResult { let signed_header = match SignedHeader::try_from(light_block_proto.signed_header.as_ref().unwrap().clone()) { @@ -104,7 +119,7 @@ fn convert_light_block_from_proto(light_block_proto: &TmLightBlock) -> ConvertLi Ok(LightBlock::new(signed_header, validator_set, next_validator_set, peer_id)) } -type DecodeLightBlockResult = Result<(ConsensusState, TmLightBlock), PrecompileError>; +type DecodeLightBlockResult = Result<(ConsensusState, TmLightBlock), PrecompileHalt>; fn decode_light_block_validation_input(input: &[u8]) -> DecodeLightBlockResult { let input_length = input.len() as u64; if input_length < CONSENSUS_STATE_LENGTH_BYTES_LENGTH { @@ -162,7 +177,7 @@ impl ConsensusState { Self { chain_id, height, next_validator_set_hash, validators } } - fn apply_light_block(&mut self, light_block: &LightBlock) -> Result { + fn apply_light_block(&mut self, light_block: &LightBlock) -> Result { if light_block.height().value() <= self.height { return Err(BscPrecompileError::InvalidInput.into()); } @@ -232,7 +247,7 @@ impl ConsensusState { Ok(validator_set_changed) } - fn encode(&self) -> Result { + fn encode(&self) -> Result { let validator_set_length = self.validators.validators().len(); let serialize_length = (CHAIN_ID_LENGTH + HEIGHT_LENGTH + @@ -290,7 +305,7 @@ impl ConsensusState { } } -type DecodeConsensusStateResult = Result; +type DecodeConsensusStateResult = Result; /// input: /// | chainID | height | nextValidatorSetHash | [{validator pubkey, voting power, relayer address, relayer bls pubkey}] | /// | 32 bytes | 8 bytes | 32 bytes | [{32 bytes, 8 bytes, 20 bytes, 48 bytes}] @@ -397,14 +412,11 @@ mod tests { "000000000000000000000000000000000000000000000000000000000000018c677265656e6669656c645f393030302d3132310000000000000000000000000000000000000000023c350cd55b99dc6c2b7da9bef5410fbfb869fede858e7b95bf7ca294e228bb40e33f6e876d63791ebd05ff617a1b4f4ad1aa2ce65e3c3a9cdfb33e0ffa7e8423000000000098968015154514f68ce65a0d9eecc578c0ab12da0a2a28a0805521b5b7ae56eb3fb24555efbfe59e1622bfe9f7be8c9022e9b3f2442739c1ce870b9adee169afe60f674edd7c86451c5363d89052fde8351895eeea166ce5373c36e31b518ed191d0c599aa0f5b0000000000989680432f6c4908a9aa5f3444421f466b11645235c99b831b2a2de9e504d7ea299e52a202ce529808618eb3bfc0addf13d8c5f2df821d81e18f9bc61583510b322d067d46323b0a572635c06a049c0a2a929e3c8184a50cf6a8b95708c25834ade456f399015a0000000000989680864cb9828254d712f8e59b164fc6a9402dc4e6c59065e38cff24f5323c8c5da888a0f97e5ee4ba1e11b0674b0a0d06204c1dfa247c370cd4be3e799fc4f6f48d977ac7ca" )); - let result = cometbft_light_block_validation_run(&input, 100_000); - let PrecompileOutput { gas_used, bytes, reverted, .. } = match result { - Ok(output) => output, - Err(_) => panic!("cometbft_light_block_validation_run failed"), - }; - assert_eq!(gas_used, 3_000); - assert_eq!(bytes, except_output); - assert!(!reverted); + let result = cometbft_light_block_validation_run(&input, 100_000, 0); + let output = result.expect("cometbft_light_block_validation_run failed"); + assert_eq!(output.gas_used, 3_000); + assert_eq!(output.bytes, except_output); + assert!(output.is_success()); } // apply light block failed { @@ -412,9 +424,9 @@ mod tests { "0000000000000000000000000000000000000000000000000000000000000264677265656e6669656c645f393030302d313734310000000000000000000000000000000000000001af6b801dda578dddfa4da1d5d67fd1b32510db24ec271346fc573e9242b01c9a112b51dda2d336246bdc0cc51407ba0cb0e5087be0db5f1cdc3285bbaa8e647500000000000003e84202722cf6a34d727be762b46825b0d26b6263a0a9355ebf3c24bedac5a357a56feeb2cd8b6fed9f14cca15c3091f523b9fb21183b4bb31eb482a0321885e3f57072156448e2b2f7d9a3e7b668757d9cc0bbd28cd674c34ed1c2ed75c5de3b6a8f8cad4600000000000003e8668a0acd8f6db5cae959a0e02132f4d6a672c4d7a4726b542012cc8023ee07b29ab3971cc999d8751bbd16f23413968afcdb070ed66ab47e6e1842bf875bef21dfc5b8af6813bfd82860d361e339bd1ae2f801b6d6ee46b8497a3d51c80b50b6160ea1cc00000000000003e80dfa99423d3084c596c5e3bd6bcb4f654516517b8d4786703c56b300b70f085c0d0482e5d6a3c7208883f0ec8abd2de893f71d18e8f919e7ab198499201d87f92c57ebce83ed2b763bb872e9bc148fb216fd5c93b18819670d9a946ae4b3075672d726b800000000000003e824aab6f85470ff73e3048c64083a09e980d4cb7f8146d231a7b2051c5f7a9c07ab6e6bfe277bd5f4a94f901fe6ee7a6b6bd8479e9e5e448de4b1b33d5ddd74194c86b3852cc140a3f08a9c4149efd45643202f8bef2ad7eecf53e58951c6df6fd932004b00000000000003e84998f6ef8d999a0f36a851bfa29dbcf0364dd65695c286deb3f1657664859d59876bf1ec5a288f6e66e18b37b8a2a1e6ee4a3ef8fa50784d8b758d0c3e70a7cdfe65ab5d0ad7080adf030a02080b1214677265656e6669656c645f393030302d3137343118f7fdbd01220c08dca092aa0610e79ba49c012a480a209cda416227712ec137b852d1de0fbb957045e6bf7e541bb595d7f5391b481360122408011220fbb48c3c7cbbe68becfd80e7dcdcee8b8737afdbdc2e484cdc8fd52a659215e932207ddc7495ef0d0c1229ae33348d7907d90459ecccf6dcb3415724b41c0b4d1b7c3a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855422003ebb95f12cb304c52484a0821ba13f4e73468f3139f45e168f8c11d9ba74ce04a2003ebb95f12cb304c52484a0821ba13f4e73468f3139f45e168f8c11d9ba74ce05220eceb4055624b9f678278a2706ca2f43e11f31a641580d5aacf2f4383d8edef7e5a206796260ff3744ac8f8a5007a23408c72abe018d65df767b71290aac5da68d5ba6220694a73ea799423215418f2390a3f56f23b31391fbbab0de7a8f5b3c4822257906a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85572144b7d2bc2f5c3381c9bbf55edface8747722bc9d07a4050a45d04cd3d64ee8bc00bd5842e8ee2458001e0dcb6fc78bb1f44271ebca04ea65c689c6776582962c27492a5850e80a919a98d889d21ecfa83c54f15c4de0812f20408f7fdbd011a480a202585ab3a1bc673b3c68cc77e08b8190667641f30edffa89ae5ddfc2e1f53d60b122408011220c55ae2ca75b9705b4a486067b088c275919a6c3fc2de51cf09973232457a16042268080212144b7d2bc2f5c3381c9bbf55edface8747722bc9d01a0c08dea092aa0610eca4d6a6012240243914b3cf5be06bc69a6c34f2fc41928c1043b5a7d1bff80fd567b27398c3ce890be932958ec0d2a2083c393afbd4c75776ce84c881ec58a73b1022fcb63a0a226808031214793cee4b478e537592c40ecfb2148ebe32b8f6051a0c08dea092aa0610dcdbcfd701224000c586fe47dc655b38e7f62c913f4dd217ce16fa143e9295e146918ad361c2ed777512de15ed65eefb479864a89eebe55e38ebb8644a3887f46970bda9472203226808031214d742fa5318dc3986e075e2b050529a22c6fa3b8b1a0c08dea092aa0610ec9dd2d701224007e0f3e5a3d209a75c5db60f1502880cf25c5fddad0717e4ecaa8bbd95ebf28e78ea3229e88d741a44d534f08ac283dc587a28ced5c25b9cc64657a5bc5ce50c226808031214f0f07dc2f5e159a35b9662553c6b4e51868502f71a0c08dea092aa0610b7c186d7012240546fbdcc448af86aa932a05d8db2e4bc99816b7035b00c494ffe514d562190a68c214e5468c16d7d3a8c2fa52a6165ce870f8fc2dd93fa7cee40f3fa74e118082268080312145fa8b3f3fcd4a3ea2495e11dd5dbd399b3d8d4f81a0c08dea092aa0610f2d4efd50122400fe7c2eb23f4e2b6e57722c79ead12b2180e87bc618fc26cceccb891107be796fe8242c700fb61eeac6936659503354dc1a66874725b80f316252820e308d90f220f08011a0b088092b8c398feffffff0112df070a91010a144b7d2bc2f5c3381c9bbf55edface8747722bc9d012220a20112b51dda2d336246bdc0cc51407ba0cb0e5087be0db5f1cdc3285bbaa8e647518d0ca1e209ed8ffffffffffffff012a30a9355ebf3c24bedac5a357a56feeb2cd8b6fed9f14cca15c3091f523b9fb21183b4bb31eb482a0321885e3f57072156432144202722cf6a34d727be762b46825b0d26b6263a00a88010a14793cee4b478e537592c40ecfb2148ebe32b8f60512220a206813bfd82860d361e339bd1ae2f801b6d6ee46b8497a3d51c80b50b6160ea1cc1889082089082a308d4786703c56b300b70f085c0d0482e5d6a3c7208883f0ec8abd2de893f71d18e8f919e7ab198499201d87f92c57ebce32140dfa99423d3084c596c5e3bd6bcb4f654516517b0a88010a14d742fa5318dc3986e075e2b050529a22c6fa3b8b12220a2083ed2b763bb872e9bc148fb216fd5c93b18819670d9a946ae4b3075672d726b818fe0720fe072a308146d231a7b2051c5f7a9c07ab6e6bfe277bd5f4a94f901fe6ee7a6b6bd8479e9e5e448de4b1b33d5ddd74194c86b385321424aab6f85470ff73e3048c64083a09e980d4cb7f0a88010a14f0f07dc2f5e159a35b9662553c6b4e51868502f712220a202cc140a3f08a9c4149efd45643202f8bef2ad7eecf53e58951c6df6fd932004b18fc0720fc072a3095c286deb3f1657664859d59876bf1ec5a288f6e66e18b37b8a2a1e6ee4a3ef8fa50784d8b758d0c3e70a7cdfe65ab5d32144998f6ef8d999a0f36a851bfa29dbcf0364dd6560a88010a145fa8b3f3fcd4a3ea2495e11dd5dbd399b3d8d4f812220a2048e2b2f7d9a3e7b668757d9cc0bbd28cd674c34ed1c2ed75c5de3b6a8f8cad4618f60720f6072a30a4726b542012cc8023ee07b29ab3971cc999d8751bbd16f23413968afcdb070ed66ab47e6e1842bf875bef21dfc5b8af3214668a0acd8f6db5cae959a0e02132f4d6a672c4d70a88010a1455b2b6281b02e991dd9cc790bc1e6cff9db1e2c612220a2057fef603948fe010f4410a27272fcf867287b3d8421eff0afd67a157b6facf3918e90720e9072a30acf60b4cfffda7d6b120cd513bfe39e0392b1a1c433f2bb6ec1fc9200ea8f4d0c44815d4d3872e2c685371f877454284321407e201acb9f7d331a37d52ab7ad246f5c8cd1ac11291010a144b7d2bc2f5c3381c9bbf55edface8747722bc9d012220a20112b51dda2d336246bdc0cc51407ba0cb0e5087be0db5f1cdc3285bbaa8e647518d0ca1e209ed8ffffffffffffff012a30a9355ebf3c24bedac5a357a56feeb2cd8b6fed9f14cca15c3091f523b9fb21183b4bb31eb482a0321885e3f57072156432144202722cf6a34d727be762b46825b0d26b6263a0" )); - let result = cometbft_light_block_validation_run(&input, 100_000); - let expected = Err(BscPrecompileError::CometBftApplyBlockFailed.into()); - assert_eq!(result, expected); + let result = cometbft_light_block_validation_run(&input, 100_000, 0); + let output = result.expect("should not return fatal error"); + assert!(output.is_halt()); } // consensus height >= light block height { @@ -422,9 +434,9 @@ mod tests { "0000000000000000000000000000000000000000000000000000000000000264677265656e6669656c645f393030302d3137343100000000000000000000000000000000128d987caf6b801dda578dddfa4da1d5d67fd1b32510db24ec271346fc573e9242b01c9a112b51dda2d336246bdc0cc51407ba0cb0e5087be0db5f1cdc3285bbaa8e647500000000000003e84202722cf6a34d727be762b46825b0d26b6263a0a9355ebf3c24bedac5a357a56feeb2cd8b6fed9f14cca15c3091f523b9fb21183b4bb31eb482a0321885e3f57072156448e2b2f7d9a3e7b668757d9cc0bbd28cd674c34ed1c2ed75c5de3b6a8f8cad4600000000000003e8668a0acd8f6db5cae959a0e02132f4d6a672c4d7a4726b542012cc8023ee07b29ab3971cc999d8751bbd16f23413968afcdb070ed66ab47e6e1842bf875bef21dfc5b8af6813bfd82860d361e339bd1ae2f801b6d6ee46b8497a3d51c80b50b6160ea1cc00000000000003e80dfa99423d3084c596c5e3bd6bcb4f654516517b8d4786703c56b300b70f085c0d0482e5d6a3c7208883f0ec8abd2de893f71d18e8f919e7ab198499201d87f92c57ebce83ed2b763bb872e9bc148fb216fd5c93b18819670d9a946ae4b3075672d726b800000000000003e824aab6f85470ff73e3048c64083a09e980d4cb7f8146d231a7b2051c5f7a9c07ab6e6bfe277bd5f4a94f901fe6ee7a6b6bd8479e9e5e448de4b1b33d5ddd74194c86b3852cc140a3f08a9c4149efd45643202f8bef2ad7eecf53e58951c6df6fd932004b00000000000003e84998f6ef8d999a0f36a851bfa29dbcf0364dd65695c286deb3f1657664859d59876bf1ec5a288f6e66e18b37b8a2a1e6ee4a3ef8fa50784d8b758d0c3e70a7cdfe65ab5d0ad7080adf030a02080b1214677265656e6669656c645f393030302d3137343118f7fdbd01220c08dca092aa0610e79ba49c012a480a209cda416227712ec137b852d1de0fbb957045e6bf7e541bb595d7f5391b481360122408011220fbb48c3c7cbbe68becfd80e7dcdcee8b8737afdbdc2e484cdc8fd52a659215e932207ddc7495ef0d0c1229ae33348d7907d90459ecccf6dcb3415724b41c0b4d1b7c3a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855422003ebb95f12cb304c52484a0821ba13f4e73468f3139f45e168f8c11d9ba74ce04a2003ebb95f12cb304c52484a0821ba13f4e73468f3139f45e168f8c11d9ba74ce05220eceb4055624b9f678278a2706ca2f43e11f31a641580d5aacf2f4383d8edef7e5a206796260ff3744ac8f8a5007a23408c72abe018d65df767b71290aac5da68d5ba6220694a73ea799423215418f2390a3f56f23b31391fbbab0de7a8f5b3c4822257906a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85572144b7d2bc2f5c3381c9bbf55edface8747722bc9d07a4050a45d04cd3d64ee8bc00bd5842e8ee2458001e0dcb6fc78bb1f44271ebca04ea65c689c6776582962c27492a5850e80a919a98d889d21ecfa83c54f15c4de0812f20408f7fdbd011a480a202585ab3a1bc673b3c68cc77e08b8190667641f30edffa89ae5ddfc2e1f53d60b122408011220c55ae2ca75b9705b4a486067b088c275919a6c3fc2de51cf09973232457a16042268080212144b7d2bc2f5c3381c9bbf55edface8747722bc9d01a0c08dea092aa0610eca4d6a6012240243914b3cf5be06bc69a6c34f2fc41928c1043b5a7d1bff80fd567b27398c3ce890be932958ec0d2a2083c393afbd4c75776ce84c881ec58a73b1022fcb63a0a226808031214793cee4b478e537592c40ecfb2148ebe32b8f6051a0c08dea092aa0610dcdbcfd701224000c586fe47dc655b38e7f62c913f4dd217ce16fa143e9295e146918ad361c2ed777512de15ed65eefb479864a89eebe55e38ebb8644a3887f46970bda9472203226808031214d742fa5318dc3986e075e2b050529a22c6fa3b8b1a0c08dea092aa0610ec9dd2d701224007e0f3e5a3d209a75c5db60f1502880cf25c5fddad0717e4ecaa8bbd95ebf28e78ea3229e88d741a44d534f08ac283dc587a28ced5c25b9cc64657a5bc5ce50c226808031214f0f07dc2f5e159a35b9662553c6b4e51868502f71a0c08dea092aa0610b7c186d7012240546fbdcc448af86aa932a05d8db2e4bc99816b7035b00c494ffe514d562190a68c214e5468c16d7d3a8c2fa52a6165ce870f8fc2dd93fa7cee40f3fa74e118082268080312145fa8b3f3fcd4a3ea2495e11dd5dbd399b3d8d4f81a0c08dea092aa0610f2d4efd50122400fe7c2eb23f4e2b6e57722c79ead12b2180e87bc618fc26cceccb891107be796fe8242c700fb61eeac6936659503354dc1a66874725b80f316252820e308d90f220f08011a0b088092b8c398feffffff0112df070a91010a144b7d2bc2f5c3381c9bbf55edface8747722bc9d012220a20112b51dda2d336246bdc0cc51407ba0cb0e5087be0db5f1cdc3285bbaa8e647518d0ca1e209ed8ffffffffffffff012a30a9355ebf3c24bedac5a357a56feeb2cd8b6fed9f14cca15c3091f523b9fb21183b4bb31eb482a0321885e3f57072156432144202722cf6a34d727be762b46825b0d26b6263a00a88010a14793cee4b478e537592c40ecfb2148ebe32b8f60512220a206813bfd82860d361e339bd1ae2f801b6d6ee46b8497a3d51c80b50b6160ea1cc1889082089082a308d4786703c56b300b70f085c0d0482e5d6a3c7208883f0ec8abd2de893f71d18e8f919e7ab198499201d87f92c57ebce32140dfa99423d3084c596c5e3bd6bcb4f654516517b0a88010a14d742fa5318dc3986e075e2b050529a22c6fa3b8b12220a2083ed2b763bb872e9bc148fb216fd5c93b18819670d9a946ae4b3075672d726b818fe0720fe072a308146d231a7b2051c5f7a9c07ab6e6bfe277bd5f4a94f901fe6ee7a6b6bd8479e9e5e448de4b1b33d5ddd74194c86b385321424aab6f85470ff73e3048c64083a09e980d4cb7f0a88010a14f0f07dc2f5e159a35b9662553c6b4e51868502f712220a202cc140a3f08a9c4149efd45643202f8bef2ad7eecf53e58951c6df6fd932004b18fc0720fc072a3095c286deb3f1657664859d59876bf1ec5a288f6e66e18b37b8a2a1e6ee4a3ef8fa50784d8b758d0c3e70a7cdfe65ab5d32144998f6ef8d999a0f36a851bfa29dbcf0364dd6560a88010a145fa8b3f3fcd4a3ea2495e11dd5dbd399b3d8d4f812220a2048e2b2f7d9a3e7b668757d9cc0bbd28cd674c34ed1c2ed75c5de3b6a8f8cad4618f60720f6072a30a4726b542012cc8023ee07b29ab3971cc999d8751bbd16f23413968afcdb070ed66ab47e6e1842bf875bef21dfc5b8af3214668a0acd8f6db5cae959a0e02132f4d6a672c4d70a88010a1455b2b6281b02e991dd9cc790bc1e6cff9db1e2c612220a2057fef603948fe010f4410a27272fcf867287b3d8421eff0afd67a157b6facf3918e90720e9072a30acf60b4cfffda7d6b120cd513bfe39e0392b1a1c433f2bb6ec1fc9200ea8f4d0c44815d4d3872e2c685371f877454284321407e201acb9f7d331a37d52ab7ad246f5c8cd1ac11291010a144b7d2bc2f5c3381c9bbf55edface8747722bc9d012220a20112b51dda2d336246bdc0cc51407ba0cb0e5087be0db5f1cdc3285bbaa8e647518d0ca1e209ed8ffffffffffffff012a30a9355ebf3c24bedac5a357a56feeb2cd8b6fed9f14cca15c3091f523b9fb21183b4bb31eb482a0321885e3f57072156432144202722cf6a34d727be762b46825b0d26b6263a0" )); - let result = cometbft_light_block_validation_run(&input, 100_000); - let expected = Err(BscPrecompileError::InvalidInput.into()); - assert_eq!(result, expected); + let result = cometbft_light_block_validation_run(&input, 100_000, 0); + let output = result.expect("should not return fatal error"); + assert!(output.is_halt()); } // chain id mismatch { @@ -432,9 +444,9 @@ mod tests { "00000000000000000000000000000000000000000000000000000000000004ec677265656e6669656c645f353630302d31000000000000000000000000000000000000000000000001c6ca63d82177ae8b4f8533bec2d4dc45a34ba3a49b720545ca48e8c6ea829a33e043df137dfc0ea134be6fae019c746c7e92bbac1641e0752557f1d30306881300000000000003e82fcbd94e02d0de3e58a4cd20dd545340b9ce990a8a9910093c8c5da624dc842eb31117b548609680bae2d1940743256c121e397ff8ead4f5582910bf329c9406ac2d83186a6ae749f288a4ce711186d2606bf4e18ae3c06fbd560d0bd2fd8ab532486e3300000000000003e8b6202c3a1620e48b9458ed75b533f37ace46398fac693b30853e3a5fa3ea18d1df5c41e94f0060cb4ecf5f3483528c525ed317d5f3441adb984431556f5d2202bf77586940affc7c57c8bf533c80569e4874de92cd406468c62b14812bbe99f3e0a14e6d00000000000003e81eb931cc754eefb3ebda912fb3bb67b32b64c1a89469c75de5a4dde7ecd8de85f1ba5acee07454cb900585354a2fda279dd115c8946dffddee2e48234e10dd785fdd7f182c6de7b46dbe53aecafcbda7c7439b6a851d9933ee8963a08335bbacd8ef710500000000000003e8bacea9f5f6f5521afc9a4d9245432f4074ce67c38de9dac5bccbfef36c3d78d743fa36c06d2ade58cfecaa8903770d7793a4bf8e9e705b4b6daf7a10b29d1190b0eef5c5ceeecd09ea4f481b37562e25264de176566582032d4c7912945fd43ae5c7f82e00000000000003e85379299a1a093c824c70629894620050ac18798e90242b34c53205728de8e81ef36b17d0e49b30f039d9c224f952410ad9a9fe1d07a001e60e92070f4082875070a4a0b688c92507b2ce3f073fe1169345544501ee11b5e495b4b2c230db9cfb25cad2de00000000000003e896931f9918e930d3e48c77aaa479349805dbcdcd85a874ce490ea46e3ed8883544496c8852de074094185ad5d881df95df71287c7a837da79b9e4e2aa5cee0d23ccff22fe17d86788d73a0d4af8a9b63d9b2b7c3bc8c3ba81871e4ba3f77be43aa8510b600000000000003e8cbe5cd96be693071413f313cc76bf085eed1806ab3f99d1a867d6710e5a9227009d45568b4a34e0355594c85d1f7330c10b706301127c39e130f02e53789e511147f550786125621c641b3344c7aa286673073cc72abac17790545ea2770f5e8be04b15500000000000003e830db54e9bd6c32580b3f01256e9ecbf97a2ea57191ef0170f22bbc666291be47e2b4ce933ceb3a4a547794ebe12097152c750068a32afeff9cfb32d89cc597e27dd6e0f20bcc4c8635134d01c17590af47838723d8246bf005ff6e74155b0a8671c1bdee00000000000003e8ebfc660e51646a77b37731c31dd46fa5ca92671eb0224a76a44eb32d778421d39726aebd29ceac9ab368aafdb51e7c19bdbf46b7e17a3f372c9b0ee842f5b37e683c47d697aa82c1183da679f69c741da4509f94490a364132958a1f0356967e6d73183300000000000003e80c2201ebc288e539dcbc8221652c719f3ee2edb38d3293a19d0e86b79ad6b5eb5bf50ca2361e5e68338db543de2551b4e1d3f48ba0e75586a5ab394b8d739ebdfd548f0a11fb80525fbe947284e9415615b58725e55876a00f0ee1d20b8b0e70dcde5bce00000000000003e8aeee47645498286d615b8850764f55985b8a643ea8c70c061865d6307e34bfd26e9b61bdcc0ae35f6cacc04eaa766f4b76ec354b99cd62fdb599e62a6cfe1e652ddf83500ad7080adf030a02080b1214677265656e6669656c645f393030302d3137343118f7fdbd01220c08dca092aa0610e79ba49c012a480a209cda416227712ec137b852d1de0fbb957045e6bf7e541bb595d7f5391b481360122408011220fbb48c3c7cbbe68becfd80e7dcdcee8b8737afdbdc2e484cdc8fd52a659215e932207ddc7495ef0d0c1229ae33348d7907d90459ecccf6dcb3415724b41c0b4d1b7c3a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855422003ebb95f12cb304c52484a0821ba13f4e73468f3139f45e168f8c11d9ba74ce04a2003ebb95f12cb304c52484a0821ba13f4e73468f3139f45e168f8c11d9ba74ce05220eceb4055624b9f678278a2706ca2f43e11f31a641580d5aacf2f4383d8edef7e5a206796260ff3744ac8f8a5007a23408c72abe018d65df767b71290aac5da68d5ba6220694a73ea799423215418f2390a3f56f23b31391fbbab0de7a8f5b3c4822257906a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85572144b7d2bc2f5c3381c9bbf55edface8747722bc9d07a4050a45d04cd3d64ee8bc00bd5842e8ee2458001e0dcb6fc78bb1f44271ebca04ea65c689c6776582962c27492a5850e80a919a98d889d21ecfa83c54f15c4de0812f20408f7fdbd011a480a202585ab3a1bc673b3c68cc77e08b8190667641f30edffa89ae5ddfc2e1f53d60b122408011220c55ae2ca75b9705b4a486067b088c275919a6c3fc2de51cf09973232457a16042268080212144b7d2bc2f5c3381c9bbf55edface8747722bc9d01a0c08dea092aa0610eca4d6a6012240243914b3cf5be06bc69a6c34f2fc41928c1043b5a7d1bff80fd567b27398c3ce890be932958ec0d2a2083c393afbd4c75776ce84c881ec58a73b1022fcb63a0a226808031214793cee4b478e537592c40ecfb2148ebe32b8f6051a0c08dea092aa0610dcdbcfd701224000c586fe47dc655b38e7f62c913f4dd217ce16fa143e9295e146918ad361c2ed777512de15ed65eefb479864a89eebe55e38ebb8644a3887f46970bda9472203226808031214d742fa5318dc3986e075e2b050529a22c6fa3b8b1a0c08dea092aa0610ec9dd2d701224007e0f3e5a3d209a75c5db60f1502880cf25c5fddad0717e4ecaa8bbd95ebf28e78ea3229e88d741a44d534f08ac283dc587a28ced5c25b9cc64657a5bc5ce50c226808031214f0f07dc2f5e159a35b9662553c6b4e51868502f71a0c08dea092aa0610b7c186d7012240546fbdcc448af86aa932a05d8db2e4bc99816b7035b00c494ffe514d562190a68c214e5468c16d7d3a8c2fa52a6165ce870f8fc2dd93fa7cee40f3fa74e118082268080312145fa8b3f3fcd4a3ea2495e11dd5dbd399b3d8d4f81a0c08dea092aa0610f2d4efd50122400fe7c2eb23f4e2b6e57722c79ead12b2180e87bc618fc26cceccb891107be796fe8242c700fb61eeac6936659503354dc1a66874725b80f316252820e308d90f220f08011a0b088092b8c398feffffff0112df070a91010a144b7d2bc2f5c3381c9bbf55edface8747722bc9d012220a20112b51dda2d336246bdc0cc51407ba0cb0e5087be0db5f1cdc3285bbaa8e647518d0ca1e209ed8ffffffffffffff012a30a9355ebf3c24bedac5a357a56feeb2cd8b6fed9f14cca15c3091f523b9fb21183b4bb31eb482a0321885e3f57072156432144202722cf6a34d727be762b46825b0d26b6263a00a88010a14793cee4b478e537592c40ecfb2148ebe32b8f60512220a206813bfd82860d361e339bd1ae2f801b6d6ee46b8497a3d51c80b50b6160ea1cc1889082089082a308d4786703c56b300b70f085c0d0482e5d6a3c7208883f0ec8abd2de893f71d18e8f919e7ab198499201d87f92c57ebce32140dfa99423d3084c596c5e3bd6bcb4f654516517b0a88010a14d742fa5318dc3986e075e2b050529a22c6fa3b8b12220a2083ed2b763bb872e9bc148fb216fd5c93b18819670d9a946ae4b3075672d726b818fe0720fe072a308146d231a7b2051c5f7a9c07ab6e6bfe277bd5f4a94f901fe6ee7a6b6bd8479e9e5e448de4b1b33d5ddd74194c86b385321424aab6f85470ff73e3048c64083a09e980d4cb7f0a88010a14f0f07dc2f5e159a35b9662553c6b4e51868502f712220a202cc140a3f08a9c4149efd45643202f8bef2ad7eecf53e58951c6df6fd932004b18fc0720fc072a3095c286deb3f1657664859d59876bf1ec5a288f6e66e18b37b8a2a1e6ee4a3ef8fa50784d8b758d0c3e70a7cdfe65ab5d32144998f6ef8d999a0f36a851bfa29dbcf0364dd6560a88010a145fa8b3f3fcd4a3ea2495e11dd5dbd399b3d8d4f812220a2048e2b2f7d9a3e7b668757d9cc0bbd28cd674c34ed1c2ed75c5de3b6a8f8cad4618f60720f6072a30a4726b542012cc8023ee07b29ab3971cc999d8751bbd16f23413968afcdb070ed66ab47e6e1842bf875bef21dfc5b8af3214668a0acd8f6db5cae959a0e02132f4d6a672c4d70a88010a1455b2b6281b02e991dd9cc790bc1e6cff9db1e2c612220a2057fef603948fe010f4410a27272fcf867287b3d8421eff0afd67a157b6facf3918e90720e9072a30acf60b4cfffda7d6b120cd513bfe39e0392b1a1c433f2bb6ec1fc9200ea8f4d0c44815d4d3872e2c685371f877454284321407e201acb9f7d331a37d52ab7ad246f5c8cd1ac11291010a144b7d2bc2f5c3381c9bbf55edface8747722bc9d012220a20112b51dda2d336246bdc0cc51407ba0cb0e5087be0db5f1cdc3285bbaa8e647518d0ca1e209ed8ffffffffffffff012a30a9355ebf3c24bedac5a357a56feeb2cd8b6fed9f14cca15c3091f523b9fb21183b4bb31eb482a0321885e3f57072156432144202722cf6a34d727be762b46825b0d26b6263a0" )); - let result = cometbft_light_block_validation_run(&input, 100_000); - let expected = Err(BscPrecompileError::InvalidInput.into()); - assert_eq!(result, expected); + let result = cometbft_light_block_validation_run(&input, 100_000, 0); + let output = result.expect("should not return fatal error"); + assert!(output.is_halt()); } } @@ -683,13 +695,10 @@ mod tests { "000000000000000000000000000000000000000000000000000000000000018c677265656e6669656c645f393030302d3132310000000000000000000000000000000000000000023c350cd55b99dc6c2b7da9bef5410fbfb869fede858e7b95bf7ca294e228bb40e33f6e876d63791ebd05ff617a1b4f4ad1aa2ce65e3c3a9cdfb33e0ffa7e8423000000000098968015154514f68ce65a0d9eecc578c0ab12da0a2a28a0805521b5b7ae56eb3fb24555efbfe59e1622bfe9f7be8c9022e9b3f2442739c1ce870b9adee169afe60f674edd7c86451c5363d89052fde8351895eeea166ce5373c36e31b518ed191d0c599aa0f5b0000000000989680432f6c4908a9aa5f3444421f466b11645235c99b831b2a2de9e504d7ea299e52a202ce529808618eb3bfc0addf13d8c5f2df821d81e18f9bc61583510b322d067d46323b0a572635c06a049c0a2a929e3c8184a50cf6a8b95708c25834ade456f399015a0000000000989680864cb9828254d712f8e59b164fc6a9402dc4e6c59065e38cff24f5323c8c5da888a0f97e5ee4ba1e11b0674b0a0d06204c1dfa247c370cd4be3e799fc4f6f48d977ac7ca" )); - let result = cometbft_light_block_validation_run_before_hertz(&input, 100_000); - let PrecompileOutput { gas_used, bytes, reverted, .. } = match result { - Ok(output) => output, - Err(_) => panic!("cometbft_light_block_validation_run failed"), - }; - assert_eq!(gas_used, 3_000); - assert_eq!(bytes, except_output_after_hertz); - assert!(!reverted); + let result = cometbft_light_block_validation_run_before_hertz(&input, 100_000, 0); + let output = result.expect("cometbft_light_block_validation_run failed"); + assert_eq!(output.gas_used, 3_000); + assert_eq!(output.bytes, except_output_after_hertz); + assert!(output.is_success()); } } diff --git a/src/evm/precompiles/double_sign.rs b/src/evm/precompiles/double_sign.rs index 86ca0226..61049cf2 100644 --- a/src/evm/precompiles/double_sign.rs +++ b/src/evm/precompiles/double_sign.rs @@ -5,7 +5,7 @@ use alloy_primitives::{keccak256, BlockNumber, Bytes, ChainId, B256, B512, U256} use alloy_rlp::{Decodable, RlpDecodable, RlpEncodable}; use core::cmp::Ordering; use revm::precompile::{ - secp256k1, u64_to_address, PrecompileError, PrecompileOutput, PrecompileResult, + secp256k1, u64_to_address, PrecompileHalt, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, }; use std::borrow::Cow; @@ -74,15 +74,15 @@ pub(crate) struct SealContent { /// signer address| evidence height| /// /// 20 bytes | 32 bytes | -fn double_sign_evidence_validation_run(input: &[u8], gas_limit: u64) -> PrecompileResult { +fn double_sign_evidence_validation_run(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { const DOUBLE_SIGN_EVIDENCE_VALIDATION_BASE: u64 = 10_000; if DOUBLE_SIGN_EVIDENCE_VALIDATION_BASE > gas_limit { - return Err(PrecompileError::OutOfGas); + return Ok(PrecompileOutput::halt(PrecompileHalt::OutOfGas, reservoir)); } let revert = || { - Ok(PrecompileOutput::new_reverted(DOUBLE_SIGN_EVIDENCE_VALIDATION_BASE, Default::default())) + Ok(PrecompileOutput::revert(DOUBLE_SIGN_EVIDENCE_VALIDATION_BASE, Default::default(), reservoir)) }; let Ok(evidence) = DoubleSignEvidence::decode(&mut input.iter().as_ref()) else { @@ -95,23 +95,23 @@ fn double_sign_evidence_validation_run(input: &[u8], gas_limit: u64) -> Precompi // basic check if header1.number.to_be_bytes().len() > 32 || header2.number.to_be_bytes().len() > 32 { - return Err(BscPrecompileError::DoubleSignInvalidEvidence.into()); + return Ok(PrecompileOutput::halt(BscPrecompileError::DoubleSignInvalidEvidence.into(), reservoir)); } if header1.number != header2.number { - return Err(BscPrecompileError::DoubleSignInvalidEvidence.into()); + return Ok(PrecompileOutput::halt(BscPrecompileError::DoubleSignInvalidEvidence.into(), reservoir)); } if header1.parent_hash.cmp(&header2.parent_hash) != Ordering::Equal { - return Err(BscPrecompileError::DoubleSignInvalidEvidence.into()); + return Ok(PrecompileOutput::halt(BscPrecompileError::DoubleSignInvalidEvidence.into(), reservoir)); } if header1.extra.len() < EXTRA_SEAL_LENGTH || header2.extra.len() < EXTRA_SEAL_LENGTH { - return Err(BscPrecompileError::DoubleSignInvalidEvidence.into()); + return Ok(PrecompileOutput::halt(BscPrecompileError::DoubleSignInvalidEvidence.into(), reservoir)); } let sig1 = &header1.extra[header1.extra.len() - EXTRA_SEAL_LENGTH..]; let sig2 = &header2.extra[header2.extra.len() - EXTRA_SEAL_LENGTH..]; if sig1.eq(sig2) { - return Err(BscPrecompileError::DoubleSignInvalidEvidence.into()); + return Ok(PrecompileOutput::halt(BscPrecompileError::DoubleSignInvalidEvidence.into(), reservoir)); } // check signature @@ -119,7 +119,7 @@ fn double_sign_evidence_validation_run(input: &[u8], gas_limit: u64) -> Precompi let msg_hash2 = seal_hash(&header2, evidence.chain_id); if msg_hash1.eq(&msg_hash2) { - return Err(BscPrecompileError::DoubleSignInvalidEvidence.into()); + return Ok(PrecompileOutput::halt(BscPrecompileError::DoubleSignInvalidEvidence.into(), reservoir)); } let recid1 = sig1[64]; @@ -131,7 +131,7 @@ fn double_sign_evidence_validation_run(input: &[u8], gas_limit: u64) -> Precompi let Ok(addr2) = secp256k1::ecrecover(sig2, recid2, &msg_hash2) else { return revert() }; if !addr1.eq(&addr2) { - return Err(BscPrecompileError::DoubleSignInvalidEvidence.into()); + return Ok(PrecompileOutput::halt(BscPrecompileError::DoubleSignInvalidEvidence.into(), reservoir)); } let mut res = [0; 52]; @@ -139,7 +139,7 @@ fn double_sign_evidence_validation_run(input: &[u8], gas_limit: u64) -> Precompi res[..20].clone_from_slice(signer); res[52 - header1.number.to_be_bytes().len()..].clone_from_slice(&header1.number.to_be_bytes()); - Ok(PrecompileOutput::new(DOUBLE_SIGN_EVIDENCE_VALIDATION_BASE, Bytes::copy_from_slice(&res))) + Ok(PrecompileOutput::new(DOUBLE_SIGN_EVIDENCE_VALIDATION_BASE, Bytes::copy_from_slice(&res), reservoir)) } fn seal_hash(header: &Header, chain_id: ChainId) -> B256 { @@ -175,7 +175,7 @@ mod tests { fn test_double_sign_evidence_validation_run() { let input = hex::decode("f906278202cab9030ff9030ca01062d3d5015b9242bc193a9b0769f3d3780ecb55f97f40a752ae26d0b68cd0d8a0fae1a05fcb14bfd9b8a9f2b65007a9b6c2000de0627a73be644dd993d32342c494976ea74026e726554db657fa54763abd0c3a0aa9a0f385cc58ed297ff0d66eb5580b02853d3478ba418b1819ac659ee05df49b9794a0bf88464af369ed6b8cf02db00f0b9556ffa8d49cd491b00952a7f83431446638a00a6d0870e586a76278fbfdcedf76ef6679af18fc1f9137cfad495f434974ea81b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001820cdf830f4240830f4240846555fa64b90111d983010301846765746888676f312e32302e378664617277696e00007abd731ef8ae07b86091cb8836d58f5444b883422a18825d899035d3e6ea39ad1a50069bf0b86da8b5573dde1cb4a0a34f19ce94e0ef78ff7518c80265b8a3ca56e3c60167523590d4e8dcc324900559465fc0fa403774096614e135de280949b58a45cc96f2ba9e17f848820d41a08429d0d8b33ee72a84f750fefea846cbca54e487129c7961c680bb72309ca888820d42a08c9db14d938b19f9e2261bbeca2679945462be2b58103dfff73665d0d150fb8a804ae755e0fe64b59753f4db6308a1f679747bce186aa2c62b95fa6eeff3fbd08f3b0667e45428a54ade15bad19f49641c499b431b36f65803ea71b379e6b61de501a0232c9ba2d41b40d36ed794c306747bcbc49bf61a0f37409c18bfe2b5bef26a2d880000000000000000b9030ff9030ca01062d3d5015b9242bc193a9b0769f3d3780ecb55f97f40a752ae26d0b68cd0d8a0b2789a5357827ed838335283e15c4dcc42b9bebcbf2919a18613246787e2f96094976ea74026e726554db657fa54763abd0c3a0aa9a071ce4c09ee275206013f0063761bc19c93c13990582f918cc57333634c94ce89a00e095703e5c9b149f253fe89697230029e32484a410b4b1f2c61442d73c3095aa0d317ae19ede7c8a2d3ac9ef98735b049bcb7278d12f48c42b924538b60a25e12b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001820cdf830f4240830f4240846555fa64b90111d983010301846765746888676f312e32302e378664617277696e00007abd731ef8ae07b86091cb8836d58f5444b883422a18825d899035d3e6ea39ad1a50069bf0b86da8b5573dde1cb4a0a34f19ce94e0ef78ff7518c80265b8a3ca56e3c60167523590d4e8dcc324900559465fc0fa403774096614e135de280949b58a45cc96f2ba9e17f848820d41a08429d0d8b33ee72a84f750fefea846cbca54e487129c7961c680bb72309ca888820d42a08c9db14d938b19f9e2261bbeca2679945462be2b58103dfff73665d0d150fb8a80c0b17bfe88534296ff064cb7156548f6deba2d6310d5044ed6485f087dc6ef232e051c28e1909c2b50a3b4f29345d66681c319bef653e52e5d746480d5a3983b00a0b56228685be711834d0f154292d07826dea42a0fad3e4f56c31470b7fbfbea26880000000000000000").unwrap(); - let res = double_sign_evidence_validation_run(&Bytes::from(input), 10_000).unwrap(); + let res = double_sign_evidence_validation_run(&Bytes::from(input), 10_000, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 10_000u64); @@ -222,20 +222,19 @@ mod tests { let input = alloy_rlp::encode(evidence); // Run validation - let result = double_sign_evidence_validation_run(&input, 10_000); + let result = double_sign_evidence_validation_run(&input, 10_000, 0); - // Should return DoubleSignInvalidEvidence error - assert!(matches!( - result, - Err(PrecompileError::Other(s)) if s == "double sign invalid evidence" - )); + // Should return DoubleSignInvalidEvidence halt + let output = result.expect("should not return fatal error"); + assert!(output.is_halt()); + assert!(matches!(output.halt_reason(), Some(PrecompileHalt::Other(s)) if s == "double sign invalid evidence")); } #[test] fn test_double_sign_evidence_validation_run_invalid_evidence() { let input = hex::decode("f9066b38b90332f9032fa01062d3d5015b9242bc193a9b0769f3d3780ecb55f97f40a752ae26d0b68cd0d8a0fae1a05fcb14bfd9b8a9f2b65007a9b6c2000de0627a73be644dd993d32342c494df87f0e2b8519ea2dd4abd8b639cdd628497ed25a0f385cc58ed297ff0d66eb5580b02853d3478ba418b1819ac659ee05df49b9794a0bf88464af369ed6b8cf02db00f0b9556ffa8d49cd491b00952a7f83431446638a00a6d0870e586a76278fbfdcedf76ef6679af18fc1f9137cfad495f434974ea81b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a1010000000000000000000000000000000000000000000000000000000000000000830f4240830f42408465bc6996b90115d983010306846765746889676f312e32302e3131856c696e7578000053474aa9f8b25fb860b0844a5082bfaa2299d2a23f076e2f6b17b15f839cc3e7d5a875656f6733fd4b87ba3401f906d15f3dea263cd9a6076107c7db620a4630dd3832c4a4b57eb8f497e28a3d69e5c03b30205c4b45675747d513e1accd66329770f3c35b18c9d023f84c84023a5ad6a086a28d985d9a6c8e7f9a4feadd5ace0adba9818e1e1727edca755fcc0bd8344684023a5ad7a0bc3492196b2e68b8e6ceea87cfa7588b4d590089eb885c4f2c1e9d9fb450f7b980988e1b9d0beb91dab063e04879a24c43d33baae3759dee41fd62ffa83c77fd202bea27a829b49e8025bdd198393526dd12b223ab16052fd26a43f3aabf63e76901a0232c9ba2d41b40d36ed794c306747bcbc49bf61a0f37409c18bfe2b5bef26a2d880000000000000000b90332f9032fa01062d3d5015b9242bc193a9b0769f3d3780ecb55f97f40a752ae26d0b68cd0d8a0b2789a5357827ed838335283e15c4dcc42b9bebcbf2919a18613246787e2f96094df87f0e2b8519ea2dd4abd8b639cdd628497ed25a071ce4c09ee275206013f0063761bc19c93c13990582f918cc57333634c94ce89a00e095703e5c9b149f253fe89697230029e32484a410b4b1f2c61442d73c3095aa0d317ae19ede7c8a2d3ac9ef98735b049bcb7278d12f48c42b924538b60a25e12b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a1010000000000000000000000000000000000000000000000000000000000000000830f4240830f42408465bc6996b90115d983010306846765746889676f312e32302e3131856c696e7578000053474aa9f8b25fb860b0844a5082bfaa2299d2a23f076e2f6b17b15f839cc3e7d5a875656f6733fd4b87ba3401f906d15f3dea263cd9a6076107c7db620a4630dd3832c4a4b57eb8f497e28a3d69e5c03b30205c4b45675747d513e1accd66329770f3c35b18c9d023f84c84023a5ad6a086a28d985d9a6c8e7f9a4feadd5ace0adba9818e1e1727edca755fcc0bd8344684023a5ad7a0bc3492196b2e68b8e6ceea87cfa7588b4d590089eb885c4f2c1e9d9fb450f7b9804c71ed015dd0c5c2d7393b68c2927f83f0a5da4c66f761f09e2f950cc610832c7876144599368404096ddef0eadacfde57717e2c7d23982b927285b797d41bfa00a0b56228685be711834d0f154292d07826dea42a0fad3e4f56c31470b7fbfbea26880000000000000000").unwrap(); - let res = double_sign_evidence_validation_run(&Bytes::from(input), 10_000); - assert_eq!(res, Ok(PrecompileOutput::new_reverted(10_000, Default::default()))); + let res = double_sign_evidence_validation_run(&Bytes::from(input), 10_000, 0); + assert_eq!(res, Ok(PrecompileOutput::revert(10_000, Default::default(), 0))); } } diff --git a/src/evm/precompiles/error.rs b/src/evm/precompiles/error.rs index 24d2e902..0f333ad0 100644 --- a/src/evm/precompiles/error.rs +++ b/src/evm/precompiles/error.rs @@ -1,4 +1,5 @@ -use revm::precompile::PrecompileError; +use std::borrow::Cow; +use revm::precompile::PrecompileHalt; /// BSC specific precompile errors. #[derive(Debug, PartialEq)] @@ -13,18 +14,18 @@ pub enum BscPrecompileError { DoubleSignInvalidEvidence, } -impl From for PrecompileError { +impl From for PrecompileHalt { fn from(error: BscPrecompileError) -> Self { match error { - BscPrecompileError::InvalidInput => PrecompileError::Other("invalid input".into()), + BscPrecompileError::InvalidInput => PrecompileHalt::Other(Cow::Borrowed("invalid input")), BscPrecompileError::CometBftApplyBlockFailed => { - PrecompileError::Other("apply block failed".into()) + PrecompileHalt::Other(Cow::Borrowed("apply block failed")) } BscPrecompileError::CometBftEncodeConsensusStateFailed => { - PrecompileError::Other("encode consensus state failed".into()) + PrecompileHalt::Other(Cow::Borrowed("encode consensus state failed")) } BscPrecompileError::DoubleSignInvalidEvidence => { - PrecompileError::Other("double sign invalid evidence".into()) + PrecompileHalt::Other(Cow::Borrowed("double sign invalid evidence")) } } } diff --git a/src/evm/precompiles/iavl.rs b/src/evm/precompiles/iavl.rs index 82d0108d..f5e5c7f7 100644 --- a/src/evm/precompiles/iavl.rs +++ b/src/evm/precompiles/iavl.rs @@ -1,7 +1,7 @@ use alloy_primitives::Bytes; use parity_bytes::BytesRef; use revm::precompile::{ - u64_to_address, PrecompileError, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, + u64_to_address, PrecompileHalt, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, }; use std::borrow::Cow; use tendermint::lite::iavl_proof; @@ -27,34 +27,35 @@ pub(crate) const IAVL_PROOF_VALIDATION_PLATO: Precompile = Precompile::new(PrecompileId::Custom(Cow::Borrowed("IAVL_MERKLE_PROOF_VALIDATE_PLATO")), u64_to_address(101), iavl_proof_validation_run_plato); /// Run Iavl proof validation. -fn iavl_proof_validation_run(input: &[u8], gas_limit: u64) -> PrecompileResult { - iavl_proof_validation_run_inner(input, gas_limit, false, false, false) +fn iavl_proof_validation_run(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { + iavl_proof_validation_run_inner(input, gas_limit, reservoir, false, false, false) } /// Run Iavl proof validation with Nano hardfork. -fn iavl_proof_validation_run_nano(_input: &[u8], _gas_limit: u64) -> PrecompileResult { - Err(PrecompileError::other("suspended")) +fn iavl_proof_validation_run_nano(_input: &[u8], _gas_limit: u64, reservoir: u64) -> PrecompileResult { + Ok(PrecompileOutput::halt(PrecompileHalt::other("suspended"), reservoir)) } /// Run Iavl proof validation with Moran hardfork. -fn iavl_proof_validation_run_moran(input: &[u8], gas_limit: u64) -> PrecompileResult { - iavl_proof_validation_run_inner(input, gas_limit, true, false, false) +fn iavl_proof_validation_run_moran(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { + iavl_proof_validation_run_inner(input, gas_limit, reservoir, true, false, false) } /// Run Iavl proof validation with Planck hardfork. -fn iavl_proof_validation_run_planck(input: &[u8], gas_limit: u64) -> PrecompileResult { - iavl_proof_validation_run_inner(input, gas_limit, false, true, false) +fn iavl_proof_validation_run_planck(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { + iavl_proof_validation_run_inner(input, gas_limit, reservoir, false, true, false) } /// Run Iavl proof validation with Plato hardfork. -fn iavl_proof_validation_run_plato(input: &[u8], gas_limit: u64) -> PrecompileResult { - iavl_proof_validation_run_inner(input, gas_limit, false, false, true) +fn iavl_proof_validation_run_plato(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { + iavl_proof_validation_run_inner(input, gas_limit, reservoir, false, false, true) } /// Run Iavl proof validation with given hardfork toggles. fn iavl_proof_validation_run_inner( input: &[u8], gas_limit: u64, + reservoir: u64, is_moran: bool, is_planck: bool, is_plato: bool, @@ -62,7 +63,7 @@ fn iavl_proof_validation_run_inner( const IAVL_PROOF_VALIDATION_BASE: u64 = 3_000; if IAVL_PROOF_VALIDATION_BASE > gas_limit { - return Err(PrecompileError::OutOfGas); + return Ok(PrecompileOutput::halt(PrecompileHalt::OutOfGas, reservoir)); } let mut output = [0u8; 32]; @@ -72,8 +73,9 @@ fn iavl_proof_validation_run_inner( Ok(()) => Ok(PrecompileOutput::new( IAVL_PROOF_VALIDATION_BASE, Bytes::copy_from_slice(&output[..]), + reservoir, )), - Err(str) => Err(PrecompileError::other(str)), + Err(str) => Ok(PrecompileOutput::halt(PrecompileHalt::other(str), reservoir)), } } @@ -86,7 +88,7 @@ mod tests { #[test] fn test_iavl_proof_validation_run() { let input = hex::decode("00000000000000000000000000000000000000000000000000000000000007306163630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d000000000000000000000000000000000000000000000000000000000000007b4bdc4c270a750a148a4e2eb018bdf98a8f53ec755740ffc728637a1d12110a0941544348412d3733301080f69bf321120b0a03424e4210e8baeb8d44120f0a075050432d303041108094ebdc031a26eb5ae98721031c199c92e5b0080967da99be27cf2da53317441b4a663e6d9c6caf02be1fdbdc20d7962b28152c69c314b4de5c8035253c8bc0771d9ca17b1b23a57c0c6d068b57579791cae20add070a066961766c3a76121c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d1ab407b2070aaf070a2d081810cdfd2b188096a82222209f223f804e2d94ac51c4321b0687397012e6d95eb9783b03bc790da631004c7c0a2d081710adb31a18f395a8222a20d2a38865de82383ccce0140513b65cec1bf2ae6cd7dfeb22eb6faadb4e26b26f0a2d081510b2990b18f395a82222208a02bbd5a695dfc772627ac8744aa9cf30ae26575bdce8c96a9a0d0999175b430a2d081410e6ff0418f395a8222a20d39619c779be909e67f23499fb74eb2c19afd7f21523401d4ccf7e917db5cd600a2d081210e3fe0118f395a8222a20a10cc73843f889d9e03a463eb135e928bb980e19734344cba0fbf4e8a4c5258b0a2c081010dd6518f395a8222a2007fd15843a2fd3f58d021b0e072a6c70742d7a3d993a922445e3491e1c14ee8e0a2c080f10cc2a18eda6a7222a20088942d7b30abd021d8e9505cc41313fad87c8c10a799f3b51018b7b2cfe4ad90a2c080d10b70d18eda6a7222a2091a37bc44d0c61e3752ddc59eb390355ab65e8a9fb453be4f0acec537f1ca14f0a2c080c10890818eda6a72222201cfc317855a06667c45812fe36efe33af05671dfe0d9b56b02662011af2e79e30a2c080b10ac0318c4b0ee212220aeb454a4b3243b6269a2fd8841dca9a951c53b30f1e27da91063dae7224402c70a2c080910e40118c4b0ee212a20441340a4de6498f861b97b3f3ad9603af055e5af51a0d96fff2ae28e3c5c6c9a0a2c0808108d0118c4b0ee212220ae32ea4b9ab7b53571da320e2815fd8b2c278124961cca4a1849a799842424450a2b0807104d18c4b0ee212220e2804c9b7f045ec0b4ab20920a937b82fda8b7a9ddd12b21637335b915cfda550a2b0806102418a5f4c7192a20ec85f22addedfc82c771af5b4c77544b7c1d7c5bbac33f2712dfba1045ebdbd00a2b0805101118a5f4c7192a2071ade34dcc447a0ba8adc603080633d15c06f3525830c86ebce35eca0a4921fc0a2b0804100c18a5f4c7192a205190bce93993e65b266a3417ed511df8897a812cb4b62569e5afcfbec10b69cd0a2b0803100618a5f4c7192220b76c6884f1d412ac10bfb3987fb7d26f0330b2a85539509ebc5c6bdec2f95d520a2b0802100418a5f4c71922206a285b4a4f9d1c687bbafa1f3649b6a6e32b1a85dd0402421210683e846cf0020a2b0801100218a5f4c7192220033b3f7c6dcb258b6e55545e7a4f51539447cd595eb8a2e373ba0015502da1051a450a1c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d12201a272295e94cf1d8090bdb019dde48e9dab026ad2c3e43aaa7e61cc954a9245d18a5f4c7190ab6040a0a6d756c746973746f726512036163631aa204a0040a9d040a300a0364657812290a27088496a822122038fc49f49648fec62acc434151a51eaa378c1b20a730a749548e36f1529422500a300a03676f7612290a27088496a8221220a78ce489bdf08b9ee869c184876e1623dc38b3e64a5cf1a0005f97976c64deac0a380a0b61746f6d69635f7377617012290a27088496a8221220544c2fa38f61e10a39ec00b3e724d5834761268bb455cdbf5843bcf1531f8fbc0a300a0376616c12290a27088496a82212201f71082c9f6f45fb456b2c00b41e50d2f662f2dfec3cb6965f19d214bf02f3980a0f0a046d61696e12070a05088496a8220a320a057374616b6512290a27088496a82212200dd467343c718f240e50b4feac42970fc8c1c69a018be955f9c27913ac1f8b3c0a300a0361636312290a27088496a8221220270c19ccc9c40c5176b3dfbd8af734c97a307e0dbd8df9e286dcd5d709f973ed0a330a06746f6b656e7312290a27088496a8221220c4f96eedf50c83964de9df013afec2e545012d92528b643a5166c828774187b60a320a05706169727312290a27088496a8221220351c55cfda84596ecd22ebc77013662aba97f81f19d9ef3d150213bb07c823060a360a0974696d655f6c6f636b12290a27088496a8221220e7adf5bd30ce022decf0e9341bf05c464ed70cdbc97423bd2bab8f3571e5179b0a330a06706172616d7312290a27088496a822122042a9dfc356ca435db131eb41fb1975c8482f2434537918665e530b0b4633b5f9").unwrap(); - let res = iavl_proof_validation_run(&Bytes::from(input), 3_000u64).unwrap(); + let res = iavl_proof_validation_run(&Bytes::from(input), 3_000u64, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 3_000u64); @@ -98,7 +100,7 @@ mod tests { #[test] fn test_iavl_proof_validation_run_moran() { let input = hex::decode("00000000000000000000000000000000000000000000000000000000000007306163630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d000000000000000000000000000000000000000000000000000000000000007b4bdc4c270a750a148a4e2eb018bdf98a8f53ec755740ffc728637a1d12110a0941544348412d3733301080f69bf321120b0a03424e4210e8baeb8d44120f0a075050432d303041108094ebdc031a26eb5ae98721031c199c92e5b0080967da99be27cf2da53317441b4a663e6d9c6caf02be1fdbdc20d7962b28152c69c314b4de5c8035253c8bc0771d9ca17b1b23a57c0c6d068b57579791cae20add070a066961766c3a76121c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d1ab407b2070aaf070a2d081810cdfd2b188096a82222209f223f804e2d94ac51c4321b0687397012e6d95eb9783b03bc790da631004c7c0a2d081710adb31a18f395a8222a20d2a38865de82383ccce0140513b65cec1bf2ae6cd7dfeb22eb6faadb4e26b26f0a2d081510b2990b18f395a82222208a02bbd5a695dfc772627ac8744aa9cf30ae26575bdce8c96a9a0d0999175b430a2d081410e6ff0418f395a8222a20d39619c779be909e67f23499fb74eb2c19afd7f21523401d4ccf7e917db5cd600a2d081210e3fe0118f395a8222a20a10cc73843f889d9e03a463eb135e928bb980e19734344cba0fbf4e8a4c5258b0a2c081010dd6518f395a8222a2007fd15843a2fd3f58d021b0e072a6c70742d7a3d993a922445e3491e1c14ee8e0a2c080f10cc2a18eda6a7222a20088942d7b30abd021d8e9505cc41313fad87c8c10a799f3b51018b7b2cfe4ad90a2c080d10b70d18eda6a7222a2091a37bc44d0c61e3752ddc59eb390355ab65e8a9fb453be4f0acec537f1ca14f0a2c080c10890818eda6a72222201cfc317855a06667c45812fe36efe33af05671dfe0d9b56b02662011af2e79e30a2c080b10ac0318c4b0ee212220aeb454a4b3243b6269a2fd8841dca9a951c53b30f1e27da91063dae7224402c70a2c080910e40118c4b0ee212a20441340a4de6498f861b97b3f3ad9603af055e5af51a0d96fff2ae28e3c5c6c9a0a2c0808108d0118c4b0ee212220ae32ea4b9ab7b53571da320e2815fd8b2c278124961cca4a1849a799842424450a2b0807104d18c4b0ee212220e2804c9b7f045ec0b4ab20920a937b82fda8b7a9ddd12b21637335b915cfda550a2b0806102418a5f4c7192a20ec85f22addedfc82c771af5b4c77544b7c1d7c5bbac33f2712dfba1045ebdbd00a2b0805101118a5f4c7192a2071ade34dcc447a0ba8adc603080633d15c06f3525830c86ebce35eca0a4921fc0a2b0804100c18a5f4c7192a205190bce93993e65b266a3417ed511df8897a812cb4b62569e5afcfbec10b69cd0a2b0803100618a5f4c7192220b76c6884f1d412ac10bfb3987fb7d26f0330b2a85539509ebc5c6bdec2f95d520a2b0802100418a5f4c71922206a285b4a4f9d1c687bbafa1f3649b6a6e32b1a85dd0402421210683e846cf0020a2b0801100218a5f4c7192220033b3f7c6dcb258b6e55545e7a4f51539447cd595eb8a2e373ba0015502da1051a450a1c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d12201a272295e94cf1d8090bdb019dde48e9dab026ad2c3e43aaa7e61cc954a9245d18a5f4c7190ab6040a0a6d756c746973746f726512036163631aa204a0040a9d040a300a0364657812290a27088496a822122038fc49f49648fec62acc434151a51eaa378c1b20a730a749548e36f1529422500a300a03676f7612290a27088496a8221220a78ce489bdf08b9ee869c184876e1623dc38b3e64a5cf1a0005f97976c64deac0a380a0b61746f6d69635f7377617012290a27088496a8221220544c2fa38f61e10a39ec00b3e724d5834761268bb455cdbf5843bcf1531f8fbc0a300a0376616c12290a27088496a82212201f71082c9f6f45fb456b2c00b41e50d2f662f2dfec3cb6965f19d214bf02f3980a0f0a046d61696e12070a05088496a8220a320a057374616b6512290a27088496a82212200dd467343c718f240e50b4feac42970fc8c1c69a018be955f9c27913ac1f8b3c0a300a0361636312290a27088496a8221220270c19ccc9c40c5176b3dfbd8af734c97a307e0dbd8df9e286dcd5d709f973ed0a330a06746f6b656e7312290a27088496a8221220c4f96eedf50c83964de9df013afec2e545012d92528b643a5166c828774187b60a320a05706169727312290a27088496a8221220351c55cfda84596ecd22ebc77013662aba97f81f19d9ef3d150213bb07c823060a360a0974696d655f6c6f636b12290a27088496a8221220e7adf5bd30ce022decf0e9341bf05c464ed70cdbc97423bd2bab8f3571e5179b0a330a06706172616d7312290a27088496a822122042a9dfc356ca435db131eb41fb1975c8482f2434537918665e530b0b4633b5f9").unwrap(); - let res = iavl_proof_validation_run_moran(&Bytes::from(input), 3_000u64).unwrap(); + let res = iavl_proof_validation_run_moran(&Bytes::from(input), 3_000u64, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 3_000u64); @@ -110,7 +112,7 @@ mod tests { #[test] fn test_iavl_proof_validation_run_absence_proof_moran() { let input = hex::decode("00000000000000000000000000000000000000000000000000000000000007306163630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d000000000000000000000000000000000000000000000000000000000000007b4bdc4c270a750a148a4e2eb018bdf98a8f53ec755740ffc728637a1d12110a0941544348412d3733301080f69bf321120b0a03424e4210e8baeb8d44120f0a075050432d303041108094ebdc031a26eb5ae98721031c199c92e5b0080967da99be27cf2da53317441b4a663e6d9c6caf02be1fdbdc20d7962b28152c69c314b4de5c8035253c8bc0771d9ca17b1b23a57c0c6d068b57579791cae20add070a066961766c3a61121c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d1ab407b2070aaf070a2d081810cdfd2b188096a82222209f223f804e2d94ac51c4321b0687397012e6d95eb9783b03bc790da631004c7c0a2d081710adb31a18f395a8222a20d2a38865de82383ccce0140513b65cec1bf2ae6cd7dfeb22eb6faadb4e26b26f0a2d081510b2990b18f395a82222208a02bbd5a695dfc772627ac8744aa9cf30ae26575bdce8c96a9a0d0999175b430a2d081410e6ff0418f395a8222a20d39619c779be909e67f23499fb74eb2c19afd7f21523401d4ccf7e917db5cd600a2d081210e3fe0118f395a8222a20a10cc73843f889d9e03a463eb135e928bb980e19734344cba0fbf4e8a4c5258b0a2c081010dd6518f395a8222a2007fd15843a2fd3f58d021b0e072a6c70742d7a3d993a922445e3491e1c14ee8e0a2c080f10cc2a18eda6a7222a20088942d7b30abd021d8e9505cc41313fad87c8c10a799f3b51018b7b2cfe4ad90a2c080d10b70d18eda6a7222a2091a37bc44d0c61e3752ddc59eb390355ab65e8a9fb453be4f0acec537f1ca14f0a2c080c10890818eda6a72222201cfc317855a06667c45812fe36efe33af05671dfe0d9b56b02662011af2e79e30a2c080b10ac0318c4b0ee212220aeb454a4b3243b6269a2fd8841dca9a951c53b30f1e27da91063dae7224402c70a2c080910e40118c4b0ee212a20441340a4de6498f861b97b3f3ad9603af055e5af51a0d96fff2ae28e3c5c6c9a0a2c0808108d0118c4b0ee212220ae32ea4b9ab7b53571da320e2815fd8b2c278124961cca4a1849a799842424450a2b0807104d18c4b0ee212220e2804c9b7f045ec0b4ab20920a937b82fda8b7a9ddd12b21637335b915cfda550a2b0806102418a5f4c7192a20ec85f22addedfc82c771af5b4c77544b7c1d7c5bbac33f2712dfba1045ebdbd00a2b0805101118a5f4c7192a2071ade34dcc447a0ba8adc603080633d15c06f3525830c86ebce35eca0a4921fc0a2b0804100c18a5f4c7192a205190bce93993e65b266a3417ed511df8897a812cb4b62569e5afcfbec10b69cd0a2b0803100618a5f4c7192220b76c6884f1d412ac10bfb3987fb7d26f0330b2a85539509ebc5c6bdec2f95d520a2b0802100418a5f4c71922206a285b4a4f9d1c687bbafa1f3649b6a6e32b1a85dd0402421210683e846cf0020a2b0801100218a5f4c7192220033b3f7c6dcb258b6e55545e7a4f51539447cd595eb8a2e373ba0015502da1051a450a1c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d12201a272295e94cf1d8090bdb019dde48e9dab026ad2c3e43aaa7e61cc954a9245d18a5f4c7190ab6040a0a6d756c746973746f726512036163631aa204a0040a9d040a300a0364657812290a27088496a822122038fc49f49648fec62acc434151a51eaa378c1b20a730a749548e36f1529422500a300a03676f7612290a27088496a8221220a78ce489bdf08b9ee869c184876e1623dc38b3e64a5cf1a0005f97976c64deac0a380a0b61746f6d69635f7377617012290a27088496a8221220544c2fa38f61e10a39ec00b3e724d5834761268bb455cdbf5843bcf1531f8fbc0a300a0376616c12290a27088496a82212201f71082c9f6f45fb456b2c00b41e50d2f662f2dfec3cb6965f19d214bf02f3980a0f0a046d61696e12070a05088496a8220a320a057374616b6512290a27088496a82212200dd467343c718f240e50b4feac42970fc8c1c69a018be955f9c27913ac1f8b3c0a300a0361636312290a27088496a8221220270c19ccc9c40c5176b3dfbd8af734c97a307e0dbd8df9e286dcd5d709f973ed0a330a06746f6b656e7312290a27088496a8221220c4f96eedf50c83964de9df013afec2e545012d92528b643a5166c828774187b60a320a05706169727312290a27088496a8221220351c55cfda84596ecd22ebc77013662aba97f81f19d9ef3d150213bb07c823060a360a0974696d655f6c6f636b12290a27088496a8221220e7adf5bd30ce022decf0e9341bf05c464ed70cdbc97423bd2bab8f3571e5179b0a330a06706172616d7312290a27088496a822122042a9dfc356ca435db131eb41fb1975c8482f2434537918665e530b0b4633b5f9").unwrap(); - let res = iavl_proof_validation_run_moran(&Bytes::from(input), 3_000u64); + let res = iavl_proof_validation_run_moran(&Bytes::from(input), 3_000u64, 0); assert_eq!(res.err(), Some(PrecompileError::other("invalid merkle proof"))); } @@ -127,16 +129,16 @@ mod tests { let testcases = vec![bytest1, bytest2]; testcases.into_iter().for_each(|t| { - let res = iavl_proof_validation_run(&Bytes::from(t.clone()), 3_000u64); + let res = iavl_proof_validation_run(&Bytes::from(t.clone()), 3_000u64, 0); assert_eq!(res.err(), None); - let res = iavl_proof_validation_run_moran(&Bytes::from(t.clone()), 3_000u64); + let res = iavl_proof_validation_run_moran(&Bytes::from(t.clone()), 3_000u64, 0); assert_eq!(res.err(), Some(PrecompileError::other("invalid merkle proof"))); }); let input = hex::decode("00000000000000000000000000000000000000000000000000000000000007306163630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d000000000000000000000000000000000000000000000000000000000000007b4bdc4c270a750a148a4e2eb018bdf98a8f53ec755740ffc728637a1d12110a0941544348412d3733301080f69bf321120b0a03424e4210e8baeb8d44120f0a075050432d303041108094ebdc031a26eb5ae98721031c199c92e5b0080967da99be27cf2da53317441b4a663e6d9c6caf02be1fdbdc20d7962b28152c69c314b4de5c8035253c8bc0771d9ca17b1b23a57c0c6d068b57579791cae20add070a066961766c3a61121c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d1ab407b2070aaf070a2d081810cdfd2b188096a82222209f223f804e2d94ac51c4321b0687397012e6d95eb9783b03bc790da631004c7c0a2d081710adb31a18f395a8222a20d2a38865de82383ccce0140513b65cec1bf2ae6cd7dfeb22eb6faadb4e26b26f0a2d081510b2990b18f395a82222208a02bbd5a695dfc772627ac8744aa9cf30ae26575bdce8c96a9a0d0999175b430a2d081410e6ff0418f395a8222a20d39619c779be909e67f23499fb74eb2c19afd7f21523401d4ccf7e917db5cd600a2d081210e3fe0118f395a8222a20a10cc73843f889d9e03a463eb135e928bb980e19734344cba0fbf4e8a4c5258b0a2c081010dd6518f395a8222a2007fd15843a2fd3f58d021b0e072a6c70742d7a3d993a922445e3491e1c14ee8e0a2c080f10cc2a18eda6a7222a20088942d7b30abd021d8e9505cc41313fad87c8c10a799f3b51018b7b2cfe4ad90a2c080d10b70d18eda6a7222a2091a37bc44d0c61e3752ddc59eb390355ab65e8a9fb453be4f0acec537f1ca14f0a2c080c10890818eda6a72222201cfc317855a06667c45812fe36efe33af05671dfe0d9b56b02662011af2e79e30a2c080b10ac0318c4b0ee212220aeb454a4b3243b6269a2fd8841dca9a951c53b30f1e27da91063dae7224402c70a2c080910e40118c4b0ee212a20441340a4de6498f861b97b3f3ad9603af055e5af51a0d96fff2ae28e3c5c6c9a0a2c0808108d0118c4b0ee212220ae32ea4b9ab7b53571da320e2815fd8b2c278124961cca4a1849a799842424450a2b0807104d18c4b0ee212220e2804c9b7f045ec0b4ab20920a937b82fda8b7a9ddd12b21637335b915cfda550a2b0806102418a5f4c7192a20ec85f22addedfc82c771af5b4c77544b7c1d7c5bbac33f2712dfba1045ebdbd00a2b0805101118a5f4c7192a2071ade34dcc447a0ba8adc603080633d15c06f3525830c86ebce35eca0a4921fc0a2b0804100c18a5f4c7192a205190bce93993e65b266a3417ed511df8897a812cb4b62569e5afcfbec10b69cd0a2b0803100618a5f4c7192220b76c6884f1d412ac10bfb3987fb7d26f0330b2a85539509ebc5c6bdec2f95d520a2b0802100418a5f4c71922206a285b4a4f9d1c687bbafa1f3649b6a6e32b1a85dd0402421210683e846cf0020a2b0801100218a5f4c7192220033b3f7c6dcb258b6e55545e7a4f51539447cd595eb8a2e373ba0015502da1051a450a1c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d12201a272295e94cf1d8090bdb019dde48e9dab026ad2c3e43aaa7e61cc954a9245d18a5f4c7190ab6040a0a6d756c746973746f726512036163631aa204a0040a9d040a300a0364657812290a27088496a822122038fc49f49648fec62acc434151a51eaa378c1b20a730a749548e36f1529422500a300a03676f7612290a27088496a8221220a78ce489bdf08b9ee869c184876e1623dc38b3e64a5cf1a0005f97976c64deac0a380a0b61746f6d69635f7377617012290a27088496a8221220544c2fa38f61e10a39ec00b3e724d5834761268bb455cdbf5843bcf1531f8fbc0a300a0376616c12290a27088496a82212201f71082c9f6f45fb456b2c00b41e50d2f662f2dfec3cb6965f19d214bf02f3980a0f0a046d61696e12070a05088496a8220a320a057374616b6512290a27088496a82212200dd467343c718f240e50b4feac42970fc8c1c69a018be955f9c27913ac1f8b3c0a300a0361636312290a27088496a8221220270c19ccc9c40c5176b3dfbd8af734c97a307e0dbd8df9e286dcd5d709f973ed0a330a06746f6b656e7312290a27088496a8221220c4f96eedf50c83964de9df013afec2e545012d92528b643a5166c828774187b60a320a05706169727312290a27088496a8221220351c55cfda84596ecd22ebc77013662aba97f81f19d9ef3d150213bb07c823060a360a0974696d655f6c6f636b12290a27088496a8221220e7adf5bd30ce022decf0e9341bf05c464ed70cdbc97423bd2bab8f3571e5179b0a330a06706172616d7312290a27088496a822122042a9dfc356ca435db131eb41fb1975c8482f2434537918665e530b0b4633b5f9").unwrap(); - let res = iavl_proof_validation_run_moran(&Bytes::from(input), 3_000u64); + let res = iavl_proof_validation_run_moran(&Bytes::from(input), 3_000u64, 0); assert_eq!(res.err(), Some(PrecompileError::other("invalid merkle proof"))); } @@ -144,7 +146,7 @@ mod tests { #[test] fn test_iavl_proof_validation_run_valid_proof_moran() { let input = hex::decode("00000000000000000000000000000000000000000000000000000000000005086962630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000100380200000000010dd9ac0000000000000000000000000000000000000000000000000000000000000093000000000000000000000000000000000000000000000000000000000000000000f870a0424e4200000000000000000000000000000000000000000000000000000000009400000000000000000000000000000000000000008ad3c21bcecceda100000094489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec94489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec846553f10072cda827a83531ca0fd7ac917a6b65649719aab0836722caafe0603147a523180a8d020a066961766c3a76120e00000100380200000000010dd9ac1af201f0010aed010a2b0802100318b091c73422200c10f902d266c238a4ca9e26fa9bc36483cd3ebee4e263012f5e7f40c22ee4d20a4d0801100218b091c7342220e4fd47bffd1c06e67edad92b2bf9ca63631978676288a2aa99f95c459436ef632a20121a1f9c4eca726c725796c5375fc4158986ced08e498dc8268ef94d8ed1891612001a370a0e0000010038020000000000000002122011056c6919f02d966991c10721684a8d1542e44003f9ffb47032c18995d4ac7f18b091c7341a340a0e00000100380200000000010dd9ac12202c3a561458f8527b002b5ec3cab2d308662798d6245d4588a4e6a80ebdfe30ac18010ad4050a0a6d756c746973746f726512036962631ac005be050abb050a110a066f7261636c6512070a0508b891c7340a0f0a046d61696e12070a0508b891c7340a350a08736c617368696e6712290a2708b891c7341220c8ccf341e6e695e7e1cb0ce4bf347eea0cc16947d8b4e934ec400b57c59d6f860a380a0b61746f6d69635f7377617012290a2708b891c734122042d4ecc9468f71a70288a95d46564bfcaf2c9f811051dcc5593dbef152976b010a110a0662726964676512070a0508b891c7340a300a0364657812290a2708b891c73412201773be443c27f61075cecdc050ce22eb4990c54679089e90afdc4e0e88182a230a2f0a02736312290a2708b891c7341220df7a0484b7244f76861b1642cfb7a61d923794bd2e076c8dbd05fc4ee29f3a670a330a06746f6b656e7312290a2708b891c734122064958c2f76fec1fa5d1828296e51264c259fa264f499724795a740f48fc4731b0a320a057374616b6512290a2708b891c734122015d2c302143bdf029d58fe381cc3b54cedf77ecb8834dfc5dc3e1555d68f19ab0a330a06706172616d7312290a2708b891c734122050abddcb7c115123a5a4247613ab39e6ba935a3d4f4b9123c4fedfa0895c040a0a300a0361636312290a2708b891c734122079fb5aecc4a9b87e56231103affa5e515a1bdf3d0366490a73e087980b7f1f260a0e0a0376616c12070a0508b891c7340a300a0369626312290a2708b891c7341220e09159530585455058cf1785f411ea44230f39334e6e0f6a3c54dbf069df2b620a300a03676f7612290a2708b891c7341220db85ddd37470983b14186e975a175dfb0bf301b43de685ced0aef18d28b4e0420a320a05706169727312290a2708b891c7341220a78b556bc9e73d86b4c63ceaf146db71b12ac80e4c10dd0ce6eb09c99b0c7cfe0a360a0974696d655f6c6f636b12290a2708b891c73412204775dbe01d41cab018c21ba5c2af94720e4d7119baf693670e70a40ba2a52143").unwrap(); - let res = iavl_proof_validation_run(&Bytes::from(input), 3_000u64).unwrap(); + let res = iavl_proof_validation_run(&Bytes::from(input), 3_000u64, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 3_000u64); @@ -156,7 +158,7 @@ mod tests { #[test] fn test_iavl_proof_validation_run_valid_proof_plank() { let input = hex::decode("000000000000000000000000000000000000000000000000000000000000015b6962630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000477696e640000000000000000000000000000000000000000000000000000000000000005626c6f7773ae6d1123fc362b3297bfb19c9f9fabbcbd1e2555b923dead261905b8a2ff6db60a300a0a69637332333a6961766c120477696e641a1c0a1a0a0477696e641205626c6f77731a0b0801180120012a030002040a9d010a0c69637332333a73696d706c6512036962631a87010a84010a036962631220141acb8632cfb808f293f2649cb9aabaca74fc18640900ffd0d48e2994b2a1521a090801180120012a0100222708011201011a205f0ba08283de309300409486e978a3ea59d82bccc838b07c7d39bd87c16a5034222708011201011a20455b81ef5591150bd24d3e57a769f65518b16de93487f0fab02271b3d69e2852").unwrap(); - let res = iavl_proof_validation_run_planck(&Bytes::from(input), 3_000u64).unwrap(); + let res = iavl_proof_validation_run_planck(&Bytes::from(input), 3_000u64, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 3_000u64); @@ -168,7 +170,7 @@ mod tests { #[test] fn test_iavl_proof_validation_run_valid_proof_plato() { let input = hex::decode("000000000000000000000000000000000000000000000000000000000000015b6962630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000477696e640000000000000000000000000000000000000000000000000000000000000005626c6f7773ae6d1123fc362b3297bfb19c9f9fabbcbd1e2555b923dead261905b8a2ff6db60a300a0a69637332333a6961766c120477696e641a1c0a1a0a0477696e641205626c6f77731a0b0801180120012a030002040a9d010a0c69637332333a73696d706c6512036962631a87010a84010a036962631220141acb8632cfb808f293f2649cb9aabaca74fc18640900ffd0d48e2994b2a1521a090801180120012a0100222708011201011a205f0ba08283de309300409486e978a3ea59d82bccc838b07c7d39bd87c16a5034222708011201011a20455b81ef5591150bd24d3e57a769f65518b16de93487f0fab02271b3d69e2852").unwrap(); - let res = iavl_proof_validation_run_plato(&Bytes::from(input), 3_000u64).unwrap(); + let res = iavl_proof_validation_run_plato(&Bytes::from(input), 3_000u64, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 3_000u64); diff --git a/src/evm/precompiles/mod.rs b/src/evm/precompiles/mod.rs index ccd48fdb..c6b4cd25 100644 --- a/src/evm/precompiles/mod.rs +++ b/src/evm/precompiles/mod.rs @@ -9,7 +9,7 @@ use revm::{ handler::EthPrecompiles, precompile::{ bls12_381, kzg_point_evaluation, modexp, secp256r1, u64_to_address, Precompile, PrecompileError, PrecompileFn, - PrecompileId, PrecompileOutput, PrecompileResult, Precompiles, + PrecompileId, PrecompileResult, Precompiles, }, primitives::{hardfork::SpecId, Address as RevmAddress}, }; @@ -28,7 +28,7 @@ mod tm_secp256k1; #[derive(Clone, Debug)] struct PrecompileTraceEntry { id: PrecompileId, - original: PrecompileFn, + original: Precompile, } #[derive(Clone, Debug, Default)] @@ -200,7 +200,7 @@ fn log_precompile_call( precompile_input_len = input_len, precompile_gas_used = output.gas_used, precompile_gas_refunded = output.gas_refunded, - precompile_reverted = output.reverted, + precompile_reverted = !output.is_success(), precompile_output_len = output.bytes.len(), "Precompile executed" ); @@ -227,7 +227,7 @@ fn log_precompile_call( } } -fn traced_precompile_call(address: RevmAddress, input: &[u8], gas_limit: u64) -> PrecompileResult { +fn traced_precompile_call(address: RevmAddress, input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { let ctx = current_precompile_trace_context(); let entry = if let Some(ctx) = &ctx { @@ -237,10 +237,10 @@ fn traced_precompile_call(address: RevmAddress, input: &[u8], gas_limit: u64) -> }; let Some(entry) = entry else { - return Err(PrecompileError::other("missing original precompile function")); + return Err(PrecompileError::Fatal("missing original precompile function".to_string())); }; - let result = (entry.original)(input, gas_limit); + let result = entry.original.execute(input, gas_limit, reservoir); if let Some(ctx) = &ctx { if should_trace_precompiles(ctx) { @@ -272,8 +272,8 @@ const PRECOMPILE_ADDR_105: RevmAddress = u64_to_address(105); macro_rules! traced_wrapper { ($name:ident, $addr:ident) => { - fn $name(input: &[u8], gas_limit: u64) -> PrecompileResult { - traced_precompile_call($addr, input, gas_limit) + fn $name(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { + traced_precompile_call($addr, input, gas_limit, reservoir) } }; } @@ -327,8 +327,9 @@ fn install_precompile_tracing(precompiles: &mut Precompiles) -> PrecompileTraceM continue; }; - let (id, address, original) = precompile.into(); - trace_map.insert(address, PrecompileTraceEntry { id: id.clone(), original }); + let id = precompile.id().clone(); + let address = *precompile.address(); + trace_map.insert(address, PrecompileTraceEntry { id: id.clone(), original: precompile }); if let Some(wrapper) = traced_wrapper_for_address(address) { precompiles.extend([Precompile::new(id, address, wrapper)]); diff --git a/src/evm/precompiles/tendermint.rs b/src/evm/precompiles/tendermint.rs index bfbf7b10..ab4a5620 100644 --- a/src/evm/precompiles/tendermint.rs +++ b/src/evm/precompiles/tendermint.rs @@ -3,7 +3,7 @@ use alloy_primitives::Bytes; use parity_bytes::BytesRef; use revm::precompile::{ - u64_to_address, PrecompileError, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, + u64_to_address, PrecompileHalt, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, }; use std::borrow::Cow; use tendermint::lite::light_client; @@ -17,24 +17,24 @@ pub(crate) const TENDERMINT_HEADER_VALIDATION_NANO: Precompile = Precompile::new(PrecompileId::Custom(Cow::Borrowed("HEADER_VALIDATE_NANO")), u64_to_address(100), tendermint_header_validation_run_nano); /// Run the Tendermint header validation precompile after Nano hardfork. -fn tendermint_header_validation_run_nano(input: &[u8], _gas_limit: u64) -> PrecompileResult { - Err(PrecompileError::other("suspended")) +fn tendermint_header_validation_run_nano(_input: &[u8], _gas_limit: u64, reservoir: u64) -> PrecompileResult { + Ok(PrecompileOutput::halt(PrecompileHalt::other("suspended"), reservoir)) } /// Run the Tendermint header validation precompile. -fn tendermint_header_validation_run(input: &[u8], gas_limit: u64) -> PrecompileResult { +fn tendermint_header_validation_run(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { const TENDERMINT_HEADER_VALIDATION_BASE: u64 = 3_000; if TENDERMINT_HEADER_VALIDATION_BASE > gas_limit { - return Err(PrecompileError::OutOfGas); + return Ok(PrecompileOutput::halt(PrecompileHalt::OutOfGas, reservoir)); } let mut output = vec![0u8, 0, 0]; let mut bytes = BytesRef::Flexible(&mut output); let res = light_client::TmHeaderVerifier::execute(input, &mut bytes); match res { - Ok(()) => Ok(PrecompileOutput::new(TENDERMINT_HEADER_VALIDATION_BASE, Bytes::from(output))), - Err(str) => Err(PrecompileError::other(str)), + Ok(()) => Ok(PrecompileOutput::new(TENDERMINT_HEADER_VALIDATION_BASE, Bytes::from(output), reservoir)), + Err(str) => Ok(PrecompileOutput::halt(PrecompileHalt::other(str), reservoir)), } } @@ -46,7 +46,7 @@ mod tests { #[test] fn test_tendermint_header_validation_run() { let input = hex::decode("0000000000000000000000000000000000000000000000000000000000001325000000000000000000000000000000000000000000000000000000000000022042696e616e63652d436861696e2d4e696c6500000000000000000000000000000000000003fc05e2b7029751d2a6581efc2f79712ec44d8b4981850325a7feadaa58ef4ddaa18a9380d9ab0fc10d18ca0e0832d5f4c063c5489ec1443dfb738252d038a82131b27ae17cbe9c20cdcfdf876b3b12978d3264a007fcaaa71c4cdb701d9ebc0323f44f000000174876e800184e7b103d34c41003f9b864d5f8c1adda9bd0436b253bb3c844bc739c1e77c9000000174876e8004d420aea843e92a0cfe69d89696dff6827769f9cb52a249af537ce89bf2a4b74000000174876e800bd03de9f8ab29e2800094e153fac6f696cfa512536c9c2f804dcb2c2c4e4aed6000000174876e8008f4a74a07351895ddf373057b98fae6dfaf2cd21f37a063e19601078fe470d53000000174876e8004a5d4753eb79f92e80efe22df7aca4f666a4f44bf81c536c4a09d4b9c5b654b5000000174876e800c80e9abef7ff439c10c68fe8f1303deddfc527718c3b37d8ba6807446e3c827a000000174876e8009142afcc691b7cc05d26c7b0be0c8b46418294171730e079f384fde2fa50bafc000000174876e80049b288e4ebbb3a281c2d546fc30253d5baf08993b6e5d295fb787a5b314a298e000000174876e80004224339688f012e649de48e241880092eaa8f6aa0f4f14bfcf9e0c76917c0b6000000174876e8004034b37ceda8a0bf13b1abaeee7a8f9383542099a554d219b93d0ce69e3970e8000000174876e800e3210a92130abb020a02080a121242696e616e63652d436861696e2d4e696c6518e38bf01f220c08e191aef20510f5f4e4c70230dae0c7173a480a20102b54820dd8fb5bc2c4e875ee573fa294d9b7b7ceb362aa8fd21b33dee41b1c12240801122082f341511f3e6b89d6177fd31f8a106013ba09d6e12ef40a7dec885d81b687634220b1b77e6977e0cd0177e3102a78833c9e152aa646ed4fb5a77e8af58c9867eec0522080d9ab0fc10d18ca0e0832d5f4c063c5489ec1443dfb738252d038a82131b27a5a2080d9ab0fc10d18ca0e0832d5f4c063c5489ec1443dfb738252d038a82131b27a6220294d8fbd0b94b767a7eba9840f299a3586da7fe6b5dead3b7eecba193c400f936a20a3e248bc209955054d880e4d89ff3c0419c0cd77681f4b4c6649ead5545054b982011462633d9db7ed78e951f79913fdc8231aa77ec12b12d1100a480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be212b601080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510cebfe23e321406fd60078eb4c2356137dd50036597db267cf61642409276f20ad4b152f91c344bd63ac691bad66e04e228a8b58dca293ff0bd10f8aef6dfbcecae49e32b09d89e10b771a6c01628628596a95e126b04763560c66c0f12b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510a4caa532321418e69cc672973992bb5f76d049a5b2c5ddf77436380142409ed2b74fa835296d552e68c439dd4ee3fa94fb197282edcc1cc815c863ca42a2c9a73475ff6be9064371a61655a3c31d2f0acc89c3a4489ad4c2671aef52360512b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510a69eca2f3214344c39bb8f4512d6cab1f6aafac1811ef9d8afdf38024240de2768ead90011bcbb1914abc1572749ab7b81382eb81cff3b41c56edc12470a7b8a4d61f8b4ca7b2cb7e24706edd219455796b4db74cd36965859f91dc8910312b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510dcdd833b321437ef19af29679b368d2b9e9de3f8769b357866763803424072ddfe0aeb13616b3f17eb60b19a923ec51fcc726625094aa069255c829c8cdd9e242080a1e559b0030fe9a0db19fd34e392bd78df12a9caff9f2b811bc1ac0a12b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510e9f2f859321462633d9db7ed78e951f79913fdc8231aa77ec12b38044240f5f61c640ab2402b44936de0d24e7b439df78bc3ef15467ecb29b92ece4aa0550790d5ce80761f2ac4b0e3283969725c42343749d9b44b179b2d4fced66c5d0412b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510ff90f55532147b343e041ca130000a8bc00c35152bd7e774003738054240df6e298b3efd42eb536e68a0210bc921e8b5dc145fe965f63f4d3490064f239f2a54a6db16c96086e4ae52280c04ad8b32b44f5ff3d41f0c364949ccb628c50312b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510cad7c931321491844d296bd8e591448efc65fd6ad51a888d58fa3806424030298627da1afd28229aac150f553724b594989e59136d6a175d84e45a4dee344ff9e0eeb69fdf29abb6d833adc3e1ccdc87b2a65019ef5fb627c44d9d132c0012b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510c8c296323214b3727172ce6473bc780298a2d66c12f1a14f5b2a38074240918491100730b4523f0c85409f6d1cca9ebc4b8ca6df8d55fe3d85158fa43286608693c50332953e1d3b93e3e78b24e158d6a2275ce8c6c7c07a7a646a19200312b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef2051086f1a2403214b6f20c7faa2b2f6f24518fa02b71cb5f4a09fba338084240ca59c9fc7f6ab660e9970fc03e5ed588ccb8be43fe5a3e8450287b726f29d039e53fe888438f178ac63c3d2ca969cd8c2fbc8606f067634339b6a94a7382960212b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef2051080efbb543214e0dd72609cc106210d1aa13936cb67b93a0aee2138094240e787a21f5cb7052624160759a9d379dd9db144f2b498bca026375c9ce8ecdc2a0936af1c309b3a0f686c92bf5578b595a4ca99036a19c9fc50d3718fd454b30012b801080210e38bf01f22480a207eaabf7df1081377e06e08efe7ad17974049380bdd65a9b053c099ef80ff6e6f122408011220d153cc308d9cb96ca43ffeceaae1ee85794c83d17408ff76cfee92f5e91d0be22a0b08e291aef20510ddf8d85a3214fc3108dc3814888f4187452182bc1baf83b71bc9380a4240d51ea31f6449eed71de22339722af1edbb0b21401037d85882b32a2ed8ae9127f2df4d1da2092729e582812856227ed6cdf98a3f60203d1ff80bd635fb03bb0912a4070a4f0a1406fd60078eb4c2356137dd50036597db267cf61612251624de6420e17cbe9c20cdcfdf876b3b12978d3264a007fcaaa71c4cdb701d9ebc0323f44f1880d0dbc3f4022080e0ebdaf2e2ffffff010a4b0a1418e69cc672973992bb5f76d049a5b2c5ddf7743612251624de6420184e7b103d34c41003f9b864d5f8c1adda9bd0436b253bb3c844bc739c1e77c91880d0dbc3f4022080d0dbc3f4020a4b0a14344c39bb8f4512d6cab1f6aafac1811ef9d8afdf12251624de64204d420aea843e92a0cfe69d89696dff6827769f9cb52a249af537ce89bf2a4b741880d0dbc3f4022080d0dbc3f4020a4b0a1437ef19af29679b368d2b9e9de3f8769b3578667612251624de6420bd03de9f8ab29e2800094e153fac6f696cfa512536c9c2f804dcb2c2c4e4aed61880d0dbc3f4022080d0dbc3f4020a4b0a1462633d9db7ed78e951f79913fdc8231aa77ec12b12251624de64208f4a74a07351895ddf373057b98fae6dfaf2cd21f37a063e19601078fe470d531880d0dbc3f4022080d0dbc3f4020a4b0a147b343e041ca130000a8bc00c35152bd7e774003712251624de64204a5d4753eb79f92e80efe22df7aca4f666a4f44bf81c536c4a09d4b9c5b654b51880d0dbc3f4022080d0dbc3f4020a4b0a1491844d296bd8e591448efc65fd6ad51a888d58fa12251624de6420c80e9abef7ff439c10c68fe8f1303deddfc527718c3b37d8ba6807446e3c827a1880d0dbc3f4022080d0dbc3f4020a4b0a14b3727172ce6473bc780298a2d66c12f1a14f5b2a12251624de64209142afcc691b7cc05d26c7b0be0c8b46418294171730e079f384fde2fa50bafc1880d0dbc3f4022080d0dbc3f4020a4b0a14b6f20c7faa2b2f6f24518fa02b71cb5f4a09fba312251624de642049b288e4ebbb3a281c2d546fc30253d5baf08993b6e5d295fb787a5b314a298e1880d0dbc3f4022080d0dbc3f4020a4b0a14e0dd72609cc106210d1aa13936cb67b93a0aee2112251624de642004224339688f012e649de48e241880092eaa8f6aa0f4f14bfcf9e0c76917c0b61880d0dbc3f4022080d0dbc3f4020a4b0a14fc3108dc3814888f4187452182bc1baf83b71bc912251624de64204034b37ceda8a0bf13b1abaeee7a8f9383542099a554d219b93d0ce69e3970e81880d0dbc3f4022080d0dbc3f402124f0a1406fd60078eb4c2356137dd50036597db267cf61612251624de6420e17cbe9c20cdcfdf876b3b12978d3264a007fcaaa71c4cdb701d9ebc0323f44f1880d0dbc3f4022080e0ebdaf2e2ffffff011aa4070a4f0a1406fd60078eb4c2356137dd50036597db267cf61612251624de6420e17cbe9c20cdcfdf876b3b12978d3264a007fcaaa71c4cdb701d9ebc0323f44f1880d0dbc3f4022080e0ebdaf2e2ffffff010a4b0a1418e69cc672973992bb5f76d049a5b2c5ddf7743612251624de6420184e7b103d34c41003f9b864d5f8c1adda9bd0436b253bb3c844bc739c1e77c91880d0dbc3f4022080d0dbc3f4020a4b0a14344c39bb8f4512d6cab1f6aafac1811ef9d8afdf12251624de64204d420aea843e92a0cfe69d89696dff6827769f9cb52a249af537ce89bf2a4b741880d0dbc3f4022080d0dbc3f4020a4b0a1437ef19af29679b368d2b9e9de3f8769b3578667612251624de6420bd03de9f8ab29e2800094e153fac6f696cfa512536c9c2f804dcb2c2c4e4aed61880d0dbc3f4022080d0dbc3f4020a4b0a1462633d9db7ed78e951f79913fdc8231aa77ec12b12251624de64208f4a74a07351895ddf373057b98fae6dfaf2cd21f37a063e19601078fe470d531880d0dbc3f4022080d0dbc3f4020a4b0a147b343e041ca130000a8bc00c35152bd7e774003712251624de64204a5d4753eb79f92e80efe22df7aca4f666a4f44bf81c536c4a09d4b9c5b654b51880d0dbc3f4022080d0dbc3f4020a4b0a1491844d296bd8e591448efc65fd6ad51a888d58fa12251624de6420c80e9abef7ff439c10c68fe8f1303deddfc527718c3b37d8ba6807446e3c827a1880d0dbc3f4022080d0dbc3f4020a4b0a14b3727172ce6473bc780298a2d66c12f1a14f5b2a12251624de64209142afcc691b7cc05d26c7b0be0c8b46418294171730e079f384fde2fa50bafc1880d0dbc3f4022080d0dbc3f4020a4b0a14b6f20c7faa2b2f6f24518fa02b71cb5f4a09fba312251624de642049b288e4ebbb3a281c2d546fc30253d5baf08993b6e5d295fb787a5b314a298e1880d0dbc3f4022080d0dbc3f4020a4b0a14e0dd72609cc106210d1aa13936cb67b93a0aee2112251624de642004224339688f012e649de48e241880092eaa8f6aa0f4f14bfcf9e0c76917c0b61880d0dbc3f4022080d0dbc3f4020a4b0a14fc3108dc3814888f4187452182bc1baf83b71bc912251624de64204034b37ceda8a0bf13b1abaeee7a8f9383542099a554d219b93d0ce69e3970e81880d0dbc3f4022080d0dbc3f402124f0a1406fd60078eb4c2356137dd50036597db267cf61612251624de6420e17cbe9c20cdcfdf876b3b12978d3264a007fcaaa71c4cdb701d9ebc0323f44f1880d0dbc3f4022080e0ebdaf2e2ffffff01").unwrap(); - let res = tendermint_header_validation_run(&Bytes::from(input), 3_000u64).unwrap(); + let res = tendermint_header_validation_run(&Bytes::from(input), 3_000u64, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 3_000u64); diff --git a/src/evm/precompiles/tm_secp256k1.rs b/src/evm/precompiles/tm_secp256k1.rs index 0d5c50ac..8f88915b 100644 --- a/src/evm/precompiles/tm_secp256k1.rs +++ b/src/evm/precompiles/tm_secp256k1.rs @@ -2,7 +2,7 @@ use alloy_primitives::Bytes; use revm::precompile::{ - u64_to_address, PrecompileError, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, + u64_to_address, PrecompileHalt, PrecompileOutput, PrecompileResult, Precompile, PrecompileId, }; use secp256k1::{ecdsa, Message, PublicKey}; use std::borrow::Cow; @@ -23,23 +23,23 @@ const SECP256K1_SIGNATURE_MSGHASH_LENGTH: usize = 32; /// | PubKey | Signature | SignatureMsgHash | /// /// | 33 bytes | 64 bytes | 32 bytes | -fn tm_secp256k1_signature_recover_run(input: &[u8], gas_limit: u64) -> PrecompileResult { +fn tm_secp256k1_signature_recover_run(input: &[u8], gas_limit: u64, reservoir: u64) -> PrecompileResult { const TM_SECP256K1_SIGNATURE_RECOVER_BASE: u64 = 3_000; if TM_SECP256K1_SIGNATURE_RECOVER_BASE > gas_limit { - return Err(PrecompileError::OutOfGas); + return Ok(PrecompileOutput::halt(PrecompileHalt::OutOfGas, reservoir)); } let input_length = input.len(); if input_length != SECP256K1_PUBKEY_LENGTH + SECP256K1_SIGNATURE_LENGTH + SECP256K1_SIGNATURE_MSGHASH_LENGTH { - return Err(PrecompileError::other("invalid input")); + return Ok(PrecompileOutput::halt(PrecompileHalt::other("invalid input"), reservoir)); } let public_key = match PublicKey::from_slice(&input[..SECP256K1_PUBKEY_LENGTH]) { Ok(pk) => pk, - Err(_) => return Err(PrecompileError::other("invalid pubkey")), + Err(_) => return Ok(PrecompileOutput::halt(PrecompileHalt::other("invalid pubkey"), reservoir)), }; let message = Message::from_digest( @@ -50,24 +50,25 @@ fn tm_secp256k1_signature_recover_run(input: &[u8], gas_limit: u64) -> Precompil &input[SECP256K1_PUBKEY_LENGTH..SECP256K1_PUBKEY_LENGTH + SECP256K1_SIGNATURE_LENGTH], ) { Ok(s) => s, - Err(_) => return Err(PrecompileError::other("invalid signature")), + Err(_) => return Ok(PrecompileOutput::halt(PrecompileHalt::other("invalid signature"), reservoir)), }; let res = sig.verify(&message, &public_key).is_ok(); if !res { - return Err(PrecompileError::other("invalid signature")); + return Ok(PrecompileOutput::halt(PrecompileHalt::other("invalid signature"), reservoir)); } let tm_pub_key = match public_key::PublicKey::from_raw_secp256k1(&input[..SECP256K1_PUBKEY_LENGTH]) { Some(pk) => pk, - None => return Err(PrecompileError::other("invalid pubkey")), + None => return Ok(PrecompileOutput::halt(PrecompileHalt::other("invalid pubkey"), reservoir)), }; Ok(PrecompileOutput::new( TM_SECP256K1_SIGNATURE_RECOVER_BASE, Bytes::copy_from_slice(account::Id::from(tm_pub_key).as_bytes()), + reservoir, )) } @@ -94,7 +95,7 @@ mod tests { input.extend(msg_hash); let input = Bytes::copy_from_slice(&input); - let res = tm_secp256k1_signature_recover_run(&input, 3_000u64).unwrap(); + let res = tm_secp256k1_signature_recover_run(&input, 3_000u64, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 3_000u64); @@ -121,7 +122,7 @@ mod tests { input.extend(msg_hash); let input = Bytes::copy_from_slice(&input); - let res = tm_secp256k1_signature_recover_run(&input, 3_000u64).unwrap(); + let res = tm_secp256k1_signature_recover_run(&input, 3_000u64, 0).unwrap(); let gas = res.gas_used; assert_eq!(gas, 3_000u64); diff --git a/src/node/consensus.rs b/src/node/consensus.rs index 4409e964..5813b79f 100644 --- a/src/node/consensus.rs +++ b/src/node/consensus.rs @@ -17,7 +17,7 @@ use crate::{ use alloy_consensus::{Header, TxReceipt}; use alloy_eips::Encodable2718; use alloy_primitives::{Bytes, B256}; -use alloy_rpc_types::engine::{ForkchoiceState, PayloadStatusEnum}; +use alloy_rpc_types_engine::{ForkchoiceState, PayloadStatusEnum}; use reth::{ api::FullNodeTypes, beacon_consensus::EthBeaconConsensus, diff --git a/src/node/engine_api/validator.rs b/src/node/engine_api/validator.rs index 15436209..bb09cbce 100644 --- a/src/node/engine_api/validator.rs +++ b/src/node/engine_api/validator.rs @@ -141,6 +141,14 @@ impl ExecutionPayload for BscExecutionData { self.block.header.gas_used() } + fn gas_limit(&self) -> u64 { + self.block.header.gas_limit() + } + + fn slot_number(&self) -> Option { + None + } + fn transaction_count(&self) -> usize { self.block.body.inner.transactions.len() } diff --git a/src/node/evm/assembler.rs b/src/node/evm/assembler.rs index e4900907..0d15f3da 100644 --- a/src/node/evm/assembler.rs +++ b/src/node/evm/assembler.rs @@ -176,6 +176,8 @@ where blob_gas_used, excess_blob_gas, requests_hash, + block_access_list_hash: Default::default(), + slot_number: None, }; tracing::debug!( @@ -296,6 +298,8 @@ where blob_gas_used, excess_blob_gas, requests_hash, + block_access_list_hash: Default::default(), + slot_number: None, }; { // finalize_new_header diff --git a/src/node/evm/builder.rs b/src/node/evm/builder.rs index fb55975b..d6394e3c 100644 --- a/src/node/evm/builder.rs +++ b/src/node/evm/builder.rs @@ -94,16 +94,14 @@ where fn execute_transaction_with_commit_condition( &mut self, tx: impl ExecutorTx, - f: impl FnOnce( - &revm::context::result::ExecutionResult<<::Evm as alloy_evm::Evm>::HaltReason>, - ) -> alloy_evm::block::CommitChanges, + f: impl FnOnce(&::Result) -> alloy_evm::block::CommitChanges, ) -> Result, BlockExecutionError> { let (tx_env, recovered) = tx.into_parts(); - if let Some(gas_used) = + if let Some(gas_output) = self.executor.execute_transaction_with_commit_condition((tx_env, &recovered), f)? { self.transactions.push(recovered); - Ok(Some(gas_used)) + Ok(Some(gas_output.tx_gas_used())) } else { Ok(None) } diff --git a/src/node/evm/config.rs b/src/node/evm/config.rs index 07094c01..91502d96 100644 --- a/src/node/evm/config.rs +++ b/src/node/evm/config.rs @@ -428,6 +428,7 @@ where ommers: &block.body().ommers, withdrawals: block.body().withdrawals.as_ref().map(|w| Cow::Borrowed(w.as_slice())), extra_data: block.header().extra_data.clone(), + slot_number: None, }, header: Some(block.header().clone()), header_hash: Some(block.hash()), @@ -453,6 +454,7 @@ where ommers: &[], withdrawals: attributes.inner.withdrawals.map(|w| Cow::Owned(w.into_inner())), extra_data: attributes.inner.extra_data, + slot_number: attributes.inner.slot_number, }, header: None, // No header available for next block context header_hash: None, @@ -527,6 +529,7 @@ where ommers: &block.body.inner.ommers, withdrawals: block.body.inner.withdrawals.as_ref().map(|w| Cow::Borrowed(w.as_slice())), extra_data: block.header.extra_data.clone(), + slot_number: None, }, header: Some(block.header.clone()), header_hash: Some(payload.block_hash_cached()), diff --git a/src/node/evm/executor.rs b/src/node/evm/executor.rs index 5c1a339c..9f20803b 100644 --- a/src/node/evm/executor.rs +++ b/src/node/evm/executor.rs @@ -22,7 +22,7 @@ use alloy_consensus::{Header, TxReceipt, TxType}; use alloy_eips::eip2935::{HISTORY_STORAGE_ADDRESS, HISTORY_STORAGE_CODE}; use alloy_eips::{eip7685::Requests, Encodable2718}; use alloy_evm::{ - block::{ExecutableTx, StateChangeSource, TxResult}, + block::{ExecutableTx, GasOutput, StateChangeSource, TxResult}, eth::receipt_builder::ReceiptBuilderCtx, }; use alloy_primitives::keccak256; @@ -467,7 +467,7 @@ where let dummy = ResultAndState { result: ExecutionResult::Success { reason: SuccessReason::Stop, - gas: ResultGas::new(0, 0, 0, 0, 0), + gas: ResultGas::new(0, 0, 0), logs: vec![], output: Output::Call(Bytes::new()), }, @@ -549,9 +549,9 @@ where fn commit_transaction( &mut self, output: BscTxResult, - ) -> Result { + ) -> Result { if output.is_system { - return Ok(0); + return Ok(GasOutput::new(0)); } let ResultAndState { result, state } = output.inner; @@ -580,7 +580,7 @@ where self.hertz_patch_manager.patch_after_tx(&output.tx, self.evm.db_mut())?; } - Ok(gas_used) + Ok(GasOutput::new(gas_used)) } fn finish( diff --git a/src/node/evm/mod.rs b/src/node/evm/mod.rs index c78432eb..e3dd7555 100644 --- a/src/node/evm/mod.rs +++ b/src/node/evm/mod.rs @@ -20,7 +20,7 @@ use reth_evm::{precompiles::PrecompilesMap, Database, Evm, EvmEnv}; use revm::{ context::{ result::{EVMError, HaltReason, ResultAndState}, - BlockEnv, ContextTr, + BlockEnv, CfgEnv, ContextTr, }, context_interface::JournalTr, Context, ExecuteEvm, InspectEvm, Inspector, SystemCallEvm, @@ -56,6 +56,10 @@ where type Precompiles = PrecompilesMap; type Inspector = I; + fn cfg_env(&self) -> &CfgEnv { + &self.inner.ctx.cfg + } + fn chain_id(&self) -> u64 { self.cfg.chain_id } diff --git a/src/node/miner/bid_simulator.rs b/src/node/miner/bid_simulator.rs index 259b9d7a..e42dbb4b 100644 --- a/src/node/miner/bid_simulator.rs +++ b/src/node/miner/bid_simulator.rs @@ -453,6 +453,7 @@ where parent_beacon_block_root: attributes.parent_beacon_block_root, withdrawals: attributes.withdrawals.as_ref().map(|w| Withdrawals::new(w.clone())), extra_data: builder_config.extra_data.clone(), + slot_number: None, }, parent_difflayers: triedb_env_difflayers, triedb_prefetcher, diff --git a/src/node/miner/payload.rs b/src/node/miner/payload.rs index 026cd103..7d59d65d 100644 --- a/src/node/miner/payload.rs +++ b/src/node/miner/payload.rs @@ -422,6 +422,7 @@ where extra_data: crate::shared::get_miner_extra() .filter(|b| !b.is_empty()) .unwrap_or_else(|| self.builder_config.extra_data.clone()), + slot_number: None, }, parent_difflayers: triedb_parent_difflayers.clone(), triedb_prefetcher: triedb_prefetcher.clone(), @@ -951,6 +952,7 @@ where extra_data: crate::shared::get_miner_extra() .filter(|b| !b.is_empty()) .unwrap_or_else(|| self.builder_config.extra_data.clone()), + slot_number: None, }, parent_difflayers: triedb_parent_difflayers.clone(), triedb_prefetcher: triedb_prefetcher.clone(), diff --git a/src/node/miner/util.rs b/src/node/miner/util.rs index 27209791..452d206f 100644 --- a/src/node/miner/util.rs +++ b/src/node/miner/util.rs @@ -103,6 +103,7 @@ pub fn prepare_new_attributes( prev_randao: difficulty.into(), withdrawals: None, parent_beacon_block_root: None, + slot_number: None, }; if BscHardforks::is_bohr_active_at_timestamp( &parlia.spec, diff --git a/src/node/network/block_import/fork_recover.rs b/src/node/network/block_import/fork_recover.rs index 9f1a2a04..5cf3ebd7 100644 --- a/src/node/network/block_import/fork_recover.rs +++ b/src/node/network/block_import/fork_recover.rs @@ -4,7 +4,7 @@ use std::{sync::Arc, time::Duration}; use alloy_primitives::B256; -use alloy_rpc_types::engine::PayloadStatusEnum; +use alloy_rpc_types_engine::PayloadStatusEnum; use futures::future::BoxFuture; use parking_lot::Mutex; use reth::network::cache::LruCache; diff --git a/src/node/network/block_import/service.rs b/src/node/network/block_import/service.rs index f9197cc3..94de26c8 100644 --- a/src/node/network/block_import/service.rs +++ b/src/node/network/block_import/service.rs @@ -12,7 +12,7 @@ use crate::{ use alloy_consensus::{BlockBody, Header}; use alloy_eips::BlockNumberOrTag; use alloy_primitives::{B256, U128}; -use alloy_rpc_types::engine::{ForkchoiceState, PayloadStatusEnum}; +use alloy_rpc_types_engine::{ForkchoiceState, PayloadStatusEnum}; use futures::{future::Either, stream::FuturesUnordered, StreamExt}; use parking_lot::RwLock; use reth::consensus::HeaderValidator; From 5e8b517237aa9132ce94f551816d8d622143b1cf Mon Sep 17 00:00:00 2001 From: chee Date: Tue, 5 May 2026 21:42:35 +0800 Subject: [PATCH 04/19] fix: add missing BlockHeader methods and fix iavl test assertions - Add block_access_list_hash() and slot_number() to MockHeader in snapshot tests - Fix iavl.rs test assertions: PrecompileError::other no longer exists, invalid proof cases now return Ok(PrecompileOutput::halt(...)) Co-Authored-By: Claude Sonnet 4.6 --- src/consensus/parlia/snapshot.rs | 6 ++++++ src/evm/precompiles/iavl.rs | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/consensus/parlia/snapshot.rs b/src/consensus/parlia/snapshot.rs index 5a5cede4..53263db1 100644 --- a/src/consensus/parlia/snapshot.rs +++ b/src/consensus/parlia/snapshot.rs @@ -651,6 +651,12 @@ mod tests { fn requests_hash(&self) -> Option { None } + fn block_access_list_hash(&self) -> Option { + None + } + fn slot_number(&self) -> Option { + None + } } impl alloy_primitives::Sealable for MockHeader { diff --git a/src/evm/precompiles/iavl.rs b/src/evm/precompiles/iavl.rs index f5e5c7f7..4879fc75 100644 --- a/src/evm/precompiles/iavl.rs +++ b/src/evm/precompiles/iavl.rs @@ -114,7 +114,7 @@ mod tests { let input = hex::decode("00000000000000000000000000000000000000000000000000000000000007306163630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d000000000000000000000000000000000000000000000000000000000000007b4bdc4c270a750a148a4e2eb018bdf98a8f53ec755740ffc728637a1d12110a0941544348412d3733301080f69bf321120b0a03424e4210e8baeb8d44120f0a075050432d303041108094ebdc031a26eb5ae98721031c199c92e5b0080967da99be27cf2da53317441b4a663e6d9c6caf02be1fdbdc20d7962b28152c69c314b4de5c8035253c8bc0771d9ca17b1b23a57c0c6d068b57579791cae20add070a066961766c3a61121c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d1ab407b2070aaf070a2d081810cdfd2b188096a82222209f223f804e2d94ac51c4321b0687397012e6d95eb9783b03bc790da631004c7c0a2d081710adb31a18f395a8222a20d2a38865de82383ccce0140513b65cec1bf2ae6cd7dfeb22eb6faadb4e26b26f0a2d081510b2990b18f395a82222208a02bbd5a695dfc772627ac8744aa9cf30ae26575bdce8c96a9a0d0999175b430a2d081410e6ff0418f395a8222a20d39619c779be909e67f23499fb74eb2c19afd7f21523401d4ccf7e917db5cd600a2d081210e3fe0118f395a8222a20a10cc73843f889d9e03a463eb135e928bb980e19734344cba0fbf4e8a4c5258b0a2c081010dd6518f395a8222a2007fd15843a2fd3f58d021b0e072a6c70742d7a3d993a922445e3491e1c14ee8e0a2c080f10cc2a18eda6a7222a20088942d7b30abd021d8e9505cc41313fad87c8c10a799f3b51018b7b2cfe4ad90a2c080d10b70d18eda6a7222a2091a37bc44d0c61e3752ddc59eb390355ab65e8a9fb453be4f0acec537f1ca14f0a2c080c10890818eda6a72222201cfc317855a06667c45812fe36efe33af05671dfe0d9b56b02662011af2e79e30a2c080b10ac0318c4b0ee212220aeb454a4b3243b6269a2fd8841dca9a951c53b30f1e27da91063dae7224402c70a2c080910e40118c4b0ee212a20441340a4de6498f861b97b3f3ad9603af055e5af51a0d96fff2ae28e3c5c6c9a0a2c0808108d0118c4b0ee212220ae32ea4b9ab7b53571da320e2815fd8b2c278124961cca4a1849a799842424450a2b0807104d18c4b0ee212220e2804c9b7f045ec0b4ab20920a937b82fda8b7a9ddd12b21637335b915cfda550a2b0806102418a5f4c7192a20ec85f22addedfc82c771af5b4c77544b7c1d7c5bbac33f2712dfba1045ebdbd00a2b0805101118a5f4c7192a2071ade34dcc447a0ba8adc603080633d15c06f3525830c86ebce35eca0a4921fc0a2b0804100c18a5f4c7192a205190bce93993e65b266a3417ed511df8897a812cb4b62569e5afcfbec10b69cd0a2b0803100618a5f4c7192220b76c6884f1d412ac10bfb3987fb7d26f0330b2a85539509ebc5c6bdec2f95d520a2b0802100418a5f4c71922206a285b4a4f9d1c687bbafa1f3649b6a6e32b1a85dd0402421210683e846cf0020a2b0801100218a5f4c7192220033b3f7c6dcb258b6e55545e7a4f51539447cd595eb8a2e373ba0015502da1051a450a1c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d12201a272295e94cf1d8090bdb019dde48e9dab026ad2c3e43aaa7e61cc954a9245d18a5f4c7190ab6040a0a6d756c746973746f726512036163631aa204a0040a9d040a300a0364657812290a27088496a822122038fc49f49648fec62acc434151a51eaa378c1b20a730a749548e36f1529422500a300a03676f7612290a27088496a8221220a78ce489bdf08b9ee869c184876e1623dc38b3e64a5cf1a0005f97976c64deac0a380a0b61746f6d69635f7377617012290a27088496a8221220544c2fa38f61e10a39ec00b3e724d5834761268bb455cdbf5843bcf1531f8fbc0a300a0376616c12290a27088496a82212201f71082c9f6f45fb456b2c00b41e50d2f662f2dfec3cb6965f19d214bf02f3980a0f0a046d61696e12070a05088496a8220a320a057374616b6512290a27088496a82212200dd467343c718f240e50b4feac42970fc8c1c69a018be955f9c27913ac1f8b3c0a300a0361636312290a27088496a8221220270c19ccc9c40c5176b3dfbd8af734c97a307e0dbd8df9e286dcd5d709f973ed0a330a06746f6b656e7312290a27088496a8221220c4f96eedf50c83964de9df013afec2e545012d92528b643a5166c828774187b60a320a05706169727312290a27088496a8221220351c55cfda84596ecd22ebc77013662aba97f81f19d9ef3d150213bb07c823060a360a0974696d655f6c6f636b12290a27088496a8221220e7adf5bd30ce022decf0e9341bf05c464ed70cdbc97423bd2bab8f3571e5179b0a330a06706172616d7312290a27088496a822122042a9dfc356ca435db131eb41fb1975c8482f2434537918665e530b0b4633b5f9").unwrap(); let res = iavl_proof_validation_run_moran(&Bytes::from(input), 3_000u64, 0); - assert_eq!(res.err(), Some(PrecompileError::other("invalid merkle proof"))); + assert!(res.expect("should not return fatal error").is_halt()); } #[test] @@ -134,13 +134,13 @@ mod tests { let res = iavl_proof_validation_run_moran(&Bytes::from(t.clone()), 3_000u64, 0); - assert_eq!(res.err(), Some(PrecompileError::other("invalid merkle proof"))); + assert!(res.expect("should not return fatal error").is_halt()); }); let input = hex::decode("00000000000000000000000000000000000000000000000000000000000007306163630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d000000000000000000000000000000000000000000000000000000000000007b4bdc4c270a750a148a4e2eb018bdf98a8f53ec755740ffc728637a1d12110a0941544348412d3733301080f69bf321120b0a03424e4210e8baeb8d44120f0a075050432d303041108094ebdc031a26eb5ae98721031c199c92e5b0080967da99be27cf2da53317441b4a663e6d9c6caf02be1fdbdc20d7962b28152c69c314b4de5c8035253c8bc0771d9ca17b1b23a57c0c6d068b57579791cae20add070a066961766c3a61121c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d1ab407b2070aaf070a2d081810cdfd2b188096a82222209f223f804e2d94ac51c4321b0687397012e6d95eb9783b03bc790da631004c7c0a2d081710adb31a18f395a8222a20d2a38865de82383ccce0140513b65cec1bf2ae6cd7dfeb22eb6faadb4e26b26f0a2d081510b2990b18f395a82222208a02bbd5a695dfc772627ac8744aa9cf30ae26575bdce8c96a9a0d0999175b430a2d081410e6ff0418f395a8222a20d39619c779be909e67f23499fb74eb2c19afd7f21523401d4ccf7e917db5cd600a2d081210e3fe0118f395a8222a20a10cc73843f889d9e03a463eb135e928bb980e19734344cba0fbf4e8a4c5258b0a2c081010dd6518f395a8222a2007fd15843a2fd3f58d021b0e072a6c70742d7a3d993a922445e3491e1c14ee8e0a2c080f10cc2a18eda6a7222a20088942d7b30abd021d8e9505cc41313fad87c8c10a799f3b51018b7b2cfe4ad90a2c080d10b70d18eda6a7222a2091a37bc44d0c61e3752ddc59eb390355ab65e8a9fb453be4f0acec537f1ca14f0a2c080c10890818eda6a72222201cfc317855a06667c45812fe36efe33af05671dfe0d9b56b02662011af2e79e30a2c080b10ac0318c4b0ee212220aeb454a4b3243b6269a2fd8841dca9a951c53b30f1e27da91063dae7224402c70a2c080910e40118c4b0ee212a20441340a4de6498f861b97b3f3ad9603af055e5af51a0d96fff2ae28e3c5c6c9a0a2c0808108d0118c4b0ee212220ae32ea4b9ab7b53571da320e2815fd8b2c278124961cca4a1849a799842424450a2b0807104d18c4b0ee212220e2804c9b7f045ec0b4ab20920a937b82fda8b7a9ddd12b21637335b915cfda550a2b0806102418a5f4c7192a20ec85f22addedfc82c771af5b4c77544b7c1d7c5bbac33f2712dfba1045ebdbd00a2b0805101118a5f4c7192a2071ade34dcc447a0ba8adc603080633d15c06f3525830c86ebce35eca0a4921fc0a2b0804100c18a5f4c7192a205190bce93993e65b266a3417ed511df8897a812cb4b62569e5afcfbec10b69cd0a2b0803100618a5f4c7192220b76c6884f1d412ac10bfb3987fb7d26f0330b2a85539509ebc5c6bdec2f95d520a2b0802100418a5f4c71922206a285b4a4f9d1c687bbafa1f3649b6a6e32b1a85dd0402421210683e846cf0020a2b0801100218a5f4c7192220033b3f7c6dcb258b6e55545e7a4f51539447cd595eb8a2e373ba0015502da1051a450a1c6163636f756e743a8a4e2eb018bdf98a8f53ec755740ffc728637a1d12201a272295e94cf1d8090bdb019dde48e9dab026ad2c3e43aaa7e61cc954a9245d18a5f4c7190ab6040a0a6d756c746973746f726512036163631aa204a0040a9d040a300a0364657812290a27088496a822122038fc49f49648fec62acc434151a51eaa378c1b20a730a749548e36f1529422500a300a03676f7612290a27088496a8221220a78ce489bdf08b9ee869c184876e1623dc38b3e64a5cf1a0005f97976c64deac0a380a0b61746f6d69635f7377617012290a27088496a8221220544c2fa38f61e10a39ec00b3e724d5834761268bb455cdbf5843bcf1531f8fbc0a300a0376616c12290a27088496a82212201f71082c9f6f45fb456b2c00b41e50d2f662f2dfec3cb6965f19d214bf02f3980a0f0a046d61696e12070a05088496a8220a320a057374616b6512290a27088496a82212200dd467343c718f240e50b4feac42970fc8c1c69a018be955f9c27913ac1f8b3c0a300a0361636312290a27088496a8221220270c19ccc9c40c5176b3dfbd8af734c97a307e0dbd8df9e286dcd5d709f973ed0a330a06746f6b656e7312290a27088496a8221220c4f96eedf50c83964de9df013afec2e545012d92528b643a5166c828774187b60a320a05706169727312290a27088496a8221220351c55cfda84596ecd22ebc77013662aba97f81f19d9ef3d150213bb07c823060a360a0974696d655f6c6f636b12290a27088496a8221220e7adf5bd30ce022decf0e9341bf05c464ed70cdbc97423bd2bab8f3571e5179b0a330a06706172616d7312290a27088496a822122042a9dfc356ca435db131eb41fb1975c8482f2434537918665e530b0b4633b5f9").unwrap(); let res = iavl_proof_validation_run_moran(&Bytes::from(input), 3_000u64, 0); - assert_eq!(res.err(), Some(PrecompileError::other("invalid merkle proof"))); + assert!(res.expect("should not return fatal error").is_halt()); } #[test] From 04b2c1383eb66baa2a8001a4d7cc3a33fd9e4fa1 Mon Sep 17 00:00:00 2001 From: chee Date: Tue, 5 May 2026 23:34:04 +0800 Subject: [PATCH 05/19] fix: resolve clippy deprecation warnings and ef-tests version conflicts Replace deprecated Gas::spent(), ResultGas::new(0,0,0), and ExecutionResult::gas_used() calls that fail under -D warnings. Update bsc-ef-tests alloy/revm versions to match main crate (revm 38, alloy 2.0) and add missing Header fields block_access_list_hash and slot_number. Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 572 +++++++++-------------------- src/evm/handler.rs | 2 +- src/node/evm/executor.rs | 4 +- src/node/evm/post_execution.rs | 2 +- testing/bsc-ef-tests/Cargo.toml | 8 +- testing/bsc-ef-tests/src/models.rs | 2 + 6 files changed, 174 insertions(+), 416 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4aa5b86b..39a507b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -119,32 +119,6 @@ dependencies = [ "strum", ] -[[package]] -name = "alloy-consensus" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f16daaf7e1f95f62c6c3bf8a3fc3d78b08ae9777810c0bb5e94966c7cd57ef0" -dependencies = [ - "alloy-eips 1.8.3", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 1.8.3", - "alloy-trie", - "alloy-tx-macros 1.8.3", - "auto_impl", - "borsh", - "c-kzg", - "derive_more 2.1.1", - "either", - "k256", - "once_cell", - "secp256k1 0.30.0", - "serde", - "serde_json", - "serde_with", - "thiserror 2.0.18", -] - [[package]] name = "alloy-consensus" version = "2.0.4" @@ -156,7 +130,7 @@ dependencies = [ "alloy-rlp", "alloy-serde 2.0.4", "alloy-trie", - "alloy-tx-macros 2.0.4", + "alloy-tx-macros", "arbitrary", "auto_impl", "borsh", @@ -179,7 +153,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fd98696ca3617d3a9ba1a6f2011880cbfd5618228dab6400c9f8bca457859a8" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -320,7 +294,7 @@ version = "0.33.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f092eb6af80456e4ab41c9722e777d791335bc9c00b11bc3db7bf29a432dfd0" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-hardforks", "alloy-primitives", @@ -329,26 +303,11 @@ dependencies = [ "alloy-sol-types", "auto_impl", "derive_more 2.1.1", - "revm 38.0.0", + "revm", "thiserror 2.0.18", "tracing", ] -[[package]] -name = "alloy-genesis" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbf9480307b09d22876efb67d30cadd9013134c21f3a17ec9f93fd7536d38024" -dependencies = [ - "alloy-eips 1.8.3", - "alloy-primitives", - "alloy-serde 1.8.3", - "alloy-trie", - "borsh", - "serde", - "serde_with", -] - [[package]] name = "alloy-genesis" version = "2.0.4" @@ -411,7 +370,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed08ae169869e08370ed121612e0d3dadac33d1a256e9f2465926b23f0bd7d95" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-consensus-any", "alloy-eips 2.0.4", "alloy-json-rpc", @@ -437,7 +396,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02e6c7ad28afe348a9a9c5624b67ee5b3607b8de98d5816b3056ecdfa6fa2697" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-serde 2.0.4", @@ -482,7 +441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93a7c17472b55482d4734154c2f5ed13f72e03f6752cebb927f6a2d8b52e646c" dependencies = [ "alloy-chains", - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-json-rpc", "alloy-network", @@ -608,7 +567,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2144d5b2866e651796eac0a997d3b5a056449c12e0d91be3184129e0c722885" dependencies = [ - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-primitives", "serde", "serde_json", @@ -680,7 +639,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73b12366c96f4013e1aeebc96c6b56e5f33f07853c42ea2f485045c0c157a4a1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -700,7 +659,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56a282daf869eeb7383d3d5c2deb35b0b3fb45ecb329513af4090fc61245ee18" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-consensus-any", "alloy-eips 2.0.4", "alloy-network-primitives", @@ -722,7 +681,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7adc1243d55744a66b3a6cbbbba96436e8df5d248f2ee8186bef4238ef704ec7" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rpc-types-eth", @@ -801,7 +760,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef839e7ce9b59aa60fa9a175e97986c6145c888d643b0f1fb0a3e7b8e56a2e2" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-network", "alloy-primitives", "alloy-signer", @@ -982,18 +941,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "alloy-tx-macros" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d69722eddcdf1ce096c3ab66cf8116999363f734eb36fe94a148f4f71c85da84" -dependencies = [ - "darling 0.23.0", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "alloy-tx-macros" version = "2.0.4" @@ -2070,9 +2017,9 @@ dependencies = [ name = "bsc-ef-tests" version = "0.1.0" dependencies = [ - "alloy-consensus 1.8.3", - "alloy-eips 1.8.3", - "alloy-genesis 1.8.3", + "alloy-consensus", + "alloy-eips 2.0.4", + "alloy-genesis", "alloy-primitives", "alloy-rlp", "rayon", @@ -2093,7 +2040,7 @@ dependencies = [ "reth-trie", "reth-trie-db", "reth_bsc", - "revm 36.0.0", + "revm", "serde", "serde_json", "thiserror 2.0.18", @@ -7605,7 +7552,7 @@ name = "reth-basic-payload-builder" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "futures-core", @@ -7632,7 +7579,7 @@ name = "reth-chain-state" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-signer", @@ -7651,8 +7598,8 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-trie", - "revm-database 13.0.1", - "revm-state 11.0.1", + "revm-database", + "revm-state", "rust-eth-triedb-common", "serde", "tokio", @@ -7666,10 +7613,10 @@ version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-chains", - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-evm", - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-primitives", "alloy-trie", "auto_impl", @@ -7685,7 +7632,7 @@ name = "reth-cli" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-genesis 2.0.4", + "alloy-genesis", "clap", "eyre", "reth-cli-runner", @@ -7699,7 +7646,7 @@ version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-chains", - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -7817,9 +7764,9 @@ name = "reth-codecs" version = "0.3.0" source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-primitives", "alloy-trie", "arbitrary", @@ -7863,7 +7810,7 @@ name = "reth-consensus" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "auto_impl", "reth-execution-types", @@ -7876,7 +7823,7 @@ name = "reth-consensus-common" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "reth-chainspec", @@ -7889,7 +7836,7 @@ name = "reth-consensus-debug-client" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-json-rpc", "alloy-primitives", @@ -7943,7 +7890,7 @@ name = "reth-db-api" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "arbitrary", "arrayvec", @@ -7969,8 +7916,8 @@ name = "reth-db-common" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", - "alloy-genesis 2.0.4", + "alloy-consensus", + "alloy-genesis", "alloy-primitives", "alloy-trie", "boyer-moore-magiclen", @@ -8091,7 +8038,7 @@ name = "reth-downloaders" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -8154,7 +8101,7 @@ name = "reth-engine-local" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "alloy-rpc-types-engine", "eyre", @@ -8177,7 +8124,7 @@ name = "reth-engine-primitives" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rpc-types-engine", @@ -8202,7 +8149,7 @@ name = "reth-engine-tree" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eip7928", "alloy-eips 2.0.4", "alloy-evm", @@ -8246,8 +8193,8 @@ dependencies = [ "reth-trie-db", "reth-trie-parallel", "reth-trie-sparse", - "revm 38.0.0", - "revm-primitives 23.0.0", + "revm", + "revm-primitives", "rust-eth-triedb", "rust-eth-triedb-common", "rust-eth-triedb-pathdb", @@ -8263,7 +8210,7 @@ name = "reth-engine-util" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-rpc-types-engine", "eyre", "futures", @@ -8291,7 +8238,7 @@ name = "reth-era" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -8322,7 +8269,7 @@ name = "reth-era-utils" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "eyre", "futures-util", @@ -8385,7 +8332,7 @@ version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-chains", - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eip7928", "alloy-eips 2.0.4", "alloy-hardforks", @@ -8432,7 +8379,7 @@ name = "reth-ethereum-consensus" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "reth-chainspec", @@ -8478,7 +8425,7 @@ name = "reth-ethereum-payload-builder" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -8499,7 +8446,7 @@ dependencies = [ "reth-revm", "reth-storage-api", "reth-transaction-pool", - "revm 38.0.0", + "revm", "tracing", ] @@ -8508,7 +8455,7 @@ name = "reth-ethereum-primitives" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rpc-types-eth", @@ -8532,7 +8479,7 @@ name = "reth-evm" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-evm", "alloy-primitives", @@ -8548,7 +8495,7 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie-common", - "revm 38.0.0", + "revm", "rust-eth-triedb-common", ] @@ -8557,7 +8504,7 @@ name = "reth-evm-ethereum" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-evm", "alloy-primitives", @@ -8569,7 +8516,7 @@ dependencies = [ "reth-execution-types", "reth-primitives-traits", "reth-storage-errors", - "revm 38.0.0", + "revm", ] [[package]] @@ -8608,7 +8555,7 @@ name = "reth-execution-types" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-evm", "alloy-primitives", @@ -8617,7 +8564,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-primitives-traits", "reth-trie-common", - "revm 38.0.0", + "revm", "serde", "serde_with", ] @@ -8627,7 +8574,7 @@ name = "reth-exex" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "eyre", @@ -8689,7 +8636,7 @@ name = "reth-invalid-block-hooks" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-debug", @@ -8705,9 +8652,9 @@ dependencies = [ "reth-rpc-api", "reth-tracing", "reth-trie", - "revm 38.0.0", - "revm-bytecode 10.0.0", - "revm-database 13.0.1", + "revm", + "revm-bytecode", + "revm-database", "serde", "serde_json", ] @@ -8810,7 +8757,7 @@ name = "reth-network" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -8867,7 +8814,7 @@ name = "reth-network-api" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "alloy-rpc-types-admin", "alloy-rpc-types-eth", @@ -8892,7 +8839,7 @@ name = "reth-network-p2p" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "auto_impl", @@ -8985,7 +8932,7 @@ name = "reth-node-builder" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-provider", @@ -9055,7 +9002,7 @@ name = "reth-node-core" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rpc-types-engine", @@ -9139,7 +9086,7 @@ dependencies = [ "reth-rpc-server-types", "reth-tracing", "reth-transaction-pool", - "revm 38.0.0", + "revm", "tokio", ] @@ -9148,7 +9095,7 @@ name = "reth-node-ethstats" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "chrono", "futures-util", @@ -9172,7 +9119,7 @@ name = "reth-node-events" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rpc-types-engine", @@ -9232,7 +9179,7 @@ name = "reth-payload-builder" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "alloy-rpc-types", "derive_more 2.1.1", @@ -9268,7 +9215,7 @@ name = "reth-payload-primitives" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -9292,7 +9239,7 @@ name = "reth-payload-validator" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-rpc-types-engine", "reth-primitives-traits", ] @@ -9302,9 +9249,9 @@ name = "reth-primitives-traits" version = "0.3.0" source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-eth", @@ -9321,9 +9268,9 @@ dependencies = [ "quanta", "rayon", "reth-codecs", - "revm-bytecode 10.0.0", - "revm-primitives 23.0.0", - "revm-state 11.0.1", + "revm-bytecode", + "revm-primitives", + "revm-state", "secp256k1 0.30.0", "serde", "thiserror 2.0.18", @@ -9334,9 +9281,9 @@ name = "reth-provider" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-primitives", "alloy-rpc-types-engine", "eyre", @@ -9367,8 +9314,8 @@ dependencies = [ "reth-tasks", "reth-trie", "reth-trie-db", - "revm-database 13.0.1", - "revm-state 11.0.1", + "revm-database", + "revm-state", "rocksdb", "rust-eth-triedb", "rust-eth-triedb-common", @@ -9382,7 +9329,7 @@ name = "reth-prune" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "itertools 0.14.0", @@ -9434,7 +9381,7 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie", - "revm 38.0.0", + "revm", ] [[package]] @@ -9442,11 +9389,11 @@ name = "reth-rpc" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-dyn-abi", "alloy-eips 2.0.4", "alloy-evm", - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-network", "alloy-primitives", "alloy-rlp", @@ -9501,9 +9448,9 @@ dependencies = [ "reth-tracing", "reth-transaction-pool", "reth-trie-common", - "revm 38.0.0", + "revm", "revm-inspectors", - "revm-primitives 23.0.0", + "revm-primitives", "rust-eth-triedb", "serde", "serde_json", @@ -9521,7 +9468,7 @@ version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ "alloy-eips 2.0.4", - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-json-rpc", "alloy-primitives", "alloy-rpc-types", @@ -9593,7 +9540,7 @@ name = "reth-rpc-convert" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-evm", "alloy-json-rpc", "alloy-network", @@ -9645,7 +9592,7 @@ name = "reth-rpc-eth-api" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-dyn-abi", "alloy-eip7928", "alloy-eips 2.0.4", @@ -9680,7 +9627,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie-common", - "revm 38.0.0", + "revm", "revm-inspectors", "rust-eth-triedb", "serde_json", @@ -9693,7 +9640,7 @@ name = "reth-rpc-eth-types" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-evm", "alloy-network", @@ -9725,7 +9672,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie", - "revm 38.0.0", + "revm", "revm-inspectors", "schnellru", "serde", @@ -9771,7 +9718,7 @@ name = "reth-rpc-traits" version = "0.3.0" source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-network", "alloy-primitives", "alloy-rpc-types-eth", @@ -9785,7 +9732,7 @@ name = "reth-stages" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -9917,7 +9864,7 @@ name = "reth-storage-api" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rpc-types-engine", @@ -9932,7 +9879,7 @@ dependencies = [ "reth-stages-types", "reth-storage-errors", "reth-trie-common", - "revm-database 13.0.1", + "revm-database", "serde_json", ] @@ -9949,8 +9896,8 @@ dependencies = [ "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", - "revm-database-interface 11.0.1", - "revm-state 11.0.1", + "revm-database-interface", + "revm-state", "thiserror 2.0.18", ] @@ -9980,9 +9927,9 @@ name = "reth-testing-utils" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-primitives", "rand 0.8.6", "rand 0.9.4", @@ -10039,7 +9986,7 @@ name = "reth-transaction-pool" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -10065,9 +10012,9 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "revm 38.0.0", - "revm-interpreter 35.0.1", - "revm-primitives 23.0.0", + "revm", + "revm-interpreter", + "revm-primitives", "rustc-hash", "schnellru", "serde", @@ -10084,7 +10031,7 @@ name = "reth-trie" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-eips 2.0.4", "alloy-primitives", "alloy-rlp", @@ -10100,7 +10047,7 @@ dependencies = [ "reth-storage-errors", "reth-trie-common", "reth-trie-sparse", - "revm-database 13.0.1", + "revm-database", "tracing", "triehash", ] @@ -10110,7 +10057,7 @@ name = "reth-trie-common" version = "2.1.0" source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" dependencies = [ - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-eth", @@ -10127,7 +10074,7 @@ dependencies = [ "rayon", "reth-codecs", "reth-primitives-traits", - "revm-database 13.0.1", + "revm-database", "rust-eth-triedb", "rust-eth-triedb-state-trie", "serde", @@ -10178,7 +10125,7 @@ dependencies = [ "reth-tasks", "reth-trie", "reth-trie-sparse", - "revm-state 11.0.1", + "revm-state", "thiserror 2.0.18", "tracing", ] @@ -10219,11 +10166,11 @@ version = "0.1.0" dependencies = [ "aes", "alloy-chains", - "alloy-consensus 2.0.4", + "alloy-consensus", "alloy-dyn-abi", "alloy-eips 2.0.4", "alloy-evm", - "alloy-genesis 2.0.4", + "alloy-genesis", "alloy-json-abi", "alloy-network", "alloy-primitives", @@ -10314,13 +10261,13 @@ dependencies = [ "reth-transaction-pool", "reth-trie-common", "reth-trie-db", - "revm 38.0.0", - "revm-bytecode 10.0.0", - "revm-database 13.0.1", - "revm-database-interface 11.0.1", - "revm-interpreter 35.0.1", - "revm-primitives 23.0.0", - "revm-state 11.0.1", + "revm", + "revm-bytecode", + "revm-database", + "revm-database-interface", + "revm-interpreter", + "revm-primitives", + "revm-state", "rust-eth-triedb", "rust-eth-triedb-common", "rust-eth-triedb-pathdb", @@ -10344,54 +10291,23 @@ dependencies = [ "zeroize", ] -[[package]] -name = "revm" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0abc15d09cd211e9e73410ada10134069c794d4bcdb787dfc16a1bf0939849c" -dependencies = [ - "revm-bytecode 9.0.0", - "revm-context 15.0.0", - "revm-context-interface 16.0.0", - "revm-database 12.0.0", - "revm-database-interface 10.0.0", - "revm-handler 17.0.0", - "revm-inspector 17.0.0", - "revm-interpreter 34.0.0", - "revm-precompile 32.1.0", - "revm-primitives 22.1.0", - "revm-state 10.0.0", -] - [[package]] name = "revm" version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91202d39dbe8e8d10e9e8f2b76c30da68ecd1d25be69ba6d853ad0d03a3a398a" dependencies = [ - "revm-bytecode 10.0.0", - "revm-context 16.0.1", - "revm-context-interface 17.0.1", - "revm-database 13.0.1", - "revm-database-interface 11.0.1", - "revm-handler 18.1.0", - "revm-inspector 19.0.0", - "revm-interpreter 35.0.1", - "revm-precompile 34.0.0", - "revm-primitives 23.0.0", - "revm-state 11.0.1", -] - -[[package]] -name = "revm-bytecode" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86e468df3cf5cf59fa7ef71a3e9ccabb76bb336401ea2c0674f563104cf3c5e" -dependencies = [ - "bitvec", - "phf 0.13.1", - "revm-primitives 22.1.0", - "serde", + "revm-bytecode", + "revm-context", + "revm-context-interface", + "revm-database", + "revm-database-interface", + "revm-handler", + "revm-inspector", + "revm-interpreter", + "revm-precompile", + "revm-primitives", + "revm-state", ] [[package]] @@ -10403,24 +10319,7 @@ dependencies = [ "bitvec", "paste", "phf 0.13.1", - "revm-primitives 23.0.0", - "serde", -] - -[[package]] -name = "revm-context" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eb1f0a76b14d684a444fc52f7bf6b7564bf882599d91ee62e76d602e7a187c7" -dependencies = [ - "bitvec", - "cfg-if", - "derive-where", - "revm-bytecode 9.0.0", - "revm-context-interface 16.0.0", - "revm-database-interface 10.0.0", - "revm-primitives 22.1.0", - "revm-state 10.0.0", + "revm-primitives", "serde", ] @@ -10433,27 +10332,11 @@ dependencies = [ "bitvec", "cfg-if", "derive-where", - "revm-bytecode 10.0.0", - "revm-context-interface 17.0.1", - "revm-database-interface 11.0.1", - "revm-primitives 23.0.0", - "revm-state 11.0.1", - "serde", -] - -[[package]] -name = "revm-context-interface" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc256b27743e2912ca16899568e6652a372eb5d1d573e6edb16c7836b16cf487" -dependencies = [ - "alloy-eip2930", - "alloy-eip7702", - "auto_impl", - "either", - "revm-database-interface 10.0.0", - "revm-primitives 22.1.0", - "revm-state 10.0.0", + "revm-bytecode", + "revm-context-interface", + "revm-database-interface", + "revm-primitives", + "revm-state", "serde", ] @@ -10467,23 +10350,9 @@ dependencies = [ "alloy-eip7702", "auto_impl", "either", - "revm-database-interface 11.0.1", - "revm-primitives 23.0.0", - "revm-state 11.0.1", - "serde", -] - -[[package]] -name = "revm-database" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c0a7d6da41061f2c50f99a2632571026b23684b5449ff319914151f4449b6c8" -dependencies = [ - "alloy-eips 1.8.3", - "revm-bytecode 9.0.0", - "revm-database-interface 10.0.0", - "revm-primitives 22.1.0", - "revm-state 10.0.0", + "revm-database-interface", + "revm-primitives", + "revm-state", "serde", ] @@ -10494,25 +10363,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c281a1f11d3bcb8c0bba1199ed6bcb001d1aeb3d4fb366819e14f88723989a4e" dependencies = [ "alloy-eips 1.8.3", - "revm-bytecode 10.0.0", - "revm-database-interface 11.0.1", - "revm-primitives 23.0.0", - "revm-state 11.0.1", - "serde", -] - -[[package]] -name = "revm-database-interface" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd497a38a79057b94a049552cb1f925ad15078bc1a479c132aeeebd1d2ccc768" -dependencies = [ - "auto_impl", - "either", - "revm-primitives 22.1.0", - "revm-state 10.0.0", + "revm-bytecode", + "revm-database-interface", + "revm-primitives", + "revm-state", "serde", - "thiserror 2.0.18", ] [[package]] @@ -10523,31 +10378,12 @@ checksum = "d89efb9832a4e3742bb4ded5f7fe5bf905e8860e69427d4dfec153484fc6d304" dependencies = [ "auto_impl", "either", - "revm-primitives 23.0.0", - "revm-state 11.0.1", + "revm-primitives", + "revm-state", "serde", "thiserror 2.0.18", ] -[[package]] -name = "revm-handler" -version = "17.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1eed729ca9b228ae98688f352235871e9b8be3d568d488e4070f64c56e9d3d" -dependencies = [ - "auto_impl", - "derive-where", - "revm-bytecode 9.0.0", - "revm-context 15.0.0", - "revm-context-interface 16.0.0", - "revm-database-interface 10.0.0", - "revm-interpreter 34.0.0", - "revm-precompile 32.1.0", - "revm-primitives 22.1.0", - "revm-state 10.0.0", - "serde", -] - [[package]] name = "revm-handler" version = "18.1.0" @@ -10556,33 +10392,15 @@ checksum = "783e903d6922b7f5f9a940d1bb229530502d2924b1aed9d5ca5a94ebf065d460" dependencies = [ "auto_impl", "derive-where", - "revm-bytecode 10.0.0", - "revm-context 16.0.1", - "revm-context-interface 17.0.1", - "revm-database-interface 11.0.1", - "revm-interpreter 35.0.1", - "revm-precompile 34.0.0", - "revm-primitives 23.0.0", - "revm-state 11.0.1", - "serde", -] - -[[package]] -name = "revm-inspector" -version = "17.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf5102391706513689f91cb3cb3d97b5f13a02e8647e6e9cb7620877ef84847" -dependencies = [ - "auto_impl", - "either", - "revm-context 15.0.0", - "revm-database-interface 10.0.0", - "revm-handler 17.0.0", - "revm-interpreter 34.0.0", - "revm-primitives 22.1.0", - "revm-state 10.0.0", + "revm-bytecode", + "revm-context", + "revm-context-interface", + "revm-database-interface", + "revm-interpreter", + "revm-precompile", + "revm-primitives", + "revm-state", "serde", - "serde_json", ] [[package]] @@ -10593,12 +10411,12 @@ checksum = "8216ad58422090d0daa9eb430e0a081f7ad07e7fd30681dee71f8420c99624e0" dependencies = [ "auto_impl", "either", - "revm-context 16.0.1", - "revm-database-interface 11.0.1", - "revm-handler 18.1.0", - "revm-interpreter 35.0.1", - "revm-primitives 23.0.0", - "revm-state 11.0.1", + "revm-context", + "revm-database-interface", + "revm-handler", + "revm-interpreter", + "revm-primitives", + "revm-state", "serde", "serde_json", ] @@ -10617,62 +10435,25 @@ dependencies = [ "boa_engine", "boa_gc", "colorchoice", - "revm 38.0.0", + "revm", "serde", "serde_json", "thiserror 2.0.18", ] -[[package]] -name = "revm-interpreter" -version = "34.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf22f80612bb8f58fd1f578750281f2afadb6c93835b14ae6a4d6b75ca26f445" -dependencies = [ - "revm-bytecode 9.0.0", - "revm-context-interface 16.0.0", - "revm-primitives 22.1.0", - "revm-state 10.0.0", - "serde", -] - [[package]] name = "revm-interpreter" version = "35.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ece9f41b69658c15d748288a4dbdfc06a63f3ce93d983af440de3f1631dce6a" dependencies = [ - "revm-bytecode 10.0.0", - "revm-context-interface 17.0.1", - "revm-primitives 23.0.0", - "revm-state 11.0.1", + "revm-bytecode", + "revm-context-interface", + "revm-primitives", + "revm-state", "serde", ] -[[package]] -name = "revm-precompile" -version = "32.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2ec11f45deec71e4945e1809736bb20d454285f9167ab53c5159dae1deb603f" -dependencies = [ - "ark-bls12-381 0.5.0", - "ark-bn254", - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-serialize 0.5.0", - "arrayref", - "aurora-engine-modexp", - "blst", - "c-kzg", - "cfg-if", - "k256", - "p256", - "revm-primitives 22.1.0", - "ripemd", - "secp256k1 0.31.1", - "sha2 0.10.9", -] - [[package]] name = "revm-precompile" version = "34.0.0" @@ -10691,25 +10472,13 @@ dependencies = [ "cfg-if", "k256", "p256", - "revm-context-interface 17.0.1", - "revm-primitives 23.0.0", + "revm-context-interface", + "revm-primitives", "ripemd", "secp256k1 0.31.1", "sha2 0.10.9", ] -[[package]] -name = "revm-primitives" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfb5ce6cf18b118932bcdb7da05cd9c250f2cb9f64131396b55f3fe3537c35" -dependencies = [ - "alloy-primitives", - "num_enum", - "once_cell", - "serde", -] - [[package]] name = "revm-primitives" version = "23.0.0" @@ -10722,19 +10491,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-state" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29404707763da607e5d6e4771cb203998c28159279c2f64cc32de08d2814651" -dependencies = [ - "alloy-eip7928", - "bitflags 2.11.1", - "revm-bytecode 9.0.0", - "revm-primitives 22.1.0", - "serde", -] - [[package]] name = "revm-state" version = "11.0.1" @@ -10743,8 +10499,8 @@ checksum = "c32490ed687dba31c3c882beb8c20408bdd30ef96690d8f145b0ee9a87040bfe" dependencies = [ "alloy-eip7928", "bitflags 2.11.1", - "revm-bytecode 10.0.0", - "revm-primitives 23.0.0", + "revm-bytecode", + "revm-primitives", "serde", ] diff --git a/src/evm/handler.rs b/src/evm/handler.rs index 44fac555..14cff363 100644 --- a/src/evm/handler.rs +++ b/src/evm/handler.rs @@ -231,7 +231,7 @@ impl Handler for BscHandler { let effective_gas_price = ctx.effective_gas_price(); let gas = exec_result.gas(); - let mut tx_fee = U256::from(gas.spent() - gas.refunded() as u64) * effective_gas_price; + let mut tx_fee = U256::from(gas.spent_sub_refunded()) * effective_gas_price; // EIP-4844 let is_cancun = SpecId::from(*ctx.cfg().spec()).is_enabled_in(SpecId::CANCUN); diff --git a/src/node/evm/executor.rs b/src/node/evm/executor.rs index 9f20803b..05ec3aed 100644 --- a/src/node/evm/executor.rs +++ b/src/node/evm/executor.rs @@ -467,7 +467,7 @@ where let dummy = ResultAndState { result: ExecutionResult::Success { reason: SuccessReason::Stop, - gas: ResultGas::new(0, 0, 0), + gas: ResultGas::default(), logs: vec![], output: Output::Call(Bytes::new()), }, @@ -561,7 +561,7 @@ where self.system_caller .on_state(StateChangeSource::Transaction(self.receipts.len()), &temp_state); - let gas_used = result.gas_used(); + let gas_used = result.tx_gas_used(); self.gas_used += gas_used; self.blob_gas_used = self.blob_gas_used.saturating_add(output.blob_gas_used); diff --git a/src/node/evm/post_execution.rs b/src/node/evm/post_execution.rs index 0db81d58..4f6993e3 100644 --- a/src/node/evm/post_execution.rs +++ b/src/node/evm/post_execution.rs @@ -418,7 +418,7 @@ where temp_state.remove(&SYSTEM_ADDRESS); self.system_caller.on_state(StateChangeSource::Transaction(self.receipts.len()), &temp_state); - let gas_used = result.gas_used(); + let gas_used = result.tx_gas_used(); self.gas_used += gas_used; // Record system transaction gas usage diff --git a/testing/bsc-ef-tests/Cargo.toml b/testing/bsc-ef-tests/Cargo.toml index 40259a10..fa5cec8c 100644 --- a/testing/bsc-ef-tests/Cargo.toml +++ b/testing/bsc-ef-tests/Cargo.toml @@ -32,12 +32,12 @@ reth-trie = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } # revm -revm = { version = "36.0.0", features = ["secp256k1", "blst", "c-kzg", "memory_limit"] } +revm = { version = "38.0.0", features = ["secp256k1", "blst", "c-kzg", "memory_limit"] } # alloy -alloy-consensus = "1.8.2" -alloy-eips = "1.8.2" -alloy-genesis = "1.8.2" +alloy-consensus = "2.0.0" +alloy-eips = "2.0.0" +alloy-genesis = "2.0.0" alloy-primitives = "1.5.6" alloy-rlp = "0.3.13" diff --git a/testing/bsc-ef-tests/src/models.rs b/testing/bsc-ef-tests/src/models.rs index d1e94f68..9a48d989 100644 --- a/testing/bsc-ef-tests/src/models.rs +++ b/testing/bsc-ef-tests/src/models.rs @@ -117,6 +117,8 @@ impl From
for SealedHeader { excess_blob_gas: value.excess_blob_gas.map(|v| v.to::()), parent_beacon_block_root: value.parent_beacon_block_root, requests_hash: value.requests_hash, + block_access_list_hash: Default::default(), + slot_number: None, }; Self::new(header, value.hash) } From 0cbf4e2ebc07bacb18519580479eebab1c2d8f00 Mon Sep 17 00:00:00 2001 From: chee Date: Thu, 7 May 2026 19:15:33 +0800 Subject: [PATCH 06/19] chore: upgrade bnb-chain/reth to develop-v2.2 and reth-core to v0.3.1-v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Bump bnb-chain/reth branch develop-v2.1 → develop-v2.2 (048b7281) - Bump bnb-chain/reth-core branch v0.3.0-v2 → v0.3.1-v2 - Bump alloy-evm 0.33.0 → 0.34.0; alloy 2.0.0 → 2.0.4 crates - Add TxExecutionResult + Executor GAT to BlockExecutorFactory impl - Change commit_transaction to return GasOutput (infallible); defer hertz patch errors to finish() via deferred_error field - Remove DB: 'a bounds from executor/pre_execution/post_execution impls - Fix execute_transaction_with_commit_condition return type (GasOutput) - Extract gas via .tx_gas_used() in payload/bid_simulator - Wrap ConsensusError::Other strings in Arc Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 547 ++++++++++++++--------------- Cargo.toml | 110 +++--- src/consensus/parlia/validation.rs | 22 +- src/node/consensus.rs | 8 +- src/node/evm/builder.rs | 6 +- src/node/evm/config.rs | 15 +- src/node/evm/executor.rs | 23 +- src/node/evm/post_execution.rs | 2 +- src/node/evm/pre_execution.rs | 2 +- src/node/miner/bid_simulator.rs | 6 +- src/node/miner/payload.rs | 4 +- testing/bsc-ef-tests/Cargo.toml | 32 +- 12 files changed, 391 insertions(+), 386 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 39a507b0..a8db61ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -290,9 +290,9 @@ dependencies = [ [[package]] name = "alloy-evm" -version = "0.33.3" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f092eb6af80456e4ab41c9722e777d791335bc9c00b11bc3db7bf29a432dfd0" +checksum = "c1ceeea6dcbbcd4e546b27700763a6f6c3b3fee30054209884f521078b6fda4f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -3224,8 +3224,7 @@ dependencies = [ [[package]] name = "discv5" version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7999df38d0bd8f688212e1a4fae31fd2fea6d218649b9cd7c40bf3ec1318fc" +source = "git+https://github.com/sigp/discv5?rev=7663c00#7663c00ee0837ea98547caaedede95d9d6736f4d" dependencies = [ "aes", "aes-gcm", @@ -4963,16 +4962,6 @@ version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" -[[package]] -name = "iri-string" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.2" @@ -5125,9 +5114,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.97" +version = "0.3.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1840c94c045fbcf8ba2812c95db44499f7c64910a912551aaaa541decebcacf" +checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" dependencies = [ "cfg-if", "futures-util", @@ -7508,8 +7497,8 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -7549,8 +7538,8 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7560,7 +7549,7 @@ dependencies = [ "metrics", "reth-chain-state", "reth-execution-cache", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-payload-builder", "reth-payload-builder-primitives", "reth-payload-primitives", @@ -7576,8 +7565,8 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7594,7 +7583,7 @@ dependencies = [ "reth-errors", "reth-ethereum-primitives", "reth-execution-types", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-storage-api", "reth-trie", @@ -7609,8 +7598,8 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7629,8 +7618,8 @@ dependencies = [ [[package]] name = "reth-cli" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-genesis", "clap", @@ -7642,8 +7631,8 @@ dependencies = [ [[package]] name = "reth-cli-commands" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7732,8 +7721,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "reth-tasks", "tokio", @@ -7742,8 +7731,8 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7761,8 +7750,8 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "0.3.0" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" +version = "0.3.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.1-v2#2b45bde5fcf8a0f5acec927d568ffb934b179dc4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7781,8 +7770,8 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "0.3.0" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" +version = "0.3.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.1-v2#2b45bde5fcf8a0f5acec927d568ffb934b179dc4" dependencies = [ "proc-macro2", "quote", @@ -7791,8 +7780,8 @@ dependencies = [ [[package]] name = "reth-config" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "eyre", "humantime-serde", @@ -7807,8 +7796,8 @@ dependencies = [ [[package]] name = "reth-consensus" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7820,8 +7809,8 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7833,8 +7822,8 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7859,12 +7848,13 @@ dependencies = [ [[package]] name = "reth-db" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "derive_more 2.1.1", "eyre", + "libc", "metrics", "page_size", "parking_lot", @@ -7872,7 +7862,7 @@ dependencies = [ "reth-db-api", "reth-fs-util", "reth-libmdbx", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-nippy-jar", "reth-static-file-types", "reth-storage-errors", @@ -7887,8 +7877,8 @@ dependencies = [ [[package]] name = "reth-db-api" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7913,8 +7903,8 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -7947,8 +7937,8 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7962,8 +7952,8 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7987,8 +7977,8 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8001,7 +7991,7 @@ dependencies = [ "rand 0.9.4", "reth-chainspec", "reth-ethereum-forks", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network-peers", "secp256k1 0.30.0", "thiserror 2.0.18", @@ -8011,8 +8001,8 @@ dependencies = [ [[package]] name = "reth-dns-discovery" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "dashmap 6.1.0", @@ -8035,8 +8025,8 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8052,7 +8042,7 @@ dependencies = [ "reth-config", "reth-consensus", "reth-ethereum-primitives", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network-p2p", "reth-network-peers", "reth-primitives-traits", @@ -8070,8 +8060,8 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "aes", "alloy-primitives", @@ -8098,8 +8088,8 @@ dependencies = [ [[package]] name = "reth-engine-local" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8121,8 +8111,8 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8146,8 +8136,8 @@ dependencies = [ [[package]] name = "reth-engine-tree" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eip7928", @@ -8174,7 +8164,7 @@ dependencies = [ "reth-evm", "reth-execution-cache", "reth-execution-types", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network-p2p", "reth-payload-builder", "reth-payload-primitives", @@ -8207,8 +8197,8 @@ dependencies = [ [[package]] name = "reth-engine-util" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -8235,8 +8225,8 @@ dependencies = [ [[package]] name = "reth-era" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8244,14 +8234,15 @@ dependencies = [ "alloy-rlp", "ethereum_ssz", "ethereum_ssz_derive", + "sha2 0.10.9", "snap", "thiserror 2.0.18", ] [[package]] name = "reth-era-downloader" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "bytes 1.11.1", @@ -8266,8 +8257,8 @@ dependencies = [ [[package]] name = "reth-era-utils" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8288,8 +8279,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -8299,8 +8290,8 @@ dependencies = [ [[package]] name = "reth-eth-wire" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8314,7 +8305,7 @@ dependencies = [ "reth-ecies", "reth-eth-wire-types", "reth-ethereum-forks", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network-peers", "reth-primitives-traits", "serde", @@ -8328,8 +8319,8 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-chains", "alloy-consensus", @@ -8353,8 +8344,8 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "clap", "eyre", @@ -8376,8 +8367,8 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8392,8 +8383,8 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8408,8 +8399,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -8422,8 +8413,8 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8452,8 +8443,8 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8466,8 +8457,8 @@ dependencies = [ [[package]] name = "reth-etl" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "rayon", "reth-db-api", @@ -8476,8 +8467,8 @@ dependencies = [ [[package]] name = "reth-evm" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8490,7 +8481,7 @@ dependencies = [ "rayon", "reth-execution-errors", "reth-execution-types", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", @@ -8501,8 +8492,8 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8521,15 +8512,15 @@ dependencies = [ [[package]] name = "reth-execution-cache" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "fixed-cache", "metrics", "parking_lot", "reth-errors", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-provider", "reth-revm", @@ -8539,8 +8530,8 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-evm", "alloy-primitives", @@ -8552,8 +8543,8 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8571,8 +8562,8 @@ dependencies = [ [[package]] name = "reth-exex" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8589,7 +8580,7 @@ dependencies = [ "reth-evm", "reth-exex-types", "reth-fs-util", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-node-api", "reth-node-core", "reth-payload-builder", @@ -8609,8 +8600,8 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8623,8 +8614,8 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "serde", "serde_json", @@ -8633,8 +8624,8 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8661,8 +8652,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "bytes 1.11.1", "futures", @@ -8681,8 +8672,8 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "bitflags 2.11.1", "byteorder", @@ -8698,8 +8689,8 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "bindgen", "cc", @@ -8719,20 +8710,21 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "futures", "metrics", "metrics-derive", + "reth-primitives-traits", "tokio", "tokio-util", ] [[package]] name = "reth-net-banlist" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "ipnet", @@ -8740,8 +8732,8 @@ dependencies = [ [[package]] name = "reth-net-nat" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "futures-util", "if-addrs", @@ -8754,8 +8746,8 @@ dependencies = [ [[package]] name = "reth-network" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8786,7 +8778,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-evm-ethereum", "reth-fs-util", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-net-banlist", "reth-network-api", "reth-network-p2p", @@ -8802,6 +8794,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "smallvec", + "socket2 0.6.3", "thiserror 2.0.18", "tokio", "tokio-stream", @@ -8811,8 +8804,8 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8836,8 +8829,8 @@ dependencies = [ [[package]] name = "reth-network-p2p" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8859,8 +8852,8 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8874,8 +8867,8 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -8888,8 +8881,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "anyhow", "bincode", @@ -8905,8 +8898,8 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -8929,8 +8922,8 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8999,8 +8992,8 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9054,8 +9047,8 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-network", @@ -9092,8 +9085,8 @@ dependencies = [ [[package]] name = "reth-node-ethstats" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9116,8 +9109,8 @@ dependencies = [ [[package]] name = "reth-node-events" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9140,8 +9133,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "bytes 1.11.1", "eyre", @@ -9154,7 +9147,7 @@ dependencies = [ "metrics-util", "procfs", "reqwest 0.13.3", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-tasks", "tikv-jemalloc-ctl", "tokio", @@ -9164,8 +9157,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "reth-chainspec", "reth-db-api", @@ -9176,8 +9169,8 @@ dependencies = [ [[package]] name = "reth-payload-builder" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9188,7 +9181,7 @@ dependencies = [ "reth-chain-state", "reth-ethereum-engine-primitives", "reth-execution-cache", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives-traits", @@ -9200,8 +9193,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "pin-project", "reth-payload-primitives", @@ -9212,8 +9205,8 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9236,8 +9229,8 @@ dependencies = [ [[package]] name = "reth-payload-validator" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -9246,8 +9239,8 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "0.3.0" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" +version = "0.3.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.1-v2#2b45bde5fcf8a0f5acec927d568ffb934b179dc4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9278,8 +9271,8 @@ dependencies = [ [[package]] name = "reth-provider" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9302,7 +9295,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-execution-types", "reth-fs-util", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-nippy-jar", "reth-node-types", "reth-primitives-traits", @@ -9326,8 +9319,8 @@ dependencies = [ [[package]] name = "reth-prune" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9339,7 +9332,7 @@ dependencies = [ "reth-db-api", "reth-errors", "reth-exex-types", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-provider", "reth-prune-types", @@ -9355,8 +9348,8 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "arbitrary", @@ -9371,8 +9364,8 @@ dependencies = [ [[package]] name = "reth-revm" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9386,8 +9379,8 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9430,7 +9423,7 @@ dependencies = [ "reth-evm", "reth-evm-ethereum", "reth-execution-types", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network-api", "reth-network-peers", "reth-network-types", @@ -9464,8 +9457,8 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-genesis", @@ -9494,8 +9487,8 @@ dependencies = [ [[package]] name = "reth-rpc-builder" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-network", "alloy-provider", @@ -9510,7 +9503,7 @@ dependencies = [ "reth-engine-primitives", "reth-evm", "reth-ipc", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network-api", "reth-node-core", "reth-payload-primitives", @@ -9537,8 +9530,8 @@ dependencies = [ [[package]] name = "reth-rpc-convert" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-evm", @@ -9558,8 +9551,8 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9571,7 +9564,7 @@ dependencies = [ "metrics", "reth-chainspec", "reth-engine-primitives", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network-api", "reth-payload-builder", "reth-payload-builder-primitives", @@ -9589,8 +9582,8 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9637,8 +9630,8 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9663,7 +9656,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-evm", "reth-execution-types", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-revm", "reth-rpc-convert", @@ -9685,8 +9678,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-rpc-types-engine", "http 1.4.0", @@ -9699,8 +9692,8 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9715,8 +9708,8 @@ dependencies = [ [[package]] name = "reth-rpc-traits" -version = "0.3.0" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" +version = "0.3.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.1-v2#2b45bde5fcf8a0f5acec927d568ffb934b179dc4" dependencies = [ "alloy-consensus", "alloy-network", @@ -9729,8 +9722,8 @@ dependencies = [ [[package]] name = "reth-stages" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9784,8 +9777,8 @@ dependencies = [ [[package]] name = "reth-stages-api" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9796,7 +9789,7 @@ dependencies = [ "reth-codecs", "reth-consensus", "reth-errors", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network-p2p", "reth-primitives-traits", "reth-provider", @@ -9812,8 +9805,8 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "arbitrary", @@ -9826,8 +9819,8 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "parking_lot", @@ -9846,8 +9839,8 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "clap", @@ -9861,8 +9854,8 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9885,8 +9878,8 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9903,8 +9896,8 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "crossbeam-utils", "dashmap 6.1.0", @@ -9914,7 +9907,7 @@ dependencies = [ "parking_lot", "pin-project", "rayon", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "thiserror 2.0.18", "thread-priority", "tokio", @@ -9924,8 +9917,8 @@ dependencies = [ [[package]] name = "reth-testing-utils" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9940,8 +9933,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "tokio", "tokio-stream", @@ -9950,8 +9943,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "clap", "eyre", @@ -9965,8 +9958,8 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "clap", "eyre", @@ -9983,8 +9976,8 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10008,7 +10001,7 @@ dependencies = [ "reth-evm-ethereum", "reth-execution-types", "reth-fs-util", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-storage-api", "reth-tasks", @@ -10028,8 +10021,8 @@ dependencies = [ [[package]] name = "reth-trie" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10041,7 +10034,7 @@ dependencies = [ "metrics", "parking_lot", "reth-execution-errors", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-stages-types", "reth-storage-errors", @@ -10054,8 +10047,8 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10083,15 +10076,15 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "metrics", "parking_lot", "reth-db-api", "reth-execution-errors", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-stages-types", "reth-storage-api", @@ -10104,8 +10097,8 @@ dependencies = [ [[package]] name = "reth-trie-parallel" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-eip7928", "alloy-evm", @@ -10118,7 +10111,7 @@ dependencies = [ "metrics", "rayon", "reth-execution-errors", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-provider", "reth-storage-errors", @@ -10132,17 +10125,16 @@ dependencies = [ [[package]] name = "reth-trie-sparse" -version = "2.1.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.1#43475795ea6b2fbfbd2cda3e6a335d5225fee8f1" +version = "2.2.0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-trie", - "auto_impl", "metrics", "rayon", "reth-execution-errors", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-primitives-traits", "reth-trie-common", "serde", @@ -10154,8 +10146,8 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" -version = "0.3.0" -source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.0-v2#3de2f240b60c2819740da690370bb499bd6c04bf" +version = "0.3.1" +source = "git+https://github.com/bnb-chain/reth-core.git?branch=v0.3.1-v2#2b45bde5fcf8a0f5acec927d568ffb934b179dc4" dependencies = [ "zstd", ] @@ -10240,7 +10232,7 @@ dependencies = [ "reth-evm-ethereum", "reth-execution-types", "reth-ipc", - "reth-metrics 2.1.0", + "reth-metrics 2.2.0", "reth-network", "reth-network-api", "reth-network-p2p", @@ -10467,6 +10459,7 @@ dependencies = [ "ark-serialize 0.5.0", "arrayref", "aurora-engine-modexp", + "aws-lc-rs", "blst", "c-kzg", "cfg-if", @@ -12321,9 +12314,9 @@ checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" [[package]] name = "tonic" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" +checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef" dependencies = [ "async-trait", "base64 0.22.1", @@ -12347,9 +12340,9 @@ dependencies = [ [[package]] name = "tonic-prost" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" +checksum = "50849f68853be452acf590cde0b146665b8d507b3b8af17261df47e02c209ea0" dependencies = [ "bytes 1.11.1", "prost 0.14.3", @@ -12378,9 +12371,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.8" +version = "0.6.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +checksum = "68d6fdd9f81c2819c9a8b0e0cd91660e7746a8e6ea2ba7c6b2b057985f6bcb51" dependencies = [ "async-compression", "base64 0.22.1", @@ -12393,7 +12386,6 @@ dependencies = [ "http-body-util", "http-range-header", "httpdate", - "iri-string", "mime", "mime_guess", "percent-encoding", @@ -12404,6 +12396,7 @@ dependencies = [ "tower-layer", "tower-service", "tracing", + "url", "uuid 1.23.1", ] @@ -12924,9 +12917,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.120" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df52b6d9b87e0c74c9edfa1eb2d9bf85e5d63515474513aa50fa181b3c4f5db1" +checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" dependencies = [ "cfg-if", "once_cell", @@ -12937,9 +12930,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.70" +version = "0.4.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af934872acec734c2d80e6617bbb5ff4f12b052dd8e6332b0817bce889516084" +checksum = "96492d0d3ffba25305a7dc88720d250b1401d7edca02cc3bcd50633b424673b8" dependencies = [ "js-sys", "wasm-bindgen", @@ -12947,9 +12940,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.120" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b1041f495fb322e64aca85f5756b2172e35cd459376e67f2a6c9dffcedb103" +checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -12957,9 +12950,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.120" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dcd0ff20416988a18ac686d4d4d0f6aae9ebf08a389ff5d29012b05af2a1b41" +checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" dependencies = [ "bumpalo", "proc-macro2", @@ -12970,9 +12963,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.120" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49757b3c82ebf16c57d69365a142940b384176c24df52a087fb748e2085359ea" +checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" dependencies = [ "unicode-ident", ] @@ -13040,9 +13033,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.97" +version = "0.3.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eadbac71025cd7b0834f20d1fe8472e8495821b4e9801eb0a60bd1f19827602" +checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index a1ebd25f..3a975a20 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,60 +16,60 @@ name = "reth-bsc" path = "src/main.rs" [dependencies] -reth = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-cli = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ +reth = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-cli = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ "test-utils", ] } -reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ +reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ "serde", ] } -reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-ipc = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-metrics = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-node-core = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-network = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ +reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-ipc = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-metrics = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-node-core = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-network = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ "test-utils", ] } -reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-network-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ +reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-network-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ "test-utils", ] } -reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.0-v2", default-features = false } -reth-codecs = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.0-v2" } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = [ +reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2", default-features = false } +reth-codecs = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2" } +reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ "test-utils", ] } -reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-tasks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-tasks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } # triedb dependencies rust-eth-triedb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2" } @@ -86,17 +86,17 @@ revm-interpreter = "35.0.0" revm-database-interface = "11.0.0" # alloy dependencies -alloy-evm = { version = "0.33.0", features = ["rpc"] } - -alloy-genesis = "2.0.0" -alloy-consensus = "2.0.0" -alloy-eips = "2.0.0" -alloy-network = "2.0.0" -alloy-rpc-types = { version = "2.0.0", features = ["eth"] } -alloy-rpc-types-eth = "2.0.0" -alloy-rpc-types-engine = "2.0.0" -alloy-rpc-types-mev = "2.0.0" -alloy-signer = "2.0.0" +alloy-evm = { version = "0.34.0", features = ["rpc"] } + +alloy-genesis = "2.0.4" +alloy-consensus = "2.0.4" +alloy-eips = "2.0.4" +alloy-network = "2.0.4" +alloy-rpc-types = { version = "2.0.4", features = ["eth"] } +alloy-rpc-types-eth = "2.0.4" +alloy-rpc-types-engine = "2.0.4" +alloy-rpc-types-mev = "2.0.4" +alloy-signer = "2.0.4" alloy-chains = "0.2.33" alloy-rlp = { version = "0.3.13", default-features = false, features = [ diff --git a/src/consensus/parlia/validation.rs b/src/consensus/parlia/validation.rs index 5778444f..28a78007 100644 --- a/src/consensus/parlia/validation.rs +++ b/src/consensus/parlia/validation.rs @@ -11,7 +11,7 @@ use reth_primitives_traits::GotExpected; use alloy_eips::eip4844::{DATA_GAS_PER_BLOB, MAX_DATA_GAS_PER_BLOCK_DENCUN}; use crate::BscBlock; use reth_primitives_traits::Block; -use std::time::SystemTime; +use std::{sync::Arc, time::SystemTime}; const MAX_RLP_BLOCK_SIZE_OSAKA: usize = 8 * 1024 * 1024; @@ -51,11 +51,11 @@ pub fn validate_4844_header_of_bsc( // BEP-657: After Mendel, non-eligible blocks must have blob_gas_used == 0 if !is_blob_eligible_block(chain_spec, header.number, header.timestamp) && blob_gas_used != 0 { - return Err(ConsensusError::Other(format!( + return Err(ConsensusError::Other(Arc::new(std::io::Error::other(format!( "blob transactions not allowed in block {} (N % {} != 0)", header.number, crate::consensus::eip4844::BLOB_ELIGIBLE_BLOCK_INTERVAL - ))); + ))))); } if blob_gas_used > MAX_DATA_GAS_PER_BLOCK_DENCUN { @@ -114,16 +114,16 @@ fn validate_mix_digest_for_parlia( ) -> Result<(), ConsensusError> { if !lorentz_active { if header.mix_hash != B256::ZERO { - return Err(ConsensusError::Other("non-zero mix digest".to_string())); + return Err(ConsensusError::Other(Arc::new(std::io::Error::other("non-zero mix digest")))); } return Ok(()); } // In Lorentz+, mix digest carries the millisecond remainder. It must not overflow seconds. if calculate_millisecond_timestamp(header) / 1000 != header.timestamp { - return Err(ConsensusError::Other( - "invalid mix digest milliseconds component".to_string(), - )); + return Err(ConsensusError::Other(Arc::new(std::io::Error::other( + "invalid mix digest milliseconds component", + )))); } Ok(()) } @@ -172,7 +172,7 @@ impl( ) -> Result<(), ConsensusError> { // Keep parity with go-bsc's Parlia checks. if header.gas_limit > GAS_LIMIT_CAPACITY { - return Err(ConsensusError::Other(format!( + return Err(ConsensusError::Other(Arc::new(std::io::Error::other(format!( "invalid gasLimit: have {}, max {}", header.gas_limit, GAS_LIMIT_CAPACITY - ))); + ))))); } if header.gas_used > header.gas_limit { @@ -109,12 +109,12 @@ fn validate_bsc_gas_limit_against_parent( let limit = parent.gas_limit / bound_divisor; if diff >= limit || header.gas_limit < MINIMUM_GAS_LIMIT { - return Err(ConsensusError::Other(format!( + return Err(ConsensusError::Other(Arc::new(std::io::Error::other(format!( "invalid gas limit: have {}, want {} += {}", header.gas_limit, parent.gas_limit, limit.saturating_sub(1) - ))); + ))))); } Ok(()) diff --git a/src/node/evm/builder.rs b/src/node/evm/builder.rs index d6394e3c..79aeb0b3 100644 --- a/src/node/evm/builder.rs +++ b/src/node/evm/builder.rs @@ -10,7 +10,7 @@ use crate::{ BscPrimitives, }; use alloy_consensus::BlockHeader as _; -use alloy_evm::block::BlockExecutor; +use alloy_evm::block::{BlockExecutor, GasOutput}; use alloy_evm::eth::receipt_builder::ReceiptBuilder; use alloy_primitives::BlockHash; use reth_chainspec::{EthChainSpec, EthereumHardforks, Hardforks}; @@ -95,13 +95,13 @@ where &mut self, tx: impl ExecutorTx, f: impl FnOnce(&::Result) -> alloy_evm::block::CommitChanges, - ) -> Result, BlockExecutionError> { + ) -> Result, BlockExecutionError> { let (tx_env, recovered) = tx.into_parts(); if let Some(gas_output) = self.executor.execute_transaction_with_commit_condition((tx_env, &recovered), f)? { self.transactions.push(recovered); - Ok(Some(gas_output.tx_gas_used())) + Ok(Some(gas_output)) } else { Ok(None) } diff --git a/src/node/evm/config.rs b/src/node/evm/config.rs index 91502d96..25c47d05 100644 --- a/src/node/evm/config.rs +++ b/src/node/evm/config.rs @@ -1,5 +1,6 @@ use super::{ - assembler::BscBlockAssembler, builder::BscBlockBuilder, executor::BscBlockExecutor, + assembler::BscBlockAssembler, builder::BscBlockBuilder, + executor::{BscBlockExecutor, BscTxResult}, factory::BscEvmFactory, }; use crate::{ @@ -230,23 +231,25 @@ where BscTxEnv: IntoTxEnv<::Tx>, { type EvmFactory = EvmF; + type TxExecutionResult = BscTxResult<::HaltReason>; type ExecutionCtx<'a> = BscBlockExecutionCtx<'a>; type Transaction = TransactionSigned; type Receipt = R::Receipt; + type Executor<'a, DB: alloy_evm::block::StateDB, I: Inspector<::Context>> = + BscBlockExecutor<'a, ::Evm, Spec, R>; fn evm_factory(&self) -> &Self::EvmFactory { &self.evm_factory } - #[allow(refining_impl_trait)] fn create_executor<'a, DB, I>( &'a self, evm: ::Evm, ctx: Self::ExecutionCtx<'a>, - ) -> BscBlockExecutor<'a, ::Evm, Spec, R> + ) -> Self::Executor<'a, DB, I> where - DB: alloy_evm::block::StateDB + 'a, - I: Inspector<::Context> + 'a, + DB: alloy_evm::block::StateDB, + I: Inspector<::Context>, { BscBlockExecutor::new( evm, @@ -474,7 +477,7 @@ where ctx: ::ExecutionCtx<'a>, ) -> impl BlockBuilder< Primitives = Self::Primitives, - Executor: BlockExecutorFor<'a, Self::BlockExecutorFactory, &'a mut State, I>, + Executor = BlockExecutorFor<'a, Self::BlockExecutorFactory, &'a mut State, I>, > where DB: Database, diff --git a/src/node/evm/executor.rs b/src/node/evm/executor.rs index 05ec3aed..15512425 100644 --- a/src/node/evm/executor.rs +++ b/src/node/evm/executor.rs @@ -56,7 +56,7 @@ pub struct BscTxResult { pub is_system: bool, } -impl TxResult for BscTxResult { +impl TxResult for BscTxResult { type HaltReason = H; fn result(&self) -> &ResultAndState { @@ -124,12 +124,14 @@ where pub(super) executor_metrics: BscExecutorMetrics, /// Rewards metrics for tracking reward distributions. pub(super) rewards_metrics: BscRewardsMetrics, + /// Deferred error from commit_transaction (e.g. hertz patch), returned from finish(). + pub(super) deferred_error: Option, } impl<'a, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> where EVM: Evm< - DB: alloy_evm::block::StateDB + 'a, + DB: alloy_evm::block::StateDB, Tx: FromRecoveredTx + FromRecoveredTx + FromTxWithEncoded, @@ -199,6 +201,7 @@ where vote_metrics: BscVoteMetrics::default(), executor_metrics: BscExecutorMetrics::default(), rewards_metrics: BscRewardsMetrics::default(), + deferred_error: None, } } @@ -385,7 +388,7 @@ where impl<'a, E, Spec, R> BlockExecutor for BscBlockExecutor<'a, E, Spec, R> where E: Evm< - DB: alloy_evm::block::StateDB + 'a, + DB: alloy_evm::block::StateDB, Tx: FromRecoveredTx + FromRecoveredTx + FromTxWithEncoded, @@ -549,9 +552,9 @@ where fn commit_transaction( &mut self, output: BscTxResult, - ) -> Result { + ) -> GasOutput { if output.is_system { - return Ok(GasOutput::new(0)); + return GasOutput::new(0); } let ResultAndState { result, state } = output.inner; @@ -576,16 +579,22 @@ where self.evm.db_mut().commit(state); // Apply hertz patch after tx (validation only, not mining). + // commit_transaction cannot return errors in the new API, so defer any error to finish(). if !self.ctx.is_miner { - self.hertz_patch_manager.patch_after_tx(&output.tx, self.evm.db_mut())?; + if let Err(e) = self.hertz_patch_manager.patch_after_tx(&output.tx, self.evm.db_mut()) { + self.deferred_error = Some(e); + } } - Ok(GasOutput::new(gas_used)) + GasOutput::new(gas_used) } fn finish( mut self, ) -> Result<(Self::Evm, BlockExecutionResult), BlockExecutionError> { + if let Some(err) = self.deferred_error.take() { + return Err(err); + } let block_env = self.evm.block().clone(); debug!( target: "bsc::executor", diff --git a/src/node/evm/post_execution.rs b/src/node/evm/post_execution.rs index 4f6993e3..75807831 100644 --- a/src/node/evm/post_execution.rs +++ b/src/node/evm/post_execution.rs @@ -41,7 +41,7 @@ fn turn_length_matches(turn_length_from_header: Option, expected_turn_length impl<'a, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> where EVM: Evm< - DB: alloy_evm::block::StateDB + 'a, + DB: alloy_evm::block::StateDB, Tx: FromRecoveredTx + FromRecoveredTx + FromTxWithEncoded, diff --git a/src/node/evm/pre_execution.rs b/src/node/evm/pre_execution.rs index a844ae5a..982389a5 100644 --- a/src/node/evm/pre_execution.rs +++ b/src/node/evm/pre_execution.rs @@ -43,7 +43,7 @@ pub static TURN_LENGTH_CACHE: LazyLock> = LazyLock::new(| impl<'a, EVM, Spec, R: ReceiptBuilder> BscBlockExecutor<'a, EVM, Spec, R> where EVM: Evm< - DB: alloy_evm::block::StateDB + 'a, + DB: alloy_evm::block::StateDB, Tx: FromRecoveredTx + FromRecoveredTx + FromTxWithEncoded, diff --git a/src/node/miner/bid_simulator.rs b/src/node/miner/bid_simulator.rs index e42dbb4b..a7c72a5e 100644 --- a/src/node/miner/bid_simulator.rs +++ b/src/node/miner/bid_simulator.rs @@ -932,13 +932,13 @@ where } } - self.gas_used += tx_gas_used; + self.gas_used += tx_gas_used.tx_gas_used(); let tx_effective_gas_price = recovered_tx .effective_tip_per_gas(base_fee) .expect("fee is always valid; execution succeeded"); self.gas_fee += (U256::from(tx_effective_gas_price) + U256::from(base_fee)) - * U256::from(tx_gas_used); - self.system_balance += U256::from(tx_effective_gas_price) * U256::from(tx_gas_used); + * U256::from(tx_gas_used.tx_gas_used()); + self.system_balance += U256::from(tx_effective_gas_price) * U256::from(tx_gas_used.tx_gas_used()); } Ok(()) diff --git a/src/node/miner/payload.rs b/src/node/miner/payload.rs index 7d59d65d..d00d2092 100644 --- a/src/node/miner/payload.rs +++ b/src/node/miner/payload.rs @@ -741,8 +741,8 @@ where let miner_fee = tx .effective_tip_per_gas(base_fee) .expect("fee is always valid; execution succeeded"); - total_fees += U256::from(miner_fee) * U256::from(gas_used); - cumulative_gas_used += gas_used; + total_fees += U256::from(miner_fee) * U256::from(gas_used.tx_gas_used()); + cumulative_gas_used += gas_used.tx_gas_used(); let tx_duration = tx_start.elapsed(); if tx_duration.as_micros() > 3000 { diff --git a/testing/bsc-ef-tests/Cargo.toml b/testing/bsc-ef-tests/Cargo.toml index fa5cec8c..ee97355d 100644 --- a/testing/bsc-ef-tests/Cargo.toml +++ b/testing/bsc-ef-tests/Cargo.toml @@ -14,22 +14,22 @@ asm-keccak = ["alloy-primitives/asm-keccak"] reth_bsc = { path = "../.." } # reth dependencies aligned with root crate branch to avoid duplicate crate versions -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = ["mdbx", "test-utils", "disable-lock"] } -reth-db-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-db-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.0-v2", default-features = false } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = ["test-utils"] } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1", features = ["std"] } -reth-tracing = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-trie = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.1" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = ["mdbx", "test-utils", "disable-lock"] } +reth-db-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-db-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2", default-features = false } +reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = ["test-utils"] } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = ["std"] } +reth-tracing = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-trie = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } # revm revm = { version = "38.0.0", features = ["secp256k1", "blst", "c-kzg", "memory_limit"] } From 9fc8667c8d773f3aa6dab9011915f6f1bee19767 Mon Sep 17 00:00:00 2001 From: chee Date: Fri, 15 May 2026 13:11:03 +0800 Subject: [PATCH 07/19] chore: point reth deps to develop-v2.2-new branch and align triedb to branch=develop Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 224 ++++++++++++++++---------------- Cargo.toml | 92 ++++++------- testing/bsc-ef-tests/Cargo.toml | 30 ++--- 3 files changed, 173 insertions(+), 173 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a8db61ff..de3a5e87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1628,7 +1628,7 @@ dependencies = [ "bitflags 2.11.1", "cexpr", "clang-sys", - "itertools 0.13.0", + "itertools 0.12.1", "proc-macro2", "quote", "regex", @@ -4596,7 +4596,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -6894,7 +6894,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.12.1", "proc-macro2", "quote", "syn 2.0.117", @@ -6973,7 +6973,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.40", - "socket2 0.6.3", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", "tracing", @@ -7011,7 +7011,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2 0.5.10", "tracing", "windows-sys 0.60.2", ] @@ -7498,7 +7498,7 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -7539,7 +7539,7 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7566,7 +7566,7 @@ dependencies = [ [[package]] name = "reth-chain-state" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7599,7 +7599,7 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7619,7 +7619,7 @@ dependencies = [ [[package]] name = "reth-cli" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-genesis", "clap", @@ -7632,7 +7632,7 @@ dependencies = [ [[package]] name = "reth-cli-commands" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7722,7 +7722,7 @@ dependencies = [ [[package]] name = "reth-cli-runner" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "reth-tasks", "tokio", @@ -7732,7 +7732,7 @@ dependencies = [ [[package]] name = "reth-cli-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7781,7 +7781,7 @@ dependencies = [ [[package]] name = "reth-config" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "eyre", "humantime-serde", @@ -7797,7 +7797,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7810,7 +7810,7 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7823,7 +7823,7 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7849,7 +7849,7 @@ dependencies = [ [[package]] name = "reth-db" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "derive_more 2.1.1", @@ -7878,7 +7878,7 @@ dependencies = [ [[package]] name = "reth-db-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7904,7 +7904,7 @@ dependencies = [ [[package]] name = "reth-db-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -7938,7 +7938,7 @@ dependencies = [ [[package]] name = "reth-db-models" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7953,7 +7953,7 @@ dependencies = [ [[package]] name = "reth-discv4" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7978,7 +7978,7 @@ dependencies = [ [[package]] name = "reth-discv5" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8002,7 +8002,7 @@ dependencies = [ [[package]] name = "reth-dns-discovery" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "dashmap 6.1.0", @@ -8026,7 +8026,7 @@ dependencies = [ [[package]] name = "reth-downloaders" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8061,7 +8061,7 @@ dependencies = [ [[package]] name = "reth-ecies" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "aes", "alloy-primitives", @@ -8089,7 +8089,7 @@ dependencies = [ [[package]] name = "reth-engine-local" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8112,7 +8112,7 @@ dependencies = [ [[package]] name = "reth-engine-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8137,7 +8137,7 @@ dependencies = [ [[package]] name = "reth-engine-tree" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eip7928", @@ -8198,7 +8198,7 @@ dependencies = [ [[package]] name = "reth-engine-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -8226,7 +8226,7 @@ dependencies = [ [[package]] name = "reth-era" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8242,7 +8242,7 @@ dependencies = [ [[package]] name = "reth-era-downloader" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "bytes 1.11.1", @@ -8258,7 +8258,7 @@ dependencies = [ [[package]] name = "reth-era-utils" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8280,7 +8280,7 @@ dependencies = [ [[package]] name = "reth-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -8291,7 +8291,7 @@ dependencies = [ [[package]] name = "reth-eth-wire" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8320,7 +8320,7 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-chains", "alloy-consensus", @@ -8345,7 +8345,7 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "clap", "eyre", @@ -8368,7 +8368,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8384,7 +8384,7 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8400,7 +8400,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -8414,7 +8414,7 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8444,7 +8444,7 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8458,7 +8458,7 @@ dependencies = [ [[package]] name = "reth-etl" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "rayon", "reth-db-api", @@ -8468,7 +8468,7 @@ dependencies = [ [[package]] name = "reth-evm" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8493,7 +8493,7 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8513,7 +8513,7 @@ dependencies = [ [[package]] name = "reth-execution-cache" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "fixed-cache", @@ -8531,7 +8531,7 @@ dependencies = [ [[package]] name = "reth-execution-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-evm", "alloy-primitives", @@ -8544,7 +8544,7 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8563,7 +8563,7 @@ dependencies = [ [[package]] name = "reth-exex" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8601,7 +8601,7 @@ dependencies = [ [[package]] name = "reth-exex-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8615,7 +8615,7 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "serde", "serde_json", @@ -8625,7 +8625,7 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8653,7 +8653,7 @@ dependencies = [ [[package]] name = "reth-ipc" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "bytes 1.11.1", "futures", @@ -8673,7 +8673,7 @@ dependencies = [ [[package]] name = "reth-libmdbx" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "bitflags 2.11.1", "byteorder", @@ -8690,7 +8690,7 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "bindgen", "cc", @@ -8711,7 +8711,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "futures", "metrics", @@ -8724,7 +8724,7 @@ dependencies = [ [[package]] name = "reth-net-banlist" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "ipnet", @@ -8733,7 +8733,7 @@ dependencies = [ [[package]] name = "reth-net-nat" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "futures-util", "if-addrs", @@ -8747,7 +8747,7 @@ dependencies = [ [[package]] name = "reth-network" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8805,7 +8805,7 @@ dependencies = [ [[package]] name = "reth-network-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8830,7 +8830,7 @@ dependencies = [ [[package]] name = "reth-network-p2p" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8853,7 +8853,7 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8868,7 +8868,7 @@ dependencies = [ [[package]] name = "reth-network-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -8882,7 +8882,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "anyhow", "bincode", @@ -8899,7 +8899,7 @@ dependencies = [ [[package]] name = "reth-node-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -8923,7 +8923,7 @@ dependencies = [ [[package]] name = "reth-node-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8993,7 +8993,7 @@ dependencies = [ [[package]] name = "reth-node-core" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9048,7 +9048,7 @@ dependencies = [ [[package]] name = "reth-node-ethereum" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-network", @@ -9086,7 +9086,7 @@ dependencies = [ [[package]] name = "reth-node-ethstats" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9110,7 +9110,7 @@ dependencies = [ [[package]] name = "reth-node-events" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9134,7 +9134,7 @@ dependencies = [ [[package]] name = "reth-node-metrics" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "bytes 1.11.1", "eyre", @@ -9158,7 +9158,7 @@ dependencies = [ [[package]] name = "reth-node-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "reth-chainspec", "reth-db-api", @@ -9170,7 +9170,7 @@ dependencies = [ [[package]] name = "reth-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9194,7 +9194,7 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "pin-project", "reth-payload-primitives", @@ -9206,7 +9206,7 @@ dependencies = [ [[package]] name = "reth-payload-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9230,7 +9230,7 @@ dependencies = [ [[package]] name = "reth-payload-validator" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -9272,7 +9272,7 @@ dependencies = [ [[package]] name = "reth-provider" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9320,7 +9320,7 @@ dependencies = [ [[package]] name = "reth-prune" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9349,7 +9349,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "arbitrary", @@ -9365,7 +9365,7 @@ dependencies = [ [[package]] name = "reth-revm" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9380,7 +9380,7 @@ dependencies = [ [[package]] name = "reth-rpc" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9458,7 +9458,7 @@ dependencies = [ [[package]] name = "reth-rpc-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-genesis", @@ -9488,7 +9488,7 @@ dependencies = [ [[package]] name = "reth-rpc-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-network", "alloy-provider", @@ -9531,7 +9531,7 @@ dependencies = [ [[package]] name = "reth-rpc-convert" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-evm", @@ -9552,7 +9552,7 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9583,7 +9583,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9631,7 +9631,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9679,7 +9679,7 @@ dependencies = [ [[package]] name = "reth-rpc-layer" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-rpc-types-engine", "http 1.4.0", @@ -9693,7 +9693,7 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9723,7 +9723,7 @@ dependencies = [ [[package]] name = "reth-stages" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9778,7 +9778,7 @@ dependencies = [ [[package]] name = "reth-stages-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9806,7 +9806,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "arbitrary", @@ -9820,7 +9820,7 @@ dependencies = [ [[package]] name = "reth-static-file" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "parking_lot", @@ -9840,7 +9840,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "clap", @@ -9855,7 +9855,7 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9879,7 +9879,7 @@ dependencies = [ [[package]] name = "reth-storage-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9897,7 +9897,7 @@ dependencies = [ [[package]] name = "reth-tasks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "crossbeam-utils", "dashmap 6.1.0", @@ -9918,7 +9918,7 @@ dependencies = [ [[package]] name = "reth-testing-utils" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9934,7 +9934,7 @@ dependencies = [ [[package]] name = "reth-tokio-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "tokio", "tokio-stream", @@ -9944,7 +9944,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "clap", "eyre", @@ -9959,7 +9959,7 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "clap", "eyre", @@ -9977,7 +9977,7 @@ dependencies = [ [[package]] name = "reth-transaction-pool" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10022,7 +10022,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10048,7 +10048,7 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10077,7 +10077,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "metrics", @@ -10098,7 +10098,7 @@ dependencies = [ [[package]] name = "reth-trie-parallel" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-eip7928", "alloy-evm", @@ -10126,7 +10126,7 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2#048b728160bc84ab9e58f18a8d0f45fd03c29ac9" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -10669,7 +10669,7 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rust-eth-triedb" version = "0.1.0" -source = "git+https://github.com/bnb-chain/reth-bsc-triedb.git?tag=v0.0.2#a9477ae0dc98e7abdb11b78e88c41d89f8f072e5" +source = "git+https://github.com/bnb-chain/reth-bsc-triedb.git?branch=develop#e235d46535c316c22ce6ee7b54a16597b92098ee" dependencies = [ "alloy-primitives", "alloy-trie", @@ -10690,7 +10690,7 @@ dependencies = [ [[package]] name = "rust-eth-triedb-common" version = "0.1.0" -source = "git+https://github.com/bnb-chain/reth-bsc-triedb.git?tag=v0.0.2#a9477ae0dc98e7abdb11b78e88c41d89f8f072e5" +source = "git+https://github.com/bnb-chain/reth-bsc-triedb.git?branch=develop#e235d46535c316c22ce6ee7b54a16597b92098ee" dependencies = [ "alloy-primitives", "auto_impl", @@ -10701,7 +10701,7 @@ dependencies = [ [[package]] name = "rust-eth-triedb-pathdb" version = "0.1.0" -source = "git+https://github.com/bnb-chain/reth-bsc-triedb.git?tag=v0.0.2#a9477ae0dc98e7abdb11b78e88c41d89f8f072e5" +source = "git+https://github.com/bnb-chain/reth-bsc-triedb.git?branch=develop#e235d46535c316c22ce6ee7b54a16597b92098ee" dependencies = [ "alloy-primitives", "alloy-trie", @@ -10720,7 +10720,7 @@ dependencies = [ [[package]] name = "rust-eth-triedb-state-trie" version = "0.1.0" -source = "git+https://github.com/bnb-chain/reth-bsc-triedb.git?tag=v0.0.2#a9477ae0dc98e7abdb11b78e88c41d89f8f072e5" +source = "git+https://github.com/bnb-chain/reth-bsc-triedb.git?branch=develop#e235d46535c316c22ce6ee7b54a16597b92098ee" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -13125,7 +13125,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 3a975a20..38cd2055 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,66 +16,66 @@ name = "reth-bsc" path = "src/main.rs" [dependencies] -reth = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-cli = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ +reth = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-cli = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new", features = [ "test-utils", ] } -reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ +reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new", features = [ "serde", ] } -reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-ipc = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-metrics = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-node-core = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-network = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ +reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-ipc = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-metrics = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-node-core = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-network = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new", features = [ "test-utils", ] } -reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-network-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ +reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-network-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new", features = [ "test-utils", ] } -reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2", default-features = false } reth-codecs = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2" } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = [ +reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new", features = [ "test-utils", ] } -reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-tasks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-tasks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } # triedb dependencies -rust-eth-triedb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2" } -rust-eth-triedb-common = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2", package = "rust-eth-triedb-common" } -rust-eth-triedb-pathdb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2", package = "rust-eth-triedb-pathdb" } -rust-eth-triedb-state-trie = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", tag = "v0.0.2", package = "rust-eth-triedb-state-trie" } +rust-eth-triedb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", branch = "develop" } +rust-eth-triedb-common = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", branch = "develop", package = "rust-eth-triedb-common" } +rust-eth-triedb-pathdb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", branch = "develop", package = "rust-eth-triedb-pathdb" } +rust-eth-triedb-state-trie = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", branch = "develop", package = "rust-eth-triedb-state-trie" } revm = "38.0.0" revm-database = "13.0.0" diff --git a/testing/bsc-ef-tests/Cargo.toml b/testing/bsc-ef-tests/Cargo.toml index ee97355d..23c1542a 100644 --- a/testing/bsc-ef-tests/Cargo.toml +++ b/testing/bsc-ef-tests/Cargo.toml @@ -14,22 +14,22 @@ asm-keccak = ["alloy-primitives/asm-keccak"] reth_bsc = { path = "../.." } # reth dependencies aligned with root crate branch to avoid duplicate crate versions -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = ["mdbx", "test-utils", "disable-lock"] } -reth-db-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-db-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new", features = ["mdbx", "test-utils", "disable-lock"] } +reth-db-api = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-db-common = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2", default-features = false } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = ["test-utils"] } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2", features = ["std"] } -reth-tracing = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-trie = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2" } +reth-provider = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new", features = ["test-utils"] } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new", features = ["std"] } +reth-tracing = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-trie = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", branch = "develop-v2.2-new" } # revm revm = { version = "38.0.0", features = ["secp256k1", "blst", "c-kzg", "memory_limit"] } From 2fe8a04c07ad2a94081b0ce8a2d7ac35933d3f73 Mon Sep 17 00:00:00 2001 From: chee Date: Mon, 18 May 2026 13:44:03 +0800 Subject: [PATCH 08/19] fix(block_import): log engine errors in new_payload instead of silently dropping Previously, when engine.new_payload() returned an Err (e.g. EngineUnavailable), the error was silently discarded with no log, making it impossible to diagnose broken engine integration from block import logs. Co-Authored-By: Claude Sonnet 4.6 --- src/node/network/block_import/service.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/node/network/block_import/service.rs b/src/node/network/block_import/service.rs index 94de26c8..a2d9ff45 100644 --- a/src/node/network/block_import/service.rs +++ b/src/node/network/block_import/service.rs @@ -326,7 +326,16 @@ where } _ => None, }, - Err(err) => None, + Err(err) => { + tracing::warn!( + target: "bsc::block_import", + block_hash = %block_hash, + block_number = header.number, + %err, + "Engine unavailable or failed to process new payload" + ); + None + } } }) } From 7c5704780621e48ba2c856480aca9a0e7b471f03 Mon Sep 17 00:00:00 2001 From: chee Date: Mon, 25 May 2026 11:18:48 +0800 Subject: [PATCH 09/19] chore: update reth dependency to ac8062d2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Picks up fix(engine): defer MDBX read tx open to after trie wait in changeset task — reduces long-lived MDBX readers that caused ~16s GC stalls and validator slashing on BSC. Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 217 +++++++++++++++++++++++++++-------------------------- 1 file changed, 109 insertions(+), 108 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index de3a5e87..71c975f3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1628,7 +1628,7 @@ dependencies = [ "bitflags 2.11.1", "cexpr", "clang-sys", - "itertools 0.12.1", + "itertools 0.13.0", "proc-macro2", "quote", "regex", @@ -4596,7 +4596,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.3", "tokio", "tower-service", "tracing", @@ -6894,7 +6894,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.117", @@ -6973,7 +6973,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.40", - "socket2 0.5.10", + "socket2 0.6.3", "thiserror 2.0.18", "tokio", "tracing", @@ -7011,7 +7011,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.3", "tracing", "windows-sys 0.60.2", ] @@ -7498,7 +7498,7 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -7539,7 +7539,7 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7566,7 +7566,7 @@ dependencies = [ [[package]] name = "reth-chain-state" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7599,7 +7599,7 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7619,7 +7619,7 @@ dependencies = [ [[package]] name = "reth-cli" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-genesis", "clap", @@ -7632,7 +7632,7 @@ dependencies = [ [[package]] name = "reth-cli-commands" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7722,7 +7722,7 @@ dependencies = [ [[package]] name = "reth-cli-runner" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "reth-tasks", "tokio", @@ -7732,7 +7732,7 @@ dependencies = [ [[package]] name = "reth-cli-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7781,7 +7781,7 @@ dependencies = [ [[package]] name = "reth-config" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "eyre", "humantime-serde", @@ -7797,7 +7797,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7810,7 +7810,7 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7823,7 +7823,7 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7849,7 +7849,7 @@ dependencies = [ [[package]] name = "reth-db" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "derive_more 2.1.1", @@ -7878,7 +7878,7 @@ dependencies = [ [[package]] name = "reth-db-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7904,7 +7904,7 @@ dependencies = [ [[package]] name = "reth-db-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -7938,7 +7938,7 @@ dependencies = [ [[package]] name = "reth-db-models" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7953,7 +7953,7 @@ dependencies = [ [[package]] name = "reth-discv4" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7978,7 +7978,7 @@ dependencies = [ [[package]] name = "reth-discv5" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8002,7 +8002,7 @@ dependencies = [ [[package]] name = "reth-dns-discovery" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "dashmap 6.1.0", @@ -8026,7 +8026,7 @@ dependencies = [ [[package]] name = "reth-downloaders" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8061,7 +8061,7 @@ dependencies = [ [[package]] name = "reth-ecies" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "aes", "alloy-primitives", @@ -8089,7 +8089,7 @@ dependencies = [ [[package]] name = "reth-engine-local" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8112,7 +8112,7 @@ dependencies = [ [[package]] name = "reth-engine-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8132,12 +8132,13 @@ dependencies = [ "serde", "thiserror 2.0.18", "tokio", + "tracing", ] [[package]] name = "reth-engine-tree" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eip7928", @@ -8198,7 +8199,7 @@ dependencies = [ [[package]] name = "reth-engine-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -8226,7 +8227,7 @@ dependencies = [ [[package]] name = "reth-era" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8242,7 +8243,7 @@ dependencies = [ [[package]] name = "reth-era-downloader" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "bytes 1.11.1", @@ -8258,7 +8259,7 @@ dependencies = [ [[package]] name = "reth-era-utils" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8280,7 +8281,7 @@ dependencies = [ [[package]] name = "reth-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -8291,7 +8292,7 @@ dependencies = [ [[package]] name = "reth-eth-wire" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8320,7 +8321,7 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-chains", "alloy-consensus", @@ -8345,7 +8346,7 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "clap", "eyre", @@ -8368,7 +8369,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8384,7 +8385,7 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8400,7 +8401,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -8414,7 +8415,7 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8444,7 +8445,7 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8458,7 +8459,7 @@ dependencies = [ [[package]] name = "reth-etl" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "rayon", "reth-db-api", @@ -8468,7 +8469,7 @@ dependencies = [ [[package]] name = "reth-evm" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8493,7 +8494,7 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8513,7 +8514,7 @@ dependencies = [ [[package]] name = "reth-execution-cache" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "fixed-cache", @@ -8531,7 +8532,7 @@ dependencies = [ [[package]] name = "reth-execution-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-evm", "alloy-primitives", @@ -8544,7 +8545,7 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8563,7 +8564,7 @@ dependencies = [ [[package]] name = "reth-exex" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8601,7 +8602,7 @@ dependencies = [ [[package]] name = "reth-exex-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8615,7 +8616,7 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "serde", "serde_json", @@ -8625,7 +8626,7 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8653,7 +8654,7 @@ dependencies = [ [[package]] name = "reth-ipc" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "bytes 1.11.1", "futures", @@ -8673,7 +8674,7 @@ dependencies = [ [[package]] name = "reth-libmdbx" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "bitflags 2.11.1", "byteorder", @@ -8690,7 +8691,7 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "bindgen", "cc", @@ -8711,7 +8712,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "futures", "metrics", @@ -8724,7 +8725,7 @@ dependencies = [ [[package]] name = "reth-net-banlist" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "ipnet", @@ -8733,7 +8734,7 @@ dependencies = [ [[package]] name = "reth-net-nat" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "futures-util", "if-addrs", @@ -8747,7 +8748,7 @@ dependencies = [ [[package]] name = "reth-network" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8805,7 +8806,7 @@ dependencies = [ [[package]] name = "reth-network-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8830,7 +8831,7 @@ dependencies = [ [[package]] name = "reth-network-p2p" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8853,7 +8854,7 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8868,7 +8869,7 @@ dependencies = [ [[package]] name = "reth-network-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -8882,7 +8883,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "anyhow", "bincode", @@ -8899,7 +8900,7 @@ dependencies = [ [[package]] name = "reth-node-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -8923,7 +8924,7 @@ dependencies = [ [[package]] name = "reth-node-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8993,7 +8994,7 @@ dependencies = [ [[package]] name = "reth-node-core" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9048,7 +9049,7 @@ dependencies = [ [[package]] name = "reth-node-ethereum" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-network", @@ -9086,7 +9087,7 @@ dependencies = [ [[package]] name = "reth-node-ethstats" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9110,7 +9111,7 @@ dependencies = [ [[package]] name = "reth-node-events" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9134,7 +9135,7 @@ dependencies = [ [[package]] name = "reth-node-metrics" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "bytes 1.11.1", "eyre", @@ -9158,7 +9159,7 @@ dependencies = [ [[package]] name = "reth-node-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "reth-chainspec", "reth-db-api", @@ -9170,7 +9171,7 @@ dependencies = [ [[package]] name = "reth-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9194,7 +9195,7 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "pin-project", "reth-payload-primitives", @@ -9206,7 +9207,7 @@ dependencies = [ [[package]] name = "reth-payload-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9230,7 +9231,7 @@ dependencies = [ [[package]] name = "reth-payload-validator" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -9272,7 +9273,7 @@ dependencies = [ [[package]] name = "reth-provider" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9320,7 +9321,7 @@ dependencies = [ [[package]] name = "reth-prune" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9349,7 +9350,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "arbitrary", @@ -9365,7 +9366,7 @@ dependencies = [ [[package]] name = "reth-revm" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9380,7 +9381,7 @@ dependencies = [ [[package]] name = "reth-rpc" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9458,7 +9459,7 @@ dependencies = [ [[package]] name = "reth-rpc-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-genesis", @@ -9488,7 +9489,7 @@ dependencies = [ [[package]] name = "reth-rpc-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-network", "alloy-provider", @@ -9531,7 +9532,7 @@ dependencies = [ [[package]] name = "reth-rpc-convert" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-evm", @@ -9552,7 +9553,7 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9583,7 +9584,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9631,7 +9632,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9679,7 +9680,7 @@ dependencies = [ [[package]] name = "reth-rpc-layer" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-rpc-types-engine", "http 1.4.0", @@ -9693,7 +9694,7 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9723,7 +9724,7 @@ dependencies = [ [[package]] name = "reth-stages" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9778,7 +9779,7 @@ dependencies = [ [[package]] name = "reth-stages-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9806,7 +9807,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "arbitrary", @@ -9820,7 +9821,7 @@ dependencies = [ [[package]] name = "reth-static-file" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "parking_lot", @@ -9840,7 +9841,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "clap", @@ -9855,7 +9856,7 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9879,7 +9880,7 @@ dependencies = [ [[package]] name = "reth-storage-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9897,7 +9898,7 @@ dependencies = [ [[package]] name = "reth-tasks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "crossbeam-utils", "dashmap 6.1.0", @@ -9918,7 +9919,7 @@ dependencies = [ [[package]] name = "reth-testing-utils" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9934,7 +9935,7 @@ dependencies = [ [[package]] name = "reth-tokio-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "tokio", "tokio-stream", @@ -9944,7 +9945,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "clap", "eyre", @@ -9959,7 +9960,7 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "clap", "eyre", @@ -9977,7 +9978,7 @@ dependencies = [ [[package]] name = "reth-transaction-pool" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10022,7 +10023,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10048,7 +10049,7 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10077,7 +10078,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "metrics", @@ -10098,7 +10099,7 @@ dependencies = [ [[package]] name = "reth-trie-parallel" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-eip7928", "alloy-evm", @@ -10126,7 +10127,7 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#97cf8b0e576e1ccea52389e28c68abc2a25381e0" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -13125,7 +13126,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] From c135db4281b49a64687aa7a3c3d3c75d12e6fea0 Mon Sep 17 00:00:00 2001 From: Mael Regnery Date: Wed, 29 Apr 2026 03:54:17 +0200 Subject: [PATCH 10/19] fix(rpc): include empty withdrawals in block RLP size computation (#340) BscBlock::rlp_length was filtering out empty withdrawals (Some([])) by treating them as None, making the computed block size 1 byte smaller than geth/erigon for any block that carries an empty withdrawals list. (cherry picked from commit 12556dc41f8de268cd3ef3a36b3dd2bef4eb5f73) --- src/node/primitives.rs | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/src/node/primitives.rs b/src/node/primitives.rs index bb4d8796..060d1618 100644 --- a/src/node/primitives.rs +++ b/src/node/primitives.rs @@ -192,21 +192,11 @@ impl Block for BscBlock { } fn rlp_length(header: &Self::Header, body: &Self::Body) -> usize { - // Treat empty withdrawals as None for size computation to match geth behavior. - // Geth computes block size as if empty withdrawals are absent, even though it - // returns withdrawals: [] in the JSON response. - let withdrawals = body - .inner - .withdrawals - .as_ref() - .filter(|w| !w.is_empty()) - .map(Cow::Borrowed); - rlp::BlockHelper { header: Cow::Borrowed(header), transactions: Cow::Borrowed(&body.inner.transactions), ommers: Cow::Borrowed(&body.inner.ommers), - withdrawals, + withdrawals: body.inner.withdrawals.as_ref().map(Cow::Borrowed), sidecars: body.sidecars.as_ref().map(Cow::Borrowed), } .length() @@ -391,9 +381,9 @@ mod tests { } #[test] - fn test_rlp_length_empty_withdrawals_equals_no_withdrawals() { - // This test verifies that empty withdrawals (Some([])) are treated as None - // for size computation, matching geth's behavior. + fn test_rlp_length_empty_withdrawals_larger_than_no_withdrawals() { + // Geth includes the empty withdrawals list (0xc0, 1 byte) in size computation. + // Some([]) encodes as a 1-byte RLP empty list, while None is omitted entirely. let header = create_test_header(); let body_none = create_test_body_no_withdrawals(); let body_empty = create_test_body_empty_withdrawals(); @@ -402,8 +392,9 @@ mod tests { let size_empty = BscBlock::rlp_length(&header, &body_empty); assert_eq!( - size_none, size_empty, - "Empty withdrawals should have same RLP length as no withdrawals" + size_none + 1, + size_empty, + "Empty withdrawals (Some([])) should be 1 byte larger than no withdrawals (None)" ); } @@ -588,26 +579,23 @@ mod tests { } #[test] - fn test_rlp_length_empty_withdrawals_less_than_encoded() { + fn test_rlp_length_empty_withdrawals_matches_encoded() { use alloy_rlp::Encodable; let header = create_test_header(); let body = create_test_body_empty_withdrawals(); let block = BscBlock { header: header.clone(), body: body.clone() }; - // Get computed length (treats empty withdrawals as None) + // Computed length must match the actual encoded length (empty withdrawals included). let computed_length = BscBlock::rlp_length(&header, &body); - // Get actual encoded length (includes empty withdrawals as 0xc0) let mut buf = Vec::new(); block.encode(&mut buf); let actual_length = buf.len(); - // Computed length should be 1 byte less (the 0xc0 for empty list) assert_eq!( - computed_length + 1, - actual_length, - "Computed RLP length for empty withdrawals should be 1 byte less than actual encoded length" + computed_length, actual_length, + "Computed RLP length should match actual encoded length for empty withdrawals" ); } From d29b14d110880f5fa5f523ecb2dbd9d692a7673d Mon Sep 17 00:00:00 2001 From: will-2012 <117156346+will-2012@users.noreply.github.com> Date: Tue, 12 May 2026 11:22:00 +0800 Subject: [PATCH 11/19] fix: resolve some p2p peer related issues (#344) * chore: add more for debug p2p * chore: add more logs * chore: avoid fetch newest block by newblock which result in failed fetch and p2p reset * chore: avoid fetch unnecessary newest block * chore: request_blocks_by_range only by v2 peer * chore: fetch block prefer announce peer * chore: make reth-bsc peer-manager similar to geth-bsc * chore: try some p2p config * chore: update peer config * fix: fix forward vote bug which too large msg * chore: restore reth deps * chore: remove temp peer dump * chore: remove useless codes * chore: add force prune vote when stage sync * chore: update some trivals (cherry picked from commit a133c6c340c5eea93ae7cd65e344cd4cd1669036) --- src/consensus/parlia/vote_pool.rs | 45 +- src/node/miner/bsc_miner.rs | 6 +- src/node/network/block_import/fork_recover.rs | 349 +++++++++++--- src/node/network/block_import/service.rs | 96 +++- .../network/bsc_protocol/protocol/handler.rs | 37 +- src/node/network/bsc_protocol/registry.rs | 456 ++++++++++++++++-- src/node/network/handshake.rs | 47 +- src/node/network/mod.rs | 56 ++- 8 files changed, 925 insertions(+), 167 deletions(-) diff --git a/src/consensus/parlia/vote_pool.rs b/src/consensus/parlia/vote_pool.rs index 51144f52..5e5057dd 100644 --- a/src/consensus/parlia/vote_pool.rs +++ b/src/consensus/parlia/vote_pool.rs @@ -4,7 +4,10 @@ use std::{ cmp::Reverse, collections::{BinaryHeap, HashMap, HashSet}, num::NonZero, - sync::RwLock, + sync::{ + atomic::{AtomicU64, Ordering}, + RwLock, + }, }; use alloy_primitives::{BlockNumber, B256}; @@ -220,6 +223,10 @@ impl VotePool { /// Global singleton pool. static VOTE_POOL: Lazy> = Lazy::new(|| RwLock::new(VotePool::new())); +/// Highest block number against which the pool has already been pruned. +/// Throttles [`put_vote`]'s lazy prune to once per observed head advance. +static LAST_PRUNED_BLOCK: AtomicU64 = AtomicU64::new(0); + /// Global metrics for vote operations. static VOTE_METRICS: Lazy = Lazy::new(BscVoteMetrics::default); @@ -244,8 +251,35 @@ pub fn put_vote(vote: VoteEnvelope) { // Get pending block number for malicious vote detection scope let pending_block_number = shared::get_best_canonical_block_number().unwrap_or(0); + // Lazy prune: evict votes below `head - LOWER_LIMIT_OF_VOTE_BLOCK_NUMBER` + // once per observed head advance. Replaces geth-bsc's chain-head event + // subscription by piggybacking on the vote ingest path (same cadence). + // `fetch_max` keeps the watermark monotonic across racing writers; the + // inner prune is O(0) when nothing is stale. + let need_prune = pending_block_number > LAST_PRUNED_BLOCK.load(Ordering::Relaxed); + + let target_number = vote.data.target_number; + let mut pool = VOTE_POOL.write().expect("vote pool poisoned"); let votes_for_block = pool.insert(vote, pending_block_number); + if need_prune { + pool.prune(pending_block_number); + LAST_PRUNED_BLOCK.fetch_max(pending_block_number, Ordering::Relaxed); + } + + // Force prune if pool is too large, prevents memory issues during stage sync. + const MAX_VOTES_IN_POOL: usize = 32 * 1024 * 2; + if pool.len() > MAX_VOTES_IN_POOL { + let force_prune = target_number.saturating_sub(LOWER_LIMIT_OF_VOTE_BLOCK_NUMBER); + pool.prune(force_prune); + tracing::debug!( + target: "bsc::vote_pool", + pool_size = pool.len(), + force_prune_block_number = force_prune, + "Vote pool oversized, force pruned" + ); + } + let size = pool.len(); drop(pool); update_vote_pool_size_metric(size); @@ -295,15 +329,6 @@ pub fn fetch_vote_by_block_hash_and_source_number( .fetch_vote_by_block_hash_and_source_number(block_hash, source_number) } -/// Prune old votes based on the latest block number. -pub fn prune(latest_block_number: BlockNumber) { - let mut pool = VOTE_POOL.write().expect("vote pool poisoned"); - pool.prune(latest_block_number); - let size = pool.len(); - drop(pool); - update_vote_pool_size_metric(size); -} - fn maybe_notify_finality(target_hash: B256, votes_for_block: usize) { // Check if we've already notified for this block (de-duplication) { diff --git a/src/node/miner/bsc_miner.rs b/src/node/miner/bsc_miner.rs index 83f33e51..4e1b5b68 100644 --- a/src/node/miner/bsc_miner.rs +++ b/src/node/miner/bsc_miner.rs @@ -2,7 +2,7 @@ use crate::node::miner::bid_simulator::{BidRuntime, BidSimulator}; use crate::node::miner::payload::BscBuildArguments; use crate::{ chainspec::BscChainSpec, - consensus::parlia::{provider::SnapshotProvider, vote_pool, Parlia}, + consensus::parlia::{provider::SnapshotProvider, Parlia}, metrics::BscConsensusMetrics, node::{ engine::BscBuiltPayload, @@ -247,10 +247,6 @@ where } let tip_header = tip.clone_sealed_header(); - // Prune old votes from the vote pool based on the new block number - let block_number = - self.provider.last_block_number().ok().unwrap_or(tip_header.number()); - vote_pool::prune(block_number); // Produce and broadcast a local vote for this new canonical head, if eligible if let Some(sp) = crate::shared::get_snapshot_provider() { diff --git a/src/node/network/block_import/fork_recover.rs b/src/node/network/block_import/fork_recover.rs index 5cf3ebd7..9f33c903 100644 --- a/src/node/network/block_import/fork_recover.rs +++ b/src/node/network/block_import/fork_recover.rs @@ -70,6 +70,9 @@ pub enum ForkRecoverError { #[error("head header {hash} not in provider after recovery")] HeadHeaderMissing { hash: alloy_primitives::B256 }, + + #[error("fcu_target_header.hash {got} ≠ fcu_target_hash {expected}")] + FcuTargetHeaderMismatch { expected: alloy_primitives::B256, got: alloy_primitives::B256 }, } /// Abstraction over `GetBlocksByRange`. Tests substitute a fake; production @@ -135,27 +138,32 @@ pub struct Discovery { pub outcome: DiscoveryOutcome, } -/// Walk backwards from `(head_num, head_hash)` via `parent_hash`-walked +/// Walk backwards from `(start_num, start_hash)` via `parent_hash`-walked /// `GetBlocksByRange` hops until a local-chain match is found or /// `MAX_FORK_DEPTH` is exhausted. +/// +/// The starting cursor is the *first block we want to learn about*, not +/// necessarily the announced head: the parent-start path (`on_new_block`) +/// passes `parent_hash` here while the legacy path (`on_new_block_hashes`) +/// passes the announced head itself. pub async fn discover_fork_blocks< P: BlockHashReader + HeaderProvider
, >( peer: PeerId, - head_hash: B256, - head_num: u64, + start_hash: B256, + start_num: u64, provider: &P, fetcher: &dyn RangeFetcher, ) -> Result { let mut fork_blocks: Vec = Vec::new(); - let mut cursor_num = head_num; - let mut cursor_hash = head_hash; + let mut cursor_num = start_num; + let mut cursor_hash = start_hash; let mut walked: u64 = 0; loop { // Pre-hop local checks: if this cursor is already local, we've - // reached the common ancestor (or short-circuited on an already-known - // head). + // reached the common ancestor (or short-circuited because the + // starting cursor was itself locally known). // // The side-chain hit (`provider.header(cursor_hash).is_some()`) is // safe to treat as "ancestor reached" because engine-tree only stores @@ -216,17 +224,82 @@ pub async fn discover_fork_blocks< } } -/// Top-level recovery entry point. +/// Inputs to [`recover_ancestors`]. The discovery start and FCU target are +/// kept separate so callers with the full block payload (`on_new_block`) can +/// start the backward walk from `parent_hash` — avoiding BSC's +/// broadcast-before-commit race — while still flipping canonical to the +/// announced head. Construct via [`RecoverTarget::single_pair`] or +/// [`RecoverTarget::from_parent`]. +#[derive(Debug, Clone)] +pub struct RecoverTarget { + /// Cursor for the backward walk. Parent of the announced block on the + /// `on_new_block` path; the head itself on header-only paths. + pub fetch_start_hash: B256, + /// Block number paired with `fetch_start_hash`. + pub fetch_start_num: u64, + /// Block we want canonical at the end of recovery. + pub fcu_target_hash: B256, + /// Block number paired with `fcu_target_hash`. + pub fcu_target_num: u64, + /// Header for the FCU target. `Some` when the caller already has it + /// decoded — lets Phase 3 skip a `provider.header(fcu_target_hash)` lookup + /// that may miss a block engine-tree just unbuffered but hasn't persisted. + /// `None` falls back to phase-2 tail / provider. + pub fcu_target_header: Option, +} + +impl RecoverTarget { + /// Fetch from and FCU to the same `(hash, num)`. Used by header-only + /// paths (`on_new_block_hashes`) where we can't compute `parent_hash`; + /// stays exposed to a small broadcast-before-commit race window. + pub fn single_pair(hash: B256, num: u64) -> Self { + Self { + fetch_start_hash: hash, + fetch_start_num: num, + fcu_target_hash: hash, + fcu_target_num: num, + fcu_target_header: None, + } + } + + /// Fetch from `(parent_hash, parent_num)`, FCU to `(target_hash, + /// target_num)`. Used by `on_new_block` to dodge the broadcast-before- + /// commit race: `parent_hash` is always committed on the source peer + /// (since `target` was built on top of it). + /// + /// Caller must already have called `engine.new_payload(target)` so the + /// block is buffered in engine-tree; Phase 2's parent import unbuffers + /// and imports it via `try_connect_buffered_blocks`. + pub fn from_parent( + parent_hash: B256, + parent_num: u64, + target_hash: B256, + target_num: u64, + target_header: alloy_consensus::Header, + ) -> Self { + Self { + fetch_start_hash: parent_hash, + fetch_start_num: parent_num, + fcu_target_hash: target_hash, + fcu_target_num: target_num, + fcu_target_header: Some(target_header), + } + } +} + +/// Three-phase ancestor-aware recovery: /// -/// 1. Walks back via `discover_fork_blocks` to find the common ancestor. +/// 1. `discover_fork_blocks` walks back from `target.fetch_start_*` to the +/// common ancestor. /// 2. Imports fork blocks oldest → newest via `engine.new_payload`, awaiting /// `Valid` on each before submitting the next. -/// 3. Issues a final `fork_choice_updated` for `head_hash`, so engine-tree +/// 3. `fork_choice_updated` for `target.fcu_target_*` so engine-tree /// re-evaluates canonical selection. +/// +/// See [`RecoverTarget`] for the parent-start vs single-pair design. pub async fn recover_ancestors

( peer: PeerId, - head_hash: B256, - head_num: u64, + target: RecoverTarget, provider: P, engine: ConsensusEngineHandle, forkchoice_engine: BscForkChoiceEngine

, @@ -241,21 +314,34 @@ where + Sync + 'static, { + let RecoverTarget { + fetch_start_hash, + fetch_start_num, + fcu_target_hash, + fcu_target_num, + fcu_target_header, + } = target; + tracing::info!( target: "bsc::fork_recover", %peer, - %head_hash, - head_num, + %fetch_start_hash, + fetch_start_num, + %fcu_target_hash, + fcu_target_num, "Starting fork recovery" ); // ---- Phase 1 ---- - let discovery = discover_fork_blocks(peer, head_hash, head_num, &provider, fetcher).await?; + let discovery = + discover_fork_blocks(peer, fetch_start_hash, fetch_start_num, &provider, fetcher).await?; tracing::debug!( target: "bsc::fork_recover", %peer, - %head_hash, - head_num, + %fetch_start_hash, + fetch_start_num, + %fcu_target_hash, + fcu_target_num, fork_blocks = discovery.fork_blocks.len(), outcome = ?discovery.outcome, "Phase 1 complete" @@ -303,37 +389,27 @@ where } } - // ---- Phase 3: single FCU to let engine-tree re-evaluate canonical head ---- - // - // `provider.header(head_hash)` is not safe on the AncestorFound path: - // engine-tree keeps the blocks we just imported in memory (TreeState) - // until persistence, so the DB-backed `provider` can return `None` for a - // block that `engine.new_payload` has already accepted as `Valid`. That - // false-negative was the qanet two-validator fork livelock: Phase 2 - // succeeded, but Phase 3 aborted with `HeadHeaderMissing`, the head was - // cooled down for 30s, and the FCU that would flip canonical never fired. - // - // The Phase-2 tail is the recovery head by construction (see - // `discover_fork_blocks`: fork_blocks is newest→oldest with the head at - // index 0, so `to_import.last()` after `reverse()` is the head). Use its - // in-memory header directly. Only fall back to the provider on the - // Shortcircuit path, where `to_import` is empty and the head was already - // locally known (canonical or side-chain) — that lookup must succeed. - let head_header = resolve_fcu_head_header(&provider, head_hash, to_import.last())?; + // ---- Phase 3: FCU so engine-tree re-evaluates canonical head ---- + let head_header = resolve_fcu_head_header( + &provider, + fcu_target_hash, + fcu_target_header.as_ref(), + to_import.last(), + )?; if let Err(err) = forkchoice_engine.update_forkchoice(&head_header).await { // FCU failure is recoverable (engine-tree may retry on next import); // surface at warn level to match `service.rs` convention. tracing::warn!( target: "bsc::fork_recover", - %head_hash, + %fcu_target_hash, error = %err, "fork_choice_updated returned error after recovery" ); } else { tracing::info!( target: "bsc::fork_recover", - %head_hash, - head_num, + %fcu_target_hash, + fcu_target_num, "Fork recovery FCU succeeded" ); } @@ -341,37 +417,48 @@ where Ok(()) } -/// Resolve the header used as the FCU target at the end of `recover_ancestors`. -/// -/// The AncestorFound path uses the Phase-2 tail (the peer's announced head, -/// just imported via `engine.new_payload`) without consulting the DB provider: -/// engine-tree holds that block in memory and the provider would return `None` -/// until persistence lands — which is the qanet livelock we're fixing. +/// Resolve the FCU target header in priority order: /// -/// The Shortcircuit path (`phase_2_tail == None`) falls back to the provider, -/// which is guaranteed to hold the head (canonical or side-chain) because -/// `discover_fork_blocks` only short-circuits when the pre-hop local check -/// succeeds. If the provider somehow disagrees, surface `HeadHeaderMissing` -/// rather than forging an FCU target. +/// 1. Caller override (`fcu_target_header`) — used by `on_new_block` to skip +/// a provider lookup for a block engine-tree just unbuffered. +/// 2. Phase-2 tail iff its hash equals `fcu_target_hash` — single-pair +/// callers; sidesteps the qanet livelock where the DB-backed provider +/// misses freshly-imported blocks. +/// 3. Provider — Shortcircuit path or last resort; missing → +/// `HeadHeaderMissing`. fn resolve_fcu_head_header

( provider: &P, - head_hash: B256, + fcu_target_hash: B256, + fcu_target_header: Option<&alloy_consensus::Header>, phase_2_tail: Option<&crate::BscBlock>, ) -> Result where P: HeaderProvider

, { + // 1. Override. Hard-fail on hash mismatch: silently accepting a forged + // header would flip canonical to the wrong head. + if let Some(h) = fcu_target_header { + let got = h.hash_slow(); + if got != fcu_target_hash { + return Err(ForkRecoverError::FcuTargetHeaderMismatch { + expected: fcu_target_hash, + got, + }); + } + return Ok(h.clone()); + } + + // 2. Phase-2 tail iff it equals the FCU target. if let Some(last) = phase_2_tail { - debug_assert_eq!( - last.header.hash_slow(), - head_hash, - "phase-2 tail must be the recovery head; invariant of discover_fork_blocks", - ); - return Ok(last.header.clone()); + if last.header.hash_slow() == fcu_target_hash { + return Ok(last.header.clone()); + } } + + // 3. Provider. provider - .header(head_hash)? - .ok_or(ForkRecoverError::HeadHeaderMissing { hash: head_hash }) + .header(fcu_target_hash)? + .ok_or(ForkRecoverError::HeadHeaderMissing { hash: fcu_target_hash }) } /// Bounded LRU of recently-failed recovery heads with per-entry deadlines. @@ -791,6 +878,48 @@ mod tests { assert_eq!(fetcher.calls().len(), 1); } + // ---- RecoverTarget constructor tests ---- + // + // Trivial field mapping, pinned to catch future swaps of `parent_*` ↔ + // `target_*` (would type-check but reintroduce the race). + + #[test] + fn recover_target_single_pair_collapses_fetch_and_fcu() { + let h = B256::repeat_byte(0xAB); + let n = 42; + let t = super::RecoverTarget::single_pair(h, n); + assert_eq!(t.fetch_start_hash, h); + assert_eq!(t.fetch_start_num, n); + assert_eq!(t.fcu_target_hash, h); + assert_eq!(t.fcu_target_num, n); + assert!(t.fcu_target_header.is_none()); + } + + #[test] + fn recover_target_from_parent_keeps_pairs_distinct() { + let parent_hash = B256::repeat_byte(0x11); + let parent_num = 99; + let target_hash = B256::repeat_byte(0x22); + let target_num = 100; + let target_header = make_header(target_num, parent_hash, 0x1); + let target_header_hash = target_header.hash_slow(); + + let t = super::RecoverTarget::from_parent( + parent_hash, + parent_num, + target_hash, + target_num, + target_header, + ); + assert_eq!(t.fetch_start_hash, parent_hash); + assert_eq!(t.fetch_start_num, parent_num); + assert_eq!(t.fcu_target_hash, target_hash); + assert_eq!(t.fcu_target_num, target_num); + let stored = t.fcu_target_header.expect("from_parent must populate the header"); + assert_eq!(stored.hash_slow(), target_header_hash); + assert_eq!(stored.number, target_num); + } + // ---- Phase-3 head-header resolver tests ---- // // These pin the qanet livelock fix: Phase 2 imports the peer's head via @@ -824,8 +953,9 @@ mod tests { "precondition: head not as side-chain in provider", ); + // Legacy single-pair path: fcu_target_header = None, phase_2_tail.hash == fcu_target_hash. let resolved = - super::resolve_fcu_head_header(&provider, head_hash, Some(&tail_block)).unwrap(); + super::resolve_fcu_head_header(&provider, head_hash, None, Some(&tail_block)).unwrap(); assert_eq!( resolved.hash_slow(), head_hash, @@ -847,7 +977,8 @@ mod tests { let side_hash = side.hash_slow(); provider.insert_side(side); - let resolved = super::resolve_fcu_head_header(&provider, side_hash, None).unwrap(); + let resolved = + super::resolve_fcu_head_header(&provider, side_hash, None, None).unwrap(); assert_eq!(resolved.hash_slow(), side_hash); } @@ -859,12 +990,110 @@ mod tests { let provider = FakeProvider::default(); let head_hash = B256::repeat_byte(0xAB); - let err = super::resolve_fcu_head_header(&provider, head_hash, None).unwrap_err(); + let err = + super::resolve_fcu_head_header(&provider, head_hash, None, None).unwrap_err(); match err { ForkRecoverError::HeadHeaderMissing { hash } => assert_eq!(hash, head_hash), other => panic!("expected HeadHeaderMissing, got {other:?}"), } } + + // ---- Override / parent-start path tests ---- + + #[test] + fn resolve_fcu_head_header_explicit_override_wins_over_phase2_tail() { + // Override (priority 1) wins over phase-2 tail (priority 2), even + // when both are present. + let provider = FakeProvider::default(); + + let target = make_header(10, B256::repeat_byte(0xAA), 0x1); + let target_hash = target.hash_slow(); + + // Phase-2 tail is N-1 in the parent-start path; its hash differs. + let tail_header = make_header(9, B256::repeat_byte(0xBB), 0x2); + let tail_block = make_block(tail_header); + + let resolved = super::resolve_fcu_head_header( + &provider, + target_hash, + Some(&target), + Some(&tail_block), + ) + .unwrap(); + assert_eq!(resolved.hash_slow(), target_hash); + assert_eq!(resolved.number, 10); + } + + #[test] + fn resolve_fcu_head_header_mismatched_override_yields_error() { + // Hash mismatch must surface as error, not silently flip canonical + // to a forged head. + let provider = FakeProvider::default(); + let supplied = make_header(10, B256::repeat_byte(0xAA), 0x1); + let supplied_hash = supplied.hash_slow(); + let claimed_target_hash = B256::repeat_byte(0x99); // ≠ supplied_hash + + let err = super::resolve_fcu_head_header( + &provider, + claimed_target_hash, + Some(&supplied), + None, + ) + .unwrap_err(); + match err { + ForkRecoverError::FcuTargetHeaderMismatch { expected, got } => { + assert_eq!(expected, claimed_target_hash); + assert_eq!(got, supplied_hash); + } + other => panic!("expected FcuTargetHeaderMismatch, got {other:?}"), + } + } + + #[test] + fn resolve_fcu_head_header_parent_start_falls_back_to_provider_when_no_override() { + // Parent-start: tail.hash (N-1) ≠ fcu_target_hash (N). Tail is + // skipped, provider answers. + let mut provider = FakeProvider::default(); + let parent = make_header(9, B256::repeat_byte(0xCC), 0x1); + let parent_hash = parent.hash_slow(); + provider.insert_canonical(parent.clone()); + + let target = make_header(10, parent_hash, 0x1); + let target_hash = target.hash_slow(); + // Provider DOES know N (canonical) — pretend persistence raced ahead. + provider.insert_canonical(target.clone()); + + let tail_block = make_block(parent); + + let resolved = + super::resolve_fcu_head_header(&provider, target_hash, None, Some(&tail_block)) + .unwrap(); + assert_eq!(resolved.hash_slow(), target_hash); + assert_eq!(resolved.number, 10); + } + + #[test] + fn resolve_fcu_head_header_parent_start_missing_provider_yields_error() { + // Parent-start with no override and provider also missing N → must + // surface HeadHeaderMissing rather than forge from the N-1 tail. + let provider = FakeProvider::default(); + let parent_hash = B256::repeat_byte(0xCC); + let target_hash = B256::repeat_byte(0xDD); + + let tail_block = make_block(make_header(9, parent_hash, 0x1)); + + let err = super::resolve_fcu_head_header( + &provider, + target_hash, + None, + Some(&tail_block), + ) + .unwrap_err(); + match err { + ForkRecoverError::HeadHeaderMissing { hash } => assert_eq!(hash, target_hash), + other => panic!("expected HeadHeaderMissing, got {other:?}"), + } + } } #[cfg(test)] diff --git a/src/node/network/block_import/service.rs b/src/node/network/block_import/service.rs index a2d9ff45..bc1c0cfe 100644 --- a/src/node/network/block_import/service.rs +++ b/src/node/network/block_import/service.rs @@ -116,11 +116,15 @@ where announce_interval: tokio::time::Interval, } +/// Pick a peer to route `GetBlocksByRange` to. Only bsc/2 peers qualify — +/// bsc/1 peers don't speak `GetBlocksByRange` and would kick us with +/// `SubprotocolSpecific`. Prefer the announcing peer if it's bsc/2; +/// otherwise pick any registered bsc/2 peer. fn resolve_bsc_peer_static(announcer: PeerId) -> Option { - if crate::node::network::bsc_protocol::registry::has_registered_peer(announcer) { + if crate::node::network::bsc_protocol::registry::is_v2_peer(announcer) { Some(announcer) } else { - crate::node::network::bsc_protocol::registry::list_registered_peers().into_iter().next() + crate::node::network::bsc_protocol::registry::list_v2_peers().into_iter().next() } } @@ -291,6 +295,16 @@ where let recovering = recovering_heads.clone(); let peer = resolve_bsc_peer_static(peer_id); let failed_heads = failed_heads.clone(); + // Parent-start to dodge the broadcast-before-commit + // race; see `RecoverTarget::from_parent`. + let recover_target = + crate::node::network::block_import::fork_recover::RecoverTarget::from_parent( + header.parent_hash, + block_number.saturating_sub(1), + block_hash, + block_number, + header.clone(), + ); tokio::spawn(async move { let _guard = crate::node::network::block_import::fork_recover::RecoveringHeadGuard::new( block_hash, recovering, @@ -303,8 +317,7 @@ where if let Err(err) = crate::node::network::block_import::fork_recover::recover_ancestors( target, - block_hash, - block_number, + recover_target, provider, engine_clone, forkchoice_engine_clone, @@ -327,12 +340,13 @@ where _ => None, }, Err(err) => { - tracing::warn!( + tracing::debug!( target: "bsc::block_import", - block_hash = %block_hash, block_number = header.number, - %err, - "Engine unavailable or failed to process new payload" + block_hash = %block_hash, + peer = %peer_id, + error = %err, + "engine.new_payload returned error" ); None } @@ -455,6 +469,10 @@ where fn on_new_block(&mut self, block: BlockMsg, peer_id: PeerId) { tracing::debug!(target: "bsc::block_import", "Receiving new block from network: number = {:?}, hash = {:?}, peer = {:?}", block.block.0.block.header.number, block.hash, peer_id); + // Record before stale-block / dedup checks: announcer remains a + // valid `GetBlocksByRange` target even if we skip processing here. + crate::node::network::bsc_protocol::registry::record_announcer(block.hash, peer_id); + // Drop blocks that are far behind the canonical head early to avoid wasting // resources on stale blocks from misbehaving or out-of-sync peers. Without this // guard, proof workers open read transactions against cold historical trie pages, @@ -463,19 +481,28 @@ where if let Ok(info) = self.forkchoice_engine.provider.chain_info() { let block_number = block.block.0.block.header.number; if block_number + MAX_STALE_BLOCK_DISTANCE < info.best_number { + let gap = info.best_number - block_number; tracing::debug!( target: "bsc::block_import", block_number, block_hash = %block.hash, canonical_head = info.best_number, - gap = info.best_number - block_number, + gap, peer_id = %peer_id, "Dropping stale block far behind canonical head" ); // Apply a lightweight reputation penalty so peers that repeatedly send // stale blocks are gradually deprioritized (BadAnnouncement = -1024, // needs ~50 hits to reach ban threshold). + // + // Surface this at INFO under `bsc::peers` so #312-style peer-loss + // investigations can attribute drift to this guard without DEBUG logs. if let Some(net) = crate::shared::get_network_handle() { + tracing::debug!( + target: "bsc::peers", + peer = %peer_id, gap, threshold = MAX_STALE_BLOCK_DISTANCE, + "applying BadAnnouncement: stale-block guard" + ); net.reputation_change(peer_id, ReputationChangeKind::BadAnnouncement); } return; @@ -490,6 +517,25 @@ where tracing::trace!(target: "bsc::block_import", "Block already queued when receiving new block: number = {:?}, hash = {:?}", block.block.0.block.header.number, block.hash); return; } + + let local_tip = self.forkchoice_engine.provider.best_block_number().unwrap_or(0); + let block_number = block.block.0.block.header.number; + let delta = block_number.saturating_sub(local_tip); + if delta > PIPELINE_TRIGGER_DELTA { + tracing::info!( + target: "bsc::block_import", + block_hash = %block.hash, + block_number, + local_tip, + delta, + peer = %peer_id, + "NewBlock far ahead of local tip; routing to pipeline instead of fork_recover" + ); + self.processed_blocks.insert(block.hash); + self.spawn_pipeline_trigger_fcu(peer_id, block.hash, block_number, local_tip, delta); + return; + } + self.queued_blocks.insert(block.hash); // Record chain delay metrics: time from block creation to first network reception @@ -533,6 +579,12 @@ where }; for hash_number in hashes.0 { + // Record before dedup checks (see `on_new_block` above). + crate::node::network::bsc_protocol::registry::record_announcer( + hash_number.hash, + peer_id, + ); + if self.processed_blocks.contains(&hash_number.hash) { continue; } @@ -608,11 +660,16 @@ where ); return; }; + // Header-only path: no parent_hash, so fetch and FCU collapse + // to the same hash. See `RecoverTarget::single_pair`. + let recover_target = + crate::node::network::block_import::fork_recover::RecoverTarget::single_pair( + head_hash, head_num, + ); if let Err(err) = crate::node::network::block_import::fork_recover::recover_ancestors( target, - head_hash, - head_num, + recover_target, provider, engine, forkchoice_engine, @@ -633,8 +690,7 @@ where } } - /// Pick a peer to route `GetBlocksByRange` to. Prefer the announcing peer - /// if it speaks the BSC sub-protocol; otherwise any registered BSC peer. + /// See [`resolve_bsc_peer_static`]. fn resolve_bsc_peer(&self, announcer: PeerId) -> Option { resolve_bsc_peer_static(announcer) } @@ -906,8 +962,8 @@ mod tests { use reth_chainspec::ChainInfo; use reth_engine_primitives::{BeaconEngineMessage, OnForkChoiceUpdated}; use reth_eth_wire::NewBlock; - use reth_node_ethereum::EthEngineTypes; use reth_ethereum_primitives::Block; + use reth_node_ethereum::EthEngineTypes; use reth_primitives_traits::SealedHeader; use reth_provider::ProviderError; use schnellru::{ByLength, LruMap}; @@ -1324,11 +1380,7 @@ mod tests { tx.send(Ok(PayloadStatus::new(responses.new_payload.clone(), None))) .unwrap(); } - BeaconEngineMessage::ForkchoiceUpdated { - state: _, - payload_attrs: _, - tx, - } => { + BeaconEngineMessage::ForkchoiceUpdated { state: _, payload_attrs: _, tx } => { tx.send(Ok(OnForkChoiceUpdated::valid(PayloadStatus::new( responses.fcu.clone(), None, @@ -1366,11 +1418,7 @@ mod tests { let _ = np_tx.send(()); let _ = tx.send(Ok(PayloadStatus::new(PayloadStatusEnum::Valid, None))); } - BeaconEngineMessage::ForkchoiceUpdated { - state, - payload_attrs: _, - tx, - } => { + BeaconEngineMessage::ForkchoiceUpdated { state, payload_attrs: _, tx } => { let _ = fcu_tx.send(state); let _ = tx.send(Ok(OnForkChoiceUpdated::valid(PayloadStatus::new( PayloadStatusEnum::Valid, diff --git a/src/node/network/bsc_protocol/protocol/handler.rs b/src/node/network/bsc_protocol/protocol/handler.rs index 9788f570..75a452a4 100644 --- a/src/node/network/bsc_protocol/protocol/handler.rs +++ b/src/node/network/bsc_protocol/protocol/handler.rs @@ -31,37 +31,37 @@ impl ConnectionHandler for BscConnectionHandlerV2 { fn on_unsupported_by_peer( self, _supported: &SharedCapabilities, - _direction: reth_network_api::Direction, - _peer_id: PeerId, + direction: reth_network_api::Direction, + peer_id: PeerId, ) -> OnNotSupported { - tracing::debug!(target: "bsc_protocol", "Unsupported by peer, direction: {}, peer_id: {}", _direction, _peer_id); + tracing::debug!(target: "bsc_protocol", "Unsupported bsc v2 by peer, direction: {}, peer_id: {}", direction, peer_id); OnNotSupported::KeepAlive } fn into_connection( self, direction: Direction, - _peer_id: PeerId, + peer_id: PeerId, conn: ProtocolConnection, ) -> Self::Connection { - tracing::debug!(target: "bsc_protocol", "Into connection, direction: {}, peer_id: {}", direction, _peer_id); + tracing::debug!(target: "bsc_protocol", "Into connection, direction: {}, peer_id: {}", direction, peer_id); let (tx, rx) = mpsc::unbounded_channel(); // Save sender so other components can broadcast BSC messages // Note: PeerId is not exposed directly here, so we rely on the local peer id for keying // when available. However, reth passes `_peer_id` which we can use. // Even if the connection drops, failed sends will lazily clean up entries. - registry::register_peer(_peer_id, tx); + registry::register_peer(peer_id, tx, 2); // EVN: mark this peer if present in whitelist and mark as trusted at runtime - crate::node::network::evn_peers::mark_evn_if_whitelisted(_peer_id); - if crate::node::network::evn_peers::is_evn_peer(_peer_id) { + crate::node::network::evn_peers::mark_evn_if_whitelisted(peer_id); + if crate::node::network::evn_peers::is_evn_peer(peer_id) { if let Some(net) = crate::shared::get_network_handle() { - net.add_trusted_peer_id(_peer_id); + net.add_trusted_peer_id(peer_id); } } // Ensure EVN refresh listener is running to handle post-sync EVN updates // for existing peers. crate::node::network::bsc_protocol::registry::spawn_evn_refresh_listener(); - BscProtocolConnection::new(conn, rx, direction.is_outgoing(), 2, Some(_peer_id)) + BscProtocolConnection::new(conn, rx, direction.is_outgoing(), 2, Some(peer_id)) } } @@ -91,27 +91,28 @@ impl ConnectionHandler for BscConnectionHandlerV1 { fn on_unsupported_by_peer( self, _supported: &SharedCapabilities, - _direction: reth_network_api::Direction, - _peer_id: PeerId, + direction: reth_network_api::Direction, + peer_id: PeerId, ) -> OnNotSupported { + tracing::debug!(target: "bsc_protocol", "Unsupported bsc v1 by peer, direction: {}, peer_id: {}", direction, peer_id); OnNotSupported::KeepAlive } fn into_connection( self, direction: Direction, - _peer_id: PeerId, + peer_id: PeerId, conn: ProtocolConnection, ) -> Self::Connection { let (tx, rx) = mpsc::unbounded_channel(); - registry::register_peer(_peer_id, tx); - crate::node::network::evn_peers::mark_evn_if_whitelisted(_peer_id); - if crate::node::network::evn_peers::is_evn_peer(_peer_id) { + registry::register_peer(peer_id, tx, 1); + crate::node::network::evn_peers::mark_evn_if_whitelisted(peer_id); + if crate::node::network::evn_peers::is_evn_peer(peer_id) { if let Some(net) = crate::shared::get_network_handle() { - net.add_trusted_peer_id(_peer_id); + net.add_trusted_peer_id(peer_id); } } crate::node::network::bsc_protocol::registry::spawn_evn_refresh_listener(); - BscProtocolConnection::new(conn, rx, direction.is_outgoing(), 1, Some(_peer_id)) + BscProtocolConnection::new(conn, rx, direction.is_outgoing(), 1, Some(peer_id)) } } diff --git a/src/node/network/bsc_protocol/registry.rs b/src/node/network/bsc_protocol/registry.rs index 2dd53efc..56da0284 100644 --- a/src/node/network/bsc_protocol/registry.rs +++ b/src/node/network/bsc_protocol/registry.rs @@ -3,6 +3,7 @@ use std::sync::Arc; use std::sync::RwLock; use once_cell::sync::Lazy; +use parking_lot::Mutex as ParkingMutex; use tokio::sync::broadcast; use tokio::sync::mpsc::UnboundedSender; use tokio::sync::oneshot; @@ -20,8 +21,17 @@ use std::sync::atomic::{AtomicU64, Ordering}; use std::time::Duration; use tokio::time::timeout; -/// Global registry of active BSC protocol senders per peer. -static REGISTRY: Lazy>>> = +/// Per-peer entry in [`REGISTRY`]. Tracks the negotiated `bsc/n` version so +/// callers can avoid sending v2-only messages (e.g. `GetBlocksByRange`) to a +/// peer that only speaks `bsc/1`. +struct PeerEntry { + tx: UnboundedSender, + /// Negotiated bsc subprotocol version (1 or 2). + version: u8, +} + +/// Global registry of active BSC protocol peers. +static REGISTRY: Lazy>> = Lazy::new(|| RwLock::new(HashMap::new())); /// Optional background task handle for EVN post-sync peer refresh. @@ -32,14 +42,16 @@ static EVN_REFRESH_TASK: Lazy>>> = Lazy::new(|| RwL static PROXYED_PEER_IDS_MAP: Lazy>> = Lazy::new(|| RwLock::new(HashSet::new())); -/// Register a new peer's sender channel. -pub fn register_peer(peer: PeerId, tx: UnboundedSender) { +/// Register a new peer's sender channel along with its negotiated bsc/n +/// version (1 or 2). Re-registering the same `peer` overwrites the previous +/// entry — used by reconnects that may negotiate a different version. +pub fn register_peer(peer: PeerId, tx: UnboundedSender, version: u8) { let tx_for_sync = tx.clone(); let mut inserted = false; let guard = REGISTRY.write(); match guard { Ok(mut g) => { - g.insert(peer, tx); + g.insert(peer, PeerEntry { tx, version }); inserted = true; } Err(e) => { @@ -51,14 +63,31 @@ pub fn register_peer(peer: PeerId, tx: UnboundedSender) { } } +/// Defensive ceiling on votes sent in a single sync packet. At ~250 B per +/// envelope this caps the encoded `VotesPacket` near 8 MiB, well under RLPx's +/// 16 MiB frame limit. The pool is kept bounded by lazy prune in +/// [`crate::consensus::parlia::vote_pool::put_vote`], so this cap should not +/// trigger in steady state; it exists so a regression in pruning cannot again +/// produce frames that the local p2p stack refuses to send. +const MAX_SYNC_VOTES: usize = 32 * 1024; + fn sync_pending_votes_to_peer(peer: PeerId, tx: UnboundedSender) { - // Keep parity with go-bsc's syncVotes: send currently pending votes to a new peer. - let votes = crate::consensus::parlia::vote_pool::get_votes(); + // Mirrors geth-bsc's syncVotes: dump currently pending votes to a new peer. + let mut votes = crate::consensus::parlia::vote_pool::get_votes(); if votes.is_empty() { return; } - let votes_arc = Arc::new(votes); - if tx.send(BscCommand::Votes(votes_arc)).is_err() { + if votes.len() > MAX_SYNC_VOTES { + tracing::warn!( + target: "bsc::registry", + peer = %peer, + total = votes.len(), + kept = MAX_SYNC_VOTES, + "vote_pool oversized; truncating sync packet" + ); + votes.truncate(MAX_SYNC_VOTES); + } + if tx.send(BscCommand::Votes(Arc::new(votes))).is_err() { tracing::trace!( target: "bsc::registry", peer = %peer, @@ -67,20 +96,72 @@ fn sync_pending_votes_to_peer(peer: PeerId, tx: UnboundedSender) { } } -/// Snapshot the currently registered BSC protocol peers -pub fn list_registered_peers() -> Vec { + +/// Returns true if `peer` negotiated bsc/2 — required for `GetBlocksByRange`. +pub fn is_v2_peer(peer: PeerId) -> bool { match REGISTRY.read() { - Ok(guard) => guard.keys().copied().collect(), - Err(_) => Vec::new(), + Ok(guard) => guard.get(&peer).is_some_and(|e| e.version >= 2), + Err(_) => false, } } -/// Returns true if the given peer is registered with the BSC subprotocol -pub fn has_registered_peer(peer: PeerId) -> bool { +/// Snapshot of peers that negotiated bsc/2 (i.e. support `GetBlocksByRange`). +pub fn list_v2_peers() -> Vec { match REGISTRY.read() { - Ok(guard) => guard.contains_key(&peer), - Err(_) => false, + Ok(guard) => guard + .iter() + .filter_map(|(p, e)| (e.version >= 2).then_some(*p)) + .collect(), + Err(_) => Vec::new(), + } +} + +/// Distinct hashes tracked for announcers. ~6 minutes of mainnet announce +/// traffic at typical rates. +const ANNOUNCER_LRU_CAP: u32 = 256; + +/// Per-hash announcer cap. Defensive ceiling; once full, further announcers +/// are dropped FIFO (earlier announcers more likely to have already +/// committed the block). +const MAX_ANNOUNCERS_PER_HASH: usize = 16; + +/// Per-hash announcers, used by `request_blocks_by_range_with_failover` to +/// prefer peers known to have the block. On miss/empty the caller falls +/// through to the v2 peer list. +static ANNOUNCERS: Lazy, schnellru::ByLength>>> = + Lazy::new(|| { + ParkingMutex::new(schnellru::LruMap::new(schnellru::ByLength::new(ANNOUNCER_LRU_CAP))) + }); + +/// Record `peer` as having announced `hash`. Idempotent on `peer`; bounded +/// by [`MAX_ANNOUNCERS_PER_HASH`] (further announcers dropped FIFO). +pub fn record_announcer(hash: B256, peer: PeerId) { + let mut g = ANNOUNCERS.lock(); + let list = g.get_or_insert(hash, Vec::new).expect("ByLength limiter never rejects"); + if list.contains(&peer) || list.len() >= MAX_ANNOUNCERS_PER_HASH { + return; + } + list.push(peer); +} + +/// Snapshot of peers that announced `hash` and currently negotiate bsc/2. +pub fn list_announcers_for(hash: B256) -> Vec { + let raw: Vec = { + let mut g = ANNOUNCERS.lock(); + match g.get(&hash) { + Some(list) => list.clone(), + None => return Vec::new(), + } + }; + let v2: Vec = raw.into_iter().filter(|p| is_v2_peer(*p)).collect(); + if v2.is_empty() { + tracing::trace!( + target: "bsc::registry", + %hash, + "announcer LRU hit but all entries are non-v2 or disconnected; falling back to v2 list" + ); } + v2 } /// Initialize the proxyed peer IDs map from a list of peer IDs. @@ -121,6 +202,11 @@ pub fn is_proxyed_peer(peer_id: &PeerId) -> bool { static REQ_COUNTER: Lazy = Lazy::new(|| AtomicU64::new(1)); /// Request blocks by range from a specific peer. Returns response or timeout error. +/// +/// Defensive: rejects peers that did not negotiate bsc/2. `GetBlocksByRange` +/// (msg 0x02) is unknown to bsc/1 peers — sending it gets us kicked with +/// `SubprotocolSpecific`. Callers should normally pick from [`list_v2_peers`]; +/// this guard catches any bypass. pub async fn request_blocks_by_range( peer: PeerId, start_height: u64, @@ -135,7 +221,11 @@ pub async fn request_blocks_by_range( let tx = { let guard = REGISTRY.read(); match guard { - Ok(g) => g.get(&peer).cloned(), + Ok(g) => match g.get(&peer) { + Some(entry) if entry.version >= 2 => Some(entry.tx.clone()), + Some(_) => return Err("peer does not support bsc/2 GetBlocksByRange".to_string()), + None => None, + }, Err(_) => None, } } @@ -167,7 +257,7 @@ pub fn broadcast_votes(votes: Vec) let votes_arc = Arc::new(votes); // Snapshot registry to avoid holding lock during await let reg_snapshot: Vec<(PeerId, UnboundedSender)> = match REGISTRY.read() { - Ok(guard) => guard.iter().map(|(p, tx)| (*p, tx.clone())).collect(), + Ok(guard) => guard.iter().map(|(p, e)| (*p, e.tx.clone())).collect(), Err(e) => { tracing::error!(target: "bsc::registry", error=%e, "Registry lock poisoned (broadcast snapshot)"); return; @@ -357,20 +447,26 @@ pub fn spawn_evn_refresh_listener() { } } -/// Compute a failover peer ordering: `preferred` first, then up to -/// `max_attempts - 1` other peers from `registered`, preserving order and -/// deduplicating. Returns at most `max_attempts` entries. -pub(crate) fn plan_failover_peers( +/// Failover plan for `GetBlocksByRange` — only bsc/2 peers eligible. +/// Order: `preferred` (if bsc/2), `announcers`, then remaining v2 peers. +/// Duplicates are removed and the result is truncated to `max_attempts`. +/// +/// `announcers` should already be v2-filtered (see [`list_announcers_for`]); +/// empty `announcers` falls back to the v2 list alone. +pub(crate) fn plan_v2_failover_peers( preferred: PeerId, - registered: Vec, + announcers: Vec, + v2_peers: Vec, max_attempts: usize, ) -> Vec { if max_attempts == 0 { return Vec::new(); } let mut out = Vec::with_capacity(max_attempts); - out.push(preferred); - for p in registered { + if v2_peers.contains(&preferred) { + out.push(preferred); + } + for p in announcers.into_iter().chain(v2_peers) { if out.len() >= max_attempts { break; } @@ -381,10 +477,11 @@ pub(crate) fn plan_failover_peers( out } -/// Like [`request_blocks_by_range`], but rotates through other registered BSC -/// peers on `Err` or empty response. Returns the first non-empty success, -/// otherwise the last seen result (preserving the original error for -/// diagnostics). +/// Like [`request_blocks_by_range`], but rotates through other bsc/2 peers on +/// `Err` or empty response. Returns the first non-empty success, otherwise +/// the last seen result (preserving the original error for diagnostics). +/// +/// Candidates are restricted to bsc/2 peers; see [`plan_v2_failover_peers`]. pub async fn request_blocks_by_range_with_failover( preferred: PeerId, start_height: u64, @@ -393,9 +490,10 @@ pub async fn request_blocks_by_range_with_failover( timeout_dur: Duration, max_attempts: usize, ) -> Result { - let peers = plan_failover_peers(preferred, list_registered_peers(), max_attempts); + let announcers = list_announcers_for(start_hash); + let peers = plan_v2_failover_peers(preferred, announcers, list_v2_peers(), max_attempts); if peers.is_empty() { - return Err("no BSC peers available for range request".to_string()); + return Err("no bsc/2 peers available for range request".to_string()); } let mut last: Result = @@ -433,6 +531,202 @@ pub async fn request_blocks_by_range_with_failover( last } +#[cfg(test)] +mod version_tests { + //! Unit tests for the bsc/n version-aware registry. Each test uses a + //! locally-unique `PeerId` byte to avoid cross-test interference in the + //! shared global `REGISTRY`. + + use super::*; + use alloy_primitives::B512; + + fn pid(byte: u8) -> PeerId { + B512::repeat_byte(byte) + } + + /// Drops the test peer from the global registry on test exit so that + /// subsequent tests (or repeated runs) start clean. + struct TestPeerGuard(PeerId); + impl Drop for TestPeerGuard { + fn drop(&mut self) { + if let Ok(mut g) = REGISTRY.write() { + g.remove(&self.0); + } + } + } + + #[test] + fn v1_peer_is_not_v2() { + let p = pid(0xA1); + let _g = TestPeerGuard(p); + let (tx, _rx) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx, 1); + + assert!(!is_v2_peer(p)); + assert!(!list_v2_peers().contains(&p)); + } + + #[test] + fn v2_peer_is_v2() { + let p = pid(0xA2); + let _g = TestPeerGuard(p); + let (tx, _rx) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx, 2); + + assert!(is_v2_peer(p)); + assert!(list_v2_peers().contains(&p)); + } + + #[test] + fn upgrade_v1_to_v2_takes_effect() { + // Same peer reconnects negotiating a higher version → registry + // overwrites the entry, version gets upgraded. + let p = pid(0xA3); + let _g = TestPeerGuard(p); + let (tx1, _rx1) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx1, 1); + assert!(!is_v2_peer(p)); + + let (tx2, _rx2) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx2, 2); + assert!(is_v2_peer(p)); + } + + #[test] + fn downgrade_v2_to_v1_takes_effect() { + let p = pid(0xA4); + let _g = TestPeerGuard(p); + let (tx2, _rx2) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx2, 2); + assert!(is_v2_peer(p)); + + let (tx1, _rx1) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx1, 1); + assert!(!is_v2_peer(p)); + assert!(!list_v2_peers().contains(&p)); + } + + #[tokio::test] + async fn request_blocks_by_range_rejects_v1_peer() { + // The defensive guard inside `request_blocks_by_range`: even if a + // caller bypasses `with_failover` and dials a v1 peer directly, the + // function returns Err instead of emitting a 0x02 frame. + let p = pid(0xA5); + let _g = TestPeerGuard(p); + let (tx, _rx) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx, 1); + + let err = request_blocks_by_range(p, 1, B256::ZERO, 1, Duration::from_millis(50)) + .await + .unwrap_err(); + assert!(err.contains("bsc/2"), "expected bsc/2 rejection, got: {err}"); + } + + // ---- announcer LRU tests ---- + + /// Drops a hash from the announcer LRU on test exit. + struct TestHashGuard(B256); + impl Drop for TestHashGuard { + fn drop(&mut self) { + ANNOUNCERS.lock().remove(&self.0); + } + } + + fn hash(byte: u8) -> B256 { + B256::repeat_byte(byte) + } + + #[test] + fn record_announcer_preserves_insertion_order() { + let h = hash(0xB1); + let _g = TestHashGuard(h); + let p1 = pid(0xB1); + let p2 = pid(0xB2); + let _gp1 = TestPeerGuard(p1); + let _gp2 = TestPeerGuard(p2); + let (tx1, _rx1) = tokio::sync::mpsc::unbounded_channel(); + let (tx2, _rx2) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p1, tx1, 2); + register_peer(p2, tx2, 2); + + record_announcer(h, p1); + record_announcer(h, p2); + + // p1 announced first → must come first in the list. + assert_eq!(list_announcers_for(h), vec![p1, p2]); + } + + #[test] + fn record_announcer_dedups_repeat_record() { + let h = hash(0xB3); + let _g = TestHashGuard(h); + let p = pid(0xB3); + let _gp = TestPeerGuard(p); + let (tx, _rx) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx, 2); + + record_announcer(h, p); + record_announcer(h, p); + record_announcer(h, p); + + assert_eq!(list_announcers_for(h), vec![p]); + } + + #[test] + fn record_announcer_drops_after_cap() { + let h = hash(0xB4); + let _g = TestHashGuard(h); + // Register MAX_ANNOUNCERS_PER_HASH + 2 peers (all v2). + let mut peers = Vec::with_capacity(MAX_ANNOUNCERS_PER_HASH + 2); + let mut guards: Vec = Vec::with_capacity(MAX_ANNOUNCERS_PER_HASH + 2); + for i in 0..(MAX_ANNOUNCERS_PER_HASH + 2) { + let p = pid(0xC0 + i as u8); + guards.push(TestPeerGuard(p)); + let (tx, _rx) = tokio::sync::mpsc::unbounded_channel(); + register_peer(p, tx, 2); + record_announcer(h, p); + peers.push(p); + } + + let listed = list_announcers_for(h); + assert_eq!(listed.len(), MAX_ANNOUNCERS_PER_HASH); + // FIFO: the first `MAX_ANNOUNCERS_PER_HASH` peers are kept; later ones dropped. + assert_eq!(listed, peers[..MAX_ANNOUNCERS_PER_HASH]); + } + + #[test] + fn list_announcers_for_filters_v1_and_disconnected() { + let h = hash(0xB5); + let _g = TestHashGuard(h); + let v2_peer = pid(0xB6); + let v1_peer = pid(0xB7); + let _gp_v2 = TestPeerGuard(v2_peer); + let _gp_v1 = TestPeerGuard(v1_peer); + let (tx_v2, _rx_v2) = tokio::sync::mpsc::unbounded_channel(); + let (tx_v1, _rx_v1) = tokio::sync::mpsc::unbounded_channel(); + register_peer(v2_peer, tx_v2, 2); + register_peer(v1_peer, tx_v1, 1); + + record_announcer(h, v2_peer); + record_announcer(h, v1_peer); + + // Disconnected peer simulated by a peer that was never registered. + let ghost_peer = pid(0xB8); + record_announcer(h, ghost_peer); + + // Only the v2-and-still-registered peer survives the filter. + assert_eq!(list_announcers_for(h), vec![v2_peer]); + } + + #[test] + fn list_announcers_for_returns_empty_on_lru_miss() { + // A hash never recorded: list returns empty (no panic, no error). + let h = hash(0xB9); + // No record_announcer call. + assert!(list_announcers_for(h).is_empty()); + } +} + #[cfg(test)] mod failover_tests { use super::*; @@ -443,28 +737,106 @@ mod failover_tests { } #[test] - fn plan_puts_preferred_first_and_dedups() { - let plan = plan_failover_peers(pid(1), vec![pid(2), pid(1), pid(3)], 3); + fn plan_v2_zero_attempts_returns_empty() { + let plan = plan_v2_failover_peers(pid(1), vec![], vec![pid(1), pid(2)], 0); + assert!(plan.is_empty()); + } + + // ---- plan_v2_failover_peers: legacy (no announcer) tests ---- + + #[test] + fn plan_v2_keeps_v2_preferred_at_head() { + let plan = + plan_v2_failover_peers(pid(1), vec![], vec![pid(1), pid(2), pid(3)], 3); assert_eq!(plan, vec![pid(1), pid(2), pid(3)]); } #[test] - fn plan_respects_max_attempts() { - let plan = plan_failover_peers(pid(1), vec![pid(2), pid(3), pid(4)], 2); - assert_eq!(plan, vec![pid(1), pid(2)]); + fn plan_v2_drops_non_v2_preferred() { + // preferred (v1) is NOT in the v2 list → must not appear in the plan. + let plan = + plan_v2_failover_peers(pid(9), vec![], vec![pid(2), pid(3), pid(4)], 3); + assert_eq!(plan, vec![pid(2), pid(3), pid(4)]); + assert!(!plan.contains(&pid(9))); } #[test] - fn plan_handles_zero_attempts() { - let plan = plan_failover_peers(pid(1), vec![pid(2)], 0); + fn plan_v2_empty_v2_list_yields_empty_plan() { + let plan = plan_v2_failover_peers(pid(1), vec![], vec![], 3); assert!(plan.is_empty()); } #[test] - fn plan_handles_empty_registered() { - let plan = plan_failover_peers(pid(1), vec![], 5); - assert_eq!(plan, vec![pid(1)]); + fn plan_v2_respects_max_attempts_on_non_v2_path() { + let plan = + plan_v2_failover_peers(pid(9), vec![], vec![pid(2), pid(3), pid(4)], 2); + assert_eq!(plan, vec![pid(2), pid(3)]); + } + + // ---- plan_v2_failover_peers: announcer-aware tests ---- + + #[test] + fn plan_v2_announcers_come_before_other_v2_peers() { + // Announcers (already v2-filtered by the caller) are tried before + // the rest of the v2 list, regardless of their position in v2_peers. + let plan = plan_v2_failover_peers( + pid(1), + vec![pid(3)], // announcer + vec![pid(1), pid(2), pid(3), pid(4)], // full v2 list + 4, + ); + // Order: preferred → announcer → remaining v2. + assert_eq!(plan, vec![pid(1), pid(3), pid(2), pid(4)]); + } + + #[test] + fn plan_v2_preferred_takes_precedence_over_announcers() { + // Even if `preferred` is not the first announcer, when it's in the + // v2 list it leads. + let plan = plan_v2_failover_peers( + pid(1), + vec![pid(2), pid(3)], + vec![pid(1), pid(2), pid(3)], + 3, + ); + assert_eq!(plan, vec![pid(1), pid(2), pid(3)]); } + + #[test] + fn plan_v2_dedups_across_preferred_announcers_and_v2() { + // A peer appearing in all three sources only shows up once. + let plan = plan_v2_failover_peers( + pid(1), + vec![pid(1), pid(2)], + vec![pid(1), pid(2), pid(3)], + 3, + ); + assert_eq!(plan, vec![pid(1), pid(2), pid(3)]); + } + + #[test] + fn plan_v2_truncates_to_max_attempts() { + let plan = plan_v2_failover_peers( + pid(1), + vec![pid(2), pid(3)], + vec![pid(1), pid(2), pid(3), pid(4)], + 2, + ); + assert_eq!(plan, vec![pid(1), pid(2)]); + } + + #[test] + fn plan_v2_announcers_only_when_preferred_not_v2() { + // Non-v2 preferred is dropped; announcers (v2) lead the plan. + let plan = plan_v2_failover_peers( + pid(9), + vec![pid(3), pid(4)], + vec![pid(2), pid(3), pid(4)], + 3, + ); + assert_eq!(plan, vec![pid(3), pid(4), pid(2)]); + } + } #[cfg(test)] diff --git a/src/node/network/handshake.rs b/src/node/network/handshake.rs index f233da20..595f3057 100644 --- a/src/node/network/handshake.rs +++ b/src/node/network/handshake.rs @@ -37,11 +37,29 @@ impl BscHandshake { tracing::debug!(target: "bsc_handshake", "Sending upgrade status message, EVN enabled: {}, disable tx broadcast forbidden: {}", evn_enabled, disable_tx_broadcast_forbidden); unauth.start_send_unpin(upgrade_msg.into_rlpx())?; - // Receive peer's upgrade status response + // Receive peer's upgrade status response. + // + // None of the three error branches below disconnects with ProtocolBreach. + // A peer that doesn't speak BSC UpgradeStatus (vanilla geth, wrong-fork + // client) is not misbehaving; the warn! logs still capture raw bytes / + // msg_len / eth version for diagnosing wire corruption. let their_msg = match unauth.next().await { Some(Ok(msg)) => msg, - Some(Err(e)) => return Err(EthStreamError::from(e)), + Some(Err(e)) => { + debug!( + target: "bsc_handshake", + eth_version = ?negotiated_status.version, + error = %e, + "BSC upgrade-status: wire error while reading peer's UpgradeStatus reply; aborting handshake (no ProtocolBreach disconnect emitted by us)" + ); + return Err(EthStreamError::from(e)); + } None => { + debug!( + target: "bsc_handshake", + eth_version = ?negotiated_status.version, + "BSC upgrade-status: peer closed stream before sending UpgradeStatus reply; sending DisconnectRequested (NOT counted as ProtocolBreach)" + ); unauth.disconnect(DisconnectReason::DisconnectRequested).await?; return Err(EthStreamError::EthHandshakeError(EthHandshakeError::NoResponse)); } @@ -49,7 +67,13 @@ impl BscHandshake { // Decode their response match UpgradeStatus::decode(&mut their_msg.as_ref()).map_err(|e| { - debug!("Decode error in BSC handshake: msg={their_msg:x}"); + debug!( + target: "bsc_handshake", + eth_version = ?negotiated_status.version, + msg_len = their_msg.len(), + decode_error = %e, + "BSC upgrade-status: failed to decode peer's UpgradeStatus reply (raw msg follows): msg={their_msg:x}" + ); EthStreamError::InvalidMessage(e.into()) }) { Ok(their_status) => { @@ -62,10 +86,21 @@ impl BscHandshake { return Ok(negotiated_status); } Err(e) => { - tracing::trace!(target: "bsc_handshake", "bsc handshake: upgrade failed: {:?}", e); - unauth.disconnect(DisconnectReason::ProtocolBreach).await?; + // Most common cause: peer doesn't speak BSC UpgradeStatus + // (vanilla geth / wrong-fork client) — that's not a protocol + // violation. Disconnect gracefully (matches the empty-stream + // path above) so the peer goes through Low backoff and stays + // retry-eligible, instead of being treated as fatal. + debug!( + target: "bsc_handshake", + eth_version = ?negotiated_status.version, + msg_len = their_msg.len(), + error = %e, + "BSC upgrade-status: decode failed -> sending DisconnectRequested (peer likely not a BSC client or doesn't implement UpgradeStatus; treated as graceful, no protocol_breach metric increment)" + ); + unauth.disconnect(DisconnectReason::DisconnectRequested).await?; return Err(EthStreamError::EthHandshakeError( - EthHandshakeError::NonStatusMessageInHandshake, + EthHandshakeError::NoResponse, )); } } diff --git a/src/node/network/mod.rs b/src/node/network/mod.rs index ff1abc5c..516c1be9 100644 --- a/src/node/network/mod.rs +++ b/src/node/network/mod.rs @@ -19,7 +19,7 @@ use reth_discv4::Discv4Config; use reth_engine_primitives::ConsensusEngineHandle; use reth_eth_wire::{BasicNetworkPrimitives, NewBlock, NewBlockPayload}; use reth_ethereum_primitives::PooledTransactionVariant; -use reth_network::{NetworkConfig, NetworkHandle, NetworkManager}; +use reth_network::{NetworkConfig, NetworkHandle, NetworkManager, PeersConfig, SessionsConfig}; use reth_network_api::PeersInfo; use reth_network_peers::NodeRecord; use reth_provider::{BlockNumReader, HeaderProvider, StateProviderFactory}; @@ -182,6 +182,42 @@ fn apply_bsc_discv4_overrides( discv4_config.lookup_interval = Duration::from_millis(500); } +/// Align reth-bsc's per-peer punishment profile with geth-bsc. +/// +/// Upstream reth treats a single ProtocolBreach as fatal +/// (`bad_protocol = i32::MIN`) and bans for 12h; BSC mainnet's load +/// profile fires those triggers on legitimate peers. geth-bsc has no +/// reputation memory and runs fine. See +/// docs/superpowers/p2p-stability-phase1.md for the full rationale. +fn apply_bsc_peer_stability_overrides( + peers_config: &mut PeersConfig, + sessions_config: &mut SessionsConfig, +) { + // BANNED_REPUTATION = -51200. Weights below picked so a single event + // does not cross it: ~4 bad_protocol, ~13 failed_to_connect, or ~50 + // timeout/dropped events to reach ban — vs. geth-bsc which never bans. + peers_config.ban_duration = Duration::from_secs(60); + peers_config.reputation_weights.bad_protocol = -16384; + peers_config.reputation_weights.failed_to_connect = -4096; + peers_config.reputation_weights.timeout = -1024; + peers_config.reputation_weights.dropped = -1024; + + // Soft per-request abandonment still happens at internal_request_timeout + // (adaptive 2-20s); this is just the deadline for declaring ProtocolBreach. + sessions_config.protocol_breach_request_timeout = Duration::from_secs(600); + + // Tentative: widen outbound pipeline against BSC mainnet's ~5-10% dial success rate. + peers_config.connection_info.max_concurrent_outbound_dials = 64; + peers_config.connection_info.max_outbound = 256; + + // Tentative: 30s covers cross-region bootnode handshakes that clip at the 20s default. + sessions_config.pending_session_timeout = Duration::from_secs(30); + + // Tentative: default 5 evicts peers permanently after 6 transient failures, which + // BSC mainnet's TooManyPeers/RST rate triggers in minutes; raise the floor. + peers_config.max_backoff_count = 32; +} + impl BscNetworkBuilder { pub fn new( engine_handle_rx: Arc< @@ -332,6 +368,10 @@ impl BscNetworkBuilder { &mut network_config.discovery_v4_config, ctx.chain_spec().bootnodes(), ); + apply_bsc_peer_stability_overrides( + &mut network_config.peers_config, + &mut network_config.sessions_config, + ); network_config.status.forkid = network_config.fork_filter.current(); // Initialize BSC protocol registry with proxied peers from config @@ -394,7 +434,18 @@ where if crate::shared::set_local_peer_id(*local_peer_id).is_err() { warn!(target: "reth::cli", "Failed to set global local peer ID - already set"); } else { - info!(target: "reth::cli", peer_id=%local_peer_id, "Local peer ID set globally"); + let node_id = alloy_primitives::keccak256(local_peer_id); + let node_id_short = format!( + "{:016x}", + u64::from_be_bytes(node_id.0[..8].try_into().expect("8 bytes")) + ); + info!( + target: "reth::cli", + peer_id = %local_peer_id, + node_id = %node_id, + node_id_short = %node_id_short, + "Local peer ID set globally (node_id = keccak256(peer_id); use node_id or node_id_short to grep BSC geth logs)" + ); } if let Err(_h) = crate::shared::set_network_handle(handle.clone()) { @@ -405,6 +456,7 @@ where spawn_evn_sync_watcher(ctx, handle.clone()); } + Ok(handle) } } From 39a150e59c7131f478958a20bb910751d1021488 Mon Sep 17 00:00:00 2001 From: const <122766871+constwz@users.noreply.github.com> Date: Tue, 12 May 2026 14:45:26 +0800 Subject: [PATCH 12/19] perf: miner prefetcher warmup (#336) (cherry picked from commit 648696fbc6faa2fbeb946a0f9b4b2d65f1eeaf95) --- Cargo.toml | 13 ++++++++++++ src/node/miner/payload.rs | 44 +++++++++++++++++++++++++++++---------- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 38cd2055..22eb299a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -240,6 +240,19 @@ codegen-units = 16 inherits = "release" lto = "fat" codegen-units = 1 +# Keep line-tables so flamegraph frames carry Rust function names. Without this +# the maxperf binary is stripped (inherited from [profile.release]) and every +# reth-bsc frame collapses to a single `[reth-bsc]` bar in the SVG. +debug = "line-tables-only" +strip = false +split-debuginfo = "off" + +# Apply the same to every transitive dependency so triedb/revm/rayon frames +# also resolve. Without this, only reth-bsc's own symbols show up and the +# whole state-root path still looks opaque. +[profile.maxperf.package."*"] +debug = "line-tables-only" +strip = false [dev-dependencies] uuid = { version = "1", features = ["v4"] } diff --git a/src/node/miner/payload.rs b/src/node/miner/payload.rs index d00d2092..aff062e1 100644 --- a/src/node/miner/payload.rs +++ b/src/node/miner/payload.rs @@ -1270,8 +1270,26 @@ where trace_id = self.trace_id, block_number = self.build_args.config.parent_header.number() + 1, wait_ms = initial_wait.as_millis(), - "Applying out-of-turn backoff before starting payload build" + "Applying out-of-turn backoff; starting speculative build to warm TrieDB prefetcher" ); + + // Kick off a speculative build before sleeping so the TrieDB prefetcher + // can warm the storage slots state-root will need. Without this the + // prefetcher only starts after the backoff ends, leaving ~one slot for + // both cache warm-up and state-root computation over thousands of txs — + // which repeatedly times out and degrades the block to EmptyFallback. + // The spawned build's result is picked up by the outer loop's + // join_next() branch, so the try_build_tx kickoff below is skipped when + // a speculative build is already in flight. + self.retries += 1; + start_time = std::time::Instant::now(); + { + let builder = self.builder.clone(); + let build_args = self.build_args.clone(); + self.join_handle + .spawn(async move { builder.build_payload(build_args).await }); + } + tokio::select! { _ = tokio::time::sleep(initial_wait) => {} _ = &mut self.abort_rx => { @@ -1287,16 +1305,20 @@ where // after the wait completes. self.job_start_time = std::time::Instant::now(); - if let Err(err) = self.try_build_tx.send(()) { - warn!( - target: "bsc::miner::payload", - trace_id = self.trace_id, - block_number = self.build_args.config.parent_header.number() + 1, - is_inturn = self.mining_ctx.is_inturn, - error = %err, - "Failed to send to first try build queue" - ); - return Err(Box::new(BscPayloadJobError::BuildQueueSendError(err.to_string()))); + // Skip the normal first-build kickoff if a speculative build from the + // out-of-turn backoff is already running or has completed into the JoinSet. + if self.join_handle.is_empty() { + if let Err(err) = self.try_build_tx.send(()) { + warn!( + target: "bsc::miner::payload", + trace_id = self.trace_id, + block_number = self.build_args.config.parent_header.number() + 1, + is_inturn = self.mining_ctx.is_inturn, + error = %err, + "Failed to send to first try build queue" + ); + return Err(Box::new(BscPayloadJobError::BuildQueueSendError(err.to_string()))); + } } loop { From 4bdc191c0bc0fd47118539c505e2f083210a6aca Mon Sep 17 00:00:00 2001 From: const <122766871+constwz@users.noreply.github.com> Date: Tue, 12 May 2026 21:32:50 +0800 Subject: [PATCH 13/19] chore: modify triedb dep (#352) (cherry picked from commit 7cdb875ef3ddd0a8aa7ac670cc1ffb9939cc82ec) --- Cargo.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 22eb299a..e62d8c8e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -256,5 +256,3 @@ strip = false [dev-dependencies] uuid = { version = "1", features = ["v4"] } - - From f4226f6362e88f69221de17249c1b0574fff8191 Mon Sep 17 00:00:00 2001 From: const <122766871+constwz@users.noreply.github.com> Date: Tue, 19 May 2026 17:30:44 +0800 Subject: [PATCH 14/19] fix: registry tx (#355) Co-authored-by: joey <10592664+joey0612@users.noreply.github.com> Co-authored-by: cbh876 <3930922419@qq.com> Co-authored-by: cbh876 <30834644+constbh@users.noreply.github.com> (cherry picked from commit a1c132df80e7ac60a0c1a2b4b619d4bf46bc58bf) --- src/node/network/bsc_protocol/registry.rs | 41 +++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/src/node/network/bsc_protocol/registry.rs b/src/node/network/bsc_protocol/registry.rs index 56da0284..d76a707f 100644 --- a/src/node/network/bsc_protocol/registry.rs +++ b/src/node/network/bsc_protocol/registry.rs @@ -239,8 +239,45 @@ pub async fn request_blocks_by_range( start_block_hash: start_hash, count, }; - tx.send(BscCommand::GetBlocksByRange(packet, resp_tx)) - .map_err(|_| "failed to send GetBlocksByRange command".to_string())?; + if tx.send(BscCommand::GetBlocksByRange(packet, resp_tx)).is_err() { + // Send fails iff the bsc/n stream's receiver has been dropped (handshake + // timeout, sub-protocol stream closed, version mismatch). The eth/68 + // session may still be alive, so the peer-manager has no reason to + // recycle this connection on its own — without an explicit kick the + // stale entry would linger and every future GetBlocksByRange to this + // peer would fail instantly. Evict the dead entry (guarded by + // `same_channel` so we don't clobber a fresh reconnect) and force an + // RLPx disconnect; the resulting reconnect re-runs `into_connection` + // and re-registers a live tx via `register_peer`. + let evicted = match REGISTRY.write() { + Ok(mut g) => match g.get(&peer) { + Some(entry) if entry.tx.same_channel(&tx) => { + g.remove(&peer); + true + } + _ => false, + }, + Err(e) => { + tracing::error!( + target: "bsc::registry", + error = %e, + "Registry lock poisoned (range-request cleanup)" + ); + false + } + }; + if evicted { + tracing::warn!( + target: "bsc::registry", + %peer, + "Evicted stale bsc/2 registry entry after send failure; disconnecting peer to force reconnect" + ); + if let Some(net) = crate::shared::get_network_handle() { + net.disconnect_peer(peer); + } + } + return Err("failed to send GetBlocksByRange command".to_string()); + } match timeout(timeout_dur, resp_rx).await { Ok(Ok(Ok(res))) => Ok(res), From 92ec81ee6c177e9dd01b5d096d6d0b70798fb311 Mon Sep 17 00:00:00 2001 From: will-2012 <117156346+will-2012@users.noreply.github.com> Date: Thu, 21 May 2026 09:14:09 +0800 Subject: [PATCH 15/19] fix: make the received block metrics correct (#357) * fix: make receive block metrics correct * ci: pin udeps job to nightly-2026-05-11 cargo-udeps 0.1.61 segfaults on nightly >= 2026-05-19 due to an incompatibility with rustc internals. Pin to the last known-good nightly to unblock CI. A follow-up should migrate to cargo-machete to remove the nightly fragility entirely. Co-Authored-By: Claude Opus 4.7 --------- Co-authored-by: Claude Opus 4.7 (cherry picked from commit 32a07eeb162caa74876536d5a1009d9ba9a7efed) --- .github/workflows/ci.yml | 4 +- src/consensus/parlia/block_stats.rs | 52 +++++++++++++++++++----- src/node/network/block_import/service.rs | 13 ++++-- 3 files changed, 52 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73a033a9..40969b52 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,13 +49,13 @@ jobs: run: sudo apt-get update && sudo apt-get install -y liburing-dev pkg-config libclang-dev - uses: actions-rs/toolchain@v1 with: - toolchain: nightly + toolchain: nightly-2026-05-11 components: rustfmt override: true - uses: Swatinem/rust-cache@v2 - uses: taiki-e/install-action@cargo-udeps - name: Run cargo udeps - run: cargo +nightly udeps --workspace --lib --examples --tests --benches --all-features --locked + run: cargo +nightly-2026-05-11 udeps --workspace --lib --examples --tests --benches --all-features --locked clippy: name: clippy diff --git a/src/consensus/parlia/block_stats.rs b/src/consensus/parlia/block_stats.rs index cd862155..091c80bb 100644 --- a/src/consensus/parlia/block_stats.rs +++ b/src/consensus/parlia/block_stats.rs @@ -3,11 +3,13 @@ //! Mirrors geth's `BlockStats` / `reportRecentBlocksLoop` functionality by tracking //! block timestamps and event timestamps to compute chain delay metrics. +use alloy_consensus::Header; use alloy_primitives::B256; use lru::LruCache; use once_cell::sync::Lazy; use std::{num::NonZero, sync::RwLock}; +use crate::consensus::parlia::util::calculate_millisecond_timestamp; use crate::metrics::BscChainDelayMetrics; /// Size of the block stats LRU cache. @@ -18,7 +20,9 @@ const DEFAULT_MAJORITY_THRESHOLD: usize = 14; /// Per-block tracking data for chain delay metrics. struct BlockStat { - /// Block timestamp in milliseconds (header.timestamp * 1000). + /// Block timestamp in milliseconds, from `calculate_millisecond_timestamp(header)` + /// (combines `header.timestamp` seconds with the Lorentz-era ms portion stored in + /// `header.mix_hash`). block_timestamp_ms: i64, /// Whether the first vote delay has been reported. first_vote_reported: bool, @@ -38,23 +42,49 @@ fn now_ms() -> i64 { .as_millis() as i64 } -/// Register a block's timestamp when it is first received from the network. -/// Also records the `chain.delay.block_recv` metric (delay from block creation to reception). -pub fn on_block_received(block_hash: B256, block_timestamp_secs: u64) { - let block_ts_ms = block_timestamp_secs as i64 * 1000; +/// Cache a block's millisecond-precision timestamp so subsequent `on_vote_received` calls can +/// compute vote-delay metrics. Does **not** touch the `chain.delay.block_recv` histogram. +/// +/// On Lorentz and later forks, the block timestamp has millisecond precision (split between +/// `header.timestamp` (seconds) and `header.mix_hash` (ms part)); we use +/// `calculate_millisecond_timestamp` so delays are not biased by the 0-999 ms portion. +fn cache_block_timestamp(block_hash: B256, header: &Header) -> i64 { + let block_ts_ms = calculate_millisecond_timestamp(header) as i64; + let mut cache = BLOCK_STATS.write().expect("block stats poisoned"); + cache.get_or_insert(block_hash, || BlockStat { + block_timestamp_ms: block_ts_ms, + first_vote_reported: false, + majority_vote_reported: false, + }); + block_ts_ms +} + +/// Register a block's timestamp when it is first received from the network, and record the +/// `chain.delay.block_recv` metric (delay from block creation to first network reception). +/// +/// This is the network-receive path. For locally mined blocks call [`register_self_mined_block`] +/// instead — they would otherwise pollute `block_recv` with samples that actually measure local +/// mining/finalize latency rather than true network propagation delay (mirrors geth-bsc, where +/// `RecvNewBlockTime` is only set in `handleBlockBroadcast`). +pub fn on_block_received(block_hash: B256, header: &Header) { + let block_ts_ms = cache_block_timestamp(block_hash, header); let recv_time = now_ms(); let delay_ms = recv_time - block_ts_ms; if delay_ms >= 0 { CHAIN_DELAY_METRICS.block_recv.record(delay_ms as f64); } +} - let mut cache = BLOCK_STATS.write().expect("block stats poisoned"); - cache.get_or_insert(block_hash, || BlockStat { - block_timestamp_ms: block_ts_ms, - first_vote_reported: false, - majority_vote_reported: false, - }); +/// Register a self-mined block's timestamp so subsequent `on_vote_received` calls work, **without** +/// recording `chain.delay.block_recv`. +/// +/// Mirrors geth-bsc's split between `SendBlockTime` (miner path) and `RecvNewBlockTime` +/// (network path): we want votes for our own block to still count toward `vote_first` / +/// `vote_majority`, but the block-recv histogram must stay clean of self-mined samples so it +/// can be used to diagnose cross-region network propagation delays. +pub fn register_self_mined_block(block_hash: B256, header: &Header) { + cache_block_timestamp(block_hash, header); } /// Called when a vote is added for a block. Records first-vote and majority-vote delay diff --git a/src/node/network/block_import/service.rs b/src/node/network/block_import/service.rs index bc1c0cfe..c6304276 100644 --- a/src/node/network/block_import/service.rs +++ b/src/node/network/block_import/service.rs @@ -369,10 +369,15 @@ where // Clone header for FCU update let header_for_fcu = block.header.clone(); - // Register block stats for chain delay vote metrics (mined blocks also receive votes) - crate::consensus::parlia::block_stats::on_block_received( + // Register block stats so vote-delay metrics can still be computed when votes arrive for + // this self-mined block. We deliberately do NOT call `on_block_received` here — that + // records `chain.delay.block_recv`, which is meant to measure pure network propagation + // delay; for a block we just produced locally the sample would actually reflect local + // mining/finalize latency and would pollute cross-region diagnosis. Mirrors geth-bsc, + // which only sets `RecvNewBlockTime` inside `handleBlockBroadcast` (the network path). + crate::consensus::parlia::block_stats::register_self_mined_block( block_hash, - block.header.timestamp, + &block.header, ); // send to EVN peers first @@ -541,7 +546,7 @@ where // Record chain delay metrics: time from block creation to first network reception crate::consensus::parlia::block_stats::on_block_received( block.hash, - block.block.0.block.header.timestamp, + &block.block.0.block.header, ); // send to EVN peers first From be8d4b7eadc88613d933f9eefd9ea53f5ade2c81 Mon Sep 17 00:00:00 2001 From: chee Date: Tue, 26 May 2026 11:53:46 +0800 Subject: [PATCH 16/19] chore: update Cargo.lock Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 217 ++++++++++++++++++++++++++--------------------------- 1 file changed, 108 insertions(+), 109 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 71c975f3..0d04393c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1628,7 +1628,7 @@ dependencies = [ "bitflags 2.11.1", "cexpr", "clang-sys", - "itertools 0.13.0", + "itertools 0.12.1", "proc-macro2", "quote", "regex", @@ -4596,7 +4596,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -6894,7 +6894,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.12.1", "proc-macro2", "quote", "syn 2.0.117", @@ -6973,7 +6973,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.40", - "socket2 0.6.3", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", "tracing", @@ -7011,7 +7011,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2 0.5.10", "tracing", "windows-sys 0.60.2", ] @@ -7498,7 +7498,7 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -7539,7 +7539,7 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7566,7 +7566,7 @@ dependencies = [ [[package]] name = "reth-chain-state" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7599,7 +7599,7 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7619,7 +7619,7 @@ dependencies = [ [[package]] name = "reth-cli" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-genesis", "clap", @@ -7632,7 +7632,7 @@ dependencies = [ [[package]] name = "reth-cli-commands" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7722,7 +7722,7 @@ dependencies = [ [[package]] name = "reth-cli-runner" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "reth-tasks", "tokio", @@ -7732,7 +7732,7 @@ dependencies = [ [[package]] name = "reth-cli-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7781,7 +7781,7 @@ dependencies = [ [[package]] name = "reth-config" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "eyre", "humantime-serde", @@ -7797,7 +7797,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7810,7 +7810,7 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7823,7 +7823,7 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7849,7 +7849,7 @@ dependencies = [ [[package]] name = "reth-db" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "derive_more 2.1.1", @@ -7878,7 +7878,7 @@ dependencies = [ [[package]] name = "reth-db-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7904,7 +7904,7 @@ dependencies = [ [[package]] name = "reth-db-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -7938,7 +7938,7 @@ dependencies = [ [[package]] name = "reth-db-models" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7953,7 +7953,7 @@ dependencies = [ [[package]] name = "reth-discv4" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7978,7 +7978,7 @@ dependencies = [ [[package]] name = "reth-discv5" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8002,7 +8002,7 @@ dependencies = [ [[package]] name = "reth-dns-discovery" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "dashmap 6.1.0", @@ -8026,7 +8026,7 @@ dependencies = [ [[package]] name = "reth-downloaders" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8061,7 +8061,7 @@ dependencies = [ [[package]] name = "reth-ecies" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "aes", "alloy-primitives", @@ -8089,7 +8089,7 @@ dependencies = [ [[package]] name = "reth-engine-local" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8112,7 +8112,7 @@ dependencies = [ [[package]] name = "reth-engine-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8132,13 +8132,12 @@ dependencies = [ "serde", "thiserror 2.0.18", "tokio", - "tracing", ] [[package]] name = "reth-engine-tree" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eip7928", @@ -8199,7 +8198,7 @@ dependencies = [ [[package]] name = "reth-engine-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -8227,7 +8226,7 @@ dependencies = [ [[package]] name = "reth-era" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8243,7 +8242,7 @@ dependencies = [ [[package]] name = "reth-era-downloader" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "bytes 1.11.1", @@ -8259,7 +8258,7 @@ dependencies = [ [[package]] name = "reth-era-utils" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8281,7 +8280,7 @@ dependencies = [ [[package]] name = "reth-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -8292,7 +8291,7 @@ dependencies = [ [[package]] name = "reth-eth-wire" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8321,7 +8320,7 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-chains", "alloy-consensus", @@ -8346,7 +8345,7 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "clap", "eyre", @@ -8369,7 +8368,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8385,7 +8384,7 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8401,7 +8400,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -8415,7 +8414,7 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8445,7 +8444,7 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8459,7 +8458,7 @@ dependencies = [ [[package]] name = "reth-etl" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "rayon", "reth-db-api", @@ -8469,7 +8468,7 @@ dependencies = [ [[package]] name = "reth-evm" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8494,7 +8493,7 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8514,7 +8513,7 @@ dependencies = [ [[package]] name = "reth-execution-cache" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "fixed-cache", @@ -8532,7 +8531,7 @@ dependencies = [ [[package]] name = "reth-execution-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-evm", "alloy-primitives", @@ -8545,7 +8544,7 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8564,7 +8563,7 @@ dependencies = [ [[package]] name = "reth-exex" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8602,7 +8601,7 @@ dependencies = [ [[package]] name = "reth-exex-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8616,7 +8615,7 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "serde", "serde_json", @@ -8626,7 +8625,7 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8654,7 +8653,7 @@ dependencies = [ [[package]] name = "reth-ipc" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "bytes 1.11.1", "futures", @@ -8674,7 +8673,7 @@ dependencies = [ [[package]] name = "reth-libmdbx" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "bitflags 2.11.1", "byteorder", @@ -8691,7 +8690,7 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "bindgen", "cc", @@ -8712,7 +8711,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "futures", "metrics", @@ -8725,7 +8724,7 @@ dependencies = [ [[package]] name = "reth-net-banlist" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "ipnet", @@ -8734,7 +8733,7 @@ dependencies = [ [[package]] name = "reth-net-nat" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "futures-util", "if-addrs", @@ -8748,7 +8747,7 @@ dependencies = [ [[package]] name = "reth-network" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8806,7 +8805,7 @@ dependencies = [ [[package]] name = "reth-network-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8831,7 +8830,7 @@ dependencies = [ [[package]] name = "reth-network-p2p" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8854,7 +8853,7 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8869,7 +8868,7 @@ dependencies = [ [[package]] name = "reth-network-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -8883,7 +8882,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "anyhow", "bincode", @@ -8900,7 +8899,7 @@ dependencies = [ [[package]] name = "reth-node-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -8924,7 +8923,7 @@ dependencies = [ [[package]] name = "reth-node-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8994,7 +8993,7 @@ dependencies = [ [[package]] name = "reth-node-core" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9049,7 +9048,7 @@ dependencies = [ [[package]] name = "reth-node-ethereum" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-network", @@ -9087,7 +9086,7 @@ dependencies = [ [[package]] name = "reth-node-ethstats" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9111,7 +9110,7 @@ dependencies = [ [[package]] name = "reth-node-events" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9135,7 +9134,7 @@ dependencies = [ [[package]] name = "reth-node-metrics" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "bytes 1.11.1", "eyre", @@ -9159,7 +9158,7 @@ dependencies = [ [[package]] name = "reth-node-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "reth-chainspec", "reth-db-api", @@ -9171,7 +9170,7 @@ dependencies = [ [[package]] name = "reth-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9195,7 +9194,7 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "pin-project", "reth-payload-primitives", @@ -9207,7 +9206,7 @@ dependencies = [ [[package]] name = "reth-payload-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9231,7 +9230,7 @@ dependencies = [ [[package]] name = "reth-payload-validator" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -9273,7 +9272,7 @@ dependencies = [ [[package]] name = "reth-provider" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9321,7 +9320,7 @@ dependencies = [ [[package]] name = "reth-prune" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9350,7 +9349,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "arbitrary", @@ -9366,7 +9365,7 @@ dependencies = [ [[package]] name = "reth-revm" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9381,7 +9380,7 @@ dependencies = [ [[package]] name = "reth-rpc" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9459,7 +9458,7 @@ dependencies = [ [[package]] name = "reth-rpc-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-genesis", @@ -9489,7 +9488,7 @@ dependencies = [ [[package]] name = "reth-rpc-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-network", "alloy-provider", @@ -9532,7 +9531,7 @@ dependencies = [ [[package]] name = "reth-rpc-convert" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-evm", @@ -9553,7 +9552,7 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9584,7 +9583,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9632,7 +9631,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9680,7 +9679,7 @@ dependencies = [ [[package]] name = "reth-rpc-layer" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-rpc-types-engine", "http 1.4.0", @@ -9694,7 +9693,7 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9724,7 +9723,7 @@ dependencies = [ [[package]] name = "reth-stages" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9779,7 +9778,7 @@ dependencies = [ [[package]] name = "reth-stages-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9807,7 +9806,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "arbitrary", @@ -9821,7 +9820,7 @@ dependencies = [ [[package]] name = "reth-static-file" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "parking_lot", @@ -9841,7 +9840,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "clap", @@ -9856,7 +9855,7 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9880,7 +9879,7 @@ dependencies = [ [[package]] name = "reth-storage-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9898,7 +9897,7 @@ dependencies = [ [[package]] name = "reth-tasks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "crossbeam-utils", "dashmap 6.1.0", @@ -9919,7 +9918,7 @@ dependencies = [ [[package]] name = "reth-testing-utils" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9935,7 +9934,7 @@ dependencies = [ [[package]] name = "reth-tokio-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "tokio", "tokio-stream", @@ -9945,7 +9944,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "clap", "eyre", @@ -9960,7 +9959,7 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "clap", "eyre", @@ -9978,7 +9977,7 @@ dependencies = [ [[package]] name = "reth-transaction-pool" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10023,7 +10022,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10049,7 +10048,7 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10078,7 +10077,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "metrics", @@ -10099,7 +10098,7 @@ dependencies = [ [[package]] name = "reth-trie-parallel" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-eip7928", "alloy-evm", @@ -10127,7 +10126,7 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#ac8062d25748b4ca0589bac35ab93d9cb9172a7f" +source = "git+https://github.com/bnb-chain/reth.git?branch=develop-v2.2-new#c2850f63f8ed155c49477fe1e5de04b82480ecb4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -13126,7 +13125,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] From 8ddbac5e9b166c01d4f264e3305beccbe4c96974 Mon Sep 17 00:00:00 2001 From: chee Date: Tue, 26 May 2026 17:16:32 +0800 Subject: [PATCH 17/19] fix: replace revm_context_interface crate refs with revm::context_interface revm-context-interface is not a direct dependency; use the re-export path revm::context_interface instead. Also removes the unused JournaledAccountTr import from node/evm/mod.rs. Co-Authored-By: Claude Sonnet 4.6 --- src/evm/api/mod.rs | 4 ++-- src/node/evm/mod.rs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/evm/api/mod.rs b/src/evm/api/mod.rs index f94702fc..01f9ab1c 100644 --- a/src/evm/api/mod.rs +++ b/src/evm/api/mod.rs @@ -16,7 +16,7 @@ use revm::{ primitives::hardfork::SpecId, Context, Inspector, Journal, }; -use revm_context_interface::journaled_state::account::JournaledAccountTr; +use revm::context_interface::journaled_state::account::JournaledAccountTr; mod exec; @@ -565,7 +565,7 @@ mod tests { beneficiary: Address, ) -> U256 { use revm::context::{ContextTr, JournalTr}; - use revm_context_interface::journaled_state::account::JournaledAccountTr; + use revm::context_interface::journaled_state::account::JournaledAccountTr; *evm.journal_mut() .load_account_mut(beneficiary) .expect("beneficiary account should load") diff --git a/src/node/evm/mod.rs b/src/node/evm/mod.rs index 965fe3e0..c62f44cc 100644 --- a/src/node/evm/mod.rs +++ b/src/node/evm/mod.rs @@ -24,7 +24,6 @@ use revm::{ }, Context, ExecuteEvm, InspectEvm, Inspector, SystemCallEvm, }; -use revm::context_interface::journaled_state::account::JournaledAccountTr; mod assembler; mod builder; From c3082c2abda229945b5e7cb4712e0548c2a921f8 Mon Sep 17 00:00:00 2001 From: chee Date: Tue, 26 May 2026 17:30:40 +0800 Subject: [PATCH 18/19] fix: remove unused ContextTr import in node/evm/mod.rs Co-Authored-By: Claude Sonnet 4.6 --- src/node/evm/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/node/evm/mod.rs b/src/node/evm/mod.rs index c62f44cc..7d9f03df 100644 --- a/src/node/evm/mod.rs +++ b/src/node/evm/mod.rs @@ -20,7 +20,7 @@ use reth_evm::{precompiles::PrecompilesMap, Database, Evm, EvmEnv}; use revm::{ context::{ result::{EVMError, HaltReason, ResultAndState}, - BlockEnv, CfgEnv, ContextTr, + BlockEnv, CfgEnv, }, Context, ExecuteEvm, InspectEvm, Inspector, SystemCallEvm, }; From e9f15a7c66e429cbd083091a70b0bcc1cc72e201 Mon Sep 17 00:00:00 2001 From: chee Date: Thu, 28 May 2026 14:55:21 +0800 Subject: [PATCH 19/19] chore: pin reth deps to rev 485e37b (bnb-chain/reth#192) Switches all reth-* dependencies from rev de11c921 to rev = "485e37b738754f96603391f42ee529f9364b47a4" for deterministic builds. Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 216 ++++++++++++++++---------------- Cargo.toml | 84 ++++++------- testing/bsc-ef-tests/Cargo.toml | 30 ++--- 3 files changed, 165 insertions(+), 165 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8964a96c..3e422f66 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1628,7 +1628,7 @@ dependencies = [ "bitflags 2.11.1", "cexpr", "clang-sys", - "itertools 0.12.1", + "itertools 0.13.0", "proc-macro2", "quote", "regex", @@ -4596,7 +4596,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.3", "tokio", "tower-service", "tracing", @@ -6894,7 +6894,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.117", @@ -6973,7 +6973,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.40", - "socket2 0.5.10", + "socket2 0.6.3", "thiserror 2.0.18", "tokio", "tracing", @@ -7011,7 +7011,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.3", "tracing", "windows-sys 0.60.2", ] @@ -7498,7 +7498,7 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -7539,7 +7539,7 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7566,7 +7566,7 @@ dependencies = [ [[package]] name = "reth-chain-state" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7599,7 +7599,7 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7619,7 +7619,7 @@ dependencies = [ [[package]] name = "reth-cli" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-genesis", "clap", @@ -7632,7 +7632,7 @@ dependencies = [ [[package]] name = "reth-cli-commands" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7722,7 +7722,7 @@ dependencies = [ [[package]] name = "reth-cli-runner" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "reth-tasks", "tokio", @@ -7732,7 +7732,7 @@ dependencies = [ [[package]] name = "reth-cli-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7781,7 +7781,7 @@ dependencies = [ [[package]] name = "reth-config" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "eyre", "humantime-serde", @@ -7797,7 +7797,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7810,7 +7810,7 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7823,7 +7823,7 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -7849,7 +7849,7 @@ dependencies = [ [[package]] name = "reth-db" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "derive_more 2.1.1", @@ -7878,7 +7878,7 @@ dependencies = [ [[package]] name = "reth-db-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7904,7 +7904,7 @@ dependencies = [ [[package]] name = "reth-db-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -7938,7 +7938,7 @@ dependencies = [ [[package]] name = "reth-db-models" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -7953,7 +7953,7 @@ dependencies = [ [[package]] name = "reth-discv4" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7978,7 +7978,7 @@ dependencies = [ [[package]] name = "reth-discv5" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8002,7 +8002,7 @@ dependencies = [ [[package]] name = "reth-dns-discovery" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "dashmap 6.1.0", @@ -8026,7 +8026,7 @@ dependencies = [ [[package]] name = "reth-downloaders" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8061,7 +8061,7 @@ dependencies = [ [[package]] name = "reth-ecies" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "aes", "alloy-primitives", @@ -8089,7 +8089,7 @@ dependencies = [ [[package]] name = "reth-engine-local" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8112,7 +8112,7 @@ dependencies = [ [[package]] name = "reth-engine-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8137,7 +8137,7 @@ dependencies = [ [[package]] name = "reth-engine-tree" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eip7928", @@ -8198,7 +8198,7 @@ dependencies = [ [[package]] name = "reth-engine-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -8226,7 +8226,7 @@ dependencies = [ [[package]] name = "reth-era" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8242,7 +8242,7 @@ dependencies = [ [[package]] name = "reth-era-downloader" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "bytes 1.11.1", @@ -8258,7 +8258,7 @@ dependencies = [ [[package]] name = "reth-era-utils" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8280,7 +8280,7 @@ dependencies = [ [[package]] name = "reth-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -8291,7 +8291,7 @@ dependencies = [ [[package]] name = "reth-eth-wire" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8320,7 +8320,7 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-chains", "alloy-consensus", @@ -8345,7 +8345,7 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "clap", "eyre", @@ -8368,7 +8368,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8384,7 +8384,7 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8400,7 +8400,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -8414,7 +8414,7 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8444,7 +8444,7 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8458,7 +8458,7 @@ dependencies = [ [[package]] name = "reth-etl" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "rayon", "reth-db-api", @@ -8468,7 +8468,7 @@ dependencies = [ [[package]] name = "reth-evm" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8493,7 +8493,7 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8513,7 +8513,7 @@ dependencies = [ [[package]] name = "reth-execution-cache" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "fixed-cache", @@ -8531,7 +8531,7 @@ dependencies = [ [[package]] name = "reth-execution-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-evm", "alloy-primitives", @@ -8544,7 +8544,7 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8563,7 +8563,7 @@ dependencies = [ [[package]] name = "reth-exex" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8601,7 +8601,7 @@ dependencies = [ [[package]] name = "reth-exex-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -8615,7 +8615,7 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "serde", "serde_json", @@ -8625,7 +8625,7 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8653,7 +8653,7 @@ dependencies = [ [[package]] name = "reth-ipc" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "bytes 1.11.1", "futures", @@ -8673,7 +8673,7 @@ dependencies = [ [[package]] name = "reth-libmdbx" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "bitflags 2.11.1", "byteorder", @@ -8690,7 +8690,7 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "bindgen", "cc", @@ -8711,7 +8711,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "futures", "metrics", @@ -8724,7 +8724,7 @@ dependencies = [ [[package]] name = "reth-net-banlist" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "ipnet", @@ -8733,7 +8733,7 @@ dependencies = [ [[package]] name = "reth-net-nat" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "futures-util", "if-addrs", @@ -8747,7 +8747,7 @@ dependencies = [ [[package]] name = "reth-network" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8805,7 +8805,7 @@ dependencies = [ [[package]] name = "reth-network-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8830,7 +8830,7 @@ dependencies = [ [[package]] name = "reth-network-p2p" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8853,7 +8853,7 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8868,7 +8868,7 @@ dependencies = [ [[package]] name = "reth-network-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -8882,7 +8882,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "anyhow", "bincode", @@ -8899,7 +8899,7 @@ dependencies = [ [[package]] name = "reth-node-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -8923,7 +8923,7 @@ dependencies = [ [[package]] name = "reth-node-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -8993,7 +8993,7 @@ dependencies = [ [[package]] name = "reth-node-core" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9048,7 +9048,7 @@ dependencies = [ [[package]] name = "reth-node-ethereum" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-network", @@ -9086,7 +9086,7 @@ dependencies = [ [[package]] name = "reth-node-ethstats" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9110,7 +9110,7 @@ dependencies = [ [[package]] name = "reth-node-events" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9134,7 +9134,7 @@ dependencies = [ [[package]] name = "reth-node-metrics" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "bytes 1.11.1", "eyre", @@ -9158,7 +9158,7 @@ dependencies = [ [[package]] name = "reth-node-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "reth-chainspec", "reth-db-api", @@ -9170,7 +9170,7 @@ dependencies = [ [[package]] name = "reth-payload-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9194,7 +9194,7 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "pin-project", "reth-payload-primitives", @@ -9206,7 +9206,7 @@ dependencies = [ [[package]] name = "reth-payload-primitives" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9230,7 +9230,7 @@ dependencies = [ [[package]] name = "reth-payload-validator" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -9272,7 +9272,7 @@ dependencies = [ [[package]] name = "reth-provider" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9320,7 +9320,7 @@ dependencies = [ [[package]] name = "reth-prune" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9349,7 +9349,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "arbitrary", @@ -9365,7 +9365,7 @@ dependencies = [ [[package]] name = "reth-revm" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9380,7 +9380,7 @@ dependencies = [ [[package]] name = "reth-rpc" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9458,7 +9458,7 @@ dependencies = [ [[package]] name = "reth-rpc-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-genesis", @@ -9488,7 +9488,7 @@ dependencies = [ [[package]] name = "reth-rpc-builder" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-network", "alloy-provider", @@ -9531,7 +9531,7 @@ dependencies = [ [[package]] name = "reth-rpc-convert" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-evm", @@ -9552,7 +9552,7 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9583,7 +9583,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9631,7 +9631,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9679,7 +9679,7 @@ dependencies = [ [[package]] name = "reth-rpc-layer" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-rpc-types-engine", "http 1.4.0", @@ -9693,7 +9693,7 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9723,7 +9723,7 @@ dependencies = [ [[package]] name = "reth-stages" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9778,7 +9778,7 @@ dependencies = [ [[package]] name = "reth-stages-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9806,7 +9806,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "arbitrary", @@ -9820,7 +9820,7 @@ dependencies = [ [[package]] name = "reth-static-file" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "parking_lot", @@ -9840,7 +9840,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "clap", @@ -9855,7 +9855,7 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9879,7 +9879,7 @@ dependencies = [ [[package]] name = "reth-storage-errors" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eips 2.0.4", "alloy-primitives", @@ -9897,7 +9897,7 @@ dependencies = [ [[package]] name = "reth-tasks" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "crossbeam-utils", "dashmap 6.1.0", @@ -9918,7 +9918,7 @@ dependencies = [ [[package]] name = "reth-testing-utils" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -9934,7 +9934,7 @@ dependencies = [ [[package]] name = "reth-tokio-util" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "tokio", "tokio-stream", @@ -9944,7 +9944,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "clap", "eyre", @@ -9959,7 +9959,7 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "clap", "eyre", @@ -9977,7 +9977,7 @@ dependencies = [ [[package]] name = "reth-transaction-pool" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10022,7 +10022,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-eips 2.0.4", @@ -10048,7 +10048,7 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10077,7 +10077,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "metrics", @@ -10098,7 +10098,7 @@ dependencies = [ [[package]] name = "reth-trie-parallel" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-eip7928", "alloy-evm", @@ -10126,7 +10126,7 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "2.2.0" -source = "git+https://github.com/bnb-chain/reth.git?rev=de11c921b7f20bb15720d90cb5e4ff1939c058c0#de11c921b7f20bb15720d90cb5e4ff1939c058c0" +source = "git+https://github.com/bnb-chain/reth.git?rev=485e37b738754f96603391f42ee529f9364b47a4#485e37b738754f96603391f42ee529f9364b47a4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -13125,7 +13125,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 6c77fedc..3d221bc5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,60 +16,60 @@ name = "reth-bsc" path = "src/main.rs" [dependencies] -reth = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-cli = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0", features = [ +reth = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-cli = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-cli-commands = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-basic-payload-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-engine-local = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-engine-tree = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-node-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-cli-util = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-discv4 = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4", features = [ "test-utils", ] } -reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0", features = [ +reth-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4", features = [ "serde", ] } -reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-ipc = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-metrics = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-node-core = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-network = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0", features = [ +reth-ethereum-payload-builder = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-payload-builder-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-chain-state = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-eth-wire = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-eth-wire-types = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-execution-types = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-ipc = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-metrics = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-node-core = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-network = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4", features = [ "test-utils", ] } -reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-network-api = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0", features = [ +reth-network-p2p = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-network-api = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-node-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4", features = [ "test-utils", ] } -reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } +reth-network-peers = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-payload-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-ethereum-engine-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2", default-features = false } reth-codecs = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2" } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0", features = [ +reth-provider = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4", features = [ "test-utils", ] } -reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-tasks = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } +reth-rpc-eth-api = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-rpc-convert = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-rpc-engine-api = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-rpc-server-types = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-trie-common = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-tasks = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-transaction-pool = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } # triedb dependencies rust-eth-triedb = { git = "https://github.com/bnb-chain/reth-bsc-triedb.git", branch = "develop" } diff --git a/testing/bsc-ef-tests/Cargo.toml b/testing/bsc-ef-tests/Cargo.toml index ac32d5b4..ee73b8e5 100644 --- a/testing/bsc-ef-tests/Cargo.toml +++ b/testing/bsc-ef-tests/Cargo.toml @@ -14,22 +14,22 @@ asm-keccak = ["alloy-primitives/asm-keccak"] reth_bsc = { path = "../.." } # reth dependencies aligned with root crate branch to avoid duplicate crate versions -reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-consensus = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-db = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0", features = ["mdbx", "test-utils", "disable-lock"] } -reth-db-api = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-db-common = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-evm = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } +reth-chainspec = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-consensus = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-ethereum-forks = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-db = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4", features = ["mdbx", "test-utils", "disable-lock"] } +reth-db-api = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-db-common = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-ethereum-consensus = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-ethereum-primitives = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-evm = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-evm-ethereum = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } reth-primitives-traits = { git = "https://github.com/bnb-chain/reth-core.git", branch = "v0.3.1-v2", default-features = false } -reth-provider = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0", features = ["test-utils"] } -reth-revm = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0", features = ["std"] } -reth-tracing = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-trie = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } -reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", rev = "de11c921b7f20bb15720d90cb5e4ff1939c058c0" } +reth-provider = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4", features = ["test-utils"] } +reth-revm = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4", features = ["std"] } +reth-tracing = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-trie = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } +reth-trie-db = { git = "https://github.com/bnb-chain/reth.git", rev = "485e37b738754f96603391f42ee529f9364b47a4" } # revm revm = { version = "38.0.0", features = ["secp256k1", "blst", "c-kzg", "memory_limit"] }