diff --git a/beacon-chain/core/deneb/upgrade.go b/beacon-chain/core/deneb/upgrade.go index ea7b06b58e1c..4c8c0d6f5d71 100644 --- a/beacon-chain/core/deneb/upgrade.go +++ b/beacon-chain/core/deneb/upgrade.go @@ -57,6 +57,10 @@ func UpgradeToDeneb(state state.BeaconState) (state.BeaconState, error) { if err != nil { return nil, err } + historicalRoots, err := state.HistoricalRoots() + if err != nil { + return nil, err + } s := ðpb.BeaconStateDeneb{ GenesisTime: state.GenesisTime(), @@ -70,7 +74,7 @@ func UpgradeToDeneb(state state.BeaconState) (state.BeaconState, error) { LatestBlockHeader: state.LatestBlockHeader(), BlockRoots: state.BlockRoots(), StateRoots: state.StateRoots(), - HistoricalRoots: [][]byte{}, + HistoricalRoots: historicalRoots, Eth1Data: state.Eth1Data(), Eth1DataVotes: state.Eth1DataVotes(), Eth1DepositIndex: state.Eth1DepositIndex(), diff --git a/beacon-chain/core/deneb/upgrade_test.go b/beacon-chain/core/deneb/upgrade_test.go index d3518b53fd47..169f1d58289f 100644 --- a/beacon-chain/core/deneb/upgrade_test.go +++ b/beacon-chain/core/deneb/upgrade_test.go @@ -14,6 +14,7 @@ import ( func TestUpgradeToDeneb(t *testing.T) { st, _ := util.DeterministicGenesisStateCapella(t, params.BeaconConfig().MaxValidatorsPerCommittee) + require.NoError(t, st.SetHistoricalRoots([][]byte{{1}})) preForkState := st.Copy() mSt, err := deneb.UpgradeToDeneb(st) require.NoError(t, err) @@ -46,6 +47,12 @@ func TestUpgradeToDeneb(t *testing.T) { require.NoError(t, err) require.DeepSSZEqual(t, make([]uint64, numValidators), s) + hr1, err := preForkState.HistoricalRoots() + require.NoError(t, err) + hr2, err := mSt.HistoricalRoots() + require.NoError(t, err) + require.DeepEqual(t, hr1, hr2) + f := mSt.Fork() require.DeepSSZEqual(t, ðpb.Fork{ PreviousVersion: st.Fork().CurrentVersion,