Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: update el requests for devnet 4 #11865

Merged
merged 3 commits into from
Oct 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
229 changes: 151 additions & 78 deletions Cargo.lock

Large diffs are not rendered by default.

127 changes: 66 additions & 61 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -410,9 +410,9 @@ reth-trie-db = { path = "crates/trie/db" }
reth-trie-parallel = { path = "crates/trie/parallel" }

# revm
revm = { version = "14.0.3", features = ["std"], default-features = false }
revm-inspectors = "0.8.1"
revm-primitives = { version = "10.0.0", features = [
revm = { version = "16.0.0", features = ["std"], default-features = false }
revm-inspectors = "0.9.0"
revm-primitives = { version = "12.0.0", features = [
"std",
], default-features = false }

Expand All @@ -424,45 +424,45 @@ alloy-rlp = "0.3.4"
alloy-sol-types = "0.8.0"
alloy-trie = { version = "0.7", default-features = false }

alloy-consensus = { version = "0.4.2", default-features = false }
alloy-eips = { version = "0.4.2", default-features = false }
alloy-genesis = { version = "0.4.2", default-features = false }
alloy-json-rpc = { version = "0.4.2", default-features = false }
alloy-network = { version = "0.4.2", default-features = false }
alloy-network-primitives = { version = "0.4.2", default-features = false }
alloy-node-bindings = { version = "0.4.2", default-features = false }
alloy-provider = { version = "0.4.2", features = [
alloy-consensus = { version = "0.5.2", default-features = false }
alloy-eips = { version = "0.5.2", default-features = false }
alloy-genesis = { version = "0.5.2", default-features = false }
alloy-json-rpc = { version = "0.5.2", default-features = false }
alloy-network = { version = "0.5.2", default-features = false }
alloy-network-primitives = { version = "0.5.2", default-features = false }
alloy-node-bindings = { version = "0.5.2", default-features = false }
alloy-provider = { version = "0.5.2", features = [
"reqwest",
], default-features = false }
alloy-pubsub = { version = "0.4.2", default-features = false }
alloy-rpc-client = { version = "0.4.2", default-features = false }
alloy-rpc-types = { version = "0.4.2", features = [
alloy-pubsub = { version = "0.5.2", default-features = false }
alloy-rpc-client = { version = "0.5.2", default-features = false }
alloy-rpc-types = { version = "0.5.2", features = [
"eth",
], default-features = false }
alloy-rpc-types-admin = { version = "0.4.2", default-features = false }
alloy-rpc-types-anvil = { version = "0.4.2", default-features = false }
alloy-rpc-types-beacon = { version = "0.4.2", default-features = false }
alloy-rpc-types-debug = { version = "0.4.2", default-features = false }
alloy-rpc-types-engine = { version = "0.4.2", default-features = false }
alloy-rpc-types-eth = { version = "0.4.2", default-features = false }
alloy-rpc-types-mev = { version = "0.4.2", default-features = false }
alloy-rpc-types-trace = { version = "0.4.2", default-features = false }
alloy-rpc-types-txpool = { version = "0.4.2", default-features = false }
alloy-serde = { version = "0.4.2", default-features = false }
alloy-signer = { version = "0.4.2", default-features = false }
alloy-signer-local = { version = "0.4.2", default-features = false }
alloy-transport = { version = "0.4.2" }
alloy-transport-http = { version = "0.4.2", features = [
alloy-rpc-types-admin = { version = "0.5.2", default-features = false }
alloy-rpc-types-anvil = { version = "0.5.2", default-features = false }
alloy-rpc-types-beacon = { version = "0.5.2", default-features = false }
alloy-rpc-types-debug = { version = "0.5.2", default-features = false }
alloy-rpc-types-engine = { version = "0.5.2", default-features = false }
alloy-rpc-types-eth = { version = "0.5.2", default-features = false }
alloy-rpc-types-mev = { version = "0.5.2", default-features = false }
alloy-rpc-types-trace = { version = "0.5.2", default-features = false }
alloy-rpc-types-txpool = { version = "0.5.2", default-features = false }
alloy-serde = { version = "0.5.2", default-features = false }
alloy-signer = { version = "0.5.2", default-features = false }
alloy-signer-local = { version = "0.5.2", default-features = false }
alloy-transport = { version = "0.5.2" }
alloy-transport-http = { version = "0.5.2", features = [
"reqwest-rustls-tls",
], default-features = false }
alloy-transport-ipc = { version = "0.4.2", default-features = false }
alloy-transport-ws = { version = "0.4.2", default-features = false }
alloy-transport-ipc = { version = "0.5.2", default-features = false }
alloy-transport-ws = { version = "0.5.2", default-features = false }

# op
op-alloy-rpc-types = "0.4"
op-alloy-rpc-types-engine = "0.4"
op-alloy-network = "0.4"
op-alloy-consensus = "0.4"
op-alloy-rpc-types = "0.5"
op-alloy-rpc-types-engine = "0.5"
op-alloy-network = "0.5"
op-alloy-consensus = "0.5"

# misc
aquamarine = "0.5"
Expand Down Expand Up @@ -593,30 +593,35 @@ tikv-jemalloc-ctl = "0.6"
tikv-jemallocator = "0.6"
tracy-client = "0.17.3"

[patch.crates-io]
#alloy-consensus = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-json-rpc = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-network = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-provider = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-pubsub = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-client = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-admin = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-anvil = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-beacon = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-debug = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-eth = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-mev = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-trace = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-rpc-types-txpool = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-serde = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-signer = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-signer-local = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-transport = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-transport-http = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-transport-ipc = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#alloy-transport-ws = { git = "https://github.com/alloy-rs/alloy", rev = "8c499409"}
#[patch.crates-io]
#alloy-consensus = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-json-rpc = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-network = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-provider = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-pubsub = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-client = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-admin = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-anvil = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-beacon = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-debug = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-eth = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-mev = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-trace = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-rpc-types-txpool = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-serde = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-signer = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-signer-local = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-transport = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-transport-http = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-transport-ipc = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }
#alloy-transport-ws = { git = "https://github.com/alloy-rs/alloy", rev = "a971b3a" }

#op-alloy-rpc-types = { git = "https://github.com/alloy-rs/op-alloy", rev = "6a042e7681b1" }
#op-alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/op-alloy", rev = "6a042e7681b1" }
#op-alloy-network = { git = "https://github.com/alloy-rs/op-alloy", rev = "6a042e7681b1" }
#op-alloy-consensus = { git = "https://github.com/alloy-rs/op-alloy", rev = "6a042e7681b1" }
3 changes: 2 additions & 1 deletion bin/reth-bench/src/authenticated_transport.rs
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@ impl InnerTransport {
let (auth, claims) =
build_auth(jwt).map_err(|e| AuthenticatedTransportError::InvalidJwt(e.to_string()))?;

let inner = WsConnect { url: url.to_string(), auth: Some(auth) }
let inner = WsConnect::new(url.clone())
.with_auth(auth)
.into_service()
.await
.map(Self::Ws)
Expand Down
8 changes: 0 additions & 8 deletions bin/reth-bench/src/valid_payload.rs
Original file line number Diff line number Diff line change
Expand Up @@ -215,14 +215,6 @@ pub(crate) async fn call_new_payload<N, T, P: EngineApiValidWaitExt<N, T>>(
versioned_hashes: Vec<B256>,
) -> TransportResult<EngineApiMessageVersion> {
match payload {
ExecutionPayload::V4(_payload) => {
todo!("V4 payloads not supported yet");
// auth_provider
// .new_payload_v4_wait(payload, versioned_hashes, parent_beacon_block_root, ...)
// .await?;
//
// Ok(EngineApiMessageVersion::V4)
}
ExecutionPayload::V3(payload) => {
// We expect the caller
let parent_beacon_block_root = parent_beacon_block_root
Expand Down
4 changes: 3 additions & 1 deletion bin/reth/src/commands/debug_cmd/replay_engine.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,9 @@ impl<C: ChainSpecParser<ChainSpec = ChainSpec>> Command<C> {
debug!(target: "reth::cli", ?response, "Received for forkchoice updated");
}
StoredEngineApiMessage::NewPayload { payload, cancun_fields } => {
let response = beacon_engine_handle.new_payload(payload, cancun_fields).await?;
// todo: prague (last arg)
let response =
beacon_engine_handle.new_payload(payload, cancun_fields, None).await?;
Comment on lines +174 to +176
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will take care of in followup

debug!(target: "reth::cli", ?response, "Received for new payload");
}
};
Expand Down
1 change: 0 additions & 1 deletion crates/blockchain-tree/src/blockchain_tree.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1635,7 +1635,6 @@ mod tests {
transactions: body.clone().into_iter().map(|tx| tx.into_signed()).collect(),
ommers: Vec::new(),
withdrawals: Some(Withdrawals::default()),
requests: None,
},
},
body.iter().map(|tx| tx.signer()).collect(),
Expand Down
3 changes: 2 additions & 1 deletion crates/chain-state/src/in_memory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -865,10 +865,11 @@ impl NewCanonicalChain {
mod tests {
use super::*;
use crate::test_utils::TestBlockBuilder;
use alloy_eips::eip7685::Requests;
use alloy_primitives::{map::HashSet, BlockNumber, Bytes, StorageKey, StorageValue};
use rand::Rng;
use reth_errors::ProviderResult;
use reth_primitives::{Account, Bytecode, Receipt, Requests};
use reth_primitives::{Account, Bytecode, Receipt};
use reth_storage_api::{
AccountReader, BlockHashReader, StateProofProvider, StateProvider, StateRootProvider,
StorageRootProvider,
Expand Down
6 changes: 3 additions & 3 deletions crates/chain-state/src/test_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use crate::{
CanonStateSubscriptions,
};
use alloy_consensus::{Transaction as _, TxEip1559, EMPTY_ROOT_HASH};
use alloy_eips::eip7685::Requests;
use alloy_primitives::{Address, BlockNumber, Sealable, B256, U256};
use alloy_signer::SignerSync;
use alloy_signer_local::PrivateKeySigner;
Expand All @@ -12,8 +13,8 @@ use reth_execution_types::{Chain, ExecutionOutcome};
use reth_primitives::{
constants::EIP1559_INITIAL_BASE_FEE,
proofs::{calculate_receipt_root, calculate_transaction_root, calculate_withdrawals_root},
BlockBody, Header, Receipt, Receipts, Requests, SealedBlock, SealedBlockWithSenders,
SealedHeader, Transaction, TransactionSigned, TransactionSignedEcRecovered,
BlockBody, Header, Receipt, Receipts, SealedBlock, SealedBlockWithSenders, SealedHeader,
Transaction, TransactionSigned, TransactionSignedEcRecovered,
};
use reth_trie::{root::state_root_unhashed, updates::TrieUpdates, HashedPostState};
use revm::{db::BundleState, primitives::AccountInfo};
Expand Down Expand Up @@ -169,7 +170,6 @@ impl TestBlockBuilder {
transactions: transactions.into_iter().map(|tx| tx.into_signed()).collect(),
ommers: Vec::new(),
withdrawals: Some(vec![].into()),
requests: None,
},
};

Expand Down
1 change: 0 additions & 1 deletion crates/chainspec/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ alloy-chains = { workspace = true, features = ["serde", "rlp"] }
alloy-eips = { workspace = true, features = ["serde"] }
alloy-genesis.workspace = true
alloy-primitives = { workspace = true, features = ["rand", "rlp"] }
alloy-trie.workspace = true
alloy-consensus.workspace = true

# misc
Expand Down
10 changes: 6 additions & 4 deletions crates/chainspec/src/spec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ pub use alloy_eips::eip1559::BaseFeeParams;
use alloc::{boxed::Box, sync::Arc, vec::Vec};
use alloy_chains::{Chain, NamedChain};
use alloy_consensus::constants::EMPTY_WITHDRAWALS;
use alloy_eips::eip7685::EMPTY_REQUESTS_HASH;
use alloy_genesis::Genesis;
use alloy_primitives::{address, b256, Address, BlockNumber, B256, U256};
use alloy_trie::EMPTY_ROOT_HASH;
use derive_more::From;

use alloy_consensus::constants::{DEV_GENESIS_HASH, MAINNET_GENESIS_HASH};
Expand Down Expand Up @@ -284,8 +284,9 @@ impl ChainSpec {
};

// If Prague is activated at genesis we set requests root to an empty trie root.
let requests_root =
self.is_prague_active_at_timestamp(self.genesis.timestamp).then_some(EMPTY_ROOT_HASH);
let requests_hash = self
.is_prague_active_at_timestamp(self.genesis.timestamp)
.then_some(EMPTY_REQUESTS_HASH);

Header {
gas_limit: self.genesis.gas_limit,
Expand All @@ -301,7 +302,7 @@ impl ChainSpec {
parent_beacon_block_root,
blob_gas_used: blob_gas_used.map(Into::into),
excess_blob_gas: excess_blob_gas.map(Into::into),
requests_root,
requests_hash,
..Default::default()
}
}
Expand Down Expand Up @@ -940,6 +941,7 @@ mod tests {
use alloy_chains::Chain;
use alloy_genesis::{ChainConfig, GenesisAccount};
use alloy_primitives::{b256, hex};
use alloy_trie::EMPTY_ROOT_HASH;
use reth_ethereum_forks::{ForkCondition, ForkHash, ForkId, Head};
use reth_trie_common::TrieAccount;

Expand Down
1 change: 0 additions & 1 deletion crates/cli/commands/src/stage/drop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ impl<C: ChainSpecParser<ChainSpec: EthChainSpec + EthereumHardforks>> Command<C>
tx.clear::<tables::TransactionBlocks>()?;
tx.clear::<tables::BlockOmmers>()?;
tx.clear::<tables::BlockWithdrawals>()?;
tx.clear::<tables::BlockRequests>()?;
reset_stage_checkpoint(tx, StageId::Bodies)?;

insert_genesis_header(&provider_rw.0, &static_file_provider, &self.env.chain)?;
Expand Down
1 change: 1 addition & 0 deletions crates/consensus/auto-seal/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ reth-tokio-util.workspace = true
reth-trie.workspace = true

# ethereum
alloy-eips.workspace = true
alloy-primitives.workspace = true
revm-primitives.workspace = true
alloy-rpc-types-engine.workspace = true
Expand Down
10 changes: 5 additions & 5 deletions crates/consensus/auto-seal/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#![cfg_attr(not(test), warn(unused_crate_dependencies))]
#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]

use alloy_eips::eip7685::Requests;
use alloy_primitives::{BlockHash, BlockNumber, Bloom, B256, U256};
use reth_beacon_consensus::BeaconEngineMessage;
use reth_chainspec::{EthChainSpec, EthereumHardforks};
Expand All @@ -25,7 +26,7 @@ use reth_execution_errors::{
};
use reth_execution_types::ExecutionOutcome;
use reth_primitives::{
proofs, Block, BlockBody, BlockHashOrNumber, BlockWithSenders, Header, Requests, SealedBlock,
proofs, Block, BlockBody, BlockHashOrNumber, BlockWithSenders, Header, SealedBlock,
SealedHeader, TransactionSigned, Withdrawals,
};
use reth_provider::{BlockReaderIdExt, StateProviderFactory, StateRootProvider};
Expand Down Expand Up @@ -301,7 +302,7 @@ impl StorageInner {
timestamp,
base_fee_per_gas,
blob_gas_used,
requests_root: requests.map(|r| proofs::calculate_requests_root(&r.0)),
requests_hash: requests.map(|r| r.requests_hash()),
..Default::default()
};

Expand Down Expand Up @@ -366,7 +367,6 @@ impl StorageInner {
transactions,
ommers: ommers.clone(),
withdrawals: withdrawals.clone(),
requests: requests.clone(),
},
}
.with_recovered_senders()
Expand All @@ -390,7 +390,7 @@ impl StorageInner {
// root here

let Block { mut header, body, .. } = block.block;
let body = BlockBody { transactions: body.transactions, ommers, withdrawals, requests };
let body = BlockBody { transactions: body.transactions, ommers, withdrawals };

trace!(target: "consensus::auto", ?execution_outcome, ?header, ?body, "executed block, calculating state root and completing header");

Expand Down Expand Up @@ -682,7 +682,7 @@ mod tests {
timestamp,
base_fee_per_gas: None,
blob_gas_used: Some(0),
requests_root: None,
requests_hash: None,
excess_blob_gas: Some(0),
..Default::default()
}
Expand Down
11 changes: 10 additions & 1 deletion crates/consensus/beacon/src/engine/handle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use crate::{
engine::message::OnForkChoiceUpdated, BeaconConsensusEngineEvent, BeaconEngineMessage,
BeaconForkChoiceUpdateError, BeaconOnNewPayloadError,
};
use alloy_primitives::Bytes;
use alloy_rpc_types_engine::{
CancunPayloadFields, ExecutionPayload, ForkchoiceState, ForkchoiceUpdated, PayloadStatus,
};
Expand Down Expand Up @@ -47,9 +48,17 @@ where
&self,
payload: ExecutionPayload,
cancun_fields: Option<CancunPayloadFields>,
execution_requests: Option<Vec<Bytes>>,
) -> Result<PayloadStatus, BeaconOnNewPayloadError> {
let (tx, rx) = oneshot::channel();
let _ = self.to_engine.send(BeaconEngineMessage::NewPayload { payload, cancun_fields, tx });
// HACK(onbjerg): We should have a pectra payload fields struct, this is just a temporary
// workaround.
let _ = self.to_engine.send(BeaconEngineMessage::NewPayload {
payload,
cancun_fields,
execution_requests,
tx,
});
rx.await.map_err(|_| BeaconOnNewPayloadError::EngineUnavailable)?
}

Expand Down
5 changes: 5 additions & 0 deletions crates/consensus/beacon/src/engine/message.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use crate::engine::{error::BeaconOnNewPayloadError, forkchoice::ForkchoiceStatus};
use alloy_primitives::Bytes;
use alloy_rpc_types_engine::{
CancunPayloadFields, ExecutionPayload, ForkChoiceUpdateResult, ForkchoiceState,
ForkchoiceUpdateError, ForkchoiceUpdated, PayloadId, PayloadStatus, PayloadStatusEnum,
Expand Down Expand Up @@ -146,6 +147,10 @@ pub enum BeaconEngineMessage<Engine: EngineTypes> {
payload: ExecutionPayload,
/// The cancun-related newPayload fields, if any.
cancun_fields: Option<CancunPayloadFields>,
// HACK(onbjerg): We should have a pectra payload fields struct, this is just a temporary
// workaround.
/// The pectra EIP-7685 execution requests.
execution_requests: Option<Vec<Bytes>>,
/// The sender for returning payload status result.
tx: oneshot::Sender<Result<PayloadStatus, BeaconOnNewPayloadError>>,
},
Expand Down
Loading
Loading