Return RecoveredBlock in ensure_well_formed_payload (#14625)

This commit is contained in:
Joseph Zhao
2025-02-21 18:42:54 +08:00
committed by GitHub
parent faa55d96bf
commit 86e8a2a245
6 changed files with 39 additions and 68 deletions

View File

@ -26,7 +26,7 @@ use reth_payload_primitives::{
EngineObjectValidationError, NewPayloadError, PayloadOrAttributes, PayloadTypes,
};
use reth_payload_validator::ExecutionPayloadValidator;
use reth_primitives::{Block, NodePrimitives, SealedBlock};
use reth_primitives::{Block, NodePrimitives, RecoveredBlock, SealedBlock};
/// The types used in the default mainnet ethereum beacon consensus engine.
#[derive(Debug, Default, Clone, serde::Deserialize, serde::Serialize)]
@ -104,8 +104,9 @@ impl PayloadValidator for EthereumEngineValidator {
fn ensure_well_formed_payload(
&self,
payload: ExecutionData,
) -> Result<SealedBlock, NewPayloadError> {
Ok(self.inner.ensure_well_formed_payload(payload)?)
) -> Result<RecoveredBlock<Self::Block>, NewPayloadError> {
let sealed_block = self.inner.ensure_well_formed_payload(payload)?;
sealed_block.try_recover().map_err(|e| NewPayloadError::Other(e.into()))
}
}