core/statedb: always clear out access list when setting a new one

This commit is contained in:
Péter Szilágyi 2022-03-08 12:00:29 +02:00
parent 0a4ec1dde5
commit 48605b5f61
No known key found for this signature in database
GPG Key ID: E9AE538CEDF8293D

@ -884,7 +884,6 @@ func (s *StateDB) IntermediateRoot(deleteEmptyObjects bool) common.Hash {
func (s *StateDB) Prepare(thash common.Hash, ti int) { func (s *StateDB) Prepare(thash common.Hash, ti int) {
s.thash = thash s.thash = thash
s.txIndex = ti s.txIndex = ti
s.accessList = newAccessList()
} }
func (s *StateDB) clearJournalAndRefund() { func (s *StateDB) clearJournalAndRefund() {
@ -994,6 +993,9 @@ func (s *StateDB) Commit(deleteEmptyObjects bool) (common.Hash, error) {
// //
// This method should only be called if Berlin/2929+2930 is applicable at the current number. // This method should only be called if Berlin/2929+2930 is applicable at the current number.
func (s *StateDB) PrepareAccessList(sender common.Address, dst *common.Address, precompiles []common.Address, list types.AccessList) { func (s *StateDB) PrepareAccessList(sender common.Address, dst *common.Address, precompiles []common.Address, list types.AccessList) {
// Clear out any leftover from previous executions
s.accessList = newAccessList()
s.AddAddressToAccessList(sender) s.AddAddressToAccessList(sender)
if dst != nil { if dst != nil {
s.AddAddressToAccessList(*dst) s.AddAddressToAccessList(*dst)