Skip to content

Commit 19bd39c

Browse files
authored
Upgrade to reth 1.4.7 and main rollup-boost branch (#112)
1 parent 503eb2d commit 19bd39c

File tree

9 files changed

+655
-693
lines changed

9 files changed

+655
-693
lines changed

Cargo.lock

Lines changed: 536 additions & 585 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 72 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -40,66 +40,66 @@ codegen-units = 1
4040
incremental = false
4141

4242
[workspace.dependencies]
43-
reth = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
44-
reth-chain-state = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
45-
reth-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
46-
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
47-
reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
48-
reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
49-
reth-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
50-
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
51-
reth-node-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
52-
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
53-
reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
54-
reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
55-
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
56-
reth-node-core = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
57-
reth-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
58-
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
59-
reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1", features = [
43+
reth = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
44+
reth-chain-state = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
45+
reth-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
46+
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
47+
reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
48+
reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
49+
reth-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
50+
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
51+
reth-node-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
52+
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
53+
reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
54+
reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
55+
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
56+
reth-node-core = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
57+
reth-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
58+
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
59+
reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7", features = [
6060
"test-utils",
6161
] }
62-
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
63-
reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
64-
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
65-
reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
66-
reth-exex = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
67-
reth-metrics = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
68-
reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
69-
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
70-
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
71-
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
72-
reth-revm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
73-
reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
74-
reth-payload-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
75-
reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
76-
reth-network-peers = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
77-
reth-testing-utils = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
78-
reth-node-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
79-
reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
62+
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
63+
reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
64+
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
65+
reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
66+
reth-exex = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
67+
reth-metrics = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
68+
reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
69+
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
70+
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
71+
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
72+
reth-revm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
73+
reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
74+
reth-payload-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
75+
reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
76+
reth-network-peers = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
77+
reth-testing-utils = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
78+
reth-node-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
79+
reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
8080

8181
# reth optimism
82-
reth-optimism-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
83-
reth-optimism-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
84-
reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
85-
reth-optimism-forks = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
86-
reth-optimism-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
87-
reth-optimism-node = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
88-
reth-optimism-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
89-
reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
90-
reth-optimism-txpool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
91-
reth-optimism-rpc = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1", features = [
82+
reth-optimism-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
83+
reth-optimism-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
84+
reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
85+
reth-optimism-forks = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
86+
reth-optimism-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
87+
reth-optimism-node = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
88+
reth-optimism-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
89+
reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
90+
reth-optimism-txpool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7" }
91+
reth-optimism-rpc = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.7", features = [
9292
"client",
9393
] }
9494

95-
# compatible with reth "v1.4.1 dependencies
96-
revm = { version = "23.1.0", features = [
95+
# compatible with reth "v1.4.7 dependencies
96+
revm = { version = "24.0.1", features = [
9797
"std",
9898
"secp256k1",
9999
"optional_balance_check",
100100
], default-features = false }
101101
revm-inspectors = { version = "0.22.0", default-features = false }
102-
op-revm = { version = "4.0.2", default-features = false }
102+
op-revm = { version = "5.0.1", default-features = false }
103103

104104
ethereum_ssz_derive = "0.9.0"
105105
ethereum_ssz = "0.9.0"
@@ -108,37 +108,37 @@ alloy-primitives = { version = "1.1.0", default-features = false }
108108
alloy-rlp = "0.3.10"
109109
alloy-chains = "0.2.0"
110110
alloy-evm = { version = "0.8.0", default-features = false }
111-
alloy-provider = { version = "1.0.3", features = [
111+
alloy-provider = { version = "1.0.9", features = [
112112
"ipc",
113113
"pubsub",
114114
"txpool-api",
115115
] }
116-
alloy-pubsub = { version = "1.0.3" }
117-
alloy-eips = { version = "1.0.3" }
118-
alloy-rpc-types = { version = "1.0.3" }
119-
alloy-json-rpc = { version = "1.0.3" }
120-
alloy-transport-http = { version = "1.0.3" }
121-
alloy-network = { version = "1.0.3" }
122-
alloy-network-primitives = { version = "1.0.3" }
123-
alloy-transport = { version = "1.0.3" }
124-
alloy-node-bindings = { version = "1.0.3" }
125-
alloy-consensus = { version = "1.0.3", features = ["kzg"] }
126-
alloy-serde = { version = "1.0.3" }
127-
alloy-rpc-types-beacon = { version = "1.0.3", features = ["ssz"] }
128-
alloy-rpc-types-engine = { version = "1.0.3", features = ["ssz"] }
129-
alloy-rpc-types-eth = { version = "1.0.3" }
130-
alloy-signer-local = { version = "1.0.3" }
131-
alloy-rpc-client = { version = "1.0.3" }
132-
alloy-genesis = { version = "1.0.3" }
116+
alloy-pubsub = { version = "1.0.9" }
117+
alloy-eips = { version = "1.0.9" }
118+
alloy-rpc-types = { version = "1.0.9" }
119+
alloy-json-rpc = { version = "1.0.9" }
120+
alloy-transport-http = { version = "1.0.9" }
121+
alloy-network = { version = "1.0.9" }
122+
alloy-network-primitives = { version = "1.0.9" }
123+
alloy-transport = { version = "1.0.9" }
124+
alloy-node-bindings = { version = "1.0.9" }
125+
alloy-consensus = { version = "1.0.9", features = ["kzg"] }
126+
alloy-serde = { version = "1.0.9" }
127+
alloy-rpc-types-beacon = { version = "1.0.9", features = ["ssz"] }
128+
alloy-rpc-types-engine = { version = "1.0.9", features = ["ssz"] }
129+
alloy-rpc-types-eth = { version = "1.0.9" }
130+
alloy-signer-local = { version = "1.0.9" }
131+
alloy-rpc-client = { version = "1.0.9" }
132+
alloy-genesis = { version = "1.0.9" }
133133
alloy-trie = { version = "0.8.1" }
134134

135135
# optimism
136-
alloy-op-evm = { version = "0.8.0", default-features = false }
137-
op-alloy-rpc-types = { version = "0.16.0", default-features = false }
138-
op-alloy-rpc-types-engine = { version = "0.16.0", default-features = false }
139-
op-alloy-rpc-jsonrpsee = { version = "0.16.0", default-features = false }
140-
op-alloy-network = { version = "0.16.0", default-features = false }
141-
op-alloy-consensus = { version = "0.16.0", default-features = false }
136+
alloy-op-evm = { version = "0.10.0", default-features = false }
137+
op-alloy-rpc-types = { version = "0.17.2", default-features = false }
138+
op-alloy-rpc-types-engine = { version = "0.17.2", default-features = false }
139+
op-alloy-rpc-jsonrpsee = { version = "0.17.2", default-features = false }
140+
op-alloy-network = { version = "0.17.2", default-features = false }
141+
op-alloy-consensus = { version = "0.17.2", default-features = false }
142142
op-alloy-flz = { version = "0.13.0", default-features = false }
143143

144144
async-trait = { version = "0.1.83" }

crates/op-rbuilder/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,9 @@ tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json"] }
102102
shellexpand = "3.1"
103103
serde_yaml = { version = "0.9" }
104104
moka = "0.12"
105+
http = "1.0"
105106

106-
# `msozin/flashblocks-v1.4.1` branch based on `flashblocks-rebase`
107-
rollup-boost = { git = "http://github.com/flashbots/rollup-boost", rev = "8506dfb7d84c65746f7c88d250983658438f59e8" }
107+
rollup-boost = { git = "http://github.com/flashbots/rollup-boost", branch = "main" }
108108

109109
[target.'cfg(unix)'.dependencies]
110110
tikv-jemallocator = { version = "0.6", optional = true }

crates/op-rbuilder/src/builders/context.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,9 @@ use reth_payload_builder::PayloadId;
2828
use reth_primitives::{Recovered, SealedHeader};
2929
use reth_primitives_traits::{InMemorySize, SignedTransaction};
3030
use reth_provider::ProviderError;
31-
use reth_revm::State;
31+
use reth_revm::{context::Block, State};
3232
use reth_transaction_pool::{BestTransactionsAttributes, PoolTransaction};
33-
use revm::{
34-
context::{result::ResultAndState, Block},
35-
Database, DatabaseCommit,
36-
};
33+
use revm::{context::result::ResultAndState, Database, DatabaseCommit};
3734
use std::{sync::Arc, time::Instant};
3835
use tokio_util::sync::CancellationToken;
3936
use tracing::{info, trace, warn};

crates/op-rbuilder/src/builders/flashblocks/payload.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ use reth_revm::{
3838
State,
3939
};
4040
use revm::Database;
41-
use rollup_boost::primitives::{
41+
use rollup_boost::{
4242
ExecutionPayloadBaseV1, ExecutionPayloadFlashblockDeltaV1, FlashblocksPayloadV1,
4343
};
4444
use serde::{Deserialize, Serialize};
@@ -664,7 +664,7 @@ where
664664
block_hash,
665665
transactions: new_transactions_encoded,
666666
withdrawals: ctx.withdrawals().cloned().unwrap_or_default().to_vec(),
667-
withdrawals_root,
667+
withdrawals_root: withdrawals_root.unwrap_or_default(),
668668
},
669669
metadata: serde_json::to_value(&metadata).unwrap_or_default(),
670670
};

crates/op-rbuilder/src/builders/flashblocks/wspub.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use core::{
66
task::{Context, Poll},
77
};
88
use futures::{Sink, SinkExt};
9-
use rollup_boost::primitives::FlashblocksPayloadV1;
9+
use rollup_boost::FlashblocksPayloadV1;
1010
use std::{io, net::TcpListener, sync::Arc};
1111
use tokio::{
1212
net::TcpStream,

crates/op-rbuilder/src/tests/framework/apis.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use super::DEFAULT_JWT_TOKEN;
22
use alloy_eips::{eip7685::Requests, BlockNumberOrTag};
33
use alloy_primitives::B256;
44
use alloy_rpc_types_engine::{ForkchoiceUpdated, PayloadStatus};
5+
use http::Uri;
56
use jsonrpsee::{
67
core::{client::SubscriptionClientT, RpcResult},
78
proc_macros::rpc,
@@ -18,8 +19,8 @@ use std::str::FromStr;
1819

1920
/// Helper for engine api operations
2021
pub struct EngineApi {
21-
url: url::Url,
22-
jwt_secret: JwtSecret,
22+
pub url: Uri,
23+
pub jwt_secret: JwtSecret,
2324
}
2425

2526
/// Builder for EngineApi configuration
@@ -76,7 +77,7 @@ impl EngineApi {
7677
let middleware = tower::ServiceBuilder::default().layer(secret_layer);
7778
jsonrpsee::http_client::HttpClientBuilder::default()
7879
.set_http_middleware(middleware)
79-
.build(&self.url)
80+
.build(&self.url.to_string())
8081
.expect("Failed to create http client")
8182
}
8283

crates/op-rbuilder/src/tests/framework/blocks.rs

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
use std::{
2+
net::{IpAddr, SocketAddr},
3+
str::FromStr,
4+
};
5+
16
use crate::tx_signer::Signer;
27
use alloy_eips::{eip2718::Encodable2718, eip7685::Requests, BlockNumberOrTag};
38
use alloy_primitives::{address, hex, Address, Bytes, TxKind, B256, U256};
@@ -8,7 +13,11 @@ use alloy_rpc_types_engine::{
813
use alloy_rpc_types_eth::Block;
914
use op_alloy_consensus::{OpTypedTransaction, TxDeposit};
1015
use op_alloy_rpc_types_engine::{OpExecutionPayloadV4, OpPayloadAttributes};
11-
use rollup_boost::{Flashblocks, FlashblocksService, OpExecutionPayloadEnvelope, Version};
16+
use rollup_boost::{
17+
Flashblocks, FlashblocksService, OpExecutionPayloadEnvelope, PayloadSource, PayloadVersion,
18+
RpcClient,
19+
};
20+
use url::Url;
1221

1322
use super::apis::EngineApi;
1423

@@ -64,10 +73,17 @@ impl BlockGenerator {
6473
// Initialize flashblocks service
6574
if let Some(flashblocks_endpoint) = &self.flashblocks_endpoint {
6675
println!("Initializing flashblocks service at {flashblocks_endpoint}");
76+
let builder_client = RpcClient::new(
77+
self.engine_api.url.clone(),
78+
self.engine_api.jwt_secret.clone(),
79+
10,
80+
PayloadSource::Builder,
81+
)?;
6782

6883
self.flashblocks_service = Some(Flashblocks::run(
69-
flashblocks_endpoint.to_string(),
70-
"127.0.0.1:1112".to_string(), // output address for the preconfirmations from rb
84+
builder_client,
85+
Url::from_str(flashblocks_endpoint)?,
86+
SocketAddr::new(IpAddr::from_str("127.0.0.1")?, 1112), // output address for the preconfirmations from rb
7187
)?);
7288
}
7389

@@ -181,7 +197,7 @@ impl BlockGenerator {
181197
source_hash: B256::default(),
182198
from: address!("DeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001"),
183199
to: TxKind::Call(address!("4200000000000000000000000000000000000015")),
184-
mint: None,
200+
mint: 0,
185201
value: U256::default(),
186202
gas_limit: 210000,
187203
is_system_transaction: false,
@@ -242,7 +258,7 @@ impl BlockGenerator {
242258

243259
let payload = if let Some(flashblocks_service) = &self.flashblocks_service {
244260
flashblocks_service
245-
.get_best_payload(Version::V4)
261+
.get_best_payload(PayloadVersion::V4)
246262
.await?
247263
.unwrap()
248264
} else {
@@ -339,7 +355,7 @@ impl BlockGenerator {
339355
source_hash: B256::default(),
340356
from: address, // Set the sender to the address of the account to seed
341357
to: TxKind::Create,
342-
mint: Some(value), // Amount to deposit
358+
mint: value, // Amount to deposit
343359
value: U256::default(),
344360
gas_limit: 210000,
345361
is_system_transaction: false,

crates/op-rbuilder/src/tx.rs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,19 @@
1-
use std::sync::Arc;
1+
use std::{borrow::Cow, sync::Arc};
22

3-
use alloy_consensus::{
4-
conditional::BlockConditionalAttributes, BlobTransactionSidecar, BlobTransactionValidationError,
5-
};
6-
use alloy_eips::{eip7702::SignedAuthorization, Typed2718};
3+
use alloy_consensus::{conditional::BlockConditionalAttributes, BlobTransactionValidationError};
4+
use alloy_eips::{eip7594::BlobTransactionSidecarVariant, eip7702::SignedAuthorization, Typed2718};
75
use alloy_primitives::{Address, Bytes, TxHash, TxKind, B256, U256};
86
use alloy_rpc_types_eth::{erc4337::TransactionConditional, AccessList};
97
use reth_optimism_primitives::OpTransactionSigned;
108
use reth_optimism_txpool::{
119
conditional::MaybeConditionalTransaction, estimated_da_size::DataAvailabilitySized,
12-
interop::MaybeInteropTransaction, OpPooledTransaction,
10+
interop::MaybeInteropTransaction, OpPooledTransaction, OpPooledTx,
1311
};
1412
use reth_primitives::{kzg::KzgSettings, Recovered};
1513
use reth_primitives_traits::InMemorySize;
1614
use reth_transaction_pool::{EthBlobTransactionSidecar, EthPoolTransaction, PoolTransaction};
1715

18-
pub trait FBPoolTransaction:
19-
EthPoolTransaction
20-
+ MaybeInteropTransaction
21-
+ MaybeConditionalTransaction
22-
+ DataAvailabilitySized
23-
+ MaybeRevertingTransaction
24-
{
25-
}
16+
pub trait FBPoolTransaction: MaybeRevertingTransaction + OpPooledTx {}
2617

2718
#[derive(Clone, Debug)]
2819
pub struct FBPooledTransaction {
@@ -32,6 +23,12 @@ pub struct FBPooledTransaction {
3223

3324
impl FBPoolTransaction for FBPooledTransaction {}
3425

26+
impl OpPooledTx for FBPooledTransaction {
27+
fn encoded_2718(&self) -> Cow<'_, Bytes> {
28+
Cow::Borrowed(self.inner.encoded_2718())
29+
}
30+
}
31+
3532
pub trait MaybeRevertingTransaction {
3633
fn set_exclude_reverting_txs(&mut self, exclude: bool);
3734
fn exclude_reverting_txs(&self) -> bool;
@@ -179,21 +176,21 @@ impl EthPoolTransaction for FBPooledTransaction {
179176

180177
fn try_into_pooled_eip4844(
181178
self,
182-
sidecar: Arc<BlobTransactionSidecar>,
179+
sidecar: Arc<BlobTransactionSidecarVariant>,
183180
) -> Option<Recovered<Self::Pooled>> {
184181
self.inner.try_into_pooled_eip4844(sidecar)
185182
}
186183

187184
fn try_from_eip4844(
188185
_tx: Recovered<Self::Consensus>,
189-
_sidecar: BlobTransactionSidecar,
186+
_sidecar: BlobTransactionSidecarVariant,
190187
) -> Option<Self> {
191188
None
192189
}
193190

194191
fn validate_blob(
195192
&self,
196-
_sidecar: &BlobTransactionSidecar,
193+
_sidecar: &BlobTransactionSidecarVariant,
197194
_settings: &KzgSettings,
198195
) -> Result<(), BlobTransactionValidationError> {
199196
Err(BlobTransactionValidationError::NotBlobTransaction(

0 commit comments

Comments
 (0)