From 9921ca0f0afa4991a0a9a4f55795a8c8d33cc923 Mon Sep 17 00:00:00 2001 From: Marius van der Wijden Date: Wed, 28 Dec 2022 09:48:26 +0100 Subject: [PATCH] miner: allow for extradata in post-merge blocks (#26387) * miner: allow for extradata in post-merge blocks * miner: nits * miner: remove extradata checks --- miner/worker.go | 8 +++----- miner/worker_test.go | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/miner/worker.go b/miner/worker.go index e00a494d0155..45450237fe6d 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -959,13 +959,12 @@ func (w *worker) commitTransactions(env *environment, txs *types.TransactionsByP // generateParams wraps various of settings for generating sealing task. type generateParams struct { - timestamp uint64 // The timstamp for sealing task + timestamp uint64 // The timestamp for sealing task forceTime bool // Flag whether the given timestamp is immutable or not parentHash common.Hash // Parent block hash, empty means the latest chain head coinbase common.Address // The fee recipient address for including transaction random common.Hash // The randomness generated by beacon chain, empty before the merge noUncle bool // Flag whether the uncle block inclusion is allowed - noExtra bool // Flag whether the extra field assignment is allowed noTxs bool // Flag whether an empty block without any transaction is expected } @@ -1001,8 +1000,8 @@ func (w *worker) prepareWork(genParams *generateParams) (*environment, error) { Time: timestamp, Coinbase: genParams.coinbase, } - // Set the extra field if it's allowed. - if !genParams.noExtra && len(w.extra) != 0 { + // Set the extra field. + if len(w.extra) != 0 { header.Extra = w.extra } // Set the randomness field from the beacon chain if it's available. @@ -1225,7 +1224,6 @@ func (w *worker) getSealingBlock(parent common.Hash, timestamp uint64, coinbase coinbase: coinbase, random: random, noUncle: true, - noExtra: true, noTxs: noTxs, }, result: make(chan *newPayloadResult, 1), diff --git a/miner/worker_test.go b/miner/worker_test.go index 9c7961f7866d..5db90546ceca 100644 --- a/miner/worker_test.go +++ b/miner/worker_test.go @@ -568,7 +568,7 @@ func testGetSealingWork(t *testing.T, chainConfig *params.ChainConfig, engine co } _, isClique := engine.(*clique.Clique) if !isClique { - if len(block.Extra()) != 0 { + if len(block.Extra()) != 2 { t.Error("Unexpected extra field") } if block.Coinbase() != coinbase {