From 2a1262dc10f7f33f165086dab9ab24fa37849b14 Mon Sep 17 00:00:00 2001 From: Daniil Ankushin Date: Mon, 5 Aug 2024 14:43:22 +0300 Subject: [PATCH] slices, for loop copy, min/max update (#2006) * Update slices, for loop copy, min/max functions * Revert append update * Fix typo * Fix linter * Resolve merge conflict --- core/state.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/state.go b/core/state.go index aee9d44a50..1518ca49ce 100644 --- a/core/state.go +++ b/core/state.go @@ -7,6 +7,7 @@ import ( "fmt" "runtime" "slices" + "sort" "github.com/NethermindEth/juno/core/crypto" "github.com/NethermindEth/juno/core/felt" @@ -400,7 +401,7 @@ func (s *State) updateContractStorages(stateTrie *trie.Trie, diffs map[felt.Felt for key := range diffs { keys = append(keys, key) } - slices.SortStableFunc(keys, func(a, b felt.Felt) int { return a.Cmp(&b) }) + slices.SortStableFunc(keys, func(a, b felt.Felt) int { return len(diffs[a]) - len(diffs[b]) }) // update per-contract storage Tries concurrently contractUpdaters := pool.NewWithResults[*bufferedTransactionWithAddress]().WithErrors().WithMaxGoroutines(runtime.GOMAXPROCS(0))