From 34db035d3fd3d76f6f95d1d28763bd7879710933 Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Wed, 14 May 2025 14:19:54 +0530 Subject: [PATCH] consensus/bor: remove state root calculation from bor consensus (#1539) Remove call to `IntermediateRoot` in `Finalize` method of consensus while validating a remote block as it's not required and it updates a copy of header and not the actual header. --- consensus/bor/bor.go | 4 ---- consensus/bor/bor_test.go | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/consensus/bor/bor.go b/consensus/bor/bor.go index 59d7bf71af..adb9e7857b 100644 --- a/consensus/bor/bor.go +++ b/consensus/bor/bor.go @@ -878,10 +878,6 @@ func (c *Bor) Finalize(chain consensus.ChainHeaderReader, header *types.Header, return } - // No block rewards in PoA, so the state remains as is and uncles are dropped - header.Root = state.IntermediateRoot(chain.Config().IsEIP158(header.Number)) - header.UncleHash = types.CalcUncleHash(nil) - // Set state sync data to blockchain bc := chain.(*core.BlockChain) bc.SetStateSync(stateSyncData) diff --git a/consensus/bor/bor_test.go b/consensus/bor/bor_test.go index ed839d3476..628550e3b6 100644 --- a/consensus/bor/bor_test.go +++ b/consensus/bor/bor_test.go @@ -84,7 +84,7 @@ func TestGenesisContractChange(t *testing.T) { require.NoError(t, err) require.NoError(t, statedb.Database().TrieDB().Commit(root, true)) - statedb, err := state.New(h.Root, state.NewDatabase(triedb.NewDatabase(db, triedb.HashDefaults), nil)) + statedb, err := state.New(root, state.NewDatabase(triedb.NewDatabase(db, triedb.HashDefaults), nil)) require.NoError(t, err) return root, statedb