get stable LogsHash result

This commit is contained in:
maskpp 2025-11-02 22:23:17 +08:00
parent 18a902799e
commit e8731404d0

View file

@ -22,6 +22,7 @@ import (
"fmt" "fmt"
"maps" "maps"
"slices" "slices"
"sort"
"sync" "sync"
"sync/atomic" "sync/atomic"
"time" "time"
@ -264,6 +265,10 @@ func (s *StateDB) Logs() []*types.Log {
for _, lgs := range s.logs { for _, lgs := range s.logs {
logs = append(logs, lgs...) logs = append(logs, lgs...)
} }
// Due to the map iteration is not stable, we need to sort the logs by TxIndex, then the LogsHash result is stable.
sort.Slice(logs, func(i, j int) bool {
return logs[i].TxIndex < logs[j].TxIndex
})
return logs return logs
} }