From dc33c7be9b928285297f77bf96ef8522f95cdd36 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Tue, 21 Jan 2025 16:26:47 -0500 Subject: [PATCH 01/42] changed token names --- crates/uniswap-v4/src/uniswap/pool.rs | 66 +++++++++---------- crates/validation/src/common/token_pricing.rs | 2 +- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/crates/uniswap-v4/src/uniswap/pool.rs b/crates/uniswap-v4/src/uniswap/pool.rs index ba6eb0829..12e8fc200 100644 --- a/crates/uniswap-v4/src/uniswap/pool.rs +++ b/crates/uniswap-v4/src/uniswap/pool.rs @@ -48,10 +48,10 @@ pub struct EnhancedUniswapPool = DataLoader
, sync_swap_with_sim: bool, initial_ticks_per_side: u16, pub data_loader: Loader, - pub token_a: Address, - pub token_a_decimals: u8, - pub token_b: Address, - pub token_b_decimals: u8, + pub token0: Address, + pub token0_decimals: u8, + pub token1: Address, + pub token1_decimals: u8, pub liquidity: u128, pub liquidity_net: i128, pub sqrt_price: U256, @@ -124,7 +124,7 @@ where }) .collect::>(); - Ok((self.token_a, self.token_b, PoolSnapshot::new(liq_ranges, self.sqrt_price.into())?)) + Ok((self.token0, self.token1, PoolSnapshot::new(liq_ranges, self.sqrt_price.into())?)) } pub async fn initialize( @@ -221,7 +221,7 @@ where self.ticks.clear(); self.tick_bitmap.clear(); - tracing::info!(?self.token_a, ?self.token_b,?self.tick, ?self.tick_spacing, ?self.liquidity,?self.liquidity_net); + tracing::info!(?self.token0, ?self.token1,?self.tick, ?self.tick_spacing, ?self.liquidity,?self.liquidity_net); let total_ticks_to_fetch = self.initial_ticks_per_side * 2; // current tick when loaded (init tick) - (half total tics * spacing); @@ -265,7 +265,7 @@ where let tick = uniswap_v3_math::tick_math::get_tick_at_sqrt_ratio(sqrt_price_limit_x96).unwrap(); - let shift = self.token_a_decimals as i8 - self.token_b_decimals as i8; + let shift = self.token0_decimals as i8 - self.token1_decimals as i8; // flipped to scale them properly with the token spacing let price = match shift.cmp(&0) { Ordering::Less => 1.0001_f64.powi(tick) * 10_f64.powi(-shift as i32), @@ -278,7 +278,7 @@ where pub fn calculate_price(&self) -> f64 { let tick = uniswap_v3_math::tick_math::get_tick_at_sqrt_ratio(self.sqrt_price).unwrap(); - let shift = self.token_a_decimals as i8 - self.token_b_decimals as i8; + let shift = self.token0_decimals as i8 - self.token1_decimals as i8; let price = match shift.cmp(&0) { Ordering::Less => 1.0001_f64.powi(tick) / 10_f64.powi(-shift as i32), Ordering::Greater => 1.0001_f64.powi(tick) * 10_f64.powi(shift as i32), @@ -311,7 +311,7 @@ where return Err(SwapSimulationError::ZeroAmountSpecified) } - let zero_for_one = token_in == self.token_a; + let zero_for_one = token_in == self.token0; let exact_input = amount_specified.is_positive(); let sqrt_price_limit_x96 = sqrt_price_limit_x96.unwrap_or(if zero_for_one { @@ -487,10 +487,10 @@ where tracing::debug!(swap_tick=swap_event.tick, swap_price=?swap_event.sqrt_price_x96, swap_liquidity=?swap_event.liquidity, swap_amount0=?swap_event.amount0, swap_amount1=?swap_event.amount1, "swap event"); let combinations = [ - (self.token_b, swap_event.amount1), - (self.token_a, swap_event.amount0), - (self.token_a, swap_event.amount1), - (self.token_b, swap_event.amount0) + (self.token1, swap_event.amount1), + (self.token0, swap_event.amount0), + (self.token0, swap_event.amount1), + (self.token1, swap_event.amount0) ]; let mut simulation_failed = true; @@ -584,10 +584,10 @@ where .load_pool_data(block_number, provider) .await?; - self.token_a = pool_data.tokenA; - self.token_a_decimals = pool_data.tokenADecimals; - self.token_b = pool_data.tokenB; - self.token_b_decimals = pool_data.tokenBDecimals; + self.token0 = pool_data.tokenA; + self.token0_decimals = pool_data.tokenADecimals; + self.token1 = pool_data.tokenB; + self.token1_decimals = pool_data.tokenBDecimals; self.liquidity = pool_data.liquidity; self.sqrt_price = U256::from(pool_data.sqrtPrice); self.tick = pool_data.tick.as_i32(); @@ -600,7 +600,7 @@ where } pub fn data_is_populated(&self) -> bool { - !(self.token_a.is_zero() || self.token_b.is_zero()) + !(self.token0.is_zero() || self.token1.is_zero()) } pub(crate) fn event_signatures(&self) -> Vec { @@ -689,10 +689,10 @@ where } pub fn get_token_out(&self, token_in: Address) -> Address { - if self.token_a == token_in { - self.token_b + if self.token0 == token_in { + self.token1 } else { - self.token_a + self.token0 } } @@ -826,10 +826,10 @@ mod tests { fn setup_basic_pool() -> EnhancedUniswapPool { let mut pool = EnhancedUniswapPool::new(MockLoader, 10); - pool.token_a = Address::from_slice(&[1u8; 20]); - pool.token_b = Address::from_slice(&[2u8; 20]); - pool.token_a_decimals = 18; - pool.token_b_decimals = 18; + pool.token0 = Address::from_slice(&[1u8; 20]); + pool.token1 = Address::from_slice(&[2u8; 20]); + pool.token0_decimals = 18; + pool.token1_decimals = 18; pool.liquidity = 1_000_000; pool.sqrt_price = U256::from(1004968906420141727126888u128); pool.fee = 3000; @@ -843,11 +843,11 @@ mod tests { setup_tracing(); let pool = setup_basic_pool(); - let token_out = pool.get_token_out(pool.token_a); - assert_eq!(token_out, pool.token_b); + let token_out = pool.get_token_out(pool.token0); + assert_eq!(token_out, pool.token1); - let token_out = pool.get_token_out(pool.token_b); - assert_eq!(token_out, pool.token_a); + let token_out = pool.get_token_out(pool.token1); + assert_eq!(token_out, pool.token0); } #[test] @@ -985,13 +985,13 @@ mod tests { let pool = setup_basic_pool(); // Test zero amount - let result = pool.simulate_swap(pool.token_a, I256::ZERO, None); + let result = pool.simulate_swap(pool.token0, I256::ZERO, None); assert!(matches!(result, Err(SwapSimulationError::ZeroAmountSpecified))); // Test invalid sqrt price limit let invalid_price = MAX_SQRT_RATIO; let result = - pool.simulate_swap(pool.token_a, I256::try_from(1000i32).unwrap(), Some(invalid_price)); + pool.simulate_swap(pool.token0, I256::try_from(1000i32).unwrap(), Some(invalid_price)); assert!(matches!(result, Err(SwapSimulationError::InvalidSqrtPriceLimit))); } @@ -1013,8 +1013,8 @@ mod tests { assert!(result.is_ok(), "{:?}", result); let (token_a, token_b, snapshot) = result.unwrap(); - assert_eq!(token_a, pool.token_a); - assert_eq!(token_b, pool.token_b); + assert_eq!(token_a, pool.token0); + assert_eq!(token_b, pool.token1); assert!(!snapshot.ranges.is_empty()); } } diff --git a/crates/validation/src/common/token_pricing.rs b/crates/validation/src/common/token_pricing.rs index 0ca5205dd..5a93af750 100644 --- a/crates/validation/src/common/token_pricing.rs +++ b/crates/validation/src/common/token_pricing.rs @@ -47,7 +47,7 @@ impl TokenPriceGenerator { let mut pair_to_pool = HashMap::default(); for (key, pool) in uni.iter() { let pool = pool.read().unwrap(); - pair_to_pool.insert((pool.token_a, pool.token_b), *key); + pair_to_pool.insert((pool.token0, pool.token1), *key); } let blocks_to_avg_price = blocks_to_avg_price_override.unwrap_or(BLOCKS_TO_AVG_PRICE); From cd09acaa2c4e9753e4513eb8d500c076cad2d4e5 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Tue, 21 Jan 2025 16:41:08 -0500 Subject: [PATCH 02/42] wip --- testing-tools/src/order_generator/order_builder.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testing-tools/src/order_generator/order_builder.rs b/testing-tools/src/order_generator/order_builder.rs index 6d9a864b4..e0aef4c85 100644 --- a/testing-tools/src/order_generator/order_builder.rs +++ b/testing-tools/src/order_generator/order_builder.rs @@ -31,8 +31,8 @@ impl OrderBuilder { let zfo = sqrt_price > price; - let token0 = pool.token_a; - let token1 = pool.token_b; + let token0 = pool.token0; + let token1 = pool.token1; // if zfo, sqrtprice < pool price let t_in = if zfo { token0 } else { token1 }; let amount_specified = if zfo { I256::MAX - I256::ONE } else { I256::MIN + I256::ONE }; @@ -79,8 +79,8 @@ impl OrderBuilder { let zfo = sqrt_price > price; - let token0 = pool.token_a; - let token1 = pool.token_b; + let token0 = pool.token0; + let token1 = pool.token1; let t_in = if zfo { token0 } else { token1 }; let amount_specified = if zfo { I256::MAX - I256::ONE } else { I256::MIN + I256::ONE }; From 8cf9e25ecd10116771f2cc165e6a1313c40bb889 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Tue, 21 Jan 2025 18:12:03 -0500 Subject: [PATCH 03/42] wip --- crates/types/build.rs | 6 ++- crates/types/src/contract_bindings/mod.rs | 20 ++++++++ .../src/contracts/environment/angstrom.rs | 8 +++- .../src/contracts/environment/uniswap.rs | 46 ++++++++++++++++--- testing-tools/src/providers/initializer.rs | 3 +- 5 files changed, 72 insertions(+), 11 deletions(-) diff --git a/crates/types/build.rs b/crates/types/build.rs index 91043114c..906a7b62b 100644 --- a/crates/types/build.rs +++ b/crates/types/build.rs @@ -8,14 +8,16 @@ const OUT_DIRECTORY: &str = "contracts/out/"; const SRC_DIRECTORY: &str = "contracts/src"; const BINDINGS_PATH: &str = "/src/contract_bindings/mod.rs"; -const WANTED_CONTRACTS: [&str; 7] = [ +const WANTED_CONTRACTS: [&str; 9] = [ "Angstrom.sol", "PoolManager.sol", "PoolGate.sol", "MockRewardsManager.sol", "MintableMockERC20.sol", "ControllerV1.sol", - "PositionFetcher.sol" + "PositionFetcher.sol", + "PositionManager.sol", + "IPositionDescriptor.sol" ]; // builds the contracts crate. then goes and generates bindings on this diff --git a/crates/types/src/contract_bindings/mod.rs b/crates/types/src/contract_bindings/mod.rs index 426fc2cea..6b1b28a0b 100644 --- a/crates/types/src/contract_bindings/mod.rs +++ b/crates/types/src/contract_bindings/mod.rs @@ -19,6 +19,16 @@ pub mod controller_v_1 { ); } #[rustfmt::skip] +pub mod i_position_descriptor { + alloy::sol!( + #[allow(missing_docs)] + #[sol(rpc)] + #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] + IPositionDescriptor, + "../../contracts/out/IPositionDescriptor.sol/IPositionDescriptor.json" + ); +} +#[rustfmt::skip] pub mod mintable_mock_erc_20 { alloy::sol!( #[allow(missing_docs)] @@ -68,3 +78,13 @@ pub mod position_fetcher { "../../contracts/out/PositionFetcher.sol/PositionFetcher.json" ); } +#[rustfmt::skip] +pub mod position_manager { + alloy::sol!( + #[allow(missing_docs)] + #[sol(rpc)] + #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] + PositionManager, + "../../contracts/out/PositionManager.sol/PositionManager.json" + ); +} diff --git a/testing-tools/src/contracts/environment/angstrom.rs b/testing-tools/src/contracts/environment/angstrom.rs index 5bca10f66..68e7c20eb 100644 --- a/testing-tools/src/contracts/environment/angstrom.rs +++ b/testing-tools/src/contracts/environment/angstrom.rs @@ -1,4 +1,4 @@ -use alloy::{primitives::Address, providers::WalletProvider}; +use alloy::primitives::Address; use alloy_primitives::TxHash; use angstrom_types::contract_bindings::{ angstrom::Angstrom::AngstromInstance, controller_v_1::ControllerV1, @@ -89,7 +89,7 @@ where let position_fetcher_addr = *inner .execute_then_mine(PositionFetcher::deploy( inner.provider(), - inner.pool_manager(), + inner.position_manager(), angstrom )) .await? @@ -125,6 +125,10 @@ where self.inner.pool_gate() } + fn position_manager(&self) -> Address { + self.inner.position_manager() + } + async fn add_liquidity_position( &self, asset0: Address, diff --git a/testing-tools/src/contracts/environment/uniswap.rs b/testing-tools/src/contracts/environment/uniswap.rs index 05afbbf40..4573ca9e8 100644 --- a/testing-tools/src/contracts/environment/uniswap.rs +++ b/testing-tools/src/contracts/environment/uniswap.rs @@ -2,18 +2,24 @@ use alloy::{ primitives::{aliases::I24, Address, FixedBytes, U256}, transports::BoxTransport }; -use alloy_primitives::TxHash; +use alloy_primitives::{address, TxHash}; use angstrom_types::contract_bindings::{ + i_position_descriptor::IPositionDescriptor, pool_gate::PoolGate::{self, PoolGateInstance}, - pool_manager::PoolManager + pool_manager::PoolManager, + position_manager::PositionManager }; use tracing::debug; +use validation::common::WETH_ADDRESS; use super::TestAnvilEnvironment; use crate::{contracts::DebugTransaction, providers::WalletProvider}; +const PERMIT2_ADDRESS: Address = address!("000000000022d473030f116ddee9f6b43ac78ba3"); + pub trait TestUniswapEnv: TestAnvilEnvironment { fn pool_manager(&self) -> Address; + fn position_manager(&self) -> Address; fn pool_gate(&self) -> Address; #[allow(async_fn_in_trait)] async fn add_liquidity_position( @@ -28,9 +34,10 @@ pub trait TestUniswapEnv: TestAnvilEnvironment { #[derive(Clone)] pub struct UniswapEnv { - inner: E, - pool_manager: Address, - pool_gate: Address + inner: E, + pool_manager: Address, + position_manager: Address, + pool_gate: Address } impl UniswapEnv @@ -39,9 +46,10 @@ where { pub async fn new(inner: E) -> eyre::Result { let pool_manager = Self::deploy_pool_manager(&inner).await?; + let position_manager = Self::deploy_position_manager(&inner, pool_manager).await?; let pool_gate = Self::deploy_pool_gate(&inner, pool_manager).await?; - Ok(Self { inner, pool_manager, pool_gate }) + Ok(Self { inner, pool_manager, pool_gate, position_manager }) } async fn deploy_pool_manager(inner: &E) -> eyre::Result
{ @@ -66,6 +74,28 @@ where Ok(pool_gate_addr) } + async fn deploy_position_manager(inner: &E, pool_manager: Address) -> eyre::Result
{ + let position_descriptor_addr = inner + .execute_then_mine(IPositionDescriptor::deploy(inner.provider())) + .await?; + + debug!("Deploying position manager..."); + let position_manager = inner + .execute_then_mine(PositionManager::deploy( + inner.provider(), + pool_manager, + PERMIT2_ADDRESS, + U256::from(100000), + *position_descriptor_addr.address(), + WETH_ADDRESS + )) + .await?; + let position_manager_addr = *position_manager.address(); + + debug!("Position manager at: {}", position_manager_addr); + Ok(position_manager_addr) + } + pub fn pool_gate(&self) -> PoolGateInstance { PoolGateInstance::new(self.pool_gate, self.provider()) } @@ -104,6 +134,10 @@ where self.pool_manager } + fn position_manager(&self) -> Address { + self.position_manager + } + async fn add_liquidity_position( &self, asset0: Address, diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index f40f9a9f2..1570533ea 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -15,7 +15,8 @@ use angstrom_types::{ controller_v_1::ControllerV1::ControllerV1Instance, mintable_mock_erc_20::MintableMockERC20, pool_gate::PoolGate::PoolGateInstance, - pool_manager::PoolManager::PoolManagerInstance + pool_manager::PoolManager::PoolManagerInstance, + position_fetcher::PositionFetcher::PositionFetcherInstance }, matching::SqrtPriceX96, testnet::InitialTestnetState From e812b6c76d9d90948cb37d7989c0df3dfbdc0f6d Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 12:14:54 -0500 Subject: [PATCH 04/42] wip --- testing-tools/src/providers/initializer.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 1570533ea..8642b4d7c 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -245,7 +245,12 @@ impl AnvilInitializer { tracing::debug!("adding to pool map"); let controller_configure_pool = self .controller_v1 - .addPoolToMap(pool_key.currency0, pool_key.currency1) + .configurePool( + pool_key.currency0, + pool_key.currency1, + pool_key.tickSpacing.as_i32() as u16, + pool_key.fee + ) .from(self.provider.controller()) .nonce(nonce + 1) .deploy_pending() From 78ba51423e1fd0c37f55205559ab802eec7d1497 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 12:20:01 -0500 Subject: [PATCH 05/42] fixed contract stuff --- contracts/src/periphery/ControllerV1.sol | 67 ++++++++++++---------- testing-tools/src/providers/initializer.rs | 1 - 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/contracts/src/periphery/ControllerV1.sol b/contracts/src/periphery/ControllerV1.sol index 3f188e857..80ed33876 100644 --- a/contracts/src/periphery/ControllerV1.sol +++ b/contracts/src/periphery/ControllerV1.sol @@ -31,11 +31,17 @@ contract ControllerV1 is Ownable2Step { event NewControllerAccepted(address indexed newController); event PoolConfigured( - address indexed asset0, address indexed asset1, uint16 tickSpacing, uint24 feeInE6 + address indexed asset0, + address indexed asset1, + uint16 tickSpacing, + uint24 feeInE6 ); event PoolRemoved( - address indexed asset0, address indexed asset1, int24 tickSpacing, uint24 feeInE6 + address indexed asset0, + address indexed asset1, + int24 tickSpacing, + uint24 feeInE6 ); event NodeAdded(address indexed node); @@ -59,27 +65,13 @@ contract ControllerV1 is Ownable2Step { mapping(StoreKey key => Pool) public pools; - constructor(IAngstromAuth angstrom, address initialOwner) Ownable(initialOwner) { + constructor( + IAngstromAuth angstrom, + address initialOwner + ) Ownable(initialOwner) { ANGSTROM = angstrom; } - function getAllPools(StoreKey[] calldata storeKeys) external view returns (Pool[] memory) { - Pool[] memory allPools = new Pool[](storeKeys.length); - - for (uint256 i = 0; i < storeKeys.length; i++) { - allPools[i] = pools[storeKeys[i]]; - } - - return allPools; - } - - function addPoolToMap(address asset0, address asset1) external { - _checkOwner(); - if (asset0 > asset1) (asset0, asset1) = (asset1, asset0); - StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked(asset0, asset1); - pools[key] = Pool(asset0, asset1); - } - function setNewController(address newController) public { _checkOwner(); setController = newController; @@ -93,12 +85,18 @@ contract ControllerV1 is Ownable2Step { ANGSTROM.setController(msg.sender); } - function configurePool(address asset0, address asset1, uint16 tickSpacing, uint24 feeInE6) - external - { + function configurePool( + address asset0, + address asset1, + uint16 tickSpacing, + uint24 feeInE6 + ) external { _checkOwner(); if (asset0 > asset1) (asset0, asset1) = (asset1, asset0); - StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked(asset0, asset1); + StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked( + asset0, + asset1 + ); pools[key] = Pool(asset0, asset1); emit PoolConfigured(asset0, asset1, tickSpacing, feeInE6); ANGSTROM.configurePool(asset0, asset1, tickSpacing, feeInE6); @@ -108,7 +106,10 @@ contract ControllerV1 is Ownable2Step { _checkOwner(); if (asset0 > asset1) (asset0, asset1) = (asset1, asset0); - StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked(asset0, asset1); + StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked( + asset0, + asset1 + ); address configStore = _configStore(); uint256 poolIndex = 0; @@ -116,7 +117,11 @@ contract ControllerV1 is Ownable2Step { uint24 feeInE6; while (true) { - ConfigEntry entry = _getAndCheckStoreEntry(configStore, poolIndex, key); + ConfigEntry entry = _getAndCheckStoreEntry( + configStore, + poolIndex, + key + ); if (entry.matchingStoreKey(asset0, asset1)) { tickSpacing = entry.tickSpacing(); feeInE6 = entry.feeInE6(); @@ -180,11 +185,11 @@ contract ControllerV1 is Ownable2Step { } } - function _getAndCheckStoreEntry(address configStore, uint256 index, StoreKey key) - internal - view - returns (ConfigEntry entry) - { + function _getAndCheckStoreEntry( + address configStore, + uint256 index, + StoreKey key + ) internal view returns (ConfigEntry entry) { uint256 offset = STORE_HEADER_SIZE + index * ENTRY_SIZE; assembly ("memory-safe") { extcodecopy(configStore, 0x00, offset, ENTRY_SIZE) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 8642b4d7c..260f9bd72 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -80,7 +80,6 @@ impl AnvilInitializer { angstrom_env.controller_v1(), angstrom_env.provider().clone() ); - tracing::info!(ang_addr=?angstrom_env.angstrom()); let pending_state = PendingDeployedPools::new(); From 7b4ba9e164971c1f917d19c9c7ff0d620b435414 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 13:01:19 -0500 Subject: [PATCH 06/42] updated reth + alloy --- Cargo.lock | 2427 +++++++++-------- Cargo.toml | 124 +- bin/testnet/Cargo.toml | 2 +- crates/angstrom-net/Cargo.toml | 10 +- .../angstrom-net/src/eth_network_builder.rs | 21 +- crates/types/src/reth_db_wrapper.rs | 35 +- crates/validation/src/common/db.rs | 2 +- testing-tools/Cargo.toml | 16 +- .../src/contracts/environment/uniswap.rs | 3 +- testing-tools/src/mocks/canon_state.rs | 9 +- testing-tools/src/providers/initializer.rs | 3 +- 11 files changed, 1361 insertions(+), 1291 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3c9be2437..fd0bc4557 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -111,26 +111,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02b0561294ccedc6181e5528b850b4579e3fbde696507baa00109bfd9054c5bb" dependencies = [ "alloy-consensus 0.7.3", - "alloy-contract 0.7.3", "alloy-core", "alloy-eips 0.7.3", "alloy-genesis 0.7.3", - "alloy-json-rpc 0.7.3", - "alloy-network 0.7.3", - "alloy-node-bindings", "alloy-provider 0.7.3", - "alloy-pubsub", "alloy-rpc-client 0.7.3", - "alloy-rpc-types 0.7.3", "alloy-serde 0.7.3", - "alloy-signer 0.7.3", - "alloy-signer-ledger", - "alloy-signer-local", - "alloy-signer-trezor", - "alloy-transport 0.7.3", "alloy-transport-http 0.7.3", - "alloy-transport-ipc", - "alloy-transport-ws", ] [[package]] @@ -140,25 +127,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbcc41e8a11a4975b18ec6afba2cc48d591fa63336a4c526dacb50479a8d6b35" dependencies = [ "alloy-consensus 0.9.2", - "alloy-contract 0.9.2", + "alloy-contract", "alloy-core", "alloy-eips 0.9.2", "alloy-genesis 0.9.2", + "alloy-json-rpc 0.9.2", "alloy-network 0.9.2", + "alloy-node-bindings", "alloy-provider 0.9.2", + "alloy-pubsub", "alloy-rpc-client 0.9.2", + "alloy-rpc-types 0.9.2", "alloy-serde 0.9.2", + "alloy-signer 0.9.2", + "alloy-signer-ledger", + "alloy-signer-local", + "alloy-signer-trezor", "alloy-transport 0.9.2", "alloy-transport-http 0.9.2", + "alloy-transport-ipc", + "alloy-transport-ws", ] [[package]] name = "alloy-chains" -version = "0.1.49" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830045a4421ee38d3ab570d36d4d2b5152c066e72797139224da8de5d5981fd0" +checksum = "4ab9d1367c6ffb90c93fb4a9a4989530aa85112438c6f73a734067255d348469" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "arbitrary", "num_enum", @@ -188,18 +185,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a101d4d016f47f13890a74290fdd17b05dd175191d9337bc600791fb96e4dea8" dependencies = [ "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-serde 0.7.3", "alloy-trie", - "arbitrary", "auto_impl", "c-kzg", "derive_more 1.0.0", - "k256", - "rand", "serde", - "serde_with", ] [[package]] @@ -209,14 +202,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4138dc275554afa6f18c4217262ac9388790b2fc393c2dfe03c51d357abf013" dependencies = [ "alloy-eips 0.9.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-serde 0.9.2", "alloy-trie", + "arbitrary", "auto_impl", "c-kzg", "derive_more 1.0.0", + "k256", + "rand", "serde", + "serde_with", ] [[package]] @@ -227,7 +224,7 @@ checksum = "fa60357dda9a3d0f738f18844bd6d0f4a5924cc5cf00bfad2ff1369897966123" dependencies = [ "alloy-consensus 0.7.3", "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-serde 0.7.3", "serde", @@ -241,33 +238,12 @@ checksum = "0fa04e1882c31288ce1028fdf31b6ea94cfa9eafa2e497f903ded631c8c6a42c" dependencies = [ "alloy-consensus 0.9.2", "alloy-eips 0.9.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-serde 0.9.2", "serde", ] -[[package]] -name = "alloy-contract" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2869e4fb31331d3b8c58c7db567d1e4e4e94ef64640beda3b6dd9b7045690941" -dependencies = [ - "alloy-dyn-abi", - "alloy-json-abi", - "alloy-network 0.7.3", - "alloy-network-primitives 0.7.3", - "alloy-primitives 0.8.15", - "alloy-provider 0.7.3", - "alloy-pubsub", - "alloy-rpc-types-eth 0.7.3", - "alloy-sol-types 0.8.15", - "alloy-transport 0.7.3", - "futures", - "futures-util", - "thiserror 2.0.8", -] - [[package]] name = "alloy-contract" version = "0.9.2" @@ -278,39 +254,40 @@ dependencies = [ "alloy-json-abi", "alloy-network 0.9.2", "alloy-network-primitives 0.9.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-provider 0.9.2", + "alloy-pubsub", "alloy-rpc-types-eth 0.9.2", - "alloy-sol-types 0.8.15", + "alloy-sol-types 0.8.19", "alloy-transport 0.9.2", "futures", "futures-util", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "alloy-core" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c618bd382f0bc2ac26a7e4bfae01c9b015ca8f21b37ca40059ae35a7e62b3dc6" +checksum = "648275bb59110f88cc5fa9a176845e52a554ebfebac2d21220bcda8c9220f797" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-sol-types 0.8.15", + "alloy-sol-types 0.8.19", ] [[package]] name = "alloy-dyn-abi" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41056bde53ae10ffbbf11618efbe1e0290859e5eab0fe9ef82ebdb62f12a866f" +checksum = "bc9138f4f0912793642d453523c3116bd5d9e11de73b70177aa7cb3e94b98ad2" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-sol-type-parser", - "alloy-sol-types 0.8.15", + "alloy-sol-types 0.8.19", "const-hex", "derive_more 1.0.0", "itoa", @@ -319,13 +296,28 @@ dependencies = [ "winnow", ] +[[package]] +name = "alloy-eip2124" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0" +dependencies = [ + "alloy-primitives 0.8.19", + "alloy-rlp", + "arbitrary", + "crc", + "rand", + "serde", + "thiserror 2.0.11", +] + [[package]] name = "alloy-eip2930" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "arbitrary", "rand", @@ -338,14 +330,10 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c986539255fb839d1533c128e190e557e52ff652c9ef62939e233a81dd93f7e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", - "arbitrary", "derive_more 1.0.0", - "k256", - "rand", "serde", - "serde_with", ] [[package]] @@ -354,10 +342,14 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cabf647eb4650c91a9d38cb6f972bb320009e7e9d61765fb688a86f1563b33e8" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", + "arbitrary", "derive_more 1.0.0", + "k256", + "rand", "serde", + "serde_with", ] [[package]] @@ -384,10 +376,9 @@ checksum = "8b6755b093afef5925f25079dd5a7c8d096398b804ba60cb5275397b06b31689" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.4.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-serde 0.7.3", - "arbitrary", "c-kzg", "derive_more 1.0.0", "once_cell", @@ -403,11 +394,14 @@ checksum = "52dd5869ed09e399003e0e0ec6903d981b2a92e74c5d37e6b40890bad2517526" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.5.0", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-serde 0.9.2", + "arbitrary", "c-kzg", "derive_more 1.0.0", + "ethereum_ssz", + "ethereum_ssz_derive", "once_cell", "serde", "sha2 0.10.8", @@ -419,7 +413,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aeec8e6eab6e52b7c9f918748c9b811e87dbef7312a2e3a2ca1729a92966a6af" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-serde 0.7.3", "alloy-trie", "serde", @@ -432,7 +426,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7d2a7fe5c1a9bd6793829ea21a636f30fc2b3f5d2e7418ba86d96e41dd1f460" dependencies = [ "alloy-eips 0.9.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-serde 0.9.2", "alloy-trie", "serde", @@ -440,11 +434,11 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c357da577dfb56998d01f574d81ad7a1958d248740a7981b205d69d65a7da404" +checksum = "24acd2f5ba97c7a320e67217274bc81fe3c3174b8e6144ec875d9d54e760e278" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-sol-type-parser", "serde", "serde_json", @@ -456,11 +450,11 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fa077efe0b834bcd89ff4ba547f48fb081e4fdc3673dd7da1b295a2cf2bb7b7" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-sol-types 0.8.15", + "alloy-primitives 0.8.19", + "alloy-sol-types 0.8.19", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tracing", ] @@ -470,11 +464,11 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2008bedb8159a255b46b7c8614516eda06679ea82f620913679afbd8031fea72" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-sol-types 0.8.15", + "alloy-primitives 0.8.19", + "alloy-sol-types 0.8.19", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tracing", ] @@ -489,18 +483,18 @@ dependencies = [ "alloy-eips 0.7.3", "alloy-json-rpc 0.7.3", "alloy-network-primitives 0.7.3", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rpc-types-any 0.7.3", "alloy-rpc-types-eth 0.7.3", "alloy-serde 0.7.3", "alloy-signer 0.7.3", - "alloy-sol-types 0.8.15", + "alloy-sol-types 0.8.19", "async-trait", "auto_impl", "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] @@ -514,18 +508,18 @@ dependencies = [ "alloy-eips 0.9.2", "alloy-json-rpc 0.9.2", "alloy-network-primitives 0.9.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rpc-types-any 0.9.2", "alloy-rpc-types-eth 0.9.2", "alloy-serde 0.9.2", "alloy-signer 0.9.2", - "alloy-sol-types 0.8.15", + "alloy-sol-types 0.8.19", "async-trait", "auto_impl", "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] @@ -547,7 +541,7 @@ checksum = "c20219d1ad261da7a6331c16367214ee7ded41d001fabbbd656fbf71898b2773" dependencies = [ "alloy-consensus 0.7.3", "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-serde 0.7.3", "serde", ] @@ -560,24 +554,24 @@ checksum = "f31c3c6b71340a1d076831823f09cb6e02de01de5c6630a9631bdb36f947ff80" dependencies = [ "alloy-consensus 0.9.2", "alloy-eips 0.9.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-serde 0.9.2", "serde", ] [[package]] name = "alloy-node-bindings" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bffcf33dd319f21cd6f066d81cbdef0326d4bdaaf7cfe91110bc090707858e9f" +checksum = "4520cd4bc5cec20c32c98e4bc38914c7fb96bf4a712105e44da186a54e65e3ba" dependencies = [ - "alloy-genesis 0.7.3", - "alloy-primitives 0.8.15", + "alloy-genesis 0.9.2", + "alloy-primitives 0.8.19", "k256", "rand", "serde_json", "tempfile", - "thiserror 2.0.8", + "thiserror 2.0.11", "tracing", "url", ] @@ -606,9 +600,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6259a506ab13e1d658796c31e6e39d2e2ee89243bcc505ddc613b35732e0a430" +checksum = "ec878088ec6283ce1e90d280316aadd3d6ce3de06ff63d68953c855e7e447e92" dependencies = [ "alloy-rlp", "arbitrary", @@ -620,8 +614,7 @@ dependencies = [ "foldhash", "getrandom", "hashbrown 0.15.2", - "hex-literal", - "indexmap 2.7.0", + "indexmap 2.7.1", "itoa", "k256", "keccak-asm", @@ -648,20 +641,11 @@ dependencies = [ "alloy-json-rpc 0.7.3", "alloy-network 0.7.3", "alloy-network-primitives 0.7.3", - "alloy-node-bindings", - "alloy-primitives 0.8.15", - "alloy-pubsub", + "alloy-primitives 0.8.19", "alloy-rpc-client 0.7.3", - "alloy-rpc-types-anvil", - "alloy-rpc-types-debug", "alloy-rpc-types-eth 0.7.3", - "alloy-rpc-types-trace 0.7.3", - "alloy-signer 0.7.3", - "alloy-signer-local", "alloy-transport 0.7.3", "alloy-transport-http 0.7.3", - "alloy-transport-ipc", - "alloy-transport-ws", "async-stream", "async-trait", "auto_impl", @@ -675,7 +659,7 @@ dependencies = [ "schnellru", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", "url", @@ -694,11 +678,20 @@ dependencies = [ "alloy-json-rpc 0.9.2", "alloy-network 0.9.2", "alloy-network-primitives 0.9.2", - "alloy-primitives 0.8.15", + "alloy-node-bindings", + "alloy-primitives 0.8.19", + "alloy-pubsub", "alloy-rpc-client 0.9.2", + "alloy-rpc-types-anvil", + "alloy-rpc-types-debug", "alloy-rpc-types-eth 0.9.2", + "alloy-rpc-types-trace 0.9.2", + "alloy-signer 0.9.2", + "alloy-signer-local", "alloy-transport 0.9.2", "alloy-transport-http 0.9.2", + "alloy-transport-ipc", + "alloy-transport-ws", "async-stream", "async-trait", "auto_impl", @@ -712,7 +705,7 @@ dependencies = [ "schnellru", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", "url", @@ -721,13 +714,13 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac9a7210e0812b1d814118f426f57eb7fc260a419224dd1c76d169879c06907" +checksum = "2269fd635f7b505f27c63a3cb293148cd02301efce4c8bdd9ff54fbfc4a20e23" dependencies = [ - "alloy-json-rpc 0.7.3", - "alloy-primitives 0.8.15", - "alloy-transport 0.7.3", + "alloy-json-rpc 0.9.2", + "alloy-primitives 0.8.19", + "alloy-transport 0.9.2", "bimap", "futures", "serde", @@ -740,9 +733,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f542548a609dca89fcd72b3b9f355928cf844d4363c5eed9c5273a3dd225e097" +checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -751,13 +744,13 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a833d97bf8a5f0f878daf2c8451fff7de7f9de38baa5a45d936ec718d81255a" +checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -767,12 +760,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed30bf1041e84cabc5900f52978ca345dd9969f2194a945e6fdec25b0620705c" dependencies = [ "alloy-json-rpc 0.7.3", - "alloy-primitives 0.8.15", - "alloy-pubsub", + "alloy-primitives 0.8.19", "alloy-transport 0.7.3", "alloy-transport-http 0.7.3", - "alloy-transport-ipc", - "alloy-transport-ws", "futures", "pin-project", "reqwest", @@ -793,9 +783,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06a292b37e182e514903ede6e623b9de96420e8109ce300da288a96d88b7e4b" dependencies = [ "alloy-json-rpc 0.9.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", + "alloy-pubsub", "alloy-transport 0.9.2", "alloy-transport-http 0.9.2", + "alloy-transport-ipc", + "alloy-transport-ws", "futures", "pin-project", "reqwest", @@ -823,40 +816,40 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab686b0fa475d2a4f5916c5f07797734a691ec58e44f0f55d4746ea39cbcefb" +checksum = "9383845dd924939e7ab0298bbfe231505e20928907d7905aa3bf112287305e06" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rpc-types-anvil", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 0.7.3", - "alloy-rpc-types-trace 0.7.3", - "alloy-serde 0.7.3", + "alloy-rpc-types-eth 0.9.2", + "alloy-rpc-types-trace 0.9.2", + "alloy-serde 0.9.2", "serde", ] [[package]] name = "alloy-rpc-types-admin" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f0874a976ccdf83a178ad93b64bec5b8c91a47428d714d544ca70258acfa07b" +checksum = "b0fcea70b3872c645fa0ee7fb23370d685f98e8c35f47297de619fb2e9f607ff" dependencies = [ - "alloy-genesis 0.7.3", - "alloy-primitives 0.8.15", + "alloy-genesis 0.9.2", + "alloy-primitives 0.8.19", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-anvil" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d33bc190844626c08e21897736dbd7956ab323c09e6f141b118d1c8b7aff689e" +checksum = "11495cb8c8d3141fc27556a4c9188b81531ad5ec3076a0394c61a6dcfbce9f34" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-rpc-types-eth 0.7.3", - "alloy-serde 0.7.3", + "alloy-primitives 0.8.19", + "alloy-rpc-types-eth 0.9.2", + "alloy-serde 0.9.2", "serde", ] @@ -884,41 +877,44 @@ dependencies = [ [[package]] name = "alloy-rpc-types-beacon" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc37861dc8cbf5da35d346139fbe6e03ee7823cc21138a2c4a590d3b0b4b24be" +checksum = "4009405b1d3f5e8c529b8cf353f74e815fd2102549af4172fc721b4b9ea09133" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", - "alloy-serde 0.7.3", + "ethereum_ssz", + "ethereum_ssz_derive", "serde", "serde_with", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "alloy-rpc-types-debug" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0294b553785eb3fa7fff2e8aec45e82817258e7e6c9365c034a90cb6baeebc9" +checksum = "358d6a8d7340b9eb1a7589a6c1fb00df2c9b26e90737fa5ed0108724dd8dac2c" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "serde", ] [[package]] name = "alloy-rpc-types-engine" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d297268357e3eae834ddd6888b15f764cbc0f4b3be9265f5f6ec239013f3d68" +checksum = "4a5f821f30344862a0b6eb9a1c2eb91dfb2ff44c7489f37152a526cdcab79264" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-serde 0.7.3", + "alloy-serde 0.9.2", "derive_more 1.0.0", + "ethereum_ssz", + "ethereum_ssz_derive", "jsonrpsee-types", "jsonwebtoken", "rand", @@ -955,14 +951,12 @@ dependencies = [ "alloy-consensus-any 0.7.3", "alloy-eips 0.7.3", "alloy-network-primitives 0.7.3", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-serde 0.7.3", - "alloy-sol-types 0.8.15", - "arbitrary", + "alloy-sol-types 0.8.19", "derive_more 1.0.0", "itertools 0.13.0", - "jsonrpsee-types", "serde", "serde_json", ] @@ -977,26 +971,28 @@ dependencies = [ "alloy-consensus-any 0.9.2", "alloy-eips 0.9.2", "alloy-network-primitives 0.9.2", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-serde 0.9.2", - "alloy-sol-types 0.8.15", + "alloy-sol-types 0.8.19", + "arbitrary", "itertools 0.13.0", + "jsonrpsee-types", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "alloy-rpc-types-mev" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093d618d5a42808e7ae26062f415a1e816fc27d3d32662c6ed52d0871b154894" +checksum = "06bd42cf54b8a05b596322267f396a7dbdf141a56e93502a2ab4464fb718467a" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", - "alloy-rpc-types-eth 0.7.3", - "alloy-serde 0.7.3", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", + "alloy-rpc-types-eth 0.9.2", + "alloy-serde 0.9.2", "serde", "serde_json", ] @@ -1017,27 +1013,27 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e073ab0e67429c60be281e181731132fd07d82e091c10c29ace6935101034bb" +checksum = "cd38207e056cc7d1372367fbb4560ddf9107cbd20731743f641246bf0dede149" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-rpc-types-eth 0.7.3", - "alloy-serde 0.7.3", + "alloy-primitives 0.8.19", + "alloy-rpc-types-eth 0.9.2", + "alloy-serde 0.9.2", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "alloy-rpc-types-txpool" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7435f6bfb93912f16d64bb61f4278fa698469e054784f477337ef87ec0b2527b" +checksum = "b7fd456a3fa9ea732d1c0611c9d52b5326ee29f4d02d01b07dac453ed68d9eb5" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-rpc-types-eth 0.7.3", - "alloy-serde 0.7.3", + "alloy-primitives 0.8.19", + "alloy-rpc-types-eth 0.9.2", + "alloy-serde 0.9.2", "serde", ] @@ -1058,8 +1054,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afa753a97002a33b2ccb707d9f15f31c81b8c1b786c95b73cc62bb1d1fd0c3f" dependencies = [ - "alloy-primitives 0.8.15", - "arbitrary", + "alloy-primitives 0.8.19", "serde", "serde_json", ] @@ -1070,7 +1065,8 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae0465c71d4dced7525f408d84873aeebb71faf807d22d74c4a426430ccd9b55" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", + "arbitrary", "serde", "serde_json", ] @@ -1081,12 +1077,12 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b2cbff01a673936c2efd7e00d4c0e9a4dbbd6d600e2ce298078d33efbb19cd7" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "async-trait", "auto_impl", "elliptic-curve", "k256", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] @@ -1095,42 +1091,42 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bfa395ad5cc952c82358d31e4c68b27bf4a89a5456d9b27e226e77dac50e4ff" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "async-trait", "auto_impl", "elliptic-curve", "k256", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "alloy-signer-ledger" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b56789cbd13bace37acd7afd080aa7002ed65ab84f0220cd0c32e162b0afd6" +checksum = "b426789566a19252cb46b757d91543a6f8e70330c72f312b86c5878595d092ef" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-network 0.7.3", - "alloy-primitives 0.8.15", - "alloy-signer 0.7.3", + "alloy-consensus 0.9.2", + "alloy-network 0.9.2", + "alloy-primitives 0.8.19", + "alloy-signer 0.9.2", "async-trait", "coins-ledger", "futures-util", - "semver 1.0.24", - "thiserror 2.0.8", + "semver 1.0.25", + "thiserror 2.0.11", "tracing", ] [[package]] name = "alloy-signer-local" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6d988cb6cd7d2f428a74476515b1a6e901e08c796767f9f93311ab74005c8b" +checksum = "fbdc63ce9eda1283fcbaca66ba4a414b841c0e3edbeef9c86a71242fc9e84ccc" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-network 0.7.3", - "alloy-primitives 0.8.15", - "alloy-signer 0.7.3", + "alloy-consensus 0.9.2", + "alloy-network 0.9.2", + "alloy-primitives 0.8.19", + "alloy-signer 0.9.2", "async-trait", "coins-bip32", "coins-bip39", @@ -1138,23 +1134,23 @@ dependencies = [ "eth-keystore", "k256", "rand", - "thiserror 2.0.8", + "thiserror 2.0.11", "yubihsm", ] [[package]] name = "alloy-signer-trezor" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8199b1db8283d5837ead12acf3e0d15b4b004ad4e9ae9945b98e5d4106e8ea42" +checksum = "6e7d0c000abd591c9cceac5c07f785f101c9a8c879c6ccd300feca1ae03bdef6" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-network 0.7.3", - "alloy-primitives 0.8.15", - "alloy-signer 0.7.3", + "alloy-consensus 0.9.2", + "alloy-network 0.9.2", + "alloy-primitives 0.8.19", + "alloy-signer 0.9.2", "async-trait", - "semver 1.0.24", - "thiserror 2.0.8", + "semver 1.0.25", + "thiserror 2.0.11", "tracing", "trezor-client", ] @@ -1170,21 +1166,21 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "alloy-sol-macro" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d64f851d95619233f74b310f12bcf16e0cbc27ee3762b6115c14a84809280a" +checksum = "8d039d267aa5cbb7732fa6ce1fd9b5e9e29368f580f80ba9d7a8450c794de4b2" dependencies = [ - "alloy-sol-macro-expander 0.8.15", - "alloy-sol-macro-input 0.8.15", + "alloy-sol-macro-expander 0.8.19", + "alloy-sol-macro-input 0.8.19", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -1196,31 +1192,31 @@ dependencies = [ "alloy-sol-macro-input 0.7.7", "const-hex", "heck", - "indexmap 2.7.0", + "indexmap 2.7.1", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "syn-solidity 0.7.7", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf7ed1574b699f48bf17caab4e6e54c6d12bc3c006ab33d58b1e227c1c3559f" +checksum = "620ae5eee30ee7216a38027dec34e0585c55099f827f92f50d11e3d2d3a4a954" dependencies = [ "alloy-json-abi", - "alloy-sol-macro-input 0.8.15", + "alloy-sol-macro-input 0.8.19", "const-hex", "heck", - "indexmap 2.7.0", + "indexmap 2.7.1", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.90", - "syn-solidity 0.8.15", + "syn 2.0.96", + "syn-solidity 0.8.19", "tiny-keccak", ] @@ -1235,15 +1231,15 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "syn-solidity 0.7.7", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c02997ccef5f34f9c099277d4145f183b422938ed5322dc57a089fe9b9ad9ee" +checksum = "ad9f7d057e00f8c5994e4ff4492b76532c51ead39353aa2ed63f8c50c0f4d52e" dependencies = [ "alloy-json-abi", "const-hex", @@ -1252,15 +1248,15 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.90", - "syn-solidity 0.8.15", + "syn 2.0.96", + "syn-solidity 0.8.19", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce13ff37285b0870d0a0746992a4ae48efaf34b766ae4c2640fa15e5305f8e73" +checksum = "74e60b084fe1aef8acecda2743ff2d93c18ff3eb67a2d3b12f62582a1e66ef5e" dependencies = [ "serde", "winnow", @@ -1280,13 +1276,13 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1174cafd6c6d810711b4e00383037bdb458efc4fe3dbafafa16567e0320c54d8" +checksum = "c1382302752cd751efd275f4d6ef65877ddf61e0e6f5ac84ef4302b79a33a31a" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.8.15", - "alloy-sol-macro 0.8.15", + "alloy-primitives 0.8.19", + "alloy-sol-macro 0.8.19", "const-hex", "serde", ] @@ -1303,7 +1299,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tower 0.5.2", "tracing", @@ -1323,7 +1319,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tower 0.5.2", "tracing", @@ -1363,13 +1359,13 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6f8b87cb84bae6d81ae6604b37741c8116f84f9784a0ecc6038c302e679d23" +checksum = "fa4da44bc9a5155ab599666d26decafcf12204b72a80eeaba7c5e234ee8ac205" dependencies = [ - "alloy-json-rpc 0.7.3", + "alloy-json-rpc 0.9.2", "alloy-pubsub", - "alloy-transport 0.7.3", + "alloy-transport 0.9.2", "bytes", "futures", "interprocess", @@ -1382,12 +1378,12 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "0.7.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c085c4e1e7680b723ffc558f61a22c061ed3f70eb3436f93f3936779c59cec1" +checksum = "58011745b2f17b334db40df9077d75b181f78360a5bc5c35519e15d4bfce15e2" dependencies = [ "alloy-pubsub", - "alloy-transport 0.7.3", + "alloy-transport 0.9.2", "futures", "http 1.2.0", "rustls", @@ -1400,11 +1396,11 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a5fd8fea044cc9a8c8a50bb6f28e31f0385d820f116c5b98f6f4e55d6e5590b" +checksum = "6917c79e837aa7b77b7a6dae9f89cbe15313ac161c4d3cfaf8909ef21f3d22d8" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "arbitrary", "arrayvec", @@ -1443,10 +1439,10 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" name = "angstrom" version = "0.1.0" dependencies = [ - "alloy 0.7.3", + "alloy 0.9.2", "alloy-chains", - "alloy-primitives 0.8.15", - "alloy-rpc-types 0.7.3", + "alloy-primitives 0.8.19", + "alloy-rpc-types 0.9.2", "angstrom-eth", "angstrom-metrics", "angstrom-network", @@ -1482,7 +1478,7 @@ dependencies = [ name = "angstrom-eth" version = "0.1.0" dependencies = [ - "alloy 0.7.3", + "alloy 0.9.2", "angstrom-types", "angstrom-utils", "anyhow", @@ -1504,7 +1500,7 @@ dependencies = [ name = "angstrom-metrics" version = "0.1.0" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "angstrom-types", "dashmap 5.5.3", "eyre", @@ -1527,9 +1523,9 @@ dependencies = [ name = "angstrom-network" version = "0.1.0" dependencies = [ - "alloy 0.7.3", + "alloy 0.9.2", "alloy-chains", - "alloy-rpc-types 0.7.3", + "alloy-rpc-types 0.9.2", "angstrom-eth", "angstrom-network", "angstrom-types", @@ -1590,8 +1586,8 @@ dependencies = [ name = "angstrom-rpc" version = "0.1.0" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-sol-types 0.8.15", + "alloy-primitives 0.8.19", + "alloy-sol-types 0.8.19", "angstrom-network", "angstrom-types", "angstrom-utils", @@ -1623,8 +1619,8 @@ dependencies = [ name = "angstrom-types" version = "0.1.0" dependencies = [ - "alloy 0.7.3", - "alloy-primitives 0.8.15", + "alloy 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "anyhow", "auto_impl", @@ -1656,7 +1652,7 @@ dependencies = [ "reth-provider", "reth-storage-api", "reth-trie", - "revm 18.0.0", + "revm 19.3.0", "secp256k1 0.29.1", "serde", "serde_json", @@ -1717,19 +1713,20 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "aquamarine" @@ -1742,7 +1739,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -1756,7 +1753,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -1943,7 +1940,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -1965,18 +1962,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "async-trait" -version = "0.1.83" +version = "0.1.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -2008,13 +2005,13 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -2111,16 +2108,16 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cexpr", "clang-sys", - "itertools 0.11.0", + "itertools 0.13.0", "proc-macro2", "quote", "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -2146,9 +2143,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" dependencies = [ "arbitrary", "serde", @@ -2214,26 +2211,27 @@ dependencies = [ [[package]] name = "boa_ast" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a69ee3a749ea36d4e56d92941e7b25076b493d4917c3d155b6cf369e23547d9" +checksum = "2c340fe0f0b267787095cbe35240c6786ff19da63ec7b69367ba338eace8169b" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "boa_interner", "boa_macros", - "indexmap 2.7.0", + "boa_string", + "indexmap 2.7.1", "num-bigint", "rustc-hash 2.1.0", ] [[package]] name = "boa_engine" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e4559b35b80ceb2e6328481c0eca9a24506663ea33ee1e279be6b5b618b25c" +checksum = "f620c3f06f51e65c0504ddf04978be1b814ac6586f0b45f6019801ab5efd37f9" dependencies = [ "arrayvec", - "bitflags 2.6.0", + "bitflags 2.8.0", "boa_ast", "boa_gc", "boa_interner", @@ -2243,11 +2241,11 @@ dependencies = [ "boa_string", "bytemuck", "cfg-if", - "dashmap 5.5.3", - "fast-float", - "hashbrown 0.14.5", + "dashmap 6.1.0", + "fast-float2", + "hashbrown 0.15.2", "icu_normalizer", - "indexmap 2.7.0", + "indexmap 2.7.1", "intrusive-collections", "itertools 0.13.0", "num-bigint", @@ -2267,33 +2265,33 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror 1.0.69", + "thiserror 2.0.11", "time", ] [[package]] name = "boa_gc" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "716406f57d67bc3ac7fd227d5513b42df401dff14a3be22cbd8ee29817225363" +checksum = "2425c0b7720d42d73eaa6a883fbb77a5c920da8694964a3d79a67597ac55cce2" dependencies = [ "boa_macros", "boa_profiler", "boa_string", - "hashbrown 0.14.5", + "hashbrown 0.15.2", "thin-vec", ] [[package]] name = "boa_interner" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e18df2272616e1ba0322a69333d37dbb78797f1aa0595aad9dc41e8ecd06ad9" +checksum = "42407a3b724cfaecde8f7d4af566df4b56af32a2f11f0956f5570bb974e7f749" dependencies = [ "boa_gc", "boa_macros", - "hashbrown 0.14.5", - "indexmap 2.7.0", + "hashbrown 0.15.2", + "indexmap 2.7.1", "once_cell", "phf", "rustc-hash 2.1.0", @@ -2302,28 +2300,28 @@ dependencies = [ [[package]] name = "boa_macros" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240f4126219a83519bad05c9a40bfc0303921eeb571fc2d7e44c17ffac99d3f1" +checksum = "9fd3f870829131332587f607a7ff909f1af5fc523fd1b192db55fbbdf52e8d3c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "synstructure", ] [[package]] name = "boa_parser" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b59dc05bf1dc019b11478a92986f590cff43fced4d20e866eefb913493e91c" +checksum = "9cc142dac798cdc6e2dbccfddeb50f36d2523bb977a976e19bdb3ae19b740804" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "boa_ast", "boa_interner", "boa_macros", "boa_profiler", - "fast-float", + "fast-float2", "icu_properties", "num-bigint", "num-traits", @@ -2333,17 +2331,17 @@ dependencies = [ [[package]] name = "boa_profiler" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00ee0645509b3b91abd724f25072649d9e8e65653a78ff0b6e592788a58dd838" +checksum = "4064908e7cdf9b6317179e9b04dcb27f1510c1c144aeab4d0394014f37a0f922" [[package]] name = "boa_string" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae85205289bab1f2c7c8a30ddf0541cf89ba2ff7dbd144feef50bbfa664288d4" +checksum = "7debc13fbf7997bf38bf8e9b20f1ad5e2a7d27a900e1f6039fe244ce30f589b5" dependencies = [ - "fast-float", + "fast-float2", "paste", "rustc-hash 2.1.0", "sptr", @@ -2372,9 +2370,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.1" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -2392,9 +2390,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.11.1" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786a307d683a5bf92e6fd5fd69a7eb613751668d1d8d67d802846dfe367c62c8" +checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" dependencies = [ "memchr", "regex-automata 0.4.9", @@ -2430,7 +2428,7 @@ checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -2489,7 +2487,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.24", + "semver 1.0.25", "serde", "serde_json", "thiserror 1.0.69", @@ -2527,9 +2525,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.5" +version = "1.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" +checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" dependencies = [ "jobserver", "libc", @@ -2628,9 +2626,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.23" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" +checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" dependencies = [ "clap_builder", "clap_derive", @@ -2638,9 +2636,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.23" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -2651,14 +2649,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.5.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -2782,9 +2780,9 @@ dependencies = [ [[package]] name = "compact_str" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6050c3a16ddab2e412160b31f2c871015704239bca62f72f6e5f0be631d3f644" +checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" dependencies = [ "castaway", "cfg-if", @@ -2813,7 +2811,7 @@ checksum = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" name = "consensus" version = "0.1.0" dependencies = [ - "alloy 0.7.3", + "alloy 0.9.2", "alloy-rlp", "angstrom-metrics", "angstrom-network", @@ -2880,27 +2878,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "const_format" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" -dependencies = [ - "const_format_proc_macros", - "konst", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - [[package]] name = "convert_case" version = "0.4.0" @@ -3066,7 +3043,7 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "crossterm_winapi", "mio 1.0.3", "parking_lot", @@ -3087,9 +3064,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -3157,7 +3134,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3181,7 +3158,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3192,7 +3169,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3224,15 +3201,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f" [[package]] name = "data-encoding-macro" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" +checksum = "5b16d9d0d88a5273d830dac8b78ceb217ffc9b1d5404e5597a3542515329405b" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -3240,12 +3217,12 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" +checksum = "1145d32e826a7748b69ee8fc62d3e6355ff7f1051df53141e7048162fc90481b" dependencies = [ "data-encoding", - "syn 1.0.109", + "syn 2.0.96", ] [[package]] @@ -3313,7 +3290,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3326,7 +3303,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3347,7 +3324,7 @@ dependencies = [ "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "unicode-xid", ] @@ -3461,7 +3438,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3486,7 +3463,7 @@ checksum = "8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3517,6 +3494,7 @@ dependencies = [ "digest 0.10.7", "elliptic-curve", "rfc6979", + "serdect", "signature", "spki", ] @@ -3567,6 +3545,7 @@ dependencies = [ "pkcs8", "rand_core", "sec1", + "serdect", "subtle", "zeroize", ] @@ -3631,7 +3610,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3642,7 +3621,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3683,6 +3662,46 @@ dependencies = [ "uuid 0.8.2", ] +[[package]] +name = "ethereum_serde_utils" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70cbccfccf81d67bff0ab36e591fa536c8a935b078a7b0e58c1d00d418332fc9" +dependencies = [ + "alloy-primitives 0.8.19", + "hex", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "ethereum_ssz" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "862e41ea8eea7508f70cfd8cd560f0c34bb0af37c719a8e06c2672f0f031d8e5" +dependencies = [ + "alloy-primitives 0.8.19", + "ethereum_serde_utils", + "itertools 0.13.0", + "serde", + "serde_derive", + "smallvec", + "typenum", +] + +[[package]] +name = "ethereum_ssz_derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d31ecf6640112f61dc34b4d8359c081102969af0edd18381fed2052f6db6a410" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "eyre" version = "0.6.12" @@ -3694,10 +3713,10 @@ dependencies = [ ] [[package]] -name = "fast-float" -version = "0.2.0" +name = "fast-float2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c" +checksum = "f8eb564c5c7423d25c886fb561d1e4ee69f72354d16918afa32c08811f6b6a55" [[package]] name = "fastrand" @@ -3894,7 +3913,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3943,6 +3962,19 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" +[[package]] +name = "generator" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" +dependencies = [ + "cfg-if", + "libc", + "log", + "rustversion", + "windows 0.58.0", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -3986,9 +4018,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "gloo-net" @@ -4059,7 +4091,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.2.0", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -4190,7 +4222,7 @@ dependencies = [ "once_cell", "rand", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tinyvec", "tokio", "tracing", @@ -4214,7 +4246,7 @@ dependencies = [ "resolv-conf", "serde", "smallvec", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -4613,7 +4645,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -4670,7 +4702,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -4711,9 +4743,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "arbitrary", "equivalent", @@ -4759,16 +4791,15 @@ dependencies = [ [[package]] name = "instability" -version = "0.3.3" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b829f37dead9dc39df40c2d3376c179fdfd2ac771f53f55d3c30dc096a3c0c6e" +checksum = "0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d" dependencies = [ "darling", "indoc", - "pretty_assertions", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -4809,9 +4840,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "iri-string" @@ -4825,13 +4856,13 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4913,9 +4944,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -5026,7 +5057,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -5117,6 +5148,7 @@ dependencies = [ "ecdsa", "elliptic-curve", "once_cell", + "serdect", "sha2 0.10.8", "signature", ] @@ -5140,21 +5172,6 @@ dependencies = [ "sha3-asm", ] -[[package]] -name = "konst" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330f0e13e6483b8c34885f7e6c9f19b1a7bd449c673fbb948a51c99d66ef74f4" -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.0.8" @@ -5197,7 +5214,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -5242,7 +5259,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "libc", "redox_syscall", ] @@ -5315,9 +5332,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linked_hash_set" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" dependencies = [ "linked-hash-map", "serde", @@ -5325,9 +5342,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "litemap" @@ -5360,9 +5377,22 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" + +[[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", +] [[package]] name = "lru" @@ -5452,8 +5482,8 @@ dependencies = [ name = "matching-engine" version = "0.1.0" dependencies = [ - "alloy 0.7.3", - "alloy-primitives 0.8.15", + "alloy 0.9.2", + "alloy-primitives 0.8.19", "angstrom-types", "angstrom-utils", "arraydeque", @@ -5547,7 +5577,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -5570,15 +5600,15 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b6f8152da6d7892ff1b7a1c0fa3f435e92b5918ad67035c3bb432111d9a29b" +checksum = "12779523996a67c13c84906a876ac6fe4d07a6e1adb54978378e13f199251a62" dependencies = [ "base64 0.22.1", - "indexmap 2.7.0", + "indexmap 2.7.1", "metrics 0.24.1", - "metrics-util 0.18.0", - "quanta 0.12.4", + "metrics-util 0.19.0", + "quanta 0.12.5", "thiserror 1.0.69", ] @@ -5590,7 +5620,7 @@ checksum = "38b4faf00617defe497754acde3024865bc143d44a86799b24e191ecff91354f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -5648,12 +5678,23 @@ name = "metrics-util" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15b482df36c13dd1869d73d14d28cd4855fbd6cfc32294bee109908a9f4a4ed7" +dependencies = [ + "metrics 0.24.1", +] + +[[package]] +name = "metrics-util" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbd4884b1dd24f7d6628274a2f5ae22465c337c5ba065ec9b6edccddf8acc673" dependencies = [ "crossbeam-epoch", "crossbeam-utils", "hashbrown 0.15.2", "metrics 0.24.1", - "quanta 0.12.4", + "quanta 0.12.5", + "rand", + "rand_xoshiro", "sketches-ddsketch 0.3.0", ] @@ -5681,9 +5722,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -5735,22 +5776,21 @@ dependencies = [ [[package]] name = "moka" -version = "0.12.8" +version = "0.12.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cf62eb4dd975d2dde76432fb1075c49e3ee2331cf36f1f8fd4b66550d32b6f" +checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" dependencies = [ "crossbeam-channel", "crossbeam-epoch", "crossbeam-utils", - "once_cell", + "loom", "parking_lot", - "quanta 0.12.4", + "portable-atomic", "rustc_version 0.4.1", "smallvec", "tagptr", "thiserror 1.0.69", - "triomphe", - "uuid 1.11.0", + "uuid 1.12.1", ] [[package]] @@ -5818,9 +5858,9 @@ dependencies = [ [[package]] name = "neli" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1100229e06604150b3becd61a4965d5c70f3be1759544ea7274166f4be41ef43" +checksum = "93062a0dce6da2517ea35f301dfc88184ce18d3601ec786a727a87bf535deca9" dependencies = [ "byteorder", "libc", @@ -5830,9 +5870,9 @@ dependencies = [ [[package]] name = "neli-proc-macros" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168194d373b1e134786274020dae7fc5513d565ea2ebb9bc9ff17ffb69106d4" +checksum = "0c8034b7fbb6f9455b2a96c19e6edf8dc9fc34c70449938d8ee3b4df363f61fe" dependencies = [ "either", "proc-macro2", @@ -5879,7 +5919,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "filetime", "fsevent-sys", "inotify", @@ -6030,7 +6070,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -6044,9 +6084,9 @@ dependencies = [ [[package]] name = "nybbles" -version = "0.2.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95f06be0417d97f81fe4e5c86d7d01b392655a9cac9c19a848aa033e18937b23" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" dependencies = [ "alloy-rlp", "arbitrary", @@ -6058,9 +6098,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -6083,34 +6123,34 @@ checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "op-alloy-consensus" -version = "0.7.3" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78f0daa0d0936d436a21b57571b1e27c5663aa2ab62f6edae5ba5be999f9f93e" +checksum = "e28dc4e397dd8969f7f98ea6454a5c531349a58c76e12448b0c2de6581df7b8c" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-serde 0.7.3", + "alloy-serde 0.9.2", "arbitrary", "derive_more 1.0.0", "serde", "serde_with", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "op-alloy-rpc-types" -version = "0.7.3" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73741855ffaa2041b33cb616d7db7180c1149b648c68c23bee9e15501073fb32" +checksum = "4b9c83c664b953d474d6b58825800b6ff1d61876a686407e646cbf76891c1f9b" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-network-primitives 0.7.3", - "alloy-primitives 0.8.15", - "alloy-rpc-types-eth 0.7.3", - "alloy-serde 0.7.3", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-network-primitives 0.9.2", + "alloy-primitives 0.8.19", + "alloy-rpc-types-eth 0.9.2", + "alloy-serde 0.9.2", "arbitrary", "derive_more 1.0.0", "op-alloy-consensus", @@ -6141,7 +6181,7 @@ version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cfg-if", "foreign-types", "libc", @@ -6158,7 +6198,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -6189,7 +6229,7 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" name = "order-pool" version = "0.1.0" dependencies = [ - "alloy 0.7.3", + "alloy 0.9.2", "angstrom-eth", "angstrom-metrics", "angstrom-network", @@ -6198,7 +6238,7 @@ dependencies = [ "aquamarine 0.5.0", "async-trait", "auto_impl", - "bitflags 2.6.0", + "bitflags 2.8.0", "dashmap 6.1.0", "eyre", "futures", @@ -6217,7 +6257,7 @@ dependencies = [ "reth-tasks", "reth-tracing", "reth-transaction-pool", - "revm 18.0.0", + "revm 19.3.0", "secp256k1 0.29.1", "serde", "serial_test", @@ -6290,7 +6330,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -6402,7 +6442,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 2.0.8", + "thiserror 2.0.11", "ucd-trie", ] @@ -6418,9 +6458,9 @@ dependencies = [ [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ "phf_macros", "phf_shared", @@ -6428,9 +6468,9 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", "rand", @@ -6438,51 +6478,51 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ "phf_generator", "phf_shared", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ "siphasher", ] [[package]] name = "pin-project" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -6545,9 +6585,9 @@ dependencies = [ [[package]] name = "pollster" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" +checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "polyval" @@ -6664,14 +6704,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -6682,7 +6722,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "chrono", "flate2", "hex", @@ -6697,7 +6737,7 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "hex", "procfs-core 0.17.0", "rustix", @@ -6709,7 +6749,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "chrono", "hex", ] @@ -6720,7 +6760,7 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "hex", ] @@ -6747,7 +6787,7 @@ checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.6.0", + "bitflags 2.8.0", "lazy_static", "num-traits", "rand", @@ -6777,7 +6817,7 @@ checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -6824,14 +6864,14 @@ dependencies = [ [[package]] name = "quanta" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773ce68d0bb9bc7ef20be3536ffe94e223e1f365bd374108b2659fac0c65cfe6" +checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" dependencies = [ "crossbeam-utils", "libc", "once_cell", - "raw-cpuid 11.2.0", + "raw-cpuid 11.3.0", "wasi", "web-sys", "winapi", @@ -6865,7 +6905,7 @@ dependencies = [ "rustc-hash 2.1.0", "rustls", "socket2", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -6884,7 +6924,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.8", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -6906,9 +6946,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -6979,13 +7019,22 @@ dependencies = [ "rand_core", ] +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core", +] + [[package]] name = "ratatui" version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdef7f9be5c0122f890d58bdf4d964349ba6a6161f705907526d891efabba57d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cassowary", "compact_str", "crossterm", @@ -7011,11 +7060,11 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.2.0" +version = "11.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" +checksum = "c6928fa44c097620b706542d428957635951bade7143269085389d42c8a4927e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", ] [[package]] @@ -7050,7 +7099,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", ] [[package]] @@ -7116,19 +7165,19 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "regress" -version = "0.10.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1541daf4e4ed43a0922b7969bdc2170178bcacc5dabf7e39bc508a9fa3953a7a" +checksum = "78ef7fa9ed0256d64a688a3747d0fef7a88851c18a5e1d57f115f38ec2e09366" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.2", "memchr", ] [[package]] name = "reqwest" -version = "0.12.9" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" dependencies = [ "base64 0.22.1", "bytes", @@ -7160,6 +7209,7 @@ dependencies = [ "tokio", "tokio-native-tls", "tokio-rustls", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -7181,14 +7231,14 @@ dependencies = [ [[package]] name = "reth" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-rpc-types 0.7.3", + "alloy-rpc-types 0.9.2", "aquamarine 0.6.0", "backon", "clap", @@ -7254,13 +7304,12 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", - "alloy-rlp", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "futures-core", "futures-util", "metrics 0.24.1", @@ -7271,24 +7320,23 @@ dependencies = [ "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives", - "reth-primitives-traits", "reth-provider", "reth-revm", "reth-tasks", "reth-transaction-pool", - "revm 18.0.0", + "revm 19.3.0", "tokio", "tracing", ] [[package]] name = "reth-beacon-consensus" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "futures", "itertools 0.13.0", @@ -7315,7 +7363,7 @@ dependencies = [ "reth-tasks", "reth-tokio-util", "schnellru", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -7323,12 +7371,12 @@ dependencies = [ [[package]] name = "reth-blockchain-tree" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "aquamarine 0.6.0", "linked_hash_set", "metrics 0.24.1", @@ -7357,29 +7405,29 @@ dependencies = [ [[package]] name = "reth-blockchain-tree-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "reth-consensus", "reth-execution-errors", "reth-primitives", "reth-primitives-traits", "reth-storage-errors", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "reth-chain-state" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", - "alloy-signer 0.7.3", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", + "alloy-signer 0.9.2", "alloy-signer-local", "derive_more 1.0.0", "metrics 0.24.1", @@ -7394,7 +7442,7 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-trie", - "revm 18.0.0", + "revm 19.3.0", "tokio", "tokio-stream", "tracing", @@ -7402,30 +7450,30 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "alloy-chains", - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-genesis 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-genesis 0.9.2", + "alloy-primitives 0.8.19", + "alloy-trie", "auto_impl", "derive_more 1.0.0", "once_cell", "reth-ethereum-forks", "reth-network-peers", "reth-primitives-traits", - "reth-trie-common", "serde_json", ] [[package]] name = "reth-cli" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-genesis 0.7.3", + "alloy-genesis 0.9.2", "clap", "eyre", "reth-cli-runner", @@ -7436,13 +7484,13 @@ dependencies = [ [[package]] name = "reth-cli-commands" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "ahash", - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "backon", "clap", @@ -7498,8 +7546,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "reth-tasks", "tokio", @@ -7508,11 +7556,11 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "cfg-if", "eyre", "libc", @@ -7520,19 +7568,19 @@ dependencies = [ "reth-fs-util", "secp256k1 0.29.1", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tikv-jemallocator", ] [[package]] name = "reth-codecs" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-genesis 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-genesis 0.9.2", + "alloy-primitives 0.8.19", "alloy-trie", "arbitrary", "bytes", @@ -7545,19 +7593,19 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "reth-config" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "eyre", "humantime-serde", @@ -7570,12 +7618,12 @@ dependencies = [ [[package]] name = "reth-consensus" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "auto_impl", "derive_more 1.0.0", "reth-primitives", @@ -7584,30 +7632,29 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "reth-chainspec", "reth-consensus", "reth-primitives", "reth-primitives-traits", - "revm-primitives 14.0.0", ] [[package]] name = "reth-consensus-debug-client" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", - "alloy-provider 0.7.3", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", + "alloy-provider 0.9.2", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 0.7.3", + "alloy-rpc-types-eth 0.9.2", "auto_impl", "eyre", "futures", @@ -7623,11 +7670,11 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-primitives 0.8.19", "bytes", "derive_more 1.0.0", "eyre", @@ -7651,17 +7698,17 @@ dependencies = [ "strum", "sysinfo", "tempfile", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "reth-db-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-genesis 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-genesis 0.9.2", + "alloy-primitives 0.8.19", "arbitrary", "bytes", "derive_more 1.0.0", @@ -7671,6 +7718,7 @@ dependencies = [ "proptest", "reth-codecs", "reth-db-models", + "reth-optimism-primitives", "reth-primitives", "reth-primitives-traits", "reth-prune-types", @@ -7683,12 +7731,12 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-genesis 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-genesis 0.9.2", + "alloy-primitives 0.8.19", "boyer-moore-magiclen", "eyre", "reth-chainspec", @@ -7706,17 +7754,17 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tracing", ] [[package]] name = "reth-db-models" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "arbitrary", "bytes", "modular-bitfield", @@ -7728,10 +7776,10 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "discv5", "enr 0.12.1", @@ -7746,7 +7794,7 @@ dependencies = [ "schnellru", "secp256k1 0.29.1", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -7754,10 +7802,10 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "derive_more 1.0.0", "discv5", @@ -7771,17 +7819,17 @@ dependencies = [ "reth-metrics", "reth-network-peers", "secp256k1 0.29.1", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", ] [[package]] name = "reth-dns-discovery" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "data-encoding", "enr 0.12.1", "hickory-resolver", @@ -7794,7 +7842,7 @@ dependencies = [ "secp256k1 0.29.1", "serde", "serde_with", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -7802,12 +7850,12 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "futures", "futures-util", @@ -7824,7 +7872,7 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -7833,11 +7881,11 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "aes", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "block-padding", "byteorder", @@ -7854,7 +7902,7 @@ dependencies = [ "secp256k1 0.29.1", "sha2 0.10.8", "sha3", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -7864,11 +7912,11 @@ dependencies = [ [[package]] name = "reth-engine-local" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "eyre", "futures-util", @@ -7886,7 +7934,6 @@ dependencies = [ "reth-payload-primitives", "reth-provider", "reth-prune", - "reth-rpc-types-compat", "reth-stages-api", "reth-transaction-pool", "tokio", @@ -7896,11 +7943,11 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "futures", "reth-errors", @@ -7911,14 +7958,14 @@ dependencies = [ "reth-primitives-traits", "reth-trie", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", ] [[package]] name = "reth-engine-service" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "futures", "pin-project", @@ -7936,19 +7983,20 @@ dependencies = [ "reth-prune", "reth-stages-api", "reth-tasks", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "reth-engine-tree" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-rpc-types-engine", + "derive_more 1.0.0", "futures", "metrics 0.24.1", "rayon", @@ -7973,23 +8021,22 @@ dependencies = [ "reth-stages-api", "reth-tasks", "reth-trie", - "reth-trie-db", "reth-trie-parallel", "reth-trie-sparse", - "revm-primitives 14.0.0", - "thiserror 2.0.8", + "revm-primitives 15.1.0", + "thiserror 2.0.11", "tokio", "tracing", ] [[package]] name = "reth-engine-util" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "eyre", "futures", @@ -8007,7 +8054,7 @@ dependencies = [ "reth-revm", "reth-rpc-types-compat", "reth-trie", - "revm-primitives 14.0.0", + "revm-primitives 15.1.0", "serde", "serde_json", "tokio", @@ -8017,24 +8064,24 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "reth-blockchain-tree-api", "reth-consensus", "reth-execution-errors", "reth-fs-util", "reth-storage-errors", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "reth-eth-wire" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "alloy-chains", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "bytes", "derive_more 1.0.0", @@ -8049,7 +8096,7 @@ dependencies = [ "reth-primitives-traits", "serde", "snap", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -8058,13 +8105,13 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "alloy-chains", - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "bytes", "derive_more 1.0.0", @@ -8074,13 +8121,13 @@ dependencies = [ "reth-primitives", "reth-primitives-traits", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "reth-ethereum-cli" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "eyre", "reth-chainspec", @@ -8089,12 +8136,12 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "reth-chainspec", "reth-consensus", "reth-consensus-common", @@ -8105,11 +8152,11 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-rpc-types-engine", "reth-chain-state", @@ -8125,32 +8172,28 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "alloy-chains", - "alloy-primitives 0.8.15", - "alloy-rlp", + "alloy-eip2124", + "alloy-primitives 0.8.19", "arbitrary", "auto_impl", - "crc", "dyn-clone", "once_cell", - "proptest", - "proptest-derive", "rustc-hash 2.1.0", "serde", - "thiserror 2.0.8", ] [[package]] name = "reth-ethereum-payload-builder" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "reth-basic-payload-builder", "reth-chain-state", "reth-chainspec", @@ -8162,17 +8205,18 @@ dependencies = [ "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives", - "reth-provider", + "reth-primitives-traits", "reth-revm", + "reth-storage-api", "reth-transaction-pool", - "revm 18.0.0", + "revm 19.3.0", "tracing", ] [[package]] name = "reth-etl" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "rayon", "reth-db-api", @@ -8181,12 +8225,12 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "auto_impl", "futures-util", "metrics 0.24.1", @@ -8202,71 +8246,72 @@ dependencies = [ "reth-prune-types", "reth-revm", "reth-storage-errors", - "revm 18.0.0", - "revm-primitives 14.0.0", + "revm 19.3.0", + "revm-primitives 15.1.0", ] [[package]] name = "reth-evm-ethereum" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", - "alloy-sol-types 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", + "alloy-sol-types 0.8.19", "reth-chainspec", "reth-consensus", "reth-ethereum-consensus", "reth-ethereum-forks", "reth-evm", "reth-primitives", + "reth-primitives-traits", "reth-revm", - "revm-primitives 14.0.0", + "revm-primitives 15.1.0", ] [[package]] name = "reth-execution-errors" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "nybbles", "reth-consensus", "reth-prune-types", "reth-storage-errors", - "revm-primitives 14.0.0", - "thiserror 2.0.8", + "revm-primitives 15.1.0", + "thiserror 2.0.11", ] [[package]] name = "reth-execution-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "reth-execution-errors", "reth-primitives", "reth-primitives-traits", "reth-trie", "reth-trie-common", - "revm 18.0.0", + "revm 19.3.0", "serde", "serde_with", ] [[package]] name = "reth-exex" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "eyre", "futures", "itertools 0.13.0", @@ -8297,11 +8342,11 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "reth-chain-state", "reth-execution-types", "reth-primitives", @@ -8312,21 +8357,21 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "reth-invalid-block-hooks" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-rpc-types-debug", "eyre", @@ -8349,8 +8394,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "async-trait", "bytes", @@ -8360,7 +8405,7 @@ dependencies = [ "jsonrpsee", "pin-project", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -8370,25 +8415,25 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "byteorder", "dashmap 6.1.0", "derive_more 1.0.0", - "indexmap 2.7.0", + "indexmap 2.7.1", "parking_lot", "reth-mdbx-sys", "smallvec", - "thiserror 2.0.8", + "thiserror 2.0.11", "tracing", ] [[package]] name = "reth-mdbx-sys" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "bindgen", "cc", @@ -8396,8 +8441,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "futures", "metrics 0.24.1", @@ -8408,34 +8453,34 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", ] [[package]] name = "reth-net-nat" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "futures-util", "if-addrs", "reqwest", "serde_with", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", ] [[package]] name = "reth-network" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "aquamarine 0.6.0", "auto_impl", @@ -8476,7 +8521,7 @@ dependencies = [ "serde", "smallvec", "tempfile", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -8485,10 +8530,10 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rpc-types-admin", "auto_impl", "derive_more 1.0.0", @@ -8501,19 +8546,19 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", ] [[package]] name = "reth-network-p2p" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "auto_impl", "derive_more 1.0.0", "futures", @@ -8531,23 +8576,23 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "enr 0.12.1", "secp256k1 0.29.1", "serde_with", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "url", ] [[package]] name = "reth-network-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "humantime-serde", "reth-ethereum-forks", @@ -8560,8 +8605,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "anyhow", "bincode", @@ -8570,20 +8615,21 @@ dependencies = [ "memmap2", "reth-fs-util", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tracing", "zstd", ] [[package]] name = "reth-node-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "alloy-rpc-types-engine", "eyre", "reth-beacon-consensus", "reth-consensus", + "reth-db-api", "reth-engine-primitives", "reth-evm", "reth-network-api", @@ -8598,12 +8644,13 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-primitives 0.8.15", - "alloy-rpc-types 0.7.3", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", + "alloy-rpc-types 0.9.2", "aquamarine 0.6.0", "eyre", "fdlimit", @@ -8653,7 +8700,6 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "reth-transaction-pool", - "revm-primitives 14.0.0", "secp256k1 0.29.1", "tokio", "tokio-stream", @@ -8662,15 +8708,14 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "clap", - "const_format", "derive_more 1.0.0", "dirs-next", "eyre", @@ -8704,7 +8749,7 @@ dependencies = [ "serde", "shellexpand", "strum", - "thiserror 2.0.8", + "thiserror 2.0.11", "toml", "tracing", "vergen", @@ -8712,8 +8757,8 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "eyre", "reth-basic-payload-builder", @@ -8735,18 +8780,19 @@ dependencies = [ "reth-tracing", "reth-transaction-pool", "reth-trie-db", - "revm 18.0.0", + "revm 19.3.0", ] [[package]] name = "reth-node-events" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", + "derive_more 1.0.0", "futures", "humantime", "pin-project", @@ -8764,14 +8810,14 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "eyre", "http 1.2.0", "jsonrpsee-server", "metrics 0.24.1", - "metrics-exporter-prometheus 0.16.0", + "metrics-exporter-prometheus 0.16.1", "metrics-process 2.4.0", "metrics-util 0.18.0", "procfs 0.16.0", @@ -8786,8 +8832,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "reth-chainspec", "reth-db-api", @@ -8798,32 +8844,35 @@ dependencies = [ [[package]] name = "reth-optimism-primitives" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "arbitrary", "bytes", "derive_more 1.0.0", + "once_cell", "op-alloy-consensus", "rand", "reth-codecs", "reth-primitives", "reth-primitives-traits", - "revm-primitives 14.0.0", + "reth-zstd-compressors", + "revm-primitives 15.1.0", "secp256k1 0.29.1", "serde", ] [[package]] name = "reth-payload-builder" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-rpc-types 0.7.3", + "alloy-consensus 0.9.2", + "alloy-rpc-types 0.9.2", "async-trait", "futures-util", "metrics 0.24.1", @@ -8832,6 +8881,7 @@ dependencies = [ "reth-metrics", "reth-payload-builder-primitives", "reth-payload-primitives", + "reth-primitives-traits", "tokio", "tokio-stream", "tracing", @@ -8839,8 +8889,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "alloy-rpc-types-engine", "async-trait", @@ -8853,61 +8903,60 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "reth-chain-state", "reth-chainspec", "reth-errors", "reth-primitives", - "revm-primitives 14.0.0", + "revm-primitives 15.1.0", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", ] [[package]] name = "reth-payload-util" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-primitives 0.8.19", "reth-primitives", ] [[package]] name = "reth-payload-validator" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-rpc-types 0.7.3", + "alloy-rpc-types 0.9.2", "reth-chainspec", "reth-primitives", - "reth-rpc-types-compat", + "reth-primitives-traits", ] [[package]] name = "reth-primitives" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-network 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-network 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-rpc-types 0.7.3", - "alloy-serde 0.7.3", + "alloy-rpc-types 0.9.2", + "alloy-serde 0.9.2", "alloy-trie", "arbitrary", "bytes", "c-kzg", "derive_more 1.0.0", - "k256", "modular-bitfield", "once_cell", "op-alloy-consensus", @@ -8919,7 +8968,7 @@ dependencies = [ "reth-primitives-traits", "reth-static-file-types", "reth-zstd-compressors", - "revm-primitives 14.0.0", + "revm-primitives 15.1.0", "secp256k1 0.29.1", "serde", "serde_with", @@ -8927,37 +8976,42 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-genesis 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-genesis 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", + "alloy-trie", "arbitrary", "auto_impl", "byteorder", "bytes", "derive_more 1.0.0", + "k256", "modular-bitfield", "op-alloy-consensus", "proptest", "proptest-arbitrary-interop", + "rayon", "reth-codecs", - "revm-primitives 14.0.0", + "revm-primitives 15.1.0", + "secp256k1 0.29.1", "serde", "serde_with", + "thiserror 2.0.11", ] [[package]] name = "reth-provider" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "auto_impl", "dashmap 6.1.0", @@ -8990,7 +9044,7 @@ dependencies = [ "reth-storage-errors", "reth-trie", "reth-trie-db", - "revm 18.0.0", + "revm 19.3.0", "strum", "tokio", "tracing", @@ -8998,12 +9052,12 @@ dependencies = [ [[package]] name = "reth-prune" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "itertools 0.13.0", "metrics 0.24.1", "rayon", @@ -9020,33 +9074,32 @@ dependencies = [ "reth-static-file-types", "reth-tokio-util", "rustc-hash 2.1.0", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", ] [[package]] name = "reth-prune-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "arbitrary", - "bytes", "derive_more 1.0.0", "modular-bitfield", "reth-codecs", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "reth-revm" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "reth-execution-errors", "reth-primitives", "reth-primitives-traits", @@ -9054,32 +9107,32 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie", - "revm 18.0.0", + "revm 19.3.0", ] [[package]] name = "reth-rpc" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", + "alloy-consensus 0.9.2", "alloy-dyn-abi", - "alloy-eips 0.7.3", - "alloy-genesis 0.7.3", - "alloy-network 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-genesis 0.9.2", + "alloy-network 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-rpc-types 0.7.3", + "alloy-rpc-types 0.9.2", "alloy-rpc-types-admin", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 0.7.3", + "alloy-rpc-types-eth 0.9.2", "alloy-rpc-types-mev", - "alloy-rpc-types-trace 0.7.3", + "alloy-rpc-types-trace 0.9.2", "alloy-rpc-types-txpool", - "alloy-serde 0.7.3", - "alloy-signer 0.7.3", + "alloy-serde 0.9.2", + "alloy-signer 0.9.2", "alloy-signer-local", "async-trait", "derive_more 1.0.0", @@ -9097,7 +9150,6 @@ dependencies = [ "reth-consensus-common", "reth-engine-primitives", "reth-errors", - "reth-ethereum-consensus", "reth-evm", "reth-network-api", "reth-network-peers", @@ -9114,12 +9166,12 @@ dependencies = [ "reth-rpc-types-compat", "reth-tasks", "reth-transaction-pool", - "revm 18.0.0", - "revm-inspectors 0.12.1", - "revm-primitives 14.0.0", + "revm 19.3.0", + "revm-inspectors 0.14.1", + "revm-primitives 15.1.0", "serde", "serde_json", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tower 0.4.13", @@ -9129,23 +9181,23 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-json-rpc 0.7.3", - "alloy-primitives 0.8.15", - "alloy-rpc-types 0.7.3", + "alloy-eips 0.9.2", + "alloy-json-rpc 0.9.2", + "alloy-primitives 0.8.19", + "alloy-rpc-types 0.9.2", "alloy-rpc-types-admin", "alloy-rpc-types-anvil", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 0.7.3", + "alloy-rpc-types-eth 0.9.2", "alloy-rpc-types-mev", - "alloy-rpc-types-trace 0.7.3", + "alloy-rpc-types-trace 0.9.2", "alloy-rpc-types-txpool", - "alloy-serde 0.7.3", + "alloy-serde 0.9.2", "jsonrpsee", "reth-engine-primitives", "reth-network-peers", @@ -9154,8 +9206,8 @@ dependencies = [ [[package]] name = "reth-rpc-builder" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "http 1.2.0", "jsonrpsee", @@ -9180,7 +9232,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-util", "tower 0.4.13", @@ -9190,11 +9242,11 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "async-trait", "jsonrpsee-core", @@ -9204,7 +9256,6 @@ dependencies = [ "reth-beacon-consensus", "reth-chainspec", "reth-engine-primitives", - "reth-evm", "reth-metrics", "reth-payload-builder", "reth-payload-builder-primitives", @@ -9216,26 +9267,26 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", ] [[package]] name = "reth-rpc-eth-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", + "alloy-consensus 0.9.2", "alloy-dyn-abi", - "alloy-eips 0.7.3", - "alloy-json-rpc 0.7.3", - "alloy-network 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-json-rpc 0.9.2", + "alloy-network 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-rpc-types-eth 0.7.3", + "alloy-rpc-types-eth 0.9.2", "alloy-rpc-types-mev", - "alloy-serde 0.7.3", + "alloy-serde 0.9.2", "async-trait", "auto_impl", "dyn-clone", @@ -9258,23 +9309,23 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie-common", - "revm 18.0.0", - "revm-inspectors 0.12.1", - "revm-primitives 14.0.0", + "revm 19.3.0", + "revm-inspectors 0.14.1", + "revm-primitives 15.1.0", "tokio", "tracing", ] [[package]] name = "reth-rpc-eth-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", - "alloy-rpc-types-eth 0.7.3", - "alloy-sol-types 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", + "alloy-rpc-types-eth 0.9.2", + "alloy-sol-types 0.8.19", "derive_more 1.0.0", "futures", "itertools 0.13.0", @@ -9296,12 +9347,12 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie", - "revm 18.0.0", - "revm-inspectors 0.12.1", - "revm-primitives 14.0.0", + "revm 19.3.0", + "revm-inspectors 0.14.1", + "revm-primitives 15.1.0", "schnellru", "serde", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -9309,8 +9360,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "alloy-rpc-types-engine", "http 1.2.0", @@ -9323,11 +9374,11 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "jsonrpsee-core", "jsonrpsee-types", @@ -9339,15 +9390,14 @@ dependencies = [ [[package]] name = "reth-rpc-types-compat" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", - "alloy-rlp", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 0.7.3", + "alloy-rpc-types-eth 0.9.2", "jsonrpsee-types", "reth-primitives", "reth-primitives-traits", @@ -9356,12 +9406,12 @@ dependencies = [ [[package]] name = "reth-stages" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "bincode", "futures-util", "itertools 0.13.0", @@ -9387,18 +9437,18 @@ dependencies = [ "reth-storage-errors", "reth-trie", "reth-trie-db", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", ] [[package]] name = "reth-stages-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "aquamarine 0.6.0", "auto_impl", "futures-util", @@ -9414,17 +9464,17 @@ dependencies = [ "reth-static-file", "reth-static-file-types", "reth-tokio-util", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", ] [[package]] name = "reth-stages-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "arbitrary", "bytes", "modular-bitfield", @@ -9435,10 +9485,10 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "parking_lot", "rayon", "reth-codecs", @@ -9456,10 +9506,10 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "clap", "derive_more 1.0.0", "serde", @@ -9468,12 +9518,12 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rpc-types-engine", "auto_impl", "reth-chainspec", @@ -9488,27 +9538,28 @@ dependencies = [ "reth-storage-errors", "reth-trie", "reth-trie-db", - "revm 18.0.0", + "revm 19.3.0", ] [[package]] name = "reth-storage-errors" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "derive_more 1.0.0", "reth-fs-util", "reth-primitives-traits", "reth-static-file-types", + "thiserror 2.0.11", ] [[package]] name = "reth-tasks" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "auto_impl", "dyn-clone", @@ -9517,7 +9568,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tracing", "tracing-futures", @@ -9525,8 +9576,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "tokio", "tokio-stream", @@ -9535,8 +9586,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "clap", "eyre", @@ -9550,16 +9601,16 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "aquamarine 0.6.0", "auto_impl", - "bitflags 2.6.0", + "bitflags 2.8.0", "futures-util", "metrics 0.24.1", "parking_lot", @@ -9576,12 +9627,13 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "revm 18.0.0", + "revm-interpreter 15.1.0", + "revm-primitives 15.1.0", "rustc-hash 2.1.0", "schnellru", "serde", "smallvec", - "thiserror 2.0.8", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -9589,12 +9641,12 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-eips 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-eips 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", "alloy-trie", "auto_impl", @@ -9608,22 +9660,21 @@ dependencies = [ "reth-storage-errors", "reth-trie-common", "reth-trie-sparse", - "revm 18.0.0", + "revm 19.3.0", "tracing", "triehash", ] [[package]] name = "reth-trie-common" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-consensus 0.7.3", - "alloy-genesis 0.7.3", - "alloy-primitives 0.8.15", + "alloy-consensus 0.9.2", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-rpc-types-eth 0.7.3", - "alloy-serde 0.7.3", + "alloy-rpc-types-eth 0.9.2", + "alloy-serde 0.9.2", "alloy-trie", "arbitrary", "bytes", @@ -9634,17 +9685,16 @@ dependencies = [ "plain_hasher", "reth-codecs", "reth-primitives-traits", - "revm-primitives 14.0.0", "serde", "serde_with", ] [[package]] name = "reth-trie-db" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "derive_more 1.0.0", "metrics 0.24.1", @@ -9655,17 +9705,17 @@ dependencies = [ "reth-primitives", "reth-storage-errors", "reth-trie", - "revm 18.0.0", + "revm 19.3.0", "tracing", "triehash", ] [[package]] name = "reth-trie-parallel" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "derive_more 1.0.0", "itertools 0.13.0", @@ -9679,29 +9729,29 @@ dependencies = [ "reth-trie", "reth-trie-common", "reth-trie-db", - "thiserror 2.0.8", + "thiserror 2.0.11", "tracing", ] [[package]] name = "reth-trie-sparse" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", "reth-execution-errors", "reth-primitives-traits", "reth-tracing", "reth-trie-common", "smallvec", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] name = "reth-zstd-compressors" -version = "1.1.4" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.4#15fac0873e91ea29ab2e605bfba17bedcd7a6084" +version = "1.1.5" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb207661361ac9fe1d7de4b5b8e" dependencies = [ "zstd", ] @@ -9723,15 +9773,15 @@ dependencies = [ [[package]] name = "revm" -version = "18.0.0" +version = "19.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15689a3c6a8d14b647b4666f2e236ef47b5a5133cdfd423f545947986fff7013" +checksum = "0a5a57589c308880c0f89ebf68d92aeef0d51e1ed88867474f895f6fd0f25c64" dependencies = [ "auto_impl", "cfg-if", "dyn-clone", - "revm-interpreter 14.0.0", - "revm-precompile 15.0.0", + "revm-interpreter 15.1.0", + "revm-precompile 16.0.0", "serde", "serde_json", ] @@ -9754,21 +9804,21 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.12.1" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7f5f8a2deafb3c76f357bbf9e71b73bddb915c4994bbbe3208fbfbe8fc7f8e" +checksum = "dc873bc873e12a1723493e1a35804fa79b673a0bfb1c19cfee659d46def8be42" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-rpc-types-eth 0.7.3", - "alloy-rpc-types-trace 0.7.3", - "alloy-sol-types 0.8.15", + "alloy-primitives 0.8.19", + "alloy-rpc-types-eth 0.9.2", + "alloy-rpc-types-trace 0.9.2", + "alloy-sol-types 0.8.19", "anstyle", "boa_engine", "boa_gc", "colorchoice", - "revm 18.0.0", + "revm 19.3.0", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.11", ] [[package]] @@ -9783,11 +9833,11 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "14.0.0" +version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e3f11d0fed049a4a10f79820c59113a79b38aed4ebec786a79d5c667bfeb51" +checksum = "c0f632e761f171fb2f6ace8d1552a5793e0350578d4acec3e79ade1489f4c2a6" dependencies = [ - "revm-primitives 14.0.0", + "revm-primitives 15.1.0", "serde", ] @@ -9811,9 +9861,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "15.0.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e381060af24b750069a2b2d2c54bba273d84e8f5f9e8026fc9262298e26cc336" +checksum = "6542fb37650dfdbf4b9186769e49c4a8bc1901a3280b2ebf32f915b6c8850f36" dependencies = [ "aurora-engine-modexp", "blst", @@ -9821,7 +9871,7 @@ dependencies = [ "cfg-if", "k256", "once_cell", - "revm-primitives 14.0.0", + "revm-primitives 15.1.0", "ripemd", "secp256k1 0.29.1", "sha2 0.10.8", @@ -9837,7 +9887,7 @@ dependencies = [ "alloy-eips 0.2.1", "alloy-primitives 0.7.7", "auto_impl", - "bitflags 2.6.0", + "bitflags 2.8.0", "bitvec", "cfg-if", "dyn-clone", @@ -9849,15 +9899,15 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "14.0.0" +version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3702f132bb484f4f0d0ca4f6fbde3c82cfd745041abbedd6eda67730e1868ef0" +checksum = "48faea1ecf2c9f80d9b043bbde0db9da616431faed84c4cfa3dd7393005598e6" dependencies = [ "alloy-eip2930", - "alloy-eip7702 0.4.2", - "alloy-primitives 0.8.15", + "alloy-eip7702 0.5.0", + "alloy-primitives 0.8.19", "auto_impl", - "bitflags 2.6.0", + "bitflags 2.8.0", "bitvec", "c-kzg", "cfg-if", @@ -9950,9 +10000,9 @@ dependencies = [ [[package]] name = "roaring" -version = "0.10.9" +version = "0.10.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41589aba99537475bf697f2118357cad1c31590c5a1b9f6d9fc4ad6d07503661" +checksum = "a652edd001c53df0b3f96a36a8dc93fce6866988efc16808235653c6bcac8bf2" dependencies = [ "bytemuck", "byteorder", @@ -10058,16 +10108,16 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.24", + "semver 1.0.25", ] [[package]] name = "rustix" -version = "0.38.42" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys", @@ -10076,9 +10126,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.20" +version = "0.23.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" +checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" dependencies = [ "log", "once_cell", @@ -10160,9 +10210,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "rusty-fork" @@ -10208,9 +10258,9 @@ dependencies = [ [[package]] name = "scc" -version = "2.2.6" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b13f8ea6177672c49d12ed964cca44836f59621981b04a3e26b87e675181de" +checksum = "28e1c91382686d21b5ac7959341fcb9780fa7c03773646995a87c950fa7be640" dependencies = [ "sdd", ] @@ -10226,15 +10276,21 @@ dependencies = [ [[package]] name = "schnellru" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" +checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" dependencies = [ "ahash", "cfg-if", "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" @@ -10269,6 +10325,7 @@ dependencies = [ "der", "generic-array", "pkcs8", + "serdect", "subtle", "zeroize", ] @@ -10318,7 +10375,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -10328,9 +10385,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.13.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -10347,9 +10404,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" dependencies = [ "serde", ] @@ -10377,31 +10434,31 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.7.1", "itoa", "memchr", "ryu", @@ -10431,15 +10488,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.7.0", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -10449,14 +10506,24 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", +] + +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", ] [[package]] @@ -10481,7 +10548,7 @@ checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -10612,14 +10679,14 @@ checksum = "ab0381d1913eeaf4c7bc4094016c9a8de6c1120663afe32a90ff268ad7f80486" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "similar" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" dependencies = [ "bstr", "unicode-segmentation", @@ -10627,9 +10694,9 @@ dependencies = [ [[package]] name = "similar-asserts" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" +checksum = "9f08357795f0d604ea7d7130f22c74b03838c959bdb14adde3142aab4d18a293" dependencies = [ "console", "serde", @@ -10638,21 +10705,21 @@ dependencies = [ [[package]] name = "simple_asn1" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 1.0.69", + "thiserror 2.0.11", "time", ] [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "sketches-ddsketch" @@ -10776,7 +10843,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -10811,9 +10878,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" dependencies = [ "proc-macro2", "quote", @@ -10829,19 +10896,19 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "syn-solidity" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219389c1ebe89f8333df8bdfb871f6631c552ff399c23cac02480b6088aad8f0" +checksum = "b84e4d83a0a6704561302b917a932484e1cae2d8c6354c64be8b7bac1c1fe057" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -10861,7 +10928,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -10891,12 +10958,13 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.14.0" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand", + "getrandom", "once_cell", "rustix", "windows-sys 0.59.0", @@ -10916,12 +10984,12 @@ dependencies = [ name = "testing-tools" version = "0.1.0" dependencies = [ - "alloy 0.7.3", + "alloy 0.9.2", "alloy-chains", - "alloy-primitives 0.8.15", + "alloy-primitives 0.8.19", "alloy-rlp", - "alloy-rpc-types 0.7.3", - "alloy-sol-types 0.8.15", + "alloy-rpc-types 0.9.2", + "alloy-sol-types 0.8.19", "angstrom", "angstrom-eth", "angstrom-network", @@ -10964,7 +11032,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "reth-transaction-pool", - "revm 18.0.0", + "revm 19.3.0", "secp256k1 0.29.1", "serial_test", "tempfile", @@ -10982,10 +11050,10 @@ dependencies = [ name = "testnet" version = "0.1.0" dependencies = [ - "alloy 0.7.3", + "alloy 0.9.2", "alloy-chains", - "alloy-primitives 0.8.15", - "alloy-rpc-types 0.7.3", + "alloy-primitives 0.8.19", + "alloy-rpc-types 0.9.2", "alloy-signer-local", "angstrom", "angstrom-eth", @@ -11060,11 +11128,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.8" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f5383f3e0071702bf93ab5ee99b52d26936be9dedd9413067cbdcddcb6141a" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.8", + "thiserror-impl 2.0.11", ] [[package]] @@ -11075,18 +11143,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "thiserror-impl" -version = "2.0.8" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f357fcec90b3caef6623a099691be676d033b40a058ac95d2a6ade6fa0c943" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -11204,9 +11272,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] @@ -11219,9 +11287,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.42.0" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" dependencies = [ "backtrace", "bytes", @@ -11238,13 +11306,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -11337,7 +11405,7 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", @@ -11375,6 +11443,7 @@ dependencies = [ "futures-util", "pin-project-lite", "sync_wrapper", + "tokio", "tower-layer", "tower-service", ] @@ -11387,7 +11456,7 @@ checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ "async-compression", "base64 0.21.7", - "bitflags 2.6.0", + "bitflags 2.8.0", "bytes", "futures-core", "futures-util", @@ -11407,7 +11476,7 @@ dependencies = [ "tower-layer", "tower-service", "tracing", - "uuid 1.11.0", + "uuid 1.12.1", ] [[package]] @@ -11418,7 +11487,7 @@ checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" dependencies = [ "async-compression", "base64 0.22.1", - "bitflags 2.6.0", + "bitflags 2.8.0", "bytes", "futures-core", "futures-util", @@ -11438,7 +11507,7 @@ dependencies = [ "tower-layer", "tower-service", "tracing", - "uuid 1.11.0", + "uuid 1.12.1", ] [[package]] @@ -11485,7 +11554,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -11597,12 +11666,6 @@ dependencies = [ "rlp", ] -[[package]] -name = "triomphe" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" - [[package]] name = "try-lock" version = "0.2.5" @@ -11673,9 +11736,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" @@ -11722,8 +11785,8 @@ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" name = "uniswap-v4" version = "0.1.0" dependencies = [ - "alloy 0.7.3", - "alloy-primitives 0.8.15", + "alloy 0.9.2", + "alloy-primitives 0.8.19", "angstrom-types", "angstrom-utils", "arraydeque", @@ -11763,7 +11826,7 @@ source = "git+https://github.com/0xKitsune/uniswap-v3-math.git#8a9d9354707d3dc21 dependencies = [ "alloy 0.9.2", "eyre", - "thiserror 2.0.8", + "thiserror 2.0.11", ] [[package]] @@ -11836,9 +11899,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" dependencies = [ "getrandom", "serde", @@ -11848,7 +11911,7 @@ dependencies = [ name = "validation" version = "0.1.0" dependencies = [ - "alloy 0.7.3", + "alloy 0.9.2", "angstrom-eth", "angstrom-metrics", "angstrom-network", @@ -11879,7 +11942,7 @@ dependencies = [ "reth-revm", "reth-tracing", "reth-transaction-pool", - "revm 18.0.0", + "revm 19.3.0", "schnellru", "secp256k1 0.27.0", "secp256k1 0.29.1", @@ -11898,9 +11961,9 @@ dependencies = [ [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -11936,7 +11999,7 @@ checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -11975,34 +12038,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -12013,9 +12077,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -12023,22 +12087,25 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasmtimer" @@ -12056,9 +12123,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -12111,7 +12178,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -12192,7 +12259,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -12203,7 +12270,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -12214,7 +12281,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -12225,7 +12292,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -12417,9 +12484,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.20" +version = "0.6.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" dependencies = [ "memchr", ] @@ -12500,7 +12567,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "synstructure", ] @@ -12511,7 +12578,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "467a4c054be41ff657a6823246b0194cd727fadc3c539b265d7bc125ac6d4884" dependencies = [ "aes", - "bitflags 2.6.0", + "bitflags 2.8.0", "cbc", "cmac", "ecdsa", @@ -12531,7 +12598,7 @@ dependencies = [ "subtle", "thiserror 1.0.69", "time", - "uuid 1.11.0", + "uuid 1.12.1", "zeroize", ] @@ -12553,7 +12620,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -12573,7 +12640,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "synstructure", ] @@ -12594,7 +12661,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -12616,7 +12683,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 2294398b8..5e72e5670 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,7 +71,7 @@ futures-util = "0.3.29" bitmaps = "3.2.1" # revm -revm = { version = "18.0.0", features = [ +revm = { version = "19.2.0", features = [ "std", "secp256k1", "optional_balance_check", @@ -80,44 +80,44 @@ revm = { version = "18.0.0", features = [ # reth -reth = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-trie = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-storage-api = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-provider = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-db = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-discv4 = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } +reth = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-trie = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-storage-api = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-provider = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-db = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-discv4 = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } reth-rlp = { git = "https://github.com/paradigmxyz/reth", version = "1.1.0", tag = "v1.1.0", features = [ "alloc", ] } -reth-errors = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-cli-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-network-peers = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-node-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-node-types = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-codecs = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-ecies = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -#reth-rpc-types = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-blockchain-tree = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-beacon-consensus = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-metrics = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-revm = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-tasks = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-tracing = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-network = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-network-api = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-libmdbx = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-eth-wire = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } +reth-errors = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-cli-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-network-peers = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-node-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-node-types = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-codecs = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-ecies = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +#reth-rpc-types = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-blockchain-tree = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-beacon-consensus = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-metrics = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-revm = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-tasks = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-tracing = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-network = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-network-api = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-libmdbx = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-eth-wire = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } # alloy -alloy = { version = "0.7.3", features = [ +alloy = { version = "0.9.2", features = [ "rlp", "full", # "eip712", @@ -135,42 +135,42 @@ alloy = { version = "0.7.3", features = [ "contract", ] } alloy-chains = "0.1.32" -alloy-primitives = "0.8.11" -alloy-sol-macro = "0.8.11" -alloy-dyn-abi = "0.8.11" -alloy-sol-types = "0.8.11" +alloy-primitives = "0.8.15" +alloy-sol-macro = "0.8.15" +alloy-dyn-abi = "0.8.15" +alloy-sol-types = "0.8.15" alloy-rlp = "0.3.10" alloy-rlp-derive = "0.3.8" -alloy-trie = "0.7" -alloy-rpc-types = { version = "0.7.3", default-features = false, features = [ +alloy-trie = "0.7.8" +alloy-rpc-types = { version = "0.9.2", default-features = false, features = [ "eth", ] } -alloy-rpc-types-anvil = { version = "0.7.3", default-features = false } -alloy-rpc-types-beacon = { version = "0.7.3", default-features = false } -alloy-rpc-types-admin = { version = "0.7.3", default-features = false } -alloy-rpc-types-txpool = { version = "0.7.3", default-features = false } -alloy-serde = { version = "0.7.3", default-features = false } -alloy-rpc-types-engine = { version = "0.7.3", default-features = false } -alloy-rpc-types-eth = { version = "0.7.3", default-features = false } -alloy-genesis = { version = "0.7.3", default-features = false } -alloy-node-bindings = { version = "0.7.3", default-features = false } -alloy-provider = { version = "0.7.3", default-features = false, features = [ +alloy-rpc-types-anvil = { version = "0.9.2", default-features = false } +alloy-rpc-types-beacon = { version = "0.9.2", default-features = false } +alloy-rpc-types-admin = { version = "0.9.2", default-features = false } +alloy-rpc-types-txpool = { version = "0.9.2", default-features = false } +alloy-serde = { version = "0.9.2", default-features = false } +alloy-rpc-types-engine = { version = "0.9.2", default-features = false } +alloy-rpc-types-eth = { version = "0.9.2", default-features = false } +alloy-genesis = { version = "0.9.2", default-features = false } +alloy-node-bindings = { version = "0.9.2", default-features = false } +alloy-provider = { version = "0.9.2", default-features = false, features = [ "reqwest", ] } -alloy-eips = { version = "0.7.3", default-features = false } -alloy-signer = { version = "0.7.3", default-features = false } -alloy-signer-local = { version = "0.7.3", default-features = false } -alloy-network = { version = "0.7.3", default-features = false } -alloy-consensus = { version = "0.7.3", default-features = false } -alloy-transport = { version = "0.7.3" } -alloy-transport-http = { version = "0.7.3", features = [ +alloy-eips = { version = "0.9.2", default-features = false } +alloy-signer = { version = "0.9.2", default-features = false } +alloy-signer-local = { version = "0.9.2", default-features = false } +alloy-network = { version = "0.9.2", default-features = false } +alloy-consensus = { version = "0.9.2", default-features = false } +alloy-transport = { version = "0.9.2" } +alloy-transport-http = { version = "0.9.2", features = [ "reqwest-rustls-tls", ], default-features = false } -alloy-transport-ws = { version = "0.7.3", default-features = false } -alloy-transport-ipc = { version = "0.7.3", default-features = false } -alloy-pubsub = { version = "0.7.3", default-features = false } -alloy-json-rpc = { version = "0.7.3", default-features = false } -alloy-rpc-client = { version = "0.7.3", default-features = false } +alloy-transport-ws = { version = "0.9.2", default-features = false } +alloy-transport-ipc = { version = "0.9.2", default-features = false } +alloy-pubsub = { version = "0.9.2", default-features = false } +alloy-json-rpc = { version = "0.9.2", default-features = false } +alloy-rpc-client = { version = "0.9.2", default-features = false } # Uniswap math helpers diff --git a/bin/testnet/Cargo.toml b/bin/testnet/Cargo.toml index 86e96582b..88c291cb8 100644 --- a/bin/testnet/Cargo.toml +++ b/bin/testnet/Cargo.toml @@ -37,7 +37,7 @@ reth-beacon-consensus.workspace = true reth-tokio-util.workspace = true reth-ecies.workspace = true reth-discv4 = { workspace = true, features = ["test-utils"] } -reth-dns-discovery = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } +reth-dns-discovery = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } reth-primitives = { workspace = true, features = ["test-utils"] } reth-network = { workspace = true, features = ["test-utils"] } reth-metrics.workspace = true diff --git a/crates/angstrom-net/Cargo.toml b/crates/angstrom-net/Cargo.toml index cdaab7846..510153de1 100644 --- a/crates/angstrom-net/Cargo.toml +++ b/crates/angstrom-net/Cargo.toml @@ -36,12 +36,12 @@ reth-network-peers.workspace = true reth-node-builder.workspace = true reth.workspace = true -reth-network-p2p = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-net-banlist = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } +reth-network-p2p = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-net-banlist = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } reth-discv4.workspace = true -reth-dns-discovery = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } +reth-dns-discovery = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } alloy.workspace = true alloy-chains.workspace = true diff --git a/crates/angstrom-net/src/eth_network_builder.rs b/crates/angstrom-net/src/eth_network_builder.rs index 88b4cdf76..1f33d47ad 100644 --- a/crates/angstrom-net/src/eth_network_builder.rs +++ b/crates/angstrom-net/src/eth_network_builder.rs @@ -1,10 +1,11 @@ use reth::{chainspec::ChainSpec, transaction_pool::TransactionPool}; -use reth_network::{protocol::IntoRlpxSubProtocol, NetworkHandle, NetworkManager}; +use reth_network::{ + protocol::IntoRlpxSubProtocol, EthNetworkPrimitives, NetworkHandle, NetworkManager +}; use reth_node_builder::{ - components::NetworkBuilder, node::FullNodeTypes, BuilderContext, NodeTypes + components::NetworkBuilder, node::FullNodeTypes, BuilderContext, NodeTypes, TxTy }; -use reth_primitives::{Block, Header, PooledTransactionsElement, Receipt, TransactionSigned}; -use reth_provider::BlockReader; +use reth_primitives::{EthPrimitives, PooledTransaction}; use reth_transaction_pool::PoolTransaction; /// A basic ethereum payload service. @@ -21,16 +22,14 @@ impl AngstromNetworkBuilder { impl NetworkBuilder for AngstromNetworkBuilder where I: IntoRlpxSubProtocol + Send, - Node: FullNodeTypes>, + Node: FullNodeTypes>, Pool: TransactionPool< - Transaction: PoolTransaction< - Consensus = TransactionSigned, - Pooled = PooledTransactionsElement - > + Transaction: PoolTransaction, Pooled = PooledTransaction> > + Unpin - + 'static, - Node::Provider: BlockReader + + 'static { + type Primitives = EthNetworkPrimitives; + async fn build_network( self, ctx: &BuilderContext, diff --git a/crates/types/src/reth_db_wrapper.rs b/crates/types/src/reth_db_wrapper.rs index cb7d649c2..37498718d 100644 --- a/crates/types/src/reth_db_wrapper.rs +++ b/crates/types/src/reth_db_wrapper.rs @@ -1,7 +1,10 @@ +use std::collections::HashMap; + // Allows us to impl revm::DatabaseRef on the default provider type. use alloy::primitives::{ Address, BlockHash, BlockNumber, Bytes, StorageKey, StorageValue, B256, U256 }; +use alloy_primitives::map::FbBuildHasher; use reth_chainspec::ChainInfo; use reth_primitives::Bytecode; use reth_provider::{ @@ -42,7 +45,7 @@ where &self, address: Address ) -> Result, Self::Error> { - Ok(self.basic_account(address)?.map(Into::into)) + Ok(self.basic_account(&address)?.map(Into::into)) } /// Retrieves the bytecode associated with a given code hash. @@ -50,7 +53,7 @@ where /// Returns `Ok` with the bytecode if found, or the default bytecode /// otherwise. fn code_by_hash_ref(&self, code_hash: B256) -> Result { - Ok(self.bytecode_by_hash(code_hash)?.unwrap_or_default().0) + Ok(self.bytecode_by_hash(&code_hash)?.unwrap_or_default().0) } /// Retrieves the storage value at a specific index for a given address. @@ -192,19 +195,22 @@ where self.0.latest()?.storage(account, storage_key) } - fn account_code(&self, addr: Address) -> reth_provider::ProviderResult> { - self.0.latest()?.account_code(addr) + fn account_code(&self, addr: &Address) -> reth_provider::ProviderResult> { + self.0.latest()?.account_code(&addr) } - fn account_nonce(&self, addr: Address) -> reth_provider::ProviderResult> { - self.0.latest()?.account_nonce(addr) + fn account_nonce(&self, addr: &Address) -> reth_provider::ProviderResult> { + self.0.latest()?.account_nonce(&addr) } - fn account_balance(&self, addr: Address) -> reth_provider::ProviderResult> { - self.0.latest()?.account_balance(addr) + fn account_balance(&self, addr: &Address) -> reth_provider::ProviderResult> { + self.0.latest()?.account_balance(&addr) } - fn bytecode_by_hash(&self, code_hash: B256) -> reth_provider::ProviderResult> { + fn bytecode_by_hash( + &self, + code_hash: &B256 + ) -> reth_provider::ProviderResult> { self.0.latest()?.bytecode_by_hash(code_hash) } } @@ -215,7 +221,7 @@ where { fn basic_account( &self, - address: Address + address: &Address ) -> reth_provider::ProviderResult> { self.0.latest()?.basic_account(address) } @@ -333,14 +339,17 @@ where &self, input: TrieInput, target: HashedPostState - ) -> ProviderResult> { - self.0.latest()?.witness(input, target) + ) -> ProviderResult>> { + self.0 + .latest()? + .witness(input, target) + .map(|v| v.into_iter().collect()) } fn multiproof( &self, input: TrieInput, - targets: revm::primitives::HashMap> + targets: reth_trie::MultiProofTargets ) -> ProviderResult { self.0.latest()?.multiproof(input, targets) } diff --git a/crates/validation/src/common/db.rs b/crates/validation/src/common/db.rs index 2295e3332..a011ce628 100644 --- a/crates/validation/src/common/db.rs +++ b/crates/validation/src/common/db.rs @@ -25,7 +25,7 @@ pub trait BlockStateProviderFactory: Send + Sync { impl BlockStateProvider for StateProviderBox { fn get_basic_account(&self, address: Address) -> ProviderResult> { - AccountReader::basic_account(self, address) + AccountReader::basic_account(self, &address) } fn get_storage( diff --git a/testing-tools/Cargo.toml b/testing-tools/Cargo.toml index cf424fbc4..da12750f3 100644 --- a/testing-tools/Cargo.toml +++ b/testing-tools/Cargo.toml @@ -41,14 +41,14 @@ reth-node-types.workspace = true reth-node-ethereum.workspace = true reth-revm.workspace = true revm.workspace = true -reth-beacon-consensus = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-blockchain-tree = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-dns-discovery = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-ecies = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-network-peers = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } -reth-prune-types = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4", tag = "v1.1.4" } +reth-beacon-consensus = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-blockchain-tree = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-dns-discovery = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-ecies = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-network-peers = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-prune-types = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } alloy-chains.workspace = true diff --git a/testing-tools/src/contracts/environment/uniswap.rs b/testing-tools/src/contracts/environment/uniswap.rs index 4573ca9e8..a3de12cd9 100644 --- a/testing-tools/src/contracts/environment/uniswap.rs +++ b/testing-tools/src/contracts/environment/uniswap.rs @@ -59,7 +59,8 @@ where .await? .address(); - debug!("Pool manager deployed at: {}", pool_manager_addr); + // debug!("Pool manager deployed at: {}", pool_manager_addr); + debug!("Pool manager deployed"); Ok(pool_manager_addr) } diff --git a/testing-tools/src/mocks/canon_state.rs b/testing-tools/src/mocks/canon_state.rs index 99af7b22f..9d797ce10 100644 --- a/testing-tools/src/mocks/canon_state.rs +++ b/testing-tools/src/mocks/canon_state.rs @@ -30,13 +30,8 @@ impl AnvilConsensusCanonStateNotification { ..Default::default() }; - chain.append_block( - reth_block - .with_recovered_senders() - .unwrap() - .seal(block.header.hash), - ExecutionOutcome::default() - ); + let block_with_senders = reth_block.with_recovered_senders().unwrap().seal_slow(); + chain.append_block(block_with_senders, ExecutionOutcome::default()); Arc::new(chain.clone()) } diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 260f9bd72..ddaa4db5c 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -15,8 +15,7 @@ use angstrom_types::{ controller_v_1::ControllerV1::ControllerV1Instance, mintable_mock_erc_20::MintableMockERC20, pool_gate::PoolGate::PoolGateInstance, - pool_manager::PoolManager::PoolManagerInstance, - position_fetcher::PositionFetcher::PositionFetcherInstance + pool_manager::PoolManager::PoolManagerInstance }, matching::SqrtPriceX96, testnet::InitialTestnetState From 99e362a4d2ab75955b46728e482f8d97f500f259 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 13:23:58 -0500 Subject: [PATCH 07/42] updated reth + alloy --- Cargo.lock | 1 - Cargo.toml | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fd0bc4557..58784c6ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8947,7 +8947,6 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.5#3212af2d85a54eb2076 dependencies = [ "alloy-consensus 0.9.2", "alloy-eips 0.9.2", - "alloy-network 0.9.2", "alloy-primitives 0.8.19", "alloy-rlp", "alloy-rpc-types 0.9.2", diff --git a/Cargo.toml b/Cargo.toml index 5e72e5670..7a33d63b4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,7 @@ revm = { version = "19.2.0", features = [ # reth reth = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } -reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5", default-features = false } reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } reth-trie = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } reth-storage-api = { git = "https://github.com/paradigmxyz/reth", version = "1.1.5", tag = "v1.1.5" } @@ -134,14 +134,16 @@ alloy = { version = "0.9.2", features = [ "sol-types", "contract", ] } -alloy-chains = "0.1.32" -alloy-primitives = "0.8.15" +alloy-chains = { version = "0.1.32", default-features = false } +alloy-primitives = { version = "0.8.15", default-features = false, features = [ + "map-foldhash", +] } alloy-sol-macro = "0.8.15" alloy-dyn-abi = "0.8.15" alloy-sol-types = "0.8.15" alloy-rlp = "0.3.10" alloy-rlp-derive = "0.3.8" -alloy-trie = "0.7.8" +alloy-trie = { version = "0.7.8", default-features = false } alloy-rpc-types = { version = "0.9.2", default-features = false, features = [ "eth", ] } From 7a014b9e3a49af87b6629893e9a30543fc1d3467 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 13:35:37 -0500 Subject: [PATCH 08/42] added abi --- crates/types/build.rs | 2 +- crates/types/src/contract_bindings/mod.rs | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/crates/types/build.rs b/crates/types/build.rs index 906a7b62b..2062be1dc 100644 --- a/crates/types/build.rs +++ b/crates/types/build.rs @@ -79,7 +79,7 @@ fn main() { pub mod {mod_name} {{ alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] {name}, "{path_of_contracts}" diff --git a/crates/types/src/contract_bindings/mod.rs b/crates/types/src/contract_bindings/mod.rs index 6b1b28a0b..8715e6ca3 100644 --- a/crates/types/src/contract_bindings/mod.rs +++ b/crates/types/src/contract_bindings/mod.rs @@ -2,7 +2,7 @@ pub mod angstrom { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] Angstrom, "../../contracts/out/Angstrom.sol/Angstrom.json" @@ -12,7 +12,7 @@ pub mod angstrom { pub mod controller_v_1 { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] ControllerV1, "../../contracts/out/ControllerV1.sol/ControllerV1.json" @@ -22,7 +22,7 @@ pub mod controller_v_1 { pub mod i_position_descriptor { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] IPositionDescriptor, "../../contracts/out/IPositionDescriptor.sol/IPositionDescriptor.json" @@ -32,7 +32,7 @@ pub mod i_position_descriptor { pub mod mintable_mock_erc_20 { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] MintableMockERC20, "../../contracts/out/MintableMockERC20.sol/MintableMockERC20.json" @@ -42,7 +42,7 @@ pub mod mintable_mock_erc_20 { pub mod mock_rewards_manager { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] MockRewardsManager, "../../contracts/out/MockRewardsManager.sol/MockRewardsManager.json" @@ -52,7 +52,7 @@ pub mod mock_rewards_manager { pub mod pool_gate { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] PoolGate, "../../contracts/out/PoolGate.sol/PoolGate.json" @@ -62,7 +62,7 @@ pub mod pool_gate { pub mod pool_manager { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] PoolManager, "../../contracts/out/PoolManager.sol/PoolManager.json" @@ -72,7 +72,7 @@ pub mod pool_manager { pub mod position_fetcher { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] PositionFetcher, "../../contracts/out/PositionFetcher.sol/PositionFetcher.json" @@ -82,7 +82,7 @@ pub mod position_fetcher { pub mod position_manager { alloy::sol!( #[allow(missing_docs)] - #[sol(rpc)] + #[sol(rpc, abi)] #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] PositionManager, "../../contracts/out/PositionManager.sol/PositionManager.json" From 840d1f3b4bb8966053c880e37cefdd83362dc639 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 14:23:18 -0500 Subject: [PATCH 09/42] wip --- testing-tools/src/providers/initializer.rs | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index ddaa4db5c..2ec04b25d 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -226,21 +226,21 @@ impl AnvilInitializer { tracing::info!(?pool_key, ?encoded, ?price); tracing::debug!("configuring pool"); - let configure_pool = self - .angstrom - .configurePool( - pool_key.currency0, - pool_key.currency1, - pool_key.tickSpacing.as_i32() as u16, - pool_key.fee - ) - .from(self.provider.controller()) - .nonce(nonce) - .deploy_pending() - .await?; - self.pending_state.add_pending_tx(configure_pool); - - tracing::debug!("adding to pool map"); + // let configure_pool = self + // .angstrom + // .configurePool( + // pool_key.currency0, + // pool_key.currency1, + // pool_key.tickSpacing.as_i32() as u16, + // pool_key.fee + // ) + // .from(self.provider.controller()) + // .nonce(nonce) + // .deploy_pending() + // .await?; + // self.pending_state.add_pending_tx(configure_pool); + + // tracing::debug!("adding to pool map"); let controller_configure_pool = self .controller_v1 .configurePool( From c00cf28d86343dfe8997913e48f46b27e14f7e89 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 14:26:20 -0500 Subject: [PATCH 10/42] wip --- testing-tools/src/providers/initializer.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 2ec04b25d..8cb12b31d 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -240,6 +240,8 @@ impl AnvilInitializer { // .await?; // self.pending_state.add_pending_tx(configure_pool); + let nonce = nonce - 1; + // tracing::debug!("adding to pool map"); let controller_configure_pool = self .controller_v1 From 9e25d70843d8540720c1bdef58096be111994d52 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 14:28:30 -0500 Subject: [PATCH 11/42] wip --- testing-tools/src/providers/initializer.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 8cb12b31d..b00c3d051 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -240,7 +240,7 @@ impl AnvilInitializer { // .await?; // self.pending_state.add_pending_tx(configure_pool); - let nonce = nonce - 1; + // let nonce = nonce - 1; // tracing::debug!("adding to pool map"); let controller_configure_pool = self @@ -252,7 +252,7 @@ impl AnvilInitializer { pool_key.fee ) .from(self.provider.controller()) - .nonce(nonce + 1) + .nonce(nonce + 0) .deploy_pending() .await?; self.pending_state.add_pending_tx(controller_configure_pool); @@ -262,7 +262,7 @@ impl AnvilInitializer { .angstrom .initializePool(pool_key.currency0, pool_key.currency1, store_index, *price) .from(self.provider.controller()) - .nonce(nonce + 2) + .nonce(nonce + 1) .deploy_pending() .await?; self.pending_state.add_pending_tx(i); @@ -272,7 +272,7 @@ impl AnvilInitializer { .pool_gate .tickSpacing(pool_key.tickSpacing) .from(self.provider.controller()) - .nonce(nonce + 3) + .nonce(nonce + 2) .deploy_pending() .await?; self.pending_state.add_pending_tx(pool_gate); @@ -295,7 +295,7 @@ impl AnvilInitializer { FixedBytes::<32>::default() ) .from(self.provider.controller()) - .nonce(nonce + 4 + (i as u64)) + .nonce(nonce + 3 + (i as u64)) .deploy_pending() .await?; From 2a767dcb477a13cc919e50ce698687b079728fb3 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 14:30:26 -0500 Subject: [PATCH 12/42] wip --- testing-tools/src/providers/initializer.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index b00c3d051..513171eee 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -254,8 +254,11 @@ impl AnvilInitializer { .from(self.provider.controller()) .nonce(nonce + 0) .deploy_pending() - .await?; - self.pending_state.add_pending_tx(controller_configure_pool); + .await? + .await + .unwrap(); + panic!("CREATED TX: {controller_configure_pool:?}"); + //self.pending_state.add_pending_tx(controller_configure_pool); tracing::debug!("initializing pool"); let i = self From bc0787d2acdd4bdf77fd3f806c0f29dd715b8930 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 14:39:19 -0500 Subject: [PATCH 13/42] contracts --- testing-tools/src/providers/initializer.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 513171eee..4edcf11ab 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -254,11 +254,9 @@ impl AnvilInitializer { .from(self.provider.controller()) .nonce(nonce + 0) .deploy_pending() - .await? - .await - .unwrap(); - panic!("CREATED TX: {controller_configure_pool:?}"); - //self.pending_state.add_pending_tx(controller_configure_pool); + .await?; + // panic!("CREATED TX: {controller_configure_pool:?}"); + self.pending_state.add_pending_tx(controller_configure_pool); tracing::debug!("initializing pool"); let i = self From ef386941bf3b91ed61abf856ee2db90e60f3e52c Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 14:48:00 -0500 Subject: [PATCH 14/42] contracts --- testing-tools/src/providers/initializer.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 4edcf11ab..62d34f8c0 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -253,10 +253,18 @@ impl AnvilInitializer { ) .from(self.provider.controller()) .nonce(nonce + 0) - .deploy_pending() - .await?; + .send() + .await + .unwrap() + .get_receipt() + .await + .unwrap(); + // .deploy_pending() + // .await?.await.unwrap() + + panic!("{controller_configure_pool:?}"); // panic!("CREATED TX: {controller_configure_pool:?}"); - self.pending_state.add_pending_tx(controller_configure_pool); + //self.pending_state.add_pending_tx(controller_configure_pool); tracing::debug!("initializing pool"); let i = self From 1fb14b1b488c95a4bfc25803fca6048a0cdd7287 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 14:49:26 -0500 Subject: [PATCH 15/42] contracts --- testing-tools/src/providers/initializer.rs | 34 +++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 62d34f8c0..134425e5f 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -226,19 +226,19 @@ impl AnvilInitializer { tracing::info!(?pool_key, ?encoded, ?price); tracing::debug!("configuring pool"); - // let configure_pool = self - // .angstrom - // .configurePool( - // pool_key.currency0, - // pool_key.currency1, - // pool_key.tickSpacing.as_i32() as u16, - // pool_key.fee - // ) - // .from(self.provider.controller()) - // .nonce(nonce) - // .deploy_pending() - // .await?; - // self.pending_state.add_pending_tx(configure_pool); + let configure_pool = self + .angstrom + .configurePool( + pool_key.currency0, + pool_key.currency1, + pool_key.tickSpacing.as_i32() as u16, + pool_key.fee + ) + .from(self.provider.controller()) + .nonce(nonce) + .deploy_pending() + .await?; + self.pending_state.add_pending_tx(configure_pool); // let nonce = nonce - 1; @@ -252,7 +252,7 @@ impl AnvilInitializer { pool_key.fee ) .from(self.provider.controller()) - .nonce(nonce + 0) + .nonce(nonce + 1) .send() .await .unwrap() @@ -271,7 +271,7 @@ impl AnvilInitializer { .angstrom .initializePool(pool_key.currency0, pool_key.currency1, store_index, *price) .from(self.provider.controller()) - .nonce(nonce + 1) + .nonce(nonce + 2) .deploy_pending() .await?; self.pending_state.add_pending_tx(i); @@ -281,7 +281,7 @@ impl AnvilInitializer { .pool_gate .tickSpacing(pool_key.tickSpacing) .from(self.provider.controller()) - .nonce(nonce + 2) + .nonce(nonce + 3) .deploy_pending() .await?; self.pending_state.add_pending_tx(pool_gate); @@ -304,7 +304,7 @@ impl AnvilInitializer { FixedBytes::<32>::default() ) .from(self.provider.controller()) - .nonce(nonce + 3 + (i as u64)) + .nonce(nonce + 4 + (i as u64)) .deploy_pending() .await?; From 9c962729d1a9f3a4e1d8801044f5e9cfeda681b0 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:00:54 -0500 Subject: [PATCH 16/42] contracts --- testing-tools/src/providers/initializer.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 134425e5f..d2217ba55 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -236,11 +236,16 @@ impl AnvilInitializer { ) .from(self.provider.controller()) .nonce(nonce) - .deploy_pending() - .await?; - self.pending_state.add_pending_tx(configure_pool); - - // let nonce = nonce - 1; + .send() + .await + .unwrap() + .get_receipt() + .await + .unwrap(); + panic!("{configure_pool:?}\n\n"); + // .deploy_pending() + // .await?; + // self.pending_state.add_pending_tx(configure_pool); // tracing::debug!("adding to pool map"); let controller_configure_pool = self @@ -259,11 +264,9 @@ impl AnvilInitializer { .get_receipt() .await .unwrap(); - // .deploy_pending() - // .await?.await.unwrap() + // .deploy_pending().await?; panic!("{controller_configure_pool:?}"); - // panic!("CREATED TX: {controller_configure_pool:?}"); //self.pending_state.add_pending_tx(controller_configure_pool); tracing::debug!("initializing pool"); From 5ad1b7992bdf6c9ec2a728540bbe100e8e53b80f Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:09:11 -0500 Subject: [PATCH 17/42] contracts --- .../src/contracts/environment/angstrom.rs | 23 +++++++++++++++---- testing-tools/src/providers/initializer.rs | 13 +++-------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/testing-tools/src/contracts/environment/angstrom.rs b/testing-tools/src/contracts/environment/angstrom.rs index 68e7c20eb..b3503b446 100644 --- a/testing-tools/src/contracts/environment/angstrom.rs +++ b/testing-tools/src/contracts/environment/angstrom.rs @@ -1,8 +1,10 @@ use alloy::primitives::Address; use alloy_primitives::TxHash; use angstrom_types::contract_bindings::{ - angstrom::Angstrom::AngstromInstance, controller_v_1::ControllerV1, - pool_gate::PoolGate::PoolGateInstance, position_fetcher::PositionFetcher + angstrom::Angstrom::AngstromInstance, + controller_v_1::ControllerV1::{self, ControllerV1Instance}, + pool_gate::PoolGate::PoolGateInstance, + position_fetcher::PositionFetcher }; use tracing::{debug, info}; @@ -60,22 +62,33 @@ where Ok(angstrom_addr) } - async fn deploy_controller_v1(inner: &E, angstrom: Address) -> eyre::Result
{ + async fn deploy_controller_v1(inner: &E, angstrom_addr: Address) -> eyre::Result
{ debug!("Deploying ControllerV1..."); let controller_v1_addr = *inner - .execute_then_mine(ControllerV1::deploy(inner.provider(), angstrom, inner.controller())) + .execute_then_mine(ControllerV1::deploy( + inner.provider(), + angstrom_addr, + inner.controller() + )) .await? .address(); debug!("ControllerV1 deployed at: {}", controller_v1_addr); + let angstrom = AngstromInstance::new(angstrom_addr, inner.provider()); + let _ = *angstrom + .setController(controller_v1_addr) + .from(inner.controller()) + .run_safe() + .await?; + // Set the PoolGate's hook to be our Mock debug!("Setting PoolGate hook..."); let pool_gate_instance = PoolGateInstance::new(inner.pool_gate(), inner.provider()); inner .execute_then_mine( pool_gate_instance - .setHook(angstrom) + .setHook(angstrom_addr) .from(inner.controller()) .run_safe() ) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index d2217ba55..b6ea9b32d 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -236,16 +236,9 @@ impl AnvilInitializer { ) .from(self.provider.controller()) .nonce(nonce) - .send() - .await - .unwrap() - .get_receipt() - .await - .unwrap(); - panic!("{configure_pool:?}\n\n"); - // .deploy_pending() - // .await?; - // self.pending_state.add_pending_tx(configure_pool); + .deploy_pending() + .await?; + self.pending_state.add_pending_tx(configure_pool); // tracing::debug!("adding to pool map"); let controller_configure_pool = self From c424c7b2d01b12131215155858e011d9c5adb381 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:10:58 -0500 Subject: [PATCH 18/42] contracts --- testing-tools/src/providers/initializer.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index b6ea9b32d..39976b188 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -251,16 +251,9 @@ impl AnvilInitializer { ) .from(self.provider.controller()) .nonce(nonce + 1) - .send() - .await - .unwrap() - .get_receipt() - .await - .unwrap(); - // .deploy_pending().await?; - - panic!("{controller_configure_pool:?}"); - //self.pending_state.add_pending_tx(controller_configure_pool); + .deploy_pending() + .await?; + self.pending_state.add_pending_tx(controller_configure_pool); tracing::debug!("initializing pool"); let i = self From d46df59be8271adf18e865487ef2e4979d365383 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:11:32 -0500 Subject: [PATCH 19/42] contracts --- testing-tools/src/providers/initializer.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 39976b188..b9e4b7e84 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -236,9 +236,14 @@ impl AnvilInitializer { ) .from(self.provider.controller()) .nonce(nonce) - .deploy_pending() - .await?; - self.pending_state.add_pending_tx(configure_pool); + .send() + .await + .unwrap() + .get_receipt() + .await + .unwrap(); + println!("{configure_pool:?}\n\n"); + // self.pending_state.add_pending_tx(configure_pool); // tracing::debug!("adding to pool map"); let controller_configure_pool = self From 0505a2442b02d78ba947ff0398fb499d6719da92 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:13:19 -0500 Subject: [PATCH 20/42] contracts --- testing-tools/src/providers/initializer.rs | 44 +++++++++++----------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index b9e4b7e84..089a8aa67 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -226,24 +226,24 @@ impl AnvilInitializer { tracing::info!(?pool_key, ?encoded, ?price); tracing::debug!("configuring pool"); - let configure_pool = self - .angstrom - .configurePool( - pool_key.currency0, - pool_key.currency1, - pool_key.tickSpacing.as_i32() as u16, - pool_key.fee - ) - .from(self.provider.controller()) - .nonce(nonce) - .send() - .await - .unwrap() - .get_receipt() - .await - .unwrap(); - println!("{configure_pool:?}\n\n"); - // self.pending_state.add_pending_tx(configure_pool); + // let configure_pool = self + // .angstrom + // .configurePool( + // pool_key.currency0, + // pool_key.currency1, + // pool_key.tickSpacing.as_i32() as u16, + // pool_key.fee + // ) + // .from(self.provider.controller()) + // .nonce(nonce) + // .send() + // .await + // .unwrap() + // .get_receipt() + // .await + // .unwrap(); + // println!("{configure_pool:?}\n\n"); + // // self.pending_state.add_pending_tx(configure_pool); // tracing::debug!("adding to pool map"); let controller_configure_pool = self @@ -255,7 +255,7 @@ impl AnvilInitializer { pool_key.fee ) .from(self.provider.controller()) - .nonce(nonce + 1) + .nonce(nonce + 0) .deploy_pending() .await?; self.pending_state.add_pending_tx(controller_configure_pool); @@ -265,7 +265,7 @@ impl AnvilInitializer { .angstrom .initializePool(pool_key.currency0, pool_key.currency1, store_index, *price) .from(self.provider.controller()) - .nonce(nonce + 2) + .nonce(nonce + 1) .deploy_pending() .await?; self.pending_state.add_pending_tx(i); @@ -275,7 +275,7 @@ impl AnvilInitializer { .pool_gate .tickSpacing(pool_key.tickSpacing) .from(self.provider.controller()) - .nonce(nonce + 3) + .nonce(nonce + 2) .deploy_pending() .await?; self.pending_state.add_pending_tx(pool_gate); @@ -298,7 +298,7 @@ impl AnvilInitializer { FixedBytes::<32>::default() ) .from(self.provider.controller()) - .nonce(nonce + 4 + (i as u64)) + .nonce(nonce + 3 + (i as u64)) .deploy_pending() .await?; From e0d9ebf3bc61fe8c9a80d58cac758c23fcd65afc Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:15:37 -0500 Subject: [PATCH 21/42] cleanup --- .../src/contracts/environment/angstrom.rs | 6 ++---- testing-tools/src/providers/initializer.rs | 20 ------------------- 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/testing-tools/src/contracts/environment/angstrom.rs b/testing-tools/src/contracts/environment/angstrom.rs index b3503b446..d6187b911 100644 --- a/testing-tools/src/contracts/environment/angstrom.rs +++ b/testing-tools/src/contracts/environment/angstrom.rs @@ -1,10 +1,8 @@ use alloy::primitives::Address; use alloy_primitives::TxHash; use angstrom_types::contract_bindings::{ - angstrom::Angstrom::AngstromInstance, - controller_v_1::ControllerV1::{self, ControllerV1Instance}, - pool_gate::PoolGate::PoolGateInstance, - position_fetcher::PositionFetcher + angstrom::Angstrom::AngstromInstance, controller_v_1::ControllerV1, + pool_gate::PoolGate::PoolGateInstance, position_fetcher::PositionFetcher }; use tracing::{debug, info}; diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 089a8aa67..1aec5a472 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -226,26 +226,6 @@ impl AnvilInitializer { tracing::info!(?pool_key, ?encoded, ?price); tracing::debug!("configuring pool"); - // let configure_pool = self - // .angstrom - // .configurePool( - // pool_key.currency0, - // pool_key.currency1, - // pool_key.tickSpacing.as_i32() as u16, - // pool_key.fee - // ) - // .from(self.provider.controller()) - // .nonce(nonce) - // .send() - // .await - // .unwrap() - // .get_receipt() - // .await - // .unwrap(); - // println!("{configure_pool:?}\n\n"); - // // self.pending_state.add_pending_tx(configure_pool); - - // tracing::debug!("adding to pool map"); let controller_configure_pool = self .controller_v1 .configurePool( From 62f209081bda4e7b1ba4be082bc5d6e70354baec Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:17:01 -0500 Subject: [PATCH 22/42] addresses --- testing-tools/src/contracts/environment/uniswap.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/testing-tools/src/contracts/environment/uniswap.rs b/testing-tools/src/contracts/environment/uniswap.rs index a3de12cd9..2bfd67e46 100644 --- a/testing-tools/src/contracts/environment/uniswap.rs +++ b/testing-tools/src/contracts/environment/uniswap.rs @@ -59,8 +59,7 @@ where .await? .address(); - // debug!("Pool manager deployed at: {}", pool_manager_addr); - debug!("Pool manager deployed"); + debug!("Pool manager deployed at: {}", pool_manager_addr); Ok(pool_manager_addr) } @@ -93,7 +92,8 @@ where .await?; let position_manager_addr = *position_manager.address(); - debug!("Position manager at: {}", position_manager_addr); + //debug!("Position manager deployed at: {}", position_manager_addr); + debug!("Position manager deployed"); Ok(position_manager_addr) } From 5034e5b34ed80488f132e05898d3347f6f32390d Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:23:35 -0500 Subject: [PATCH 23/42] clippy --- crates/types/src/reth_db_wrapper.rs | 6 +++--- .../src/contracts/environment/uniswap.rs | 1 - testing-tools/src/providers/initializer.rs | 18 +++--------------- 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/crates/types/src/reth_db_wrapper.rs b/crates/types/src/reth_db_wrapper.rs index 37498718d..ca6465e6a 100644 --- a/crates/types/src/reth_db_wrapper.rs +++ b/crates/types/src/reth_db_wrapper.rs @@ -196,15 +196,15 @@ where } fn account_code(&self, addr: &Address) -> reth_provider::ProviderResult> { - self.0.latest()?.account_code(&addr) + self.0.latest()?.account_code(addr) } fn account_nonce(&self, addr: &Address) -> reth_provider::ProviderResult> { - self.0.latest()?.account_nonce(&addr) + self.0.latest()?.account_nonce(addr) } fn account_balance(&self, addr: &Address) -> reth_provider::ProviderResult> { - self.0.latest()?.account_balance(&addr) + self.0.latest()?.account_balance(addr) } fn bytecode_by_hash( diff --git a/testing-tools/src/contracts/environment/uniswap.rs b/testing-tools/src/contracts/environment/uniswap.rs index 2bfd67e46..26dfdf7bb 100644 --- a/testing-tools/src/contracts/environment/uniswap.rs +++ b/testing-tools/src/contracts/environment/uniswap.rs @@ -92,7 +92,6 @@ where .await?; let position_manager_addr = *position_manager.address(); - //debug!("Position manager deployed at: {}", position_manager_addr); debug!("Position manager deployed"); Ok(position_manager_addr) } diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 1aec5a472..4b9999bd0 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -14,8 +14,7 @@ use angstrom_types::{ angstrom::Angstrom::{AngstromInstance, PoolKey}, controller_v_1::ControllerV1::ControllerV1Instance, mintable_mock_erc_20::MintableMockERC20, - pool_gate::PoolGate::PoolGateInstance, - pool_manager::PoolManager::PoolManagerInstance + pool_gate::PoolGate::PoolGateInstance }, matching::SqrtPriceX96, testnet::InitialTestnetState @@ -46,7 +45,6 @@ pub struct AnvilInitializer { controller_v1: ControllerV1Instance, angstrom: AngstromInstance, pool_gate: PoolGateInstance, - _pool_manager: PoolManagerInstance, pending_state: PendingDeployedPools } @@ -62,9 +60,6 @@ impl AnvilInitializer { tracing::info!("deployed UniV4 enviroment"); - let _pool_manager = - PoolManagerInstance::new(uniswap_env.pool_manager(), provider.provider().clone()); - tracing::debug!("deploying Angstrom enviroment"); let angstrom_env = AngstromEnv::new(uniswap_env, nodes).await?; tracing::info!("deployed Angstrom enviroment"); @@ -82,15 +77,8 @@ impl AnvilInitializer { let pending_state = PendingDeployedPools::new(); - let this = Self { - provider, - controller_v1, - angstrom_env, - angstrom, - pending_state, - _pool_manager, - pool_gate - }; + let this = + Self { provider, controller_v1, angstrom_env, angstrom, pending_state, pool_gate }; Ok((this, anvil)) } From 3849ca486d631db754d12a9e32d525640b878e0b Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:23:44 -0500 Subject: [PATCH 24/42] clippy --- testing-tools/src/providers/initializer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 4b9999bd0..2a18b1c25 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -223,7 +223,7 @@ impl AnvilInitializer { pool_key.fee ) .from(self.provider.controller()) - .nonce(nonce + 0) + .nonce(nonce) .deploy_pending() .await?; self.pending_state.add_pending_tx(controller_configure_pool); From c4bd3b5b83273068af2a81fa39d99290564c31c1 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:24:04 -0500 Subject: [PATCH 25/42] fmt --- bin/testnet/src/cli/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/testnet/src/cli/mod.rs b/bin/testnet/src/cli/mod.rs index be5d5cd51..756070c9e 100644 --- a/bin/testnet/src/cli/mod.rs +++ b/bin/testnet/src/cli/mod.rs @@ -115,4 +115,3 @@ impl TestnetSubcommmand { } } } - From 187fbd5ee3bd0c2e8ad2d36825f084136585de95 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 22 Jan 2025 15:33:03 -0500 Subject: [PATCH 26/42] fmt --- contracts/src/periphery/ControllerV1.sol | 50 ++++++--------------- contracts/test/_helpers/PositionFetcher.sol | 50 ++++++--------------- 2 files changed, 27 insertions(+), 73 deletions(-) diff --git a/contracts/src/periphery/ControllerV1.sol b/contracts/src/periphery/ControllerV1.sol index 80ed33876..acbe37d0e 100644 --- a/contracts/src/periphery/ControllerV1.sol +++ b/contracts/src/periphery/ControllerV1.sol @@ -31,17 +31,11 @@ contract ControllerV1 is Ownable2Step { event NewControllerAccepted(address indexed newController); event PoolConfigured( - address indexed asset0, - address indexed asset1, - uint16 tickSpacing, - uint24 feeInE6 + address indexed asset0, address indexed asset1, uint16 tickSpacing, uint24 feeInE6 ); event PoolRemoved( - address indexed asset0, - address indexed asset1, - int24 tickSpacing, - uint24 feeInE6 + address indexed asset0, address indexed asset1, int24 tickSpacing, uint24 feeInE6 ); event NodeAdded(address indexed node); @@ -65,10 +59,7 @@ contract ControllerV1 is Ownable2Step { mapping(StoreKey key => Pool) public pools; - constructor( - IAngstromAuth angstrom, - address initialOwner - ) Ownable(initialOwner) { + constructor(IAngstromAuth angstrom, address initialOwner) Ownable(initialOwner) { ANGSTROM = angstrom; } @@ -85,18 +76,12 @@ contract ControllerV1 is Ownable2Step { ANGSTROM.setController(msg.sender); } - function configurePool( - address asset0, - address asset1, - uint16 tickSpacing, - uint24 feeInE6 - ) external { + function configurePool(address asset0, address asset1, uint16 tickSpacing, uint24 feeInE6) + external + { _checkOwner(); if (asset0 > asset1) (asset0, asset1) = (asset1, asset0); - StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked( - asset0, - asset1 - ); + StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked(asset0, asset1); pools[key] = Pool(asset0, asset1); emit PoolConfigured(asset0, asset1, tickSpacing, feeInE6); ANGSTROM.configurePool(asset0, asset1, tickSpacing, feeInE6); @@ -106,10 +91,7 @@ contract ControllerV1 is Ownable2Step { _checkOwner(); if (asset0 > asset1) (asset0, asset1) = (asset1, asset0); - StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked( - asset0, - asset1 - ); + StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked(asset0, asset1); address configStore = _configStore(); uint256 poolIndex = 0; @@ -117,11 +99,7 @@ contract ControllerV1 is Ownable2Step { uint24 feeInE6; while (true) { - ConfigEntry entry = _getAndCheckStoreEntry( - configStore, - poolIndex, - key - ); + ConfigEntry entry = _getAndCheckStoreEntry(configStore, poolIndex, key); if (entry.matchingStoreKey(asset0, asset1)) { tickSpacing = entry.tickSpacing(); feeInE6 = entry.feeInE6(); @@ -185,11 +163,11 @@ contract ControllerV1 is Ownable2Step { } } - function _getAndCheckStoreEntry( - address configStore, - uint256 index, - StoreKey key - ) internal view returns (ConfigEntry entry) { + function _getAndCheckStoreEntry(address configStore, uint256 index, StoreKey key) + internal + view + returns (ConfigEntry entry) + { uint256 offset = STORE_HEADER_SIZE + index * ENTRY_SIZE; assembly ("memory-safe") { extcodecopy(configStore, 0x00, offset, ENTRY_SIZE) diff --git a/contracts/test/_helpers/PositionFetcher.sol b/contracts/test/_helpers/PositionFetcher.sol index 516b1b8f0..9dbccb770 100644 --- a/contracts/test/_helpers/PositionFetcher.sol +++ b/contracts/test/_helpers/PositionFetcher.sol @@ -27,12 +27,10 @@ contract PositionFetcher { uint256 internal constant _POSITION_STRUCT_SIZE = 0x80; - function getPositions( - address owner, - uint256 tokenId, - uint256 lastTokenId, - uint256 maxResults - ) public returns (uint256, uint256, Position[] memory) { + function getPositions(address owner, uint256 tokenId, uint256 lastTokenId, uint256 maxResults) + public + returns (uint256, uint256, Position[] memory) + { if (lastTokenId == 0) lastTokenId = _MANAGER.nextTokenId(); if (maxResults == 0) return (tokenId, lastTokenId, new Position[](0)); @@ -40,13 +38,7 @@ contract PositionFetcher { uint256 returnData_ptr; assembly ("memory-safe") { returnData_ptr := mload(0x40) - mstore( - 0x40, - add( - add(returnData_ptr, 0x80), - mul(maxResults, _POSITION_STRUCT_SIZE) - ) - ) + mstore(0x40, add(add(returnData_ptr, 0x80), mul(maxResults, _POSITION_STRUCT_SIZE))) mstore(add(returnData_ptr, 0x20), lastTokenId) mstore(add(returnData_ptr, 0x40), 0x60) mstore(add(returnData_ptr, 0x60), 0) @@ -59,23 +51,17 @@ contract PositionFetcher { for (; tokenId < lastTokenId; tokenId++) { address tokenOwner; assembly ("memory-safe") { - mstore(0x00, 0x6352211e /* ownerOf(uint256) */) + mstore(0x00, 0x6352211e /* ownerOf(uint256) */ ) mstore(0x20, tokenId) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) - ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) tokenOwner := mload(0x00) } if (tokenOwner != owner) continue; PositionInfo info; assembly ("memory-safe") { - mstore(0x00, 0x89097a6a /* positionInfo(uint256) */) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) - ) + mstore(0x00, 0x89097a6a /* positionInfo(uint256) */ ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) info := mload(0x00) } @@ -91,12 +77,9 @@ contract PositionFetcher { address a = _ANGSTROM; address hook; assembly ("memory-safe") { - mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */) + mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */ ) mstore(0x20, poolId) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00) - ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00)) returndatacopy(0x00, 0x80, 0x20) hook := mload(0x00) idStatus := add(eq(hook, a), 1) @@ -108,10 +91,7 @@ contract PositionFetcher { uint256 length; assembly ("memory-safe") { length := mload(add(returnData_ptr, 0x60)) - pos := add( - add(returnData_ptr, 0x80), - mul(length, _POSITION_STRUCT_SIZE) - ) + pos := add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) } pos.tokenId = tokenId; pos.tickLower = info.tickLower(); @@ -135,11 +115,7 @@ contract PositionFetcher { let length := mload(add(returnData_ptr, 0x60)) mstore(returnData_ptr, tokenId) return( - returnData_ptr, - add( - add(returnData_ptr, 0x80), - mul(length, _POSITION_STRUCT_SIZE) - ) + returnData_ptr, add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) ) } } From 260607c2c80c8aaa88822fda98e52f4b16a739cc Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 29 Jan 2025 13:42:51 -0500 Subject: [PATCH 27/42] here --- bin/testnet/src/cli/testnet.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/testnet/src/cli/testnet.rs b/bin/testnet/src/cli/testnet.rs index dbf52e513..a9e67cb67 100644 --- a/bin/testnet/src/cli/testnet.rs +++ b/bin/testnet/src/cli/testnet.rs @@ -71,7 +71,7 @@ impl AllPoolKeyInners { node_config.try_into() } } - +// impl TryInto> for AllPoolKeyInners { type Error = eyre::ErrReport; From 46620cab22f973cacf2530cf4c3d08132f608ece Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 29 Jan 2025 13:43:11 -0500 Subject: [PATCH 28/42] here --- bin/testnet/src/cli/testnet.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/testnet/src/cli/testnet.rs b/bin/testnet/src/cli/testnet.rs index a9e67cb67..dbf52e513 100644 --- a/bin/testnet/src/cli/testnet.rs +++ b/bin/testnet/src/cli/testnet.rs @@ -71,7 +71,7 @@ impl AllPoolKeyInners { node_config.try_into() } } -// + impl TryInto> for AllPoolKeyInners { type Error = eyre::ErrReport; From aa5a3c0f5dc22319905c47f236336c28a0641a28 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Wed, 29 Jan 2025 13:45:45 -0500 Subject: [PATCH 29/42] here --- .gitmodules | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitmodules b/.gitmodules index 656b2e5c0..bc8fc5c6f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,6 +10,9 @@ [submodule "contracts/lib/transient-goodies"] path = contracts/lib/transient-goodies url = https://github.com/philogy/transient-goodies +[submodule "contracts/lib/v4-core"] + path = contracts/lib/v4-core + url = https://github.com/uniswap/v4-core [submodule "contracts/lib/solmate"] path = contracts/lib/solmate url = https://github.com/transmissions11/solmate From 2247c0df48287d13d3949af6cd44eb95466f7e24 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 17:45:50 -0500 Subject: [PATCH 30/42] made types compatible --- crates/angstrom-net/src/pool_manager.rs | 5 ++- crates/order-pool/src/lib.rs | 2 +- crates/rpc/src/api/orders.rs | 3 +- crates/rpc/src/impls/orders.rs | 4 +-- crates/types/src/primitive/mod.rs | 2 ++ crates/types/src/primitive/validation.rs | 24 +++++++++++++ crates/validation/Cargo.toml | 2 +- crates/validation/src/order/mod.rs | 45 +++++++----------------- 8 files changed, 46 insertions(+), 41 deletions(-) create mode 100644 crates/types/src/primitive/validation.rs diff --git a/crates/angstrom-net/src/pool_manager.rs b/crates/angstrom-net/src/pool_manager.rs index 6fabe9495..fa614a4c9 100644 --- a/crates/angstrom-net/src/pool_manager.rs +++ b/crates/angstrom-net/src/pool_manager.rs @@ -11,7 +11,7 @@ use angstrom_eth::manager::EthEvent; use angstrom_types::{ block_sync::BlockSyncConsumer, orders::{CancelOrderRequest, OrderLocation, OrderOrigin, OrderStatus}, - primitive::{NewInitializedPool, PeerId, PoolId}, + primitive::{NewInitializedPool, OrderPoolNewOrderResult, PeerId, PoolId}, sol_bindings::grouped_orders::AllOrders }; use futures::{Future, FutureExt, StreamExt}; @@ -27,8 +27,7 @@ use tokio::sync::{ }; use tokio_stream::wrappers::{BroadcastStream, UnboundedReceiverStream}; use validation::order::{ - state::pools::AngstromPoolsTracker, OrderPoolNewOrderResult, OrderValidationResults, - OrderValidatorHandle + state::pools::AngstromPoolsTracker, OrderValidationResults, OrderValidatorHandle }; use crate::{LruCache, NetworkOrderEvent, StromMessage, StromNetworkEvent, StromNetworkHandle}; diff --git a/crates/order-pool/src/lib.rs b/crates/order-pool/src/lib.rs index 170a0624a..eb3e49bce 100644 --- a/crates/order-pool/src/lib.rs +++ b/crates/order-pool/src/lib.rs @@ -13,13 +13,13 @@ use std::future::Future; use alloy::primitives::{Address, FixedBytes, B256}; use angstrom_types::{ orders::{CancelOrderRequest, OrderLocation, OrderOrigin, OrderStatus}, + primitive::OrderPoolNewOrderResult, sol_bindings::grouped_orders::{AllOrders, OrderWithStorageData} }; pub use angstrom_utils::*; pub use config::PoolConfig; pub use order_indexer::*; use tokio_stream::wrappers::BroadcastStream; -use validation::order::OrderPoolNewOrderResult; #[derive(Debug, Clone)] pub enum PoolManagerUpdate { diff --git a/crates/rpc/src/api/orders.rs b/crates/rpc/src/api/orders.rs index b5e5a526a..82b82eae7 100644 --- a/crates/rpc/src/api/orders.rs +++ b/crates/rpc/src/api/orders.rs @@ -3,7 +3,7 @@ use std::collections::HashSet; use alloy_primitives::{Address, B256, U256}; use angstrom_types::{ orders::{CancelOrderRequest, OrderLocation, OrderStatus}, - primitive::PoolId, + primitive::{OrderPoolNewOrderResult, PoolId}, sol_bindings::grouped_orders::AllOrders }; use futures::StreamExt; @@ -12,7 +12,6 @@ use jsonrpsee::{ proc_macros::rpc }; use serde::Deserialize; -use validation::order::OrderPoolNewOrderResult; use crate::types::{OrderSubscriptionFilter, OrderSubscriptionKind}; diff --git a/crates/rpc/src/impls/orders.rs b/crates/rpc/src/impls/orders.rs index 00ed61e6a..10a27061f 100644 --- a/crates/rpc/src/impls/orders.rs +++ b/crates/rpc/src/impls/orders.rs @@ -3,14 +3,14 @@ use std::collections::HashSet; use alloy_primitives::{Address, B256}; use angstrom_types::{ orders::{CancelOrderRequest, OrderLocation, OrderOrigin, OrderStatus}, - primitive::PoolId, + primitive::{OrderPoolNewOrderResult, PoolId}, sol_bindings::grouped_orders::AllOrders }; use futures::StreamExt; use jsonrpsee::{core::RpcResult, PendingSubscriptionSink, SubscriptionMessage}; use order_pool::{OrderPoolHandle, PoolManagerUpdate}; use reth_tasks::TaskSpawner; -use validation::order::{OrderPoolNewOrderResult, OrderValidatorHandle}; +use validation::order::OrderValidatorHandle; use crate::{ api::{GasEstimateResponse, OrderApiServer}, diff --git a/crates/types/src/primitive/mod.rs b/crates/types/src/primitive/mod.rs index 2c9057a53..3f7f9e0e3 100644 --- a/crates/types/src/primitive/mod.rs +++ b/crates/types/src/primitive/mod.rs @@ -2,8 +2,10 @@ mod contract; mod peers; mod pool_state; mod signer; +mod validation; pub use contract::*; pub use peers::*; pub use pool_state::*; pub use signer::*; +pub use validation::*; diff --git a/crates/types/src/primitive/validation.rs b/crates/types/src/primitive/validation.rs new file mode 100644 index 000000000..505b458a5 --- /dev/null +++ b/crates/types/src/primitive/validation.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum OrderPoolNewOrderResult { + Valid, + Invalid, + TransitionedToBlock, + Error(String) +} + +impl OrderPoolNewOrderResult { + pub fn is_valid(&self) -> bool { + matches!(self, OrderPoolNewOrderResult::Valid) + } +} + +impl, E: std::error::Error> From> for OrderPoolNewOrderResult { + fn from(value: Result) -> Self { + match value { + Ok(v) => v.into(), + Err(e) => OrderPoolNewOrderResult::Error(e.to_string()) + } + } +} diff --git a/crates/validation/Cargo.toml b/crates/validation/Cargo.toml index 169399080..8c7341eef 100644 --- a/crates/validation/Cargo.toml +++ b/crates/validation/Cargo.toml @@ -97,7 +97,7 @@ futures.workspace = true serial_test.workspace = true tempfile.workspace = true -tracing-subscriber.workspace =true +tracing-subscriber.workspace = true # features [features] diff --git a/crates/validation/src/order/mod.rs b/crates/validation/src/order/mod.rs index 03bbbac98..453d1c017 100644 --- a/crates/validation/src/order/mod.rs +++ b/crates/validation/src/order/mod.rs @@ -3,6 +3,7 @@ use std::{fmt::Debug, future::Future, pin::Pin}; use alloy::primitives::{Address, B256, U256}; use angstrom_types::{ orders::OrderOrigin, + primitive::OrderPoolNewOrderResult, sol_bindings::{ ext::RawPoolOrder, grouped_orders::{ @@ -11,7 +12,6 @@ use angstrom_types::{ rpc_orders::TopOfBlockOrder } }; -use serde::{Deserialize, Serialize}; use sim::SimValidation; use tokio::sync::oneshot::{channel, Sender}; @@ -84,37 +84,6 @@ pub enum OrderValidationResults { TransitionedToBlock } -#[derive(Debug, Clone, Serialize, Deserialize)] -pub enum OrderPoolNewOrderResult { - Valid, - Invalid, - TransitionedToBlock, - Error(String) -} - -impl OrderPoolNewOrderResult { - pub fn is_valid(&self) -> bool { - matches!(self, OrderPoolNewOrderResult::Valid) - } -} - -impl From> - for OrderPoolNewOrderResult -{ - fn from(value: Result) -> Self { - match value { - Ok(val) => match val { - OrderValidationResults::Valid(_) => OrderPoolNewOrderResult::Valid, - OrderValidationResults::Invalid(_) => OrderPoolNewOrderResult::Invalid, - OrderValidationResults::TransitionedToBlock => { - OrderPoolNewOrderResult::TransitionedToBlock - } - }, - Err(e) => OrderPoolNewOrderResult::Error(e.to_string()) - } - } -} - impl OrderValidationResults { pub fn add_gas_cost_or_invalidate( &mut self, @@ -219,6 +188,18 @@ impl OrderValidationResults { } } +impl Into for OrderValidationResults { + fn into(self) -> OrderPoolNewOrderResult { + match self { + OrderValidationResults::Valid(_) => OrderPoolNewOrderResult::Valid, + OrderValidationResults::Invalid(_) => OrderPoolNewOrderResult::Invalid, + OrderValidationResults::TransitionedToBlock => { + OrderPoolNewOrderResult::TransitionedToBlock + } + } + } +} + pub enum OrderValidation { Limit(Sender, GroupedVanillaOrder, OrderOrigin), LimitComposable(Sender, GroupedComposableOrder, OrderOrigin), From abf11bf38af14861100afb99810b8d7c45546042 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 17:47:29 -0500 Subject: [PATCH 31/42] fixed contracts --- contracts/foundry.toml | 32 ++--- contracts/lib/forge-std | 2 +- contracts/lib/openzeppelin-contracts | 2 +- contracts/remappings.txt | 5 - contracts/src/interfaces/IHooks.sol | 8 +- contracts/src/periphery/ControllerV1.sol | 17 +++ contracts/test/_helpers/PositionFetcher.sol | 122 ------------------ .../test/_helpers/tests/PositionFetcher.t.sol | 101 --------------- 8 files changed, 38 insertions(+), 251 deletions(-) delete mode 100644 contracts/remappings.txt delete mode 100644 contracts/test/_helpers/PositionFetcher.sol delete mode 100644 contracts/test/_helpers/tests/PositionFetcher.t.sol diff --git a/contracts/foundry.toml b/contracts/foundry.toml index 34465f9cc..0de831cb9 100644 --- a/contracts/foundry.toml +++ b/contracts/foundry.toml @@ -1,18 +1,25 @@ [profile.default] -solc = "0.8.26" -bytecode_hash = "none" +solc = "0.8.26" +bytecode_hash = "none" viaIR = false optimizer_runs = 0xffffffff -verbosity = 3 +verbosity = 3 fs_permissions = [{ access = "read-write", path = ".forge-snapshots/" }] ast = true -evm_version = "cancun" +evm_version = "cancun" libs = ["lib"] ignored_error_codes = [ 2394, # Transient storage warning 3860, # Initcode size too large - 5574, # Contract size too large + 5574 # Contract size too large +] + + +remappings = [ + "solady/src/=lib/solady/src/", + "v4-core/src/=lib/v4-core/src/", + "solmate/=lib/solmate/" ] [profile.default.fmt] @@ -42,8 +49,6 @@ runs = 200 [profile.loaders] show_progress = false optimizer = true -ast = true -src = "../crates/uniswap-v4/src/uniswap/loaders" remappings = [ "solady/src/=lib/solady/src/", "v4-core/src/=lib/v4-core/src/", @@ -51,11 +56,8 @@ remappings = [ "core/src/=src/", "solmate/=lib/solmate/", ] -# remappings = [ -# "solady/src/=lib/solady/src/", -# "v4-core/src/=lib/v4-periphery/lib/v4-core/src/", -# "v4-periphery/src/=lib/v4-periphery/src/", -# "forge-std/=lib/forge-std/src", -# "solmate/=lib/solmate/", -# ] -libs = ["lib"] +ast = true +src = "../crates/uniswap-v4/src/uniswap/loaders" +libs = [ + "lib" +] diff --git a/contracts/lib/forge-std b/contracts/lib/forge-std index 0e7097750..999be66ec 160000 --- a/contracts/lib/forge-std +++ b/contracts/lib/forge-std @@ -1 +1 @@ -Subproject commit 0e7097750918380d84dd3cfdef595bee74dabb70 +Subproject commit 999be66ec94c78090087f674bbf52ce1cca12b75 diff --git a/contracts/lib/openzeppelin-contracts b/contracts/lib/openzeppelin-contracts index 69c8def5f..840c97402 160000 --- a/contracts/lib/openzeppelin-contracts +++ b/contracts/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit 69c8def5f222ff96f2b5beff05dfba996368aa79 +Subproject commit 840c974028316f3c8172c1b8e5ed67ad95e255ca diff --git a/contracts/remappings.txt b/contracts/remappings.txt deleted file mode 100644 index c500db6a5..000000000 --- a/contracts/remappings.txt +++ /dev/null @@ -1,5 +0,0 @@ -solady/src/=lib/solady/src/ -v4-core/src/=lib/v4-periphery/lib/v4-core/src/ -v4-periphery/src/=lib/v4-periphery/src/ -forge-std/=lib/forge-std/src -solmate/=lib/solmate/ diff --git a/contracts/src/interfaces/IHooks.sol b/contracts/src/interfaces/IHooks.sol index 0d10e8ea9..cb299a134 100644 --- a/contracts/src/interfaces/IHooks.sol +++ b/contracts/src/interfaces/IHooks.sol @@ -51,8 +51,7 @@ interface IAfterAddLiquidityHook { /// @param sender The initial msg.sender for the add liquidity call /// @param key The key for the pool /// @param params The parameters for adding liquidity - /// @param delta The caller's balance delta after adding liquidity; the sum of principal delta, fees accrued, and hook delta - /// @param feesAccrued The fees accrued since the last time fees were collected from this position + /// @param delta The caller's balance delta after adding liquidity /// @param hookData Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook /// @return bytes4 The function selector for the hook /// @return BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency @@ -61,7 +60,6 @@ interface IAfterAddLiquidityHook { PoolKey calldata key, IPoolManager.ModifyLiquidityParams calldata params, BalanceDelta delta, - BalanceDelta feesAccrued, bytes calldata hookData ) external returns (bytes4, BalanceDelta); } @@ -86,8 +84,7 @@ interface IAfterRemoveLiquidityHook { /// @param sender The initial msg.sender for the remove liquidity call /// @param key The key for the pool /// @param params The parameters for removing liquidity - /// @param delta The caller's balance delta after removing liquidity; the sum of principal delta, fees accrued, and hook delta - /// @param feesAccrued The fees accrued since the last time fees were collected from this position + /// @param delta The caller's balance delta after removing liquidity /// @param hookData Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook /// @return bytes4 The function selector for the hook /// @return BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency @@ -96,7 +93,6 @@ interface IAfterRemoveLiquidityHook { PoolKey calldata key, IPoolManager.ModifyLiquidityParams calldata params, BalanceDelta delta, - BalanceDelta feesAccrued, bytes calldata hookData ) external returns (bytes4, BalanceDelta); } diff --git a/contracts/src/periphery/ControllerV1.sol b/contracts/src/periphery/ControllerV1.sol index acbe37d0e..3f188e857 100644 --- a/contracts/src/periphery/ControllerV1.sol +++ b/contracts/src/periphery/ControllerV1.sol @@ -63,6 +63,23 @@ contract ControllerV1 is Ownable2Step { ANGSTROM = angstrom; } + function getAllPools(StoreKey[] calldata storeKeys) external view returns (Pool[] memory) { + Pool[] memory allPools = new Pool[](storeKeys.length); + + for (uint256 i = 0; i < storeKeys.length; i++) { + allPools[i] = pools[storeKeys[i]]; + } + + return allPools; + } + + function addPoolToMap(address asset0, address asset1) external { + _checkOwner(); + if (asset0 > asset1) (asset0, asset1) = (asset1, asset0); + StoreKey key = PoolConfigStoreLib.keyFromAssetsUnchecked(asset0, asset1); + pools[key] = Pool(asset0, asset1); + } + function setNewController(address newController) public { _checkOwner(); setController = newController; diff --git a/contracts/test/_helpers/PositionFetcher.sol b/contracts/test/_helpers/PositionFetcher.sol deleted file mode 100644 index 9dbccb770..000000000 --- a/contracts/test/_helpers/PositionFetcher.sol +++ /dev/null @@ -1,122 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import {IPositionManager} from "v4-periphery/src/interfaces/IPositionManager.sol"; -import {PositionInfo} from "v4-periphery/src/libraries/PositionInfoLibrary.sol"; - -struct Position { - uint256 tokenId; - int24 tickLower; - int24 tickUpper; - bytes25 poolId; -} - -/// @author philogy -contract PositionFetcher { - IPositionManager internal immutable _MANAGER; - address internal immutable _ANGSTROM; - - uint256 internal constant ID_UNCHECKED = 0; - uint256 internal constant ID_BAD = 1; - uint256 internal constant ID_GOOD = 2; - - constructor(IPositionManager manager, address angstrom) { - _MANAGER = manager; - _ANGSTROM = angstrom; - } - - uint256 internal constant _POSITION_STRUCT_SIZE = 0x80; - - function getPositions(address owner, uint256 tokenId, uint256 lastTokenId, uint256 maxResults) - public - returns (uint256, uint256, Position[] memory) - { - if (lastTokenId == 0) lastTokenId = _MANAGER.nextTokenId(); - - if (maxResults == 0) return (tokenId, lastTokenId, new Position[](0)); - - uint256 returnData_ptr; - assembly ("memory-safe") { - returnData_ptr := mload(0x40) - mstore(0x40, add(add(returnData_ptr, 0x80), mul(maxResults, _POSITION_STRUCT_SIZE))) - mstore(add(returnData_ptr, 0x20), lastTokenId) - mstore(add(returnData_ptr, 0x40), 0x60) - mstore(add(returnData_ptr, 0x60), 0) - } - - Position memory pos; - - address m = address(_MANAGER); - uint256 noError = 1; - for (; tokenId < lastTokenId; tokenId++) { - address tokenOwner; - assembly ("memory-safe") { - mstore(0x00, 0x6352211e /* ownerOf(uint256) */ ) - mstore(0x20, tokenId) - noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) - tokenOwner := mload(0x00) - } - if (tokenOwner != owner) continue; - - PositionInfo info; - assembly ("memory-safe") { - mstore(0x00, 0x89097a6a /* positionInfo(uint256) */ ) - noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) - info := mload(0x00) - } - - bytes25 poolId = info.poolId(); - uint256 idStatus; - assembly ("memory-safe") { - idStatus := tload(poolId) - } - - if (idStatus == ID_BAD) continue; - - if (idStatus == ID_UNCHECKED) { - address a = _ANGSTROM; - address hook; - assembly ("memory-safe") { - mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */ ) - mstore(0x20, poolId) - noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00)) - returndatacopy(0x00, 0x80, 0x20) - hook := mload(0x00) - idStatus := add(eq(hook, a), 1) - tstore(poolId, idStatus) - } - if (idStatus == ID_BAD) continue; - } - - uint256 length; - assembly ("memory-safe") { - length := mload(add(returnData_ptr, 0x60)) - pos := add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) - } - pos.tokenId = tokenId; - pos.tickLower = info.tickLower(); - pos.tickUpper = info.tickUpper(); - pos.poolId = poolId; - - assembly ("memory-safe") { - length := add(length, 1) - mstore(add(returnData_ptr, 0x60), length) - } - - if (length >= maxResults) { - tokenId++; - break; - } - } - - require(noError == 1); - - assembly ("memory-safe") { - let length := mload(add(returnData_ptr, 0x60)) - mstore(returnData_ptr, tokenId) - return( - returnData_ptr, add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) - ) - } - } -} diff --git a/contracts/test/_helpers/tests/PositionFetcher.t.sol b/contracts/test/_helpers/tests/PositionFetcher.t.sol deleted file mode 100644 index e692627e1..000000000 --- a/contracts/test/_helpers/tests/PositionFetcher.t.sol +++ /dev/null @@ -1,101 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import {BaseTest} from "test/_helpers/BaseTest.sol"; -import {PositionFetcher, Position} from "../PositionFetcher.sol"; -import {PoolId, PoolIdLibrary, PoolKey} from "v4-core/src/types/PoolId.sol"; -import {IHooks} from "v4-core/src/interfaces/IHooks.sol"; -import { - PositionManager, - PositionInfoLibrary, - PositionInfo, - IPoolManager, - IAllowanceTransfer, - IPositionDescriptor, - IWETH9 -} from "v4-periphery/src/PositionManager.sol"; - -import {console} from "forge-std/console.sol"; -import {FormatLib} from "super-sol/libraries/FormatLib.sol"; - -/// @author philogy -contract PositionFetcherTest is BaseTest { - using FormatLib for *; - using PoolIdLibrary for PoolKey; - - address angstrom = makeAddr("angstrom"); - address asset0 = makeAddr("asset0"); - address asset1 = makeAddr("asset1"); - address asset2 = makeAddr("asset2"); - - MockPositionManager pos = new MockPositionManager(); - - PoolKey pk1; - PoolKey pk2; - PoolKey pk3; - PoolKey pk4; - - function setUp() public { - pk1 = poolKey(asset0, asset1, 0); - pk2 = poolKey(asset0, asset2, 0); - pk3 = poolKey(asset0, asset1, 0); - pk3.hooks = IHooks(angstrom); - pk4 = poolKey(asset0, asset2, 0); - pk4.hooks = IHooks(angstrom); - } - - function test1() public { - address user1 = makeAddr("user1"); - address user2 = makeAddr("user2"); - - pos.mint(user1, -60, 60, pk1); - pos.mint(user1, -100, 100, pk1); - pos.mint(user2, 10, 100, pk4); - pos.mint(user2, 10, 100, pk2); - pos.mint(user1, -4000, -3400, pk3); - pos.mint(user2, -660, -60, pk3); - - PositionFetcher fetcher = new PositionFetcher(pos, angstrom); - - (uint256 end, uint256 setEnd, Position[] memory positions) = - fetcher.getPositions(user2, 1, 0, 1); - - console.log("end: %s", end); - console.log("setEnd: %s", setEnd); - console.log("positions.length: %s", positions.length); - for (uint256 i = 0; i < positions.length; i++) { - Position memory p = positions[i]; - console.log("i: %s", i); - console.log("p.tokenId: %s", p.tokenId); - console.log("tickLower: %s", p.tickLower.toStr()); - console.log("tickUpper: %s", p.tickUpper.toStr()); - console.logBytes25(p.poolId); - } - } -} - -contract MockPositionManager is - PositionManager( - IPoolManager(address(0)), - IAllowanceTransfer(address(0)), - 0, - IPositionDescriptor(address(0)), - IWETH9(address(0)) - ) -{ - function mint(address to, int24 tickLower, int24 tickUpper, PoolKey calldata poolKey) public { - uint256 tokenId; - unchecked { - tokenId = nextTokenId++; - } - _mint(to, tokenId); - - PositionInfo info = PositionInfoLibrary.initialize(poolKey, tickLower, tickUpper); - positionInfo[tokenId] = info; - - bytes25 poolId = info.poolId(); - if (poolKeys[poolId].tickSpacing == 0) { - poolKeys[poolId] = poolKey; - } - } -} From 3580f93dda9d8d67b20014932cfd5b7179ba74a0 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 17:50:09 -0500 Subject: [PATCH 32/42] updated --- crates/types/src/primitive/validation.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/types/src/primitive/validation.rs b/crates/types/src/primitive/validation.rs index 505b458a5..4d94a463c 100644 --- a/crates/types/src/primitive/validation.rs +++ b/crates/types/src/primitive/validation.rs @@ -22,3 +22,4 @@ impl, E: std::error::Error> From> for OrderPoolNewOrd } } } +// From 5caafddeee8ed33815bbd0a2c1306247aee23abc Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 17:50:12 -0500 Subject: [PATCH 33/42] updated --- crates/types/src/primitive/validation.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/crates/types/src/primitive/validation.rs b/crates/types/src/primitive/validation.rs index 4d94a463c..505b458a5 100644 --- a/crates/types/src/primitive/validation.rs +++ b/crates/types/src/primitive/validation.rs @@ -22,4 +22,3 @@ impl, E: std::error::Error> From> for OrderPoolNewOrd } } } -// From 9c301d143fb36c1f2c7af2635aaeede1b8bba4f0 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 18:28:13 -0500 Subject: [PATCH 34/42] updated contracts --- contracts/test/_helpers/PositionFetcher.sol | 146 ++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 contracts/test/_helpers/PositionFetcher.sol diff --git a/contracts/test/_helpers/PositionFetcher.sol b/contracts/test/_helpers/PositionFetcher.sol new file mode 100644 index 000000000..516b1b8f0 --- /dev/null +++ b/contracts/test/_helpers/PositionFetcher.sol @@ -0,0 +1,146 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {IPositionManager} from "v4-periphery/src/interfaces/IPositionManager.sol"; +import {PositionInfo} from "v4-periphery/src/libraries/PositionInfoLibrary.sol"; + +struct Position { + uint256 tokenId; + int24 tickLower; + int24 tickUpper; + bytes25 poolId; +} + +/// @author philogy +contract PositionFetcher { + IPositionManager internal immutable _MANAGER; + address internal immutable _ANGSTROM; + + uint256 internal constant ID_UNCHECKED = 0; + uint256 internal constant ID_BAD = 1; + uint256 internal constant ID_GOOD = 2; + + constructor(IPositionManager manager, address angstrom) { + _MANAGER = manager; + _ANGSTROM = angstrom; + } + + uint256 internal constant _POSITION_STRUCT_SIZE = 0x80; + + function getPositions( + address owner, + uint256 tokenId, + uint256 lastTokenId, + uint256 maxResults + ) public returns (uint256, uint256, Position[] memory) { + if (lastTokenId == 0) lastTokenId = _MANAGER.nextTokenId(); + + if (maxResults == 0) return (tokenId, lastTokenId, new Position[](0)); + + uint256 returnData_ptr; + assembly ("memory-safe") { + returnData_ptr := mload(0x40) + mstore( + 0x40, + add( + add(returnData_ptr, 0x80), + mul(maxResults, _POSITION_STRUCT_SIZE) + ) + ) + mstore(add(returnData_ptr, 0x20), lastTokenId) + mstore(add(returnData_ptr, 0x40), 0x60) + mstore(add(returnData_ptr, 0x60), 0) + } + + Position memory pos; + + address m = address(_MANAGER); + uint256 noError = 1; + for (; tokenId < lastTokenId; tokenId++) { + address tokenOwner; + assembly ("memory-safe") { + mstore(0x00, 0x6352211e /* ownerOf(uint256) */) + mstore(0x20, tokenId) + noError := and( + noError, + staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) + ) + tokenOwner := mload(0x00) + } + if (tokenOwner != owner) continue; + + PositionInfo info; + assembly ("memory-safe") { + mstore(0x00, 0x89097a6a /* positionInfo(uint256) */) + noError := and( + noError, + staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) + ) + info := mload(0x00) + } + + bytes25 poolId = info.poolId(); + uint256 idStatus; + assembly ("memory-safe") { + idStatus := tload(poolId) + } + + if (idStatus == ID_BAD) continue; + + if (idStatus == ID_UNCHECKED) { + address a = _ANGSTROM; + address hook; + assembly ("memory-safe") { + mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */) + mstore(0x20, poolId) + noError := and( + noError, + staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00) + ) + returndatacopy(0x00, 0x80, 0x20) + hook := mload(0x00) + idStatus := add(eq(hook, a), 1) + tstore(poolId, idStatus) + } + if (idStatus == ID_BAD) continue; + } + + uint256 length; + assembly ("memory-safe") { + length := mload(add(returnData_ptr, 0x60)) + pos := add( + add(returnData_ptr, 0x80), + mul(length, _POSITION_STRUCT_SIZE) + ) + } + pos.tokenId = tokenId; + pos.tickLower = info.tickLower(); + pos.tickUpper = info.tickUpper(); + pos.poolId = poolId; + + assembly ("memory-safe") { + length := add(length, 1) + mstore(add(returnData_ptr, 0x60), length) + } + + if (length >= maxResults) { + tokenId++; + break; + } + } + + require(noError == 1); + + assembly ("memory-safe") { + let length := mload(add(returnData_ptr, 0x60)) + mstore(returnData_ptr, tokenId) + return( + returnData_ptr, + add( + add(returnData_ptr, 0x80), + mul(length, _POSITION_STRUCT_SIZE) + ) + ) + } + } +} From d41025a734e4e7520ab317ab2c3886cc0e845d7b Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 18:32:25 -0500 Subject: [PATCH 35/42] fmt --- contracts/test/_helpers/PositionFetcher.sol | 50 ++++++--------------- 1 file changed, 13 insertions(+), 37 deletions(-) diff --git a/contracts/test/_helpers/PositionFetcher.sol b/contracts/test/_helpers/PositionFetcher.sol index 516b1b8f0..9dbccb770 100644 --- a/contracts/test/_helpers/PositionFetcher.sol +++ b/contracts/test/_helpers/PositionFetcher.sol @@ -27,12 +27,10 @@ contract PositionFetcher { uint256 internal constant _POSITION_STRUCT_SIZE = 0x80; - function getPositions( - address owner, - uint256 tokenId, - uint256 lastTokenId, - uint256 maxResults - ) public returns (uint256, uint256, Position[] memory) { + function getPositions(address owner, uint256 tokenId, uint256 lastTokenId, uint256 maxResults) + public + returns (uint256, uint256, Position[] memory) + { if (lastTokenId == 0) lastTokenId = _MANAGER.nextTokenId(); if (maxResults == 0) return (tokenId, lastTokenId, new Position[](0)); @@ -40,13 +38,7 @@ contract PositionFetcher { uint256 returnData_ptr; assembly ("memory-safe") { returnData_ptr := mload(0x40) - mstore( - 0x40, - add( - add(returnData_ptr, 0x80), - mul(maxResults, _POSITION_STRUCT_SIZE) - ) - ) + mstore(0x40, add(add(returnData_ptr, 0x80), mul(maxResults, _POSITION_STRUCT_SIZE))) mstore(add(returnData_ptr, 0x20), lastTokenId) mstore(add(returnData_ptr, 0x40), 0x60) mstore(add(returnData_ptr, 0x60), 0) @@ -59,23 +51,17 @@ contract PositionFetcher { for (; tokenId < lastTokenId; tokenId++) { address tokenOwner; assembly ("memory-safe") { - mstore(0x00, 0x6352211e /* ownerOf(uint256) */) + mstore(0x00, 0x6352211e /* ownerOf(uint256) */ ) mstore(0x20, tokenId) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) - ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) tokenOwner := mload(0x00) } if (tokenOwner != owner) continue; PositionInfo info; assembly ("memory-safe") { - mstore(0x00, 0x89097a6a /* positionInfo(uint256) */) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) - ) + mstore(0x00, 0x89097a6a /* positionInfo(uint256) */ ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) info := mload(0x00) } @@ -91,12 +77,9 @@ contract PositionFetcher { address a = _ANGSTROM; address hook; assembly ("memory-safe") { - mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */) + mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */ ) mstore(0x20, poolId) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00) - ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00)) returndatacopy(0x00, 0x80, 0x20) hook := mload(0x00) idStatus := add(eq(hook, a), 1) @@ -108,10 +91,7 @@ contract PositionFetcher { uint256 length; assembly ("memory-safe") { length := mload(add(returnData_ptr, 0x60)) - pos := add( - add(returnData_ptr, 0x80), - mul(length, _POSITION_STRUCT_SIZE) - ) + pos := add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) } pos.tokenId = tokenId; pos.tickLower = info.tickLower(); @@ -135,11 +115,7 @@ contract PositionFetcher { let length := mload(add(returnData_ptr, 0x60)) mstore(returnData_ptr, tokenId) return( - returnData_ptr, - add( - add(returnData_ptr, 0x80), - mul(length, _POSITION_STRUCT_SIZE) - ) + returnData_ptr, add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) ) } } From 4398ddda028502880e7dffaa0ac8afdd8bea25d7 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 18:37:07 -0500 Subject: [PATCH 36/42] clippy --- crates/validation/src/order/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/validation/src/order/mod.rs b/crates/validation/src/order/mod.rs index 453d1c017..7e50ad66c 100644 --- a/crates/validation/src/order/mod.rs +++ b/crates/validation/src/order/mod.rs @@ -188,9 +188,9 @@ impl OrderValidationResults { } } -impl Into for OrderValidationResults { - fn into(self) -> OrderPoolNewOrderResult { - match self { +impl From for OrderPoolNewOrderResult { + fn from(val: OrderValidationResults) -> Self { + match val { OrderValidationResults::Valid(_) => OrderPoolNewOrderResult::Valid, OrderValidationResults::Invalid(_) => OrderPoolNewOrderResult::Invalid, OrderValidationResults::TransitionedToBlock => { From d87b1a84e4712172004eba5a2fa4ba52402e2277 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 18:59:55 -0500 Subject: [PATCH 37/42] wip --- contracts/foundry.toml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/contracts/foundry.toml b/contracts/foundry.toml index 0de831cb9..4402160b2 100644 --- a/contracts/foundry.toml +++ b/contracts/foundry.toml @@ -1,25 +1,26 @@ [profile.default] -solc = "0.8.26" -bytecode_hash = "none" +solc = "0.8.26" +bytecode_hash = "none" viaIR = false optimizer_runs = 0xffffffff -verbosity = 3 +verbosity = 3 fs_permissions = [{ access = "read-write", path = ".forge-snapshots/" }] ast = true -evm_version = "cancun" +evm_version = "cancun" libs = ["lib"] ignored_error_codes = [ 2394, # Transient storage warning 3860, # Initcode size too large - 5574 # Contract size too large + 5574, # Contract size too large ] remappings = [ "solady/src/=lib/solady/src/", "v4-core/src/=lib/v4-core/src/", - "solmate/=lib/solmate/" + "v4-periphery/src/=lib/v4-periphery/src/", + "solmate/=lib/solmate/", ] [profile.default.fmt] @@ -52,12 +53,11 @@ optimizer = true remappings = [ "solady/src/=lib/solady/src/", "v4-core/src/=lib/v4-core/src/", + "v4-periphery/src/=lib/v4-periphery/src/", "forge-std/=lib/forge-std/src", "core/src/=src/", "solmate/=lib/solmate/", ] ast = true src = "../crates/uniswap-v4/src/uniswap/loaders" -libs = [ - "lib" -] +libs = ["lib"] From ce1c4784968bf6af8bbe6f39ec7e803f5665c603 Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 19:04:07 -0500 Subject: [PATCH 38/42] wip --- contracts/foundry.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/foundry.toml b/contracts/foundry.toml index 4402160b2..96ffa60ac 100644 --- a/contracts/foundry.toml +++ b/contracts/foundry.toml @@ -19,7 +19,7 @@ ignored_error_codes = [ remappings = [ "solady/src/=lib/solady/src/", "v4-core/src/=lib/v4-core/src/", - "v4-periphery/src/=lib/v4-periphery/src/", + # "v4-periphery/src/=lib/v4-periphery/src/", "solmate/=lib/solmate/", ] @@ -53,7 +53,7 @@ optimizer = true remappings = [ "solady/src/=lib/solady/src/", "v4-core/src/=lib/v4-core/src/", - "v4-periphery/src/=lib/v4-periphery/src/", + # "v4-periphery/src/=lib/v4-periphery/src/", "forge-std/=lib/forge-std/src", "core/src/=src/", "solmate/=lib/solmate/", From 545b5795a6db3a830832ab2d9cf7f6a71a2b32dd Mon Sep 17 00:00:00 2001 From: Will Smith Date: Thu, 30 Jan 2025 19:28:39 -0500 Subject: [PATCH 39/42] fix --- contracts/test/Angstrom.t.sol | 10 ++++++++-- crates/types/src/contract_bindings/mod.rs | 20 -------------------- testing-tools/src/providers/initializer.rs | 2 +- 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/contracts/test/Angstrom.t.sol b/contracts/test/Angstrom.t.sol index 0fa4dfbc2..a732d7e4d 100644 --- a/contracts/test/Angstrom.t.sol +++ b/contracts/test/Angstrom.t.sol @@ -15,6 +15,8 @@ import {MockERC20} from "super-sol/mocks/MockERC20.sol"; import {IHooks} from "v4-core/src/interfaces/IHooks.sol"; import {Hooks} from "v4-core/src/libraries/Hooks.sol"; +// to force compile +import {IPositionDescriptor} from "v4-periphery/src/interfaces/IPositionDescriptor.sol"; import {console} from "forge-std/console.sol"; /// @author philogy @@ -35,7 +37,9 @@ contract AngstromTest is BaseTest { function setUp() public { uni = new PoolManager(address(0)); - angstrom = Angstrom(deployAngstrom(type(Angstrom).creationCode, uni, controller)); + angstrom = Angstrom( + deployAngstrom(type(Angstrom).creationCode, uni, controller) + ); domainSeparator = computeDomainSeparator(address(angstrom)); vm.prank(controller); @@ -106,7 +110,9 @@ contract AngstromTest is BaseTest { bundle.assets[1].take += 10.0e18; bundle.assets[1].settle += 10.0e18; - bytes memory payload = bundle.encode(rawGetConfigStore(address(angstrom))); + bytes memory payload = bundle.encode( + rawGetConfigStore(address(angstrom)) + ); vm.prank(node); angstrom.execute(payload); } diff --git a/crates/types/src/contract_bindings/mod.rs b/crates/types/src/contract_bindings/mod.rs index 8715e6ca3..10289431f 100644 --- a/crates/types/src/contract_bindings/mod.rs +++ b/crates/types/src/contract_bindings/mod.rs @@ -19,16 +19,6 @@ pub mod controller_v_1 { ); } #[rustfmt::skip] -pub mod i_position_descriptor { - alloy::sol!( - #[allow(missing_docs)] - #[sol(rpc, abi)] - #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] - IPositionDescriptor, - "../../contracts/out/IPositionDescriptor.sol/IPositionDescriptor.json" - ); -} -#[rustfmt::skip] pub mod mintable_mock_erc_20 { alloy::sol!( #[allow(missing_docs)] @@ -78,13 +68,3 @@ pub mod position_fetcher { "../../contracts/out/PositionFetcher.sol/PositionFetcher.json" ); } -#[rustfmt::skip] -pub mod position_manager { - alloy::sol!( - #[allow(missing_docs)] - #[sol(rpc, abi)] - #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] - PositionManager, - "../../contracts/out/PositionManager.sol/PositionManager.json" - ); -} diff --git a/testing-tools/src/providers/initializer.rs b/testing-tools/src/providers/initializer.rs index 3fe037411..29872bf2f 100644 --- a/testing-tools/src/providers/initializer.rs +++ b/testing-tools/src/providers/initializer.rs @@ -70,7 +70,7 @@ impl AnvilInitializer { let pool_gate = PoolGateInstance::new(angstrom_env.pool_gate(), angstrom_env.provider().clone()); - let _controller_v1 = ControllerV1Instance::new( + let controller_v1 = ControllerV1Instance::new( angstrom_env.controller_v1(), angstrom_env.provider().clone() ); From 5f6dbe0f6a15996ce486f4f1f5fed37b52fa2168 Mon Sep 17 00:00:00 2001 From: Will Smith Date: Thu, 30 Jan 2025 19:30:32 -0500 Subject: [PATCH 40/42] fix --- contracts/test/_helpers/PositionFetcher.sol | 52 +++++++++++++++------ crates/types/src/contract_bindings/mod.rs | 10 ++++ 2 files changed, 49 insertions(+), 13 deletions(-) diff --git a/contracts/test/_helpers/PositionFetcher.sol b/contracts/test/_helpers/PositionFetcher.sol index 9dbccb770..959a18bca 100644 --- a/contracts/test/_helpers/PositionFetcher.sol +++ b/contracts/test/_helpers/PositionFetcher.sol @@ -2,6 +2,8 @@ pragma solidity ^0.8.0; import {IPositionManager} from "v4-periphery/src/interfaces/IPositionManager.sol"; +// force compile for backend +import {PositionManager} from "v4-periphery/src/PositionManager.sol"; import {PositionInfo} from "v4-periphery/src/libraries/PositionInfoLibrary.sol"; struct Position { @@ -27,10 +29,12 @@ contract PositionFetcher { uint256 internal constant _POSITION_STRUCT_SIZE = 0x80; - function getPositions(address owner, uint256 tokenId, uint256 lastTokenId, uint256 maxResults) - public - returns (uint256, uint256, Position[] memory) - { + function getPositions( + address owner, + uint256 tokenId, + uint256 lastTokenId, + uint256 maxResults + ) public returns (uint256, uint256, Position[] memory) { if (lastTokenId == 0) lastTokenId = _MANAGER.nextTokenId(); if (maxResults == 0) return (tokenId, lastTokenId, new Position[](0)); @@ -38,7 +42,13 @@ contract PositionFetcher { uint256 returnData_ptr; assembly ("memory-safe") { returnData_ptr := mload(0x40) - mstore(0x40, add(add(returnData_ptr, 0x80), mul(maxResults, _POSITION_STRUCT_SIZE))) + mstore( + 0x40, + add( + add(returnData_ptr, 0x80), + mul(maxResults, _POSITION_STRUCT_SIZE) + ) + ) mstore(add(returnData_ptr, 0x20), lastTokenId) mstore(add(returnData_ptr, 0x40), 0x60) mstore(add(returnData_ptr, 0x60), 0) @@ -51,17 +61,23 @@ contract PositionFetcher { for (; tokenId < lastTokenId; tokenId++) { address tokenOwner; assembly ("memory-safe") { - mstore(0x00, 0x6352211e /* ownerOf(uint256) */ ) + mstore(0x00, 0x6352211e /* ownerOf(uint256) */) mstore(0x20, tokenId) - noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) + noError := and( + noError, + staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) + ) tokenOwner := mload(0x00) } if (tokenOwner != owner) continue; PositionInfo info; assembly ("memory-safe") { - mstore(0x00, 0x89097a6a /* positionInfo(uint256) */ ) - noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) + mstore(0x00, 0x89097a6a /* positionInfo(uint256) */) + noError := and( + noError, + staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) + ) info := mload(0x00) } @@ -77,9 +93,12 @@ contract PositionFetcher { address a = _ANGSTROM; address hook; assembly ("memory-safe") { - mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */ ) + mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */) mstore(0x20, poolId) - noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00)) + noError := and( + noError, + staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00) + ) returndatacopy(0x00, 0x80, 0x20) hook := mload(0x00) idStatus := add(eq(hook, a), 1) @@ -91,7 +110,10 @@ contract PositionFetcher { uint256 length; assembly ("memory-safe") { length := mload(add(returnData_ptr, 0x60)) - pos := add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) + pos := add( + add(returnData_ptr, 0x80), + mul(length, _POSITION_STRUCT_SIZE) + ) } pos.tokenId = tokenId; pos.tickLower = info.tickLower(); @@ -115,7 +137,11 @@ contract PositionFetcher { let length := mload(add(returnData_ptr, 0x60)) mstore(returnData_ptr, tokenId) return( - returnData_ptr, add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) + returnData_ptr, + add( + add(returnData_ptr, 0x80), + mul(length, _POSITION_STRUCT_SIZE) + ) ) } } diff --git a/crates/types/src/contract_bindings/mod.rs b/crates/types/src/contract_bindings/mod.rs index 10289431f..f90b9037f 100644 --- a/crates/types/src/contract_bindings/mod.rs +++ b/crates/types/src/contract_bindings/mod.rs @@ -19,6 +19,16 @@ pub mod controller_v_1 { ); } #[rustfmt::skip] +pub mod i_position_descriptor { + alloy::sol!( + #[allow(missing_docs)] + #[sol(rpc, abi)] + #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] + IPositionDescriptor, + "../../contracts/out/IPositionDescriptor.sol/IPositionDescriptor.json" + ); +} +#[rustfmt::skip] pub mod mintable_mock_erc_20 { alloy::sol!( #[allow(missing_docs)] From 266de95d5a54307d0dbfd4f211724c18cde234e4 Mon Sep 17 00:00:00 2001 From: Will Smith Date: Thu, 30 Jan 2025 19:31:47 -0500 Subject: [PATCH 41/42] fix contract fmt --- contracts/test/Angstrom.t.sol | 8 +--- contracts/test/_helpers/PositionFetcher.sol | 50 ++++++--------------- crates/types/src/contract_bindings/mod.rs | 10 +++++ 3 files changed, 25 insertions(+), 43 deletions(-) diff --git a/contracts/test/Angstrom.t.sol b/contracts/test/Angstrom.t.sol index a732d7e4d..70fe3e408 100644 --- a/contracts/test/Angstrom.t.sol +++ b/contracts/test/Angstrom.t.sol @@ -37,9 +37,7 @@ contract AngstromTest is BaseTest { function setUp() public { uni = new PoolManager(address(0)); - angstrom = Angstrom( - deployAngstrom(type(Angstrom).creationCode, uni, controller) - ); + angstrom = Angstrom(deployAngstrom(type(Angstrom).creationCode, uni, controller)); domainSeparator = computeDomainSeparator(address(angstrom)); vm.prank(controller); @@ -110,9 +108,7 @@ contract AngstromTest is BaseTest { bundle.assets[1].take += 10.0e18; bundle.assets[1].settle += 10.0e18; - bytes memory payload = bundle.encode( - rawGetConfigStore(address(angstrom)) - ); + bytes memory payload = bundle.encode(rawGetConfigStore(address(angstrom))); vm.prank(node); angstrom.execute(payload); } diff --git a/contracts/test/_helpers/PositionFetcher.sol b/contracts/test/_helpers/PositionFetcher.sol index 959a18bca..27f26b007 100644 --- a/contracts/test/_helpers/PositionFetcher.sol +++ b/contracts/test/_helpers/PositionFetcher.sol @@ -29,12 +29,10 @@ contract PositionFetcher { uint256 internal constant _POSITION_STRUCT_SIZE = 0x80; - function getPositions( - address owner, - uint256 tokenId, - uint256 lastTokenId, - uint256 maxResults - ) public returns (uint256, uint256, Position[] memory) { + function getPositions(address owner, uint256 tokenId, uint256 lastTokenId, uint256 maxResults) + public + returns (uint256, uint256, Position[] memory) + { if (lastTokenId == 0) lastTokenId = _MANAGER.nextTokenId(); if (maxResults == 0) return (tokenId, lastTokenId, new Position[](0)); @@ -42,13 +40,7 @@ contract PositionFetcher { uint256 returnData_ptr; assembly ("memory-safe") { returnData_ptr := mload(0x40) - mstore( - 0x40, - add( - add(returnData_ptr, 0x80), - mul(maxResults, _POSITION_STRUCT_SIZE) - ) - ) + mstore(0x40, add(add(returnData_ptr, 0x80), mul(maxResults, _POSITION_STRUCT_SIZE))) mstore(add(returnData_ptr, 0x20), lastTokenId) mstore(add(returnData_ptr, 0x40), 0x60) mstore(add(returnData_ptr, 0x60), 0) @@ -61,23 +53,17 @@ contract PositionFetcher { for (; tokenId < lastTokenId; tokenId++) { address tokenOwner; assembly ("memory-safe") { - mstore(0x00, 0x6352211e /* ownerOf(uint256) */) + mstore(0x00, 0x6352211e /* ownerOf(uint256) */ ) mstore(0x20, tokenId) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) - ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) tokenOwner := mload(0x00) } if (tokenOwner != owner) continue; PositionInfo info; assembly ("memory-safe") { - mstore(0x00, 0x89097a6a /* positionInfo(uint256) */) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) - ) + mstore(0x00, 0x89097a6a /* positionInfo(uint256) */ ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) info := mload(0x00) } @@ -93,12 +79,9 @@ contract PositionFetcher { address a = _ANGSTROM; address hook; assembly ("memory-safe") { - mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */) + mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */ ) mstore(0x20, poolId) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00) - ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00)) returndatacopy(0x00, 0x80, 0x20) hook := mload(0x00) idStatus := add(eq(hook, a), 1) @@ -110,10 +93,7 @@ contract PositionFetcher { uint256 length; assembly ("memory-safe") { length := mload(add(returnData_ptr, 0x60)) - pos := add( - add(returnData_ptr, 0x80), - mul(length, _POSITION_STRUCT_SIZE) - ) + pos := add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) } pos.tokenId = tokenId; pos.tickLower = info.tickLower(); @@ -137,11 +117,7 @@ contract PositionFetcher { let length := mload(add(returnData_ptr, 0x60)) mstore(returnData_ptr, tokenId) return( - returnData_ptr, - add( - add(returnData_ptr, 0x80), - mul(length, _POSITION_STRUCT_SIZE) - ) + returnData_ptr, add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) ) } } diff --git a/crates/types/src/contract_bindings/mod.rs b/crates/types/src/contract_bindings/mod.rs index f90b9037f..8715e6ca3 100644 --- a/crates/types/src/contract_bindings/mod.rs +++ b/crates/types/src/contract_bindings/mod.rs @@ -78,3 +78,13 @@ pub mod position_fetcher { "../../contracts/out/PositionFetcher.sol/PositionFetcher.json" ); } +#[rustfmt::skip] +pub mod position_manager { + alloy::sol!( + #[allow(missing_docs)] + #[sol(rpc, abi)] + #[derive(Debug, Default, PartialEq, Eq,Hash, serde::Serialize, serde::Deserialize)] + PositionManager, + "../../contracts/out/PositionManager.sol/PositionManager.json" + ); +} From ae11d97e4b49029f6661c33c40ce5a59d96763de Mon Sep 17 00:00:00 2001 From: jnoorchashm37 Date: Thu, 30 Jan 2025 19:31:58 -0500 Subject: [PATCH 42/42] forge --- contracts/lib/solady | 2 +- contracts/lib/super-sol | 2 +- contracts/lib/v4-periphery | 2 +- contracts/test/Angstrom.t.sol | 8 +--- contracts/test/_helpers/PositionFetcher.sol | 50 ++++++--------------- 5 files changed, 18 insertions(+), 46 deletions(-) diff --git a/contracts/lib/solady b/contracts/lib/solady index d467eb6a6..4c8be46db 160000 --- a/contracts/lib/solady +++ b/contracts/lib/solady @@ -1 +1 @@ -Subproject commit d467eb6a62c77c25d977baa0e513bf1b4a5f1e6c +Subproject commit 4c8be46dbc8d2d319cc6acf058a6aa79c0b78eb1 diff --git a/contracts/lib/super-sol b/contracts/lib/super-sol index 18a16bef4..b1e4fa0ee 160000 --- a/contracts/lib/super-sol +++ b/contracts/lib/super-sol @@ -1 +1 @@ -Subproject commit 18a16bef41de90aa611eed2d7939e9113cb98cc9 +Subproject commit b1e4fa0ee2d25a6e7cb86284c59aef2c0a2a27a0 diff --git a/contracts/lib/v4-periphery b/contracts/lib/v4-periphery index 4d85e047e..44ecd1603 160000 --- a/contracts/lib/v4-periphery +++ b/contracts/lib/v4-periphery @@ -1 +1 @@ -Subproject commit 4d85e047e321d0c02134fec9044879c0cd00ea7d +Subproject commit 44ecd1603aa88d03c822412fd99b44f2f65810df diff --git a/contracts/test/Angstrom.t.sol b/contracts/test/Angstrom.t.sol index a732d7e4d..70fe3e408 100644 --- a/contracts/test/Angstrom.t.sol +++ b/contracts/test/Angstrom.t.sol @@ -37,9 +37,7 @@ contract AngstromTest is BaseTest { function setUp() public { uni = new PoolManager(address(0)); - angstrom = Angstrom( - deployAngstrom(type(Angstrom).creationCode, uni, controller) - ); + angstrom = Angstrom(deployAngstrom(type(Angstrom).creationCode, uni, controller)); domainSeparator = computeDomainSeparator(address(angstrom)); vm.prank(controller); @@ -110,9 +108,7 @@ contract AngstromTest is BaseTest { bundle.assets[1].take += 10.0e18; bundle.assets[1].settle += 10.0e18; - bytes memory payload = bundle.encode( - rawGetConfigStore(address(angstrom)) - ); + bytes memory payload = bundle.encode(rawGetConfigStore(address(angstrom))); vm.prank(node); angstrom.execute(payload); } diff --git a/contracts/test/_helpers/PositionFetcher.sol b/contracts/test/_helpers/PositionFetcher.sol index 959a18bca..27f26b007 100644 --- a/contracts/test/_helpers/PositionFetcher.sol +++ b/contracts/test/_helpers/PositionFetcher.sol @@ -29,12 +29,10 @@ contract PositionFetcher { uint256 internal constant _POSITION_STRUCT_SIZE = 0x80; - function getPositions( - address owner, - uint256 tokenId, - uint256 lastTokenId, - uint256 maxResults - ) public returns (uint256, uint256, Position[] memory) { + function getPositions(address owner, uint256 tokenId, uint256 lastTokenId, uint256 maxResults) + public + returns (uint256, uint256, Position[] memory) + { if (lastTokenId == 0) lastTokenId = _MANAGER.nextTokenId(); if (maxResults == 0) return (tokenId, lastTokenId, new Position[](0)); @@ -42,13 +40,7 @@ contract PositionFetcher { uint256 returnData_ptr; assembly ("memory-safe") { returnData_ptr := mload(0x40) - mstore( - 0x40, - add( - add(returnData_ptr, 0x80), - mul(maxResults, _POSITION_STRUCT_SIZE) - ) - ) + mstore(0x40, add(add(returnData_ptr, 0x80), mul(maxResults, _POSITION_STRUCT_SIZE))) mstore(add(returnData_ptr, 0x20), lastTokenId) mstore(add(returnData_ptr, 0x40), 0x60) mstore(add(returnData_ptr, 0x60), 0) @@ -61,23 +53,17 @@ contract PositionFetcher { for (; tokenId < lastTokenId; tokenId++) { address tokenOwner; assembly ("memory-safe") { - mstore(0x00, 0x6352211e /* ownerOf(uint256) */) + mstore(0x00, 0x6352211e /* ownerOf(uint256) */ ) mstore(0x20, tokenId) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) - ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) tokenOwner := mload(0x00) } if (tokenOwner != owner) continue; PositionInfo info; assembly ("memory-safe") { - mstore(0x00, 0x89097a6a /* positionInfo(uint256) */) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20) - ) + mstore(0x00, 0x89097a6a /* positionInfo(uint256) */ ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x20)) info := mload(0x00) } @@ -93,12 +79,9 @@ contract PositionFetcher { address a = _ANGSTROM; address hook; assembly ("memory-safe") { - mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */) + mstore(0x00, 0x86b6be7d /* poolKeys(bytes25) */ ) mstore(0x20, poolId) - noError := and( - noError, - staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00) - ) + noError := and(noError, staticcall(gas(), m, 0x1c, 0x24, 0x00, 0x00)) returndatacopy(0x00, 0x80, 0x20) hook := mload(0x00) idStatus := add(eq(hook, a), 1) @@ -110,10 +93,7 @@ contract PositionFetcher { uint256 length; assembly ("memory-safe") { length := mload(add(returnData_ptr, 0x60)) - pos := add( - add(returnData_ptr, 0x80), - mul(length, _POSITION_STRUCT_SIZE) - ) + pos := add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) } pos.tokenId = tokenId; pos.tickLower = info.tickLower(); @@ -137,11 +117,7 @@ contract PositionFetcher { let length := mload(add(returnData_ptr, 0x60)) mstore(returnData_ptr, tokenId) return( - returnData_ptr, - add( - add(returnData_ptr, 0x80), - mul(length, _POSITION_STRUCT_SIZE) - ) + returnData_ptr, add(add(returnData_ptr, 0x80), mul(length, _POSITION_STRUCT_SIZE)) ) } }