feat: implement EIP-7685 (#8424)

Co-authored-by: Oliver Nordbjerg <onbjerg@users.noreply.github.com>
Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
Alexey Shekhirin
2024-05-28 15:06:28 +01:00
committed by GitHub
parent f6e1c7f76e
commit b4a1b733c9
83 changed files with 1053 additions and 214 deletions

View File

@ -103,7 +103,7 @@ where
let mut actions_to_queue: Vec<BlobTransactionEvent> = Vec::new();
if txs.is_empty() {
return;
return
}
match self.pool.get_all_blobs_exact(txs.iter().map(|(tx, _)| tx.hash()).collect()) {
@ -157,7 +157,7 @@ where
// Request locally first, otherwise request from CL
loop {
if let Some(mined_sidecar) = this.queued_actions.pop_front() {
return Poll::Ready(Some(Ok(mined_sidecar)));
return Poll::Ready(Some(Ok(mined_sidecar)))
}
// Check if any pending requests are ready and append to buffer
@ -243,7 +243,7 @@ async fn fetch_blobs_for_block(
response.status().as_u16(),
"Unhandled HTTP status.".to_string(),
)),
};
}
}
let bytes = match response.bytes().await {

View File

@ -47,7 +47,7 @@ use reth_payload_builder::{
use reth_primitives::{Address, Chain, ChainSpec, Genesis, Header, Withdrawals, B256};
use reth_rpc_types::{
engine::{
ExecutionPayloadEnvelopeV2, ExecutionPayloadEnvelopeV3,
ExecutionPayloadEnvelopeV2, ExecutionPayloadEnvelopeV3, ExecutionPayloadEnvelopeV4,
PayloadAttributes as EthPayloadAttributes, PayloadId,
},
ExecutionPayloadV1, Withdrawal,
@ -167,6 +167,7 @@ impl EngineTypes for CustomEngineTypes {
type ExecutionPayloadV1 = ExecutionPayloadV1;
type ExecutionPayloadV2 = ExecutionPayloadEnvelopeV2;
type ExecutionPayloadV3 = ExecutionPayloadEnvelopeV3;
type ExecutionPayloadV4 = ExecutionPayloadEnvelopeV4;
fn validate_version_specific_fields(
chain_spec: &ChainSpec,