File tree Expand file tree Collapse file tree
packages/beacon-node/src/chain/validation Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -47,18 +47,16 @@ async function validateExecutionPayloadEnvelope(
4747
4848 // [IGNORE] The node has not seen another valid
4949 // `SignedExecutionPayloadEnvelope` for this block root from this builder.
50- // Fork choice flips to PayloadStatus.FULL during envelope import, so it is the authoritative
51- // duplicate-detection signal.
5250 const envelopeBlock = chain . forkChoice . getBlockHex ( blockRootHex , PayloadStatus . FULL ) ;
53- if ( envelopeBlock ) {
51+ const payloadInput = chain . seenPayloadEnvelopeInputCache . get ( blockRootHex ) ;
52+ if ( envelopeBlock || payloadInput ?. hasPayloadEnvelope ( ) ) {
5453 throw new ExecutionPayloadEnvelopeError ( GossipAction . IGNORE , {
5554 code : ExecutionPayloadEnvelopeErrorCode . ENVELOPE_ALREADY_KNOWN ,
5655 blockRoot : blockRootHex ,
5756 slot : payload . slotNumber ,
5857 } ) ;
5958 }
6059
61- const payloadInput = chain . seenPayloadEnvelopeInputCache . get ( blockRootHex ) ;
6260 if ( ! payloadInput ) {
6361 // PayloadEnvelopeInput should have been created during block import
6462 throw new ExecutionPayloadEnvelopeError ( GossipAction . IGNORE , {
You can’t perform that action at this time.
0 commit comments