Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,996 changes: 1,056 additions & 940 deletions Cargo.lock

Large diffs are not rendered by default.

133 changes: 57 additions & 76 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,94 +49,75 @@ codegen-units = 1
incremental = false

[workspace.dependencies]
reth = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-chain-state = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-node-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-node-core = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8", features = [
reth = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-chain-state = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-db = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-db-common = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-errors = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-node-api = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-trie = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-node-core = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01", features = [
"test-utils",
] }
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-exex = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-metrics = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-revm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-payload-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-testing-utils = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-exex = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-metrics = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-trie-db = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-payload-util = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-testing-utils = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }
reth-storage-api = { git = "https://github.com/paradigmxyz/reth", rev = "0b316160a9915ac80c4ae867f69e304aca85ec01" }

# reth optimism
reth-optimism-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-optimism-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-optimism-forks = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-optimism-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-optimism-node = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-optimism-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }
reth-optimism-txpool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" }

# compatible with reth v1.4.8 dependencies
revm = { version = "24.0.1", features = [
# compatible with reth 0b316160a9915ac80c4ae867f69e304aca85ec01 dependencies
revm = { version = "29.0.0", features = [
"std",
"secp256k1",
"optional_balance_check",
], default-features = false }
revm-inspectors = { version = "0.23.0", default-features = false }
op-revm = { version = "5.0.0", default-features = false }
revm-inspectors = { version = "0.29.0", default-features = false }

ethereum_ssz_derive = "0.9.0"
ethereum_ssz = "0.9.0"

alloy-primitives = { version = "1.1.0", default-features = false, features = ["getrandom"] }
alloy-primitives = { version = "1.3.1", default-features = false, features = ["getrandom"] }
alloy-rlp = "0.3.10"
alloy-chains = "0.2.0"
alloy-evm = { version = "0.10", default-features = false }
alloy-provider = { version = "1.0.9", features = ["ipc", "pubsub", "ws"] }
alloy-pubsub = { version = "1.0.9" }
alloy-eips = { version = "1.0.9" }
alloy-rpc-types = { version = "1.0.9" }
alloy-json-rpc = { version = "1.0.9" }
alloy-transport-http = { version = "1.0.9" }
alloy-network = { version = "1.0.9" }
alloy-network-primitives = { version = "1.0.9" }
alloy-transport = { version = "1.0.9" }
alloy-node-bindings = { version = "1.0.9" }
alloy-consensus = { version = "1.0.9", features = ["kzg"] }
alloy-serde = { version = "1.0.9" }
alloy-rpc-types-beacon = { version = "1.0.9", features = ["ssz"] }
alloy-rpc-types-engine = { version = "1.0.9", features = ["ssz"] }
alloy-rpc-types-eth = { version = "1.0.9" }
alloy-signer-local = { version = "1.0.9" }
alloy-rpc-client = { version = "1.0.9" }
alloy-genesis = { version = "1.0.9" }
alloy-trie = { version = "0.8.1" }

# optimism
alloy-op-evm = { version = "0.5.0", default-features = false }
op-alloy-rpc-types = { version = "0.14.1", default-features = false }
op-alloy-rpc-types-engine = { version = "0.14.1", default-features = false }
op-alloy-rpc-jsonrpsee = { version = "0.14.1", default-features = false }
op-alloy-network = { version = "0.14.1", default-features = false }
op-alloy-consensus = { version = "0.14.1", default-features = false }
alloy-chains = "0.2.5"
alloy-evm = { version = "0.20.1", default-features = false }
alloy-provider = { version = "1.0.27", features = ["ipc", "pubsub", "ws"] }
alloy-pubsub = { version = "1.0.27" }
alloy-eips = { version = "1.0.27" }
alloy-rpc-types = { version = "1.0.27" }
alloy-json-rpc = { version = "1.0.27" }
alloy-transport-http = { version = "1.0.27" }
alloy-network = { version = "1.0.27" }
alloy-network-primitives = { version = "1.0.27" }
alloy-transport = { version = "1.0.27" }
alloy-node-bindings = { version = "1.0.27" }
alloy-consensus = { version = "1.0.27", features = ["kzg"] }
alloy-serde = { version = "1.0.27" }
alloy-rpc-types-beacon = { version = "1.0.27", features = ["ssz"] }
alloy-rpc-types-engine = { version = "1.0.27", features = ["ssz"] }
alloy-rpc-types-eth = { version = "1.0.27" }
alloy-signer-local = { version = "1.0.27" }
alloy-rpc-client = { version = "1.0.27" }
alloy-genesis = { version = "1.0.27" }

async-trait = { version = "0.1.83" }
clap = { version = "4.4.3", features = ["derive", "env"] }
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
ARG FEATURES
ARG RBUILDER_BIN="rbuilder"

FROM rust:1.86 AS base
FROM rust:1.88 AS base
ARG TARGETPLATFORM

RUN apt-get update \
Expand Down
2 changes: 1 addition & 1 deletion crates/bid-scraper/src/best_bid_ws_connector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ impl<BestBidValueSinkType: BestBidValueSink> BestBidWSConnector<BestBidValueSink
let mut connection_request = url.into_client_request()?;
connection_request
.headers_mut()
.insert("Authorization", format!("Basic {}", basic_auth).parse()?);
.insert("Authorization", format!("Basic {basic_auth}").parse()?);

Ok(Self {
connection_request,
Expand Down
3 changes: 1 addition & 2 deletions crates/bid-scraper/src/bids_publisher.rs
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,7 @@ impl BidsPublisherService {
debug!("Getting bids for relay {relay_name}");
let block_number = self.inner().last_block_number + 1;
let url = format!(
"{}/relay/v1/data/bidtraces/builder_blocks_received?block_number={}&order_by=-value",
relay_endpoint, block_number
"{relay_endpoint}/relay/v1/data/bidtraces/builder_blocks_received?block_number={block_number}&order_by=-value",
);
// By default it's ordered by slot (so, no effect). So we order by decreasing value
// instead, it's more interesting to us.
Expand Down
3 changes: 1 addition & 2 deletions crates/bid-scraper/src/headers_publisher.rs
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,7 @@ impl HeadersPublisherService {
// instead, it's more interesting to us.
let response = client
.get(format!(
"{}/eth/v1/builder/header/{next_slot}/{last_block_hash}/{next_validator_pubkey}",
relay_endpoint,
"{relay_endpoint}/eth/v1/builder/header/{next_slot}/{last_block_hash}/{next_validator_pubkey}",
))
.send()
.await?;
Expand Down
3 changes: 2 additions & 1 deletion crates/eth-sparse-mpt/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ serde_with = "3.9.0"
rustc-hash = "2.0.0"
rayon = "1.10.0"
smallvec = "1.13.2"
alloy-trie = { version = "0.8.1", default-features = false }
nybbles = { version = "0.3.3" }

tracing.workspace = true

Expand All @@ -32,7 +34,6 @@ revm.workspace = true
# alloy
alloy-primitives.workspace = true
alloy-rlp.workspace = true
alloy-trie.workspace = true

# other
parking_lot.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion crates/eth-sparse-mpt/benches/trie_do_bench.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use eth_sparse_mpt::{
v1::sparse_mpt::{DiffTrie, FixedTrie},
v2::trie::{proof_store::ProofStore, Trie},
};
use reth_trie::Nibbles;
use nybbles::Nibbles;

fn prepare_key_value_data(n: usize) -> (Vec<Bytes>, Vec<Bytes>) {
let mut keys = Vec::with_capacity(n);
Expand Down
7 changes: 1 addition & 6 deletions crates/eth-sparse-mpt/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@
use std::sync::Arc;

use alloy_primitives::{Address, B256};

use reth_provider::{
providers::ConsistentDbView, BlockReader, DatabaseProviderFactory, ExecutionOutcome,
StateCommitmentProvider,
};

#[cfg(any(test, feature = "benchmark-utils"))]
Expand Down Expand Up @@ -49,7 +47,7 @@ impl RootHashThreadPool {
pub fn try_new(threads: usize) -> Result<RootHashThreadPool, rayon::ThreadPoolBuildError> {
let rayon_pool = rayon::ThreadPoolBuilder::new()
.num_threads(threads)
.thread_name(|idx| format!("sparse_mpt:{}", idx))
.thread_name(|idx| format!("sparse_mpt:{idx}"))
.build()?;
Ok(RootHashThreadPool {
rayon_pool: Arc::new(rayon_pool),
Expand Down Expand Up @@ -100,7 +98,6 @@ pub fn prefetch_tries_for_accounts<'a, Provider>(
) -> Result<SparseTrieMetrics, SparseTrieError>
where
Provider: DatabaseProviderFactory<Provider: BlockReader> + Send + Sync,
Provider: StateCommitmentProvider,
{
match version {
ETHSpareMPTVersion::V1 => {
Expand Down Expand Up @@ -151,7 +148,6 @@ pub fn calculate_root_hash_with_sparse_trie<Provider>(
) -> (Result<B256, SparseTrieError>, SparseTrieMetrics)
where
Provider: DatabaseProviderFactory<Provider: BlockReader> + Send + Sync,
Provider: StateCommitmentProvider,
{
if let Some(thread_pool) = thread_pool {
thread_pool.rayon_pool.install(|| {
Expand Down Expand Up @@ -183,7 +179,6 @@ pub fn calculate_root_hash_with_sparse_trie_internal<Provider>(
) -> (Result<B256, SparseTrieError>, SparseTrieMetrics)
where
Provider: DatabaseProviderFactory<Provider: BlockReader> + Send + Sync,
Provider: StateCommitmentProvider,
{
match version {
ETHSpareMPTVersion::V1 => {
Expand Down
19 changes: 15 additions & 4 deletions crates/eth-sparse-mpt/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ use std::hash::{Hash, Hasher};

use alloy_primitives::{keccak256, Bytes};
use alloy_rlp::{length_of_length, BufMut, Encodable, Header, EMPTY_STRING_CODE};
use alloy_trie::{
nodes::{ExtensionNodeRef, LeafNodeRef},
Nibbles,
};
use alloy_trie::nodes::{ExtensionNodeRef, LeafNodeRef};
use nybbles::Nibbles;
use reth_trie::RlpNode;
use rustc_hash::{FxBuildHasher, FxHasher};

Expand Down Expand Up @@ -138,3 +136,16 @@ fn mismatch_chunks<const N: usize>(xs: &[u8], ys: &[u8]) -> usize {
.take_while(|(x, y)| x == y)
.count()
}

// rbuilder uses nybbles v3.3.0 and reth_trie uses nybbles v4.3.0. This is a temporary fix to convert between the two.
// We can remove the below methods once rbuilder has been upgraded to nybbles v4.3.0.
// nybbles v4.3.0 has a breaking change (byte array with 1 byte per nybble vs U256 packed data + length) in the API which breaks a lot of parts of the eth sparse trie code.
#[inline]
pub fn convert_reth_nybbles_to_nibbles(n: reth_trie::Nibbles) -> Nibbles {
Nibbles::from_nibbles(n.to_vec())
}

#[inline]
pub fn convert_nibbles_to_reth_nybbles(n: Nibbles) -> reth_trie::Nibbles {
reth_trie::Nibbles::from_nibbles(n.as_slice())
}
4 changes: 4 additions & 0 deletions crates/eth-sparse-mpt/src/v1/reth_sparse_trie/hash.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ pub enum RootHashError {
}

impl EthSparseTries {
#[allow(clippy::result_large_err)]
pub fn calculate_root_hash(
&mut self,
changes: ETHTrieChangeSet,
Expand Down Expand Up @@ -112,6 +113,7 @@ impl EthSparseTries {
}
}

#[allow(clippy::result_large_err)]
fn calculate_account_hashes_seq(
&mut self,
changes: &ETHTrieChangeSet,
Expand Down Expand Up @@ -140,6 +142,7 @@ impl EthSparseTries {
Ok(account_hashes)
}

#[allow(clippy::result_large_err)]
fn calculate_account_hashes_parallel(
&mut self,
changes: &ETHTrieChangeSet,
Expand Down Expand Up @@ -172,6 +175,7 @@ impl EthSparseTries {
}
}

#[allow(clippy::result_large_err)]
fn hash_storage_trie(
storage_trie: &mut DiffTrie,
account: &Bytes,
Expand Down
4 changes: 1 addition & 3 deletions crates/eth-sparse-mpt/src/v1/reth_sparse_trie/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ use change_set::{prepare_change_set, prepare_change_set_for_prefetch};
use hash::RootHashError;
use reth_provider::{
providers::ConsistentDbView, BlockReader, DatabaseProviderFactory, ExecutionOutcome,
StateCommitmentProvider,
};
use std::time::{Duration, Instant};

Expand Down Expand Up @@ -58,14 +57,14 @@ impl SparseTrieError {
}

/// Prefetches data
#[allow(clippy::result_large_err)]
pub fn prefetch_tries_for_accounts<'a, Provider>(
consistent_db_view: ConsistentDbView<Provider>,
shared_cache: SparseTrieSharedCache,
changed_data: impl Iterator<Item = &'a ChangedAccountData>,
) -> Result<SparseTrieMetrics, SparseTrieError>
where
Provider: DatabaseProviderFactory<Provider: BlockReader> + Send + Sync,
Provider: StateCommitmentProvider,
{
let mut metrics = SparseTrieMetrics::default();

Expand Down Expand Up @@ -111,7 +110,6 @@ pub fn calculate_root_hash_with_sparse_trie<Provider>(
) -> (Result<B256, SparseTrieError>, SparseTrieMetrics)
where
Provider: DatabaseProviderFactory<Provider: BlockReader> + Send + Sync,
Provider: StateCommitmentProvider,
{
let mut metrics = SparseTrieMetrics::default();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use crate::{
};
use alloy_primitives::Bytes;
use alloy_primitives::B256;
use alloy_trie::Nibbles;
use nybbles::Nibbles;

/// SparseTrieSharedCache is a storage for fetched parts of the ethereum tries
/// It should be created once for each parent block and can be shared with a different threads.
Expand Down
Loading
Loading