core: set nil withdrawals during genesis init

When initializing bor with a custom genesis, we used to set withdrawals
and withdrawals hash to empty array and empty hash respectively. While
we don't accept such values in bor cosnensus. Only nil values are allowed.
This commit sets nil values for both.
This commit is contained in:
Manav Darji 2025-05-30 20:58:32 +05:30
parent f9536ef91e
commit 3740eacb80
No known key found for this signature in database
GPG key ID: A426F0124435F36E

View file

@ -518,15 +518,18 @@ func (g *Genesis) toBlockWithRoot(root common.Hash) *types.Block {
head.BaseFee = new(big.Int).SetUint64(params.InitialBaseFee) head.BaseFee = new(big.Int).SetUint64(params.InitialBaseFee)
} }
} }
var (
withdrawals []*types.Withdrawal var withdrawals []*types.Withdrawal
)
if conf := g.Config; conf != nil { if conf := g.Config; conf != nil {
num := big.NewInt(int64(g.Number)) num := big.NewInt(int64(g.Number))
if conf.IsShanghai(num) {
// Polygon/bor: EIP-4895 (withdrawals) not supported. Only set empty
// withdrawal hash if we're not using bor consensus (e.g. dev mode).
if conf.IsShanghai(num) && conf.Bor == nil {
head.WithdrawalsHash = &types.EmptyWithdrawalsHash head.WithdrawalsHash = &types.EmptyWithdrawalsHash
withdrawals = make([]*types.Withdrawal, 0) withdrawals = make([]*types.Withdrawal, 0)
} }
if conf.IsCancun(num) { if conf.IsCancun(num) {
// EIP-4788: The parentBeaconBlockRoot of the genesis block is always // EIP-4788: The parentBeaconBlockRoot of the genesis block is always
// the zero hash. This is because the genesis block does not have a parent // the zero hash. This is because the genesis block does not have a parent
@ -543,7 +546,8 @@ func (g *Genesis) toBlockWithRoot(root common.Hash) *types.Block {
} }
} }
// Polygon/bor: EIP-7685 not supported // Polygon/bor: EIP-7685 (requests) not supported. Only set empty
// withdrawal hash if we're not using bor consensus (e.g. dev mode).
if conf.IsPrague(num) && conf.Bor == nil { if conf.IsPrague(num) && conf.Bor == nil {
head.RequestsHash = &types.EmptyRequestsHash head.RequestsHash = &types.EmptyRequestsHash
} }