beacon/engine, eth/catalyst, miner: EIP-4788 CL/EL protocol updates (#27872)

This PR makes EIP-4788 work in the engine API and miner. It also fixes some bugs related to 
EIP-4844 block processing and mining. Changes in detail:

- Header.BeaconRoot has been renamed to ParentBeaconRoot.
- The engine API now implements forkchoiceUpdatedV3
- newPayloadV3 method has been updated with the parentBeaconBlockRoot parameter
- beacon root is now applied to new blocks in miner
- For EIP-4844, block creation now updates the blobGasUsed field of the header
This commit is contained in:
Martin Holst Swende
2023-08-26 04:52:12 +02:00
committed by GitHub
parent cde462c6bf
commit 6aa88ccdd2
17 changed files with 300 additions and 125 deletions
+1 -1
View File
@@ -412,7 +412,7 @@ func GenerateBadBlock(parent *types.Block, engine consensus.Engine, txs types.Tr
header.BlobGasUsed = &used
beaconRoot := common.HexToHash("0xbeac00")
header.BeaconRoot = &beaconRoot
header.ParentBeaconRoot = &beaconRoot
}
// Assemble and return the final block for sealing
if config.IsShanghai(header.Number, header.Time) {