From 4b35f3355933c20dddf2935cd364742651f27afc Mon Sep 17 00:00:00 2001 From: Liam Date: Mon, 29 Jul 2024 07:19:19 -0700 Subject: [PATCH] Fix crash during reorg for v2.0.0 (#590) (#593) * params: fix usage of IsXDCxDisable * internal/ethapi: fix nil block in function DoCall during reorg Co-authored-by: Daniel Liu <139250065@qq.com> --- internal/ethapi/api.go | 2 +- params/config.go | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index fad8f0cb51..d1c02f7ea0 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -1323,7 +1323,7 @@ func DoCall(ctx context.Context, b Backend, args CallArgs, blockNrOrHash rpc.Blo // this makes sure resources are cleaned up. defer cancel() - block, err := b.BlockByHash(ctx, header.Hash()) + block, err := b.BlockByNumberOrHash(ctx, blockNrOrHash) if err != nil { return nil, 0, false, err, nil } diff --git a/params/config.go b/params/config.go index ff2de6a7eb..650722c4af 100644 --- a/params/config.go +++ b/params/config.go @@ -626,6 +626,10 @@ func (c *ChainConfig) IsTIPXDCXReceiver(num *big.Int) bool { return isForked(common.TIPXDCX, num) && !isForked(common.TIPXDCXReceiverDisable, num) } +func (c *ChainConfig) IsXDCxDisable(num *big.Int) bool { + return isForked(common.TIPXDCXReceiverDisable, num) +} + func (c *ChainConfig) IsTIPXDCXLending(num *big.Int) bool { return isForked(common.TIPXDCXLending, num) } @@ -789,7 +793,7 @@ func (c *ChainConfig) Rules(num *big.Int) Rules { IsLondon: c.IsLondon(num), IsMerge: c.IsMerge(num), IsShanghai: c.IsShanghai(num), - IsXDCxDisable: c.IsTIPXDCXReceiver(num), + IsXDCxDisable: c.IsXDCxDisable(num), IsEIP1559: c.IsEIP1559(num), } }