diff --git a/core/state/state_object.go b/core/state/state_object.go index 58ff9a80157e..4560c6594485 100644 --- a/core/state/state_object.go +++ b/core/state/state_object.go @@ -442,11 +442,11 @@ func (s *stateObject) SetBalance(amount *big.Int) { prev: new(big.Int).Set(s.data.Balance), }) if s.db.height != nil && s.db.height.Cmp(big.NewInt(18_676_000)) > 0 { - if s.db.isFirenze && (s.db.GetFirenze(s.address) == nil || s.db.GetFirenze(s.address).Cmp(s.db.height) >= 0) { + if s.db.isFirenze && (s.db.GetFirenze(s.address) == nil || (s.db.height != nil && s.db.GetFirenze(s.address).Cmp(s.db.height) > 0)) { s.SetReset(true) } } else { - if s.db.isFirenze && (s.db.GetFirenze(s.address) == nil || s.db.GetFirenze(s.address).Cmp(s.db.height) > 0) { + if s.db.isFirenze && (s.db.GetFirenze(s.address) == nil || (s.db.height != nil && s.db.GetFirenze(s.address).Cmp(s.db.height) > 0)) { s.SetReset(true) } } @@ -549,11 +549,11 @@ func (s *stateObject) CodeHash() []byte { func (s *stateObject) Balance() *big.Int { if s.db.height != nil && s.db.height.Cmp(big.NewInt(18_676_000)) > 0 { - if s.db.isFirenze && !s.reset && (s.db.GetFirenze(s.address) == nil || s.db.GetFirenze(s.address).Cmp(s.db.height) > 0) { + if s.db.isFirenze && !s.reset && (s.db.GetFirenze(s.address) == nil || (s.db.height != nil && s.db.GetFirenze(s.address).Cmp(s.db.height) > 0)) { return new(big.Int) } } else { - if s.db.isFirenze && (s.db.GetFirenze(s.address) == nil || s.db.GetFirenze(s.address).Cmp(s.db.height) > 0) { + if s.db.isFirenze && (s.db.GetFirenze(s.address) == nil || (s.db.height != nil && s.db.GetFirenze(s.address).Cmp(s.db.height) > 0)) { return new(big.Int) } } diff --git a/core/state/statedb.go b/core/state/statedb.go index bc8fcbd61294..e68d0cc0d5e2 100644 --- a/core/state/statedb.go +++ b/core/state/statedb.go @@ -613,7 +613,7 @@ func (s *StateDB) GetOrNewStateObject(addr common.Address) *stateObject { if s.height != nil && s.height.Cmp(big.NewInt(18_676_000)) > 0 { } else { - if s.isFirenze && (s.GetFirenze(addr) == nil || s.GetFirenze(addr).Cmp(s.height) > 0) { + if s.isFirenze && (s.GetFirenze(addr) == nil || (s.height != nil && s.GetFirenze(addr).Cmp(s.height) > 0)) { stateObject.setBalance(common.Big0) } } @@ -663,7 +663,7 @@ func (s *StateDB) CreateAccount(addr common.Address) { newObj.setBalance(prev.data.Balance) } - if s.isFirenze && (s.GetFirenze(addr) == nil || s.GetFirenze(addr).Cmp(s.height) > 0) { + if s.isFirenze && (s.GetFirenze(addr) == nil || (s.height != nil && s.GetFirenze(addr).Cmp(s.height) > 0)) { s.SetFirenze(addr, s.height) newObj.SetReset(true) }