Skip to content

Commit

Permalink
core/vm: fix sync issue for testnet
Browse files Browse the repository at this point in the history
  • Loading branch information
gzliudan committed Sep 3, 2024
1 parent 3e4932e commit 8304fbe
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 18 deletions.
2 changes: 1 addition & 1 deletion core/vm/contracts.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func init() {
// ActivePrecompiles returns the precompiles enabled with the current configuration.
func ActivePrecompiles(rules params.Rules) []common.Address {
switch {
case rules.IsXDCxDisable:
case rules.IsTIPXDCXReceiver:
return PrecompiledAddressesXDCv2
case rules.IsIstanbul:
return PrecompiledAddressesIstanbul
Expand Down
12 changes: 10 additions & 2 deletions core/vm/evm.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ type (
func (evm *EVM) precompile(addr common.Address) (PrecompiledContract, bool) {
var precompiles map[common.Address]PrecompiledContract
switch {
case evm.chainRules.IsXDCxDisable:
case evm.chainRules.IsEIP1559:
precompiles = PrecompiledContractsXDCv2
case evm.chainRules.ChainId.Uint64() != 51 && evm.chainRules.IsXDCxDisable:
precompiles = PrecompiledContractsXDCv2
case evm.chainRules.ChainId.Uint64() == 51 && evm.chainRules.IsTIPXDCXReceiver:
precompiles = PrecompiledContractsXDCv2
case evm.chainRules.IsIstanbul:
precompiles = PrecompiledContractsIstanbul
Expand All @@ -61,7 +65,11 @@ func (evm *EVM) precompile(addr common.Address) (PrecompiledContract, bool) {
func (evm *EVM) precompile2(addr common.Address) (PrecompiledContract, bool) {
var precompiles map[common.Address]PrecompiledContract
switch {
case evm.chainRules.IsXDCxDisable:
case evm.chainRules.IsEIP1559:
precompiles = PrecompiledContractsXDCv2
case evm.chainRules.ChainId.Uint64() != 51 && evm.chainRules.IsXDCxDisable:
precompiles = PrecompiledContractsXDCv2
case evm.chainRules.ChainId.Uint64() == 51 && evm.chainRules.IsTIPXDCXReceiver:
precompiles = PrecompiledContractsXDCv2
case evm.chainRules.IsIstanbul && evm.ChainConfig().IsTIPXDCXCancellationFee(evm.BlockNumber):
precompiles = PrecompiledContractsIstanbul
Expand Down
32 changes: 17 additions & 15 deletions params/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -778,6 +778,7 @@ type Rules struct {
IsByzantium, IsConstantinople, IsPetersburg, IsIstanbul bool
IsBerlin, IsLondon bool
IsMerge, IsShanghai bool
IsTIPXDCXReceiver bool
IsXDCxDisable bool
IsEIP1559 bool
}
Expand All @@ -788,20 +789,21 @@ func (c *ChainConfig) Rules(num *big.Int) Rules {
chainId = new(big.Int)
}
return Rules{
ChainId: new(big.Int).Set(chainId),
IsHomestead: c.IsHomestead(num),
IsEIP150: c.IsEIP150(num),
IsEIP155: c.IsEIP155(num),
IsEIP158: c.IsEIP158(num),
IsByzantium: c.IsByzantium(num),
IsConstantinople: c.IsConstantinople(num),
IsPetersburg: c.IsPetersburg(num),
IsIstanbul: c.IsIstanbul(num),
IsBerlin: c.IsBerlin(num),
IsLondon: c.IsLondon(num),
IsMerge: c.IsMerge(num),
IsShanghai: c.IsShanghai(num),
IsXDCxDisable: c.IsXDCxDisable(num),
IsEIP1559: c.IsEIP1559(num),
ChainId: new(big.Int).Set(chainId),
IsHomestead: c.IsHomestead(num),
IsEIP150: c.IsEIP150(num),
IsEIP155: c.IsEIP155(num),
IsEIP158: c.IsEIP158(num),
IsByzantium: c.IsByzantium(num),
IsConstantinople: c.IsConstantinople(num),
IsPetersburg: c.IsPetersburg(num),
IsIstanbul: c.IsIstanbul(num),
IsBerlin: c.IsBerlin(num),
IsLondon: c.IsLondon(num),
IsMerge: c.IsMerge(num),
IsShanghai: c.IsShanghai(num),
IsTIPXDCXReceiver: c.IsTIPXDCXReceiver(num),
IsXDCxDisable: c.IsXDCxDisable(num),
IsEIP1559: c.IsEIP1559(num),
}
}

0 comments on commit 8304fbe

Please sign in to comment.