Skip to content

Commit

Permalink
Fixed Invalid block number on payload (#4605)
Browse files Browse the repository at this point in the history
  • Loading branch information
Giulio2002 committed Jul 2, 2022
1 parent db93d2e commit 84c3cdc
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion eth/stagedsync/stage_headers.go
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ func handleNewPayload(
}, nil
}

parent, err := cfg.blockReader.Header(ctx, tx, header.ParentHash, headerNumber-1)
parent, err := cfg.blockReader.HeaderByHash(ctx, tx, header.ParentHash)
if err != nil {
return nil, err
}
Expand All @@ -513,6 +513,14 @@ func handleNewPayload(
return &privateapi.PayloadStatus{Status: remote.EngineStatus_SYNCING}, nil
}

if header.Number.Uint64() != parent.Number.Uint64()+1 {
return &privateapi.PayloadStatus{
Status: remote.EngineStatus_INVALID,
LatestValidHash: header.ParentHash,
ValidationError: errors.New("invalid block number"),
}, nil
}

cfg.hd.BeaconRequestList.Remove(requestId)

for _, tx := range payloadMessage.Body.Transactions {
Expand Down Expand Up @@ -574,6 +582,10 @@ func verifyAndSaveNewPoSHeader(
}, false, nil
}

if err := rawdb.WriteHeaderNumber(tx, headerHash, headerNumber); err != nil {
return nil, false, err
}

err = headerInserter.FeedHeaderPoS(tx, header, headerHash)
if err != nil {
return nil, false, err
Expand Down

0 comments on commit 84c3cdc

Please sign in to comment.