mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
refactor: couple ExecutionPayload and ExecutionPayloadSidecar (#14172)
This commit is contained in:
@ -17,7 +17,9 @@ use async_trait::async_trait;
|
||||
use jsonrpsee_core::RpcResult;
|
||||
use parking_lot::Mutex;
|
||||
use reth_chainspec::{EthereumHardfork, EthereumHardforks};
|
||||
use reth_engine_primitives::{BeaconConsensusEngineHandle, EngineTypes, EngineValidator};
|
||||
use reth_engine_primitives::{
|
||||
BeaconConsensusEngineHandle, EngineTypes, EngineValidator, ExecutionData,
|
||||
};
|
||||
use reth_payload_builder::PayloadStore;
|
||||
use reth_payload_primitives::{
|
||||
validate_payload_timestamp, EngineApiMessageVersion, PayloadBuilderAttributes,
|
||||
@ -148,7 +150,7 @@ where
|
||||
Ok(self
|
||||
.inner
|
||||
.beacon_consensus
|
||||
.new_payload(payload, ExecutionPayloadSidecar::none())
|
||||
.new_payload(ExecutionData { payload, sidecar: ExecutionPayloadSidecar::none() })
|
||||
.await
|
||||
.inspect(|_| self.inner.on_new_payload_response())?)
|
||||
}
|
||||
@ -183,7 +185,7 @@ where
|
||||
Ok(self
|
||||
.inner
|
||||
.beacon_consensus
|
||||
.new_payload(payload, ExecutionPayloadSidecar::none())
|
||||
.new_payload(ExecutionData { payload, sidecar: ExecutionPayloadSidecar::none() })
|
||||
.await
|
||||
.inspect(|_| self.inner.on_new_payload_response())?)
|
||||
}
|
||||
@ -222,13 +224,13 @@ where
|
||||
Ok(self
|
||||
.inner
|
||||
.beacon_consensus
|
||||
.new_payload(
|
||||
.new_payload(ExecutionData {
|
||||
payload,
|
||||
ExecutionPayloadSidecar::v3(CancunPayloadFields {
|
||||
sidecar: ExecutionPayloadSidecar::v3(CancunPayloadFields {
|
||||
versioned_hashes,
|
||||
parent_beacon_block_root,
|
||||
}),
|
||||
)
|
||||
})
|
||||
.await
|
||||
.inspect(|_| self.inner.on_new_payload_response())?)
|
||||
}
|
||||
@ -272,13 +274,13 @@ where
|
||||
Ok(self
|
||||
.inner
|
||||
.beacon_consensus
|
||||
.new_payload(
|
||||
.new_payload(ExecutionData {
|
||||
payload,
|
||||
ExecutionPayloadSidecar::v4(
|
||||
sidecar: ExecutionPayloadSidecar::v4(
|
||||
CancunPayloadFields { versioned_hashes, parent_beacon_block_root },
|
||||
PraguePayloadFields { requests: RequestsOrHash::Requests(execution_requests) },
|
||||
),
|
||||
)
|
||||
})
|
||||
.await
|
||||
.inspect(|_| self.inner.on_new_payload_response())?)
|
||||
}
|
||||
|
||||
@ -14,7 +14,7 @@ use async_trait::async_trait;
|
||||
use jsonrpsee::core::RpcResult;
|
||||
use reth_chainspec::{ChainSpecProvider, EthereumHardforks};
|
||||
use reth_consensus::{Consensus, FullConsensus, PostExecutionInput};
|
||||
use reth_engine_primitives::PayloadValidator;
|
||||
use reth_engine_primitives::{ExecutionData, PayloadValidator};
|
||||
use reth_errors::{BlockExecutionError, ConsensusError, ProviderError};
|
||||
use reth_evm::execute::{BlockExecutorProvider, Executor};
|
||||
use reth_metrics::{metrics, metrics::Gauge, Metrics};
|
||||
@ -348,13 +348,13 @@ where
|
||||
) -> Result<(), ValidationApiError> {
|
||||
let block = self
|
||||
.payload_validator
|
||||
.ensure_well_formed_payload(
|
||||
ExecutionPayload::V3(request.request.execution_payload),
|
||||
ExecutionPayloadSidecar::v3(CancunPayloadFields {
|
||||
.ensure_well_formed_payload(ExecutionData {
|
||||
payload: ExecutionPayload::V3(request.request.execution_payload),
|
||||
sidecar: ExecutionPayloadSidecar::v3(CancunPayloadFields {
|
||||
parent_beacon_block_root: request.parent_beacon_block_root,
|
||||
versioned_hashes: self.validate_blobs_bundle(request.request.blobs_bundle)?,
|
||||
}),
|
||||
)?
|
||||
})?
|
||||
.try_recover()
|
||||
.map_err(|_| ValidationApiError::InvalidTransactionSignature)?;
|
||||
|
||||
@ -373,9 +373,9 @@ where
|
||||
) -> Result<(), ValidationApiError> {
|
||||
let block = self
|
||||
.payload_validator
|
||||
.ensure_well_formed_payload(
|
||||
ExecutionPayload::V3(request.request.execution_payload),
|
||||
ExecutionPayloadSidecar::v4(
|
||||
.ensure_well_formed_payload(ExecutionData {
|
||||
payload: ExecutionPayload::V3(request.request.execution_payload),
|
||||
sidecar: ExecutionPayloadSidecar::v4(
|
||||
CancunPayloadFields {
|
||||
parent_beacon_block_root: request.parent_beacon_block_root,
|
||||
versioned_hashes: self
|
||||
@ -387,7 +387,7 @@ where
|
||||
),
|
||||
},
|
||||
),
|
||||
)?
|
||||
})?
|
||||
.try_recover()
|
||||
.map_err(|_| ValidationApiError::InvalidTransactionSignature)?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user