|
|
@ -17,6 +17,8 @@ |
|
|
|
package logger |
|
|
|
package logger |
|
|
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
import ( |
|
|
|
|
|
|
|
"maps" |
|
|
|
|
|
|
|
|
|
|
|
"github.com/ethereum/go-ethereum/common" |
|
|
|
"github.com/ethereum/go-ethereum/common" |
|
|
|
"github.com/ethereum/go-ethereum/core/tracing" |
|
|
|
"github.com/ethereum/go-ethereum/core/tracing" |
|
|
|
"github.com/ethereum/go-ethereum/core/types" |
|
|
|
"github.com/ethereum/go-ethereum/core/types" |
|
|
@ -71,17 +73,9 @@ func (al accessList) equal(other accessList) bool { |
|
|
|
// Accounts match, cross reference the storage slots too
|
|
|
|
// Accounts match, cross reference the storage slots too
|
|
|
|
for addr, slots := range al { |
|
|
|
for addr, slots := range al { |
|
|
|
otherslots := other[addr] |
|
|
|
otherslots := other[addr] |
|
|
|
|
|
|
|
if !maps.Equal(slots, otherslots) { |
|
|
|
if len(slots) != len(otherslots) { |
|
|
|
|
|
|
|
return false |
|
|
|
return false |
|
|
|
} |
|
|
|
} |
|
|
|
// Given that len(slots) == len(otherslots), we only need to check that
|
|
|
|
|
|
|
|
// all the items from slots are in otherslots.
|
|
|
|
|
|
|
|
for hash := range slots { |
|
|
|
|
|
|
|
if _, ok := otherslots[hash]; !ok { |
|
|
|
|
|
|
|
return false |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
return true |
|
|
|
return true |
|
|
|
} |
|
|
|
} |
|
|
|