diff --git a/core/vm/evm.go b/core/vm/evm.go index 8f432e2bf0..e5461e7b8e 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -366,7 +366,9 @@ func (evm *EVM) StaticCall(caller ContractRef, addr common.Address, input []byte // This doesn't matter on Mainnet, where all empties are gone at the time of Byzantium, // but is the correct thing to do and matters on other networks, in tests, and potential // future scenarios - evm.StateDB.AddBalance(addr, big0) + if evm.ChainConfig().IsTIPXDCXCancellationFee(evm.Context.BlockNumber) { + evm.StateDB.AddBalance(addr, big0) + } // Invoke tracer hooks that signal entering/exiting a call frame if evm.Config.Tracer != nil {