From eba795de5c01a5b3b4ef6a52bced185aab9f04a4 Mon Sep 17 00:00:00 2001 From: Louis Thibault Date: Wed, 14 Feb 2024 10:02:51 -0500 Subject: [PATCH 1/3] Add beacon root to types.BuildBlockArgs. --- core/types/suave_structs.go | 1 + 1 file changed, 1 insertion(+) diff --git a/core/types/suave_structs.go b/core/types/suave_structs.go index 849acfcf9b0d..0a7001a38696 100644 --- a/core/types/suave_structs.go +++ b/core/types/suave_structs.go @@ -19,6 +19,7 @@ type BuildBlockArgs struct { Random common.Hash Withdrawals []*Withdrawal Extra []byte + BeaconRoot common.Hash FillPending bool } From 46dd095ac1cac942d35319720d655af4769a4804 Mon Sep 17 00:00:00 2001 From: Louis Thibault Date: Wed, 14 Feb 2024 10:03:13 -0500 Subject: [PATCH 2/3] Remove codegen header from suave_structs.go --- core/types/suave_structs.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/core/types/suave_structs.go b/core/types/suave_structs.go index 0a7001a38696..7c3db41caeb6 100644 --- a/core/types/suave_structs.go +++ b/core/types/suave_structs.go @@ -1,6 +1,3 @@ -// Code generated by suave/gen in https://github.com/flashbots/suave-geth. -// DO NOT EDIT. -// Hash: c60f303834fbdbbd940aae7cb3679cf3755a25f7384f1052c20bf6c38d9a0451 package types import "github.com/ethereum/go-ethereum/common" @@ -51,4 +48,4 @@ type SimulatedLog struct { Data []byte Addr common.Address Topics []common.Hash -} \ No newline at end of file +} From 4b6f39ee252697676abb52aa84dafef9dd42e2c3 Mon Sep 17 00:00:00 2001 From: Louis Thibault Date: Wed, 14 Feb 2024 10:07:56 -0500 Subject: [PATCH 3/3] Pass beacon root from build args to block header. --- miner/worker.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/miner/worker.go b/miner/worker.go index 6282aecc5b1b..05e6965fd848 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -929,11 +929,12 @@ func (w *worker) prepareWork(genParams *generateParams) (*environment, error) { } // Construct the sealing block header. header := &types.Header{ - ParentHash: parent.Hash(), - Number: new(big.Int).Add(parent.Number, common.Big1), - GasLimit: core.CalcGasLimit(parent.GasLimit, w.config.GasCeil), - Time: timestamp, - Coinbase: genParams.coinbase, + ParentHash: parent.Hash(), + Number: new(big.Int).Add(parent.Number, common.Big1), + GasLimit: core.CalcGasLimit(parent.GasLimit, w.config.GasCeil), + Time: timestamp, + Coinbase: genParams.coinbase, + ParentBeaconRoot: genParams.beaconRoot, } // Set the extra field. if len(w.extra) != 0 { @@ -1291,6 +1292,7 @@ func (w *worker) buildBlockFromTxs(ctx context.Context, args *types.BuildBlockAr random: args.Random, extra: args.Extra, withdrawals: args.Withdrawals, + beaconRoot: &args.BeaconRoot, // noUncle: true, noTxs: false, } @@ -1339,6 +1341,7 @@ func (w *worker) buildBlockFromBundles(ctx context.Context, args *types.BuildBlo random: args.Random, extra: args.Extra, withdrawals: args.Withdrawals, + beaconRoot: &args.BeaconRoot, // noUncle: true, noTxs: false, }