From bbf7b970ebf77fd1a1eb4096a2f08b25492d8493 Mon Sep 17 00:00:00 2001 From: evalir Date: Tue, 20 Jan 2026 15:10:45 +0100 Subject: [PATCH 1/3] chore(deps): `Cargo update` Inherits the new trevm version with several fixes. --- Cargo.lock | 145 +++++++++++++++++++++++++++-------------------------- 1 file changed, 73 insertions(+), 72 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7256397..bc25bb8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -97,9 +97,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f609fb6392508278b276906d6247ea44f5777e448db95444fa39e89b7aee896a" +checksum = "e502b004e05578e537ce0284843ba3dfaf6a0d5c530f5c20454411aded561289" dependencies = [ "alloy-consensus", "alloy-contract", @@ -139,9 +139,9 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dcd2b4e208ce5477de90ccdcbd4bde2c8fb06af49a443974e92bb8f2c5e93f" +checksum = "5c3a590d13de3944675987394715f37537b50b856e3b23a0e66e97d963edbf38" dependencies = [ "alloy-eips", "alloy-primitives", @@ -167,9 +167,9 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee5655f234985f5ab1e31bef7e02ed11f0a899468cf3300e061e1b96e9e11de0" +checksum = "0f28f769d5ea999f0d8a105e434f483456a15b4e1fcb08edbbbe1650a497ff6d" dependencies = [ "alloy-consensus", "alloy-eips", @@ -182,9 +182,9 @@ dependencies = [ [[package]] name = "alloy-contract" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f01b6d8e5b4f3222aaf7f18613a7292e2fbc9163fe120649cd1b078ca534349" +checksum = "990fa65cd132a99d3c3795a82b9f93ec82b81c7de3bab0bf26ca5c73286f7186" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -283,9 +283,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6847d641141b92a1557094aa6c236cbe49c06fb24144d4a21fe6acb970c15888" +checksum = "09535cbc646b0e0c6fcc12b7597eaed12cf86dff4c4fba9507a61e71b94f30eb" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -331,9 +331,9 @@ dependencies = [ [[package]] name = "alloy-genesis" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe3192fca2eb0b0c4b122b3c2d8254496b88a4e810558dddd3ea2f30ad9469df" +checksum = "1005520ccf89fa3d755e46c1d992a9e795466c2e7921be2145ef1f749c5727de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -385,9 +385,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ab3330e491053e9608b2a315f147357bb8acb9377a988c1203f2e8e2b296c9" +checksum = "72b626409c98ba43aaaa558361bca21440c88fd30df7542c7484b9c7a1489cdb" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -400,9 +400,9 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e22ff194b1e34b4defd1e257e3fe4dce0eee37451c7757a1510d6b23e7379a" +checksum = "89924fdcfeee0e0fa42b1f10af42f92802b5d16be614a70897382565663bf7cf" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -426,9 +426,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a6cbb9f431bdad294eebb5af9b293d6979e633bfe5468d1e87c1421a858265" +checksum = "0f0dbe56ff50065713ff8635d8712a0895db3ad7f209db9793ad8fcb6b1734aa" dependencies = [ "alloy-consensus", "alloy-eips", @@ -439,9 +439,9 @@ dependencies = [ [[package]] name = "alloy-node-bindings" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9e5dae7d2be44904dba55bb8b538e5de89fdb9e50b3f0f163277b729285011" +checksum = "287de64d2236ca3f36b5eb03a39903f62a74848ae78a6ec9d0255eebb714f077" dependencies = [ "alloy-genesis", "alloy-hardforks 0.2.13", @@ -450,6 +450,7 @@ dependencies = [ "alloy-signer", "alloy-signer-local", "k256", + "libc", "rand 0.8.5", "serde_json", "tempfile", @@ -491,9 +492,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f5dde1abc3d582e53d139904fcdd8b2103f0bd03e8f2acb4292edbbaeaa7e6e" +checksum = "8b56f7a77513308a21a2ba0e9d57785a9d9d2d609e77f4e71a78a1192b83ff2d" dependencies = [ "alloy-chains", "alloy-consensus", @@ -525,7 +526,7 @@ dependencies = [ "futures", "futures-utils-wasm", "http 1.4.0", - "lru 0.13.0", + "lru 0.16.3", "parking_lot", "pin-project", "reqwest", @@ -540,9 +541,9 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbfe0a3c553a027f722185fb574124d205147fffb309cae52d0a2094f076887" +checksum = "94813abbd7baa30c700ea02e7f92319dbcb03bff77aeea92a3a9af7ba19c5c70" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -584,9 +585,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a94bdef2710322c6770be08689fee0878c2ad75615b8fc40e05d7f3c9618c0b" +checksum = "ff01723afc25ec4c5b04de399155bef7b6a96dfde2475492b1b7b4e7a4f46445" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -610,9 +611,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "811a573c8080e1b492d488e6a240ec5dd7677d7167e91ce9cb4d0ec1fcac8027" +checksum = "f91bf006bb06b7d812591b6ac33395cb92f46c6a65cda11ee30b348338214f0f" dependencies = [ "alloy-primitives", "alloy-rpc-types-anvil", @@ -641,9 +642,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "838ca94be532a929f27961851000ec8bbbaeb06e2a2bcca44fac7855a2fe0f6f" +checksum = "7e82145856df8abb1fefabef58cdec0f7d9abf337d4abd50c1ed7e581634acdd" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -653,9 +654,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12df0b34551ca2eab8ec83b56cb709ee5da991737282180d354a659b907f00dc" +checksum = "212ca1c1dab27f531d3858f8b1a2d6bfb2da664be0c1083971078eb7b71abe4b" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", @@ -664,9 +665,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-beacon" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32598a2443750a2e884c1b48efccaeeaae75e7eb4e0f13df9146b78107b4c301" +checksum = "6d92a9b4b268fac505ef7fb1dac9bb129d4fd7de7753f22a5b6e9f666f7f7de6" dependencies = [ "alloy-eips", "alloy-primitives", @@ -684,9 +685,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-debug" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49a3a168a5bf18f1cf7ed5723a650aebe714edf7665b53dacf5707716733d0" +checksum = "bab1ebed118b701c497e6541d2d11dfa6f3c6ae31a3c52999daa802fcdcc16b7" dependencies = [ "alloy-primitives", "derive_more", @@ -696,9 +697,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe16cd1dea6089902ec609e04261a9ae6d11ec66005ba24c1f97f0eefbc0fa9" +checksum = "232f00fcbcd3ee3b9399b96223a8fc884d17742a70a44f9d7cef275f93e6e872" dependencies = [ "alloy-consensus", "alloy-eips", @@ -717,9 +718,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f9f130511b8632686dfe6f9909b38d7ae4c68de3ce17d28991400646a39b25" +checksum = "5715d0bf7efbd360873518bd9f6595762136b5327a9b759a8c42ccd9b5e44945" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -739,9 +740,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-mev" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdeb95f21ba043cbbbc074f7af9c7bb22e2727de02dc3fe95d5ae963a96767a6" +checksum = "c7b61941d2add2ee64646612d3eda92cbbde8e6c933489760b6222c8898c79be" dependencies = [ "alloy-consensus", "alloy-eips", @@ -754,9 +755,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cafe859944638c5d57d1a3a0034cdb5d07c98c37de8adce5508f28834acf958f" +checksum = "9763cc931a28682bd4b9a68af90057b0fbe80e2538a82251afd69d7ae00bbebf" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -768,9 +769,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-txpool" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afaa06544e36f223b99b1415a12911230fd527994f020736c3c7950d5080208e" +checksum = "359a8caaa98cb49eed62d03f5bc511dd6dd5dee292238e8627a6e5690156df0f" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -780,9 +781,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "067b718d2e6ac1bb889341fcc7a250cfa49bcd3ba4f23923f1c1eb1f2b10cb7c" +checksum = "5ed8531cae8d21ee1c6571d0995f8c9f0652a6ef6452fde369283edea6ab7138" dependencies = [ "alloy-primitives", "arbitrary", @@ -792,9 +793,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acff6b251740ef473932386d3b71657d3825daebf2217fb41a7ef676229225d4" +checksum = "fb10ccd49d0248df51063fce6b716f68a315dd912d55b32178c883fd48b4021d" dependencies = [ "alloy-primitives", "async-trait", @@ -807,9 +808,9 @@ dependencies = [ [[package]] name = "alloy-signer-aws" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4111255269e2d96b7e064ffa98f94ebc51c8e18d43501a10808c316e6d5a4d6" +checksum = "e4e8f1e3be115a00199cd6613f36cac93b5be965e65d57b125f22008bcfad6f2" dependencies = [ "alloy-consensus", "alloy-network", @@ -826,9 +827,9 @@ dependencies = [ [[package]] name = "alloy-signer-local" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9129ef31975d987114c27c9930ee817cf3952355834d47f2fdf4596404507e8" +checksum = "f4d992d44e6c414ece580294abbadb50e74cfd4eaa69787350a4dfd4b20eaa1b" dependencies = [ "alloy-consensus", "alloy-network", @@ -918,9 +919,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec1fb08ee484e615f24867c0b154fff5722bb00176102a16868c6532b7c3623" +checksum = "3f50a9516736d22dd834cc2240e5bf264f338667cc1d9e514b55ec5a78b987ca" dependencies = [ "alloy-json-rpc", "auto_impl", @@ -941,9 +942,9 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b722073c76f2de7e118d546ee1921c50710f97feb32aed50db94cfa5b663e1" +checksum = "0a18b541a6197cf9a084481498a766fdf32fefda0c35ea6096df7d511025e9f1" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -956,9 +957,9 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdedcf401aab4b96d8b5e6638b79d04a6afb96c0bfcb50a2324fbadfe65c47b3" +checksum = "8075911680ebc537578cacf9453464fd394822a0f68614884a9c63f9fbaf5e89" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -976,9 +977,9 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942210908f0c56941097f5653a5f334546940e6fd9073495b257e52216469feb" +checksum = "921d37a57e2975e5215f7dd0f28873ed5407c7af630d4831a4b5c737de4b0b8b" dependencies = [ "alloy-pubsub", "alloy-transport", @@ -1013,9 +1014,9 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.2.1" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04950a13cc4209d8e9b78f306e87782466bad8538c94324702d061ff03e211c9" +checksum = "b2289a842d02fe63f8c466db964168bb2c7a9fdfb7b24816dbb17d45520575fb" dependencies = [ "darling 0.21.3", "proc-macro2", @@ -4758,7 +4759,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.62.2", + "windows-core 0.57.0", ] [[package]] @@ -5627,11 +5628,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.13.0" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" +checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" dependencies = [ - "hashbrown 0.15.5", + "hashbrown 0.16.1", ] [[package]] @@ -12189,9 +12190,9 @@ dependencies = [ [[package]] name = "trevm" -version = "0.31.2" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ada7f4c9c859cb56bd9ec82ed7db9dec6b9e0d27a2ce6984e2084e4d1a0cd9f" +checksum = "6b7d3887e9f358f872c78474867766074254c703599ca04dd6bcaeb3ce8a43ec" dependencies = [ "alloy", "dashmap 6.1.0", @@ -12686,7 +12687,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] From 8d550a2df6a926b957f3285be61939f25e6dd267 Mon Sep 17 00:00:00 2001 From: evalir Date: Tue, 20 Jan 2026 15:55:38 +0100 Subject: [PATCH 2/3] chore: use new transaction builders for building the EIP-7594 sidecar tx --- src/config.rs | 2 +- src/tasks/submit/flashbots.rs | 18 +++++------------- src/tasks/submit/prep.rs | 11 ++++++----- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/config.rs b/src/config.rs index 97ca87c..4e3e478 100644 --- a/src/config.rs +++ b/src/config.rs @@ -214,7 +214,7 @@ impl BuilderConfig { Ok(ProviderBuilder::new_with_network() .disable_recommended_fillers() - .filler(BlobGasFiller) + .filler(BlobGasFiller::default()) .with_gas_estimation() .with_nonce_management(SimpleNonceManager::default()) .fetch_chain_id() diff --git a/src/tasks/submit/flashbots.rs b/src/tasks/submit/flashbots.rs index 02cbe6c..c7129de 100644 --- a/src/tasks/submit/flashbots.rs +++ b/src/tasks/submit/flashbots.rs @@ -6,20 +6,16 @@ use crate::{ tasks::{block::sim::SimResult, submit::SubmitPrep}, }; use alloy::{ - consensus::{EthereumTxEnvelope, TxEip4844Variant}, - eips::{Encodable2718, eip7594::BlobTransactionSidecarEip7594}, + consensus::TxEnvelope, + eips::Encodable2718, primitives::{Bytes, TxHash}, providers::ext::MevApi, rpc::types::mev::EthSendBundle, }; -use eyre::Context; use init4_bin_base::{deps::metrics::counter, utils::signer::LocalOrAws}; use tokio::{sync::mpsc, task::JoinHandle}; use tracing::{Instrument, debug, debug_span, error, instrument}; -/// Type alias for a EIP 7594 compatible blob sidecar transaction envelope. -type TxEnvelope7594 = EthereumTxEnvelope>; - /// Handles preparation and submission of simulated rollup blocks to the /// Flashbots relay as MEV bundles. #[derive(Debug)] @@ -100,10 +96,7 @@ impl FlashbotsTask { /// Creates a `SubmitPrep` instance to build the transaction, then fills /// and signs it using the host provider. #[instrument(skip_all, level = "debug")] - async fn prepare_signed_transaction( - &self, - sim_result: &SimResult, - ) -> eyre::Result { + async fn prepare_signed_transaction(&self, sim_result: &SimResult) -> eyre::Result { let prep = SubmitPrep::new( &sim_result.block, self.host_provider(), @@ -119,8 +112,7 @@ impl FlashbotsTask { .instrument(tracing::debug_span!("fill_tx").or_current()) .await?; - let tx_envelope = - sendable.try_into_envelope()?.try_into_7594().wrap_err("failed to map 4844 to 7594")?; + let tx_envelope = sendable.try_into_envelope()?; debug!(tx_hash = ?tx_envelope.hash(), "prepared signed rollup block transaction envelope"); Ok(tx_envelope) @@ -130,7 +122,7 @@ impl FlashbotsTask { /// /// Sends the transaction hash to the outbound channel for monitoring. /// Logs a debug message if the channel is closed. - fn track_outbound_tx(&self, envelope: &TxEnvelope7594) { + fn track_outbound_tx(&self, envelope: &TxEnvelope) { counter!("signet.builder.flashbots.").increment(1); let hash = *envelope.tx_hash(); if self.outbound.send(hash).is_err() { diff --git a/src/tasks/submit/prep.rs b/src/tasks/submit/prep.rs index 40cb795..8cb80b6 100644 --- a/src/tasks/submit/prep.rs +++ b/src/tasks/submit/prep.rs @@ -4,8 +4,9 @@ use crate::{ utils, }; use alloy::{ - consensus::{BlobTransactionSidecar, Header, SimpleCoder}, - network::{TransactionBuilder, TransactionBuilder4844}, + consensus::{Header, SimpleCoder}, + eips::eip7594::BlobTransactionSidecarEip7594, + network::{TransactionBuilder, TransactionBuilder7594}, primitives::{B256, Bytes, U256}, providers::{Provider, WalletProvider}, rpc::types::TransactionRequest, @@ -103,10 +104,10 @@ impl<'a> SubmitPrep<'a> { self.quincey_resp().await.map(|resp| &resp.sig).map(utils::extract_signature_components) } - /// Encodes the rollup block into a sidecar. + /// Encodes the rollup block into an EIP-7594 sidecar. #[instrument(skip(self), level = "debug")] - async fn build_sidecar(&self) -> eyre::Result { - self.block.encode_blob::().build().map_err(Into::into) + async fn build_sidecar(&self) -> eyre::Result { + self.block.encode_blob::().build_7594().map_err(Into::into) } /// Build a signature and header input for the host chain transaction. From 8553e8b35086911dafe688cf2f812addae7b8356 Mon Sep 17 00:00:00 2001 From: evalir Date: Tue, 20 Jan 2026 15:56:06 +0100 Subject: [PATCH 3/3] chore: bump version --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bc25bb8..16dbf5c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2441,7 +2441,7 @@ dependencies = [ [[package]] name = "builder" -version = "1.0.0-rc.1" +version = "1.0.0-rc.2" dependencies = [ "alloy", "alloy-chains", diff --git a/Cargo.toml b/Cargo.toml index 6027f9b..98e074a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "builder" -version = "1.0.0-rc.1" +version = "1.0.0-rc.2" description = "signet builder example" edition = "2024"