diff --git a/trie/stacktrie.go b/trie/stacktrie.go index 42bd31acc6..a607efbede 100644 --- a/trie/stacktrie.go +++ b/trie/stacktrie.go @@ -101,9 +101,6 @@ func (t *StackTrie) Update(key, value []byte) error { if bytes.Compare(t.last, k) >= 0 { return errors.New("non-ascending key order") } - if err := t.insert(t.root, k, value, nil); err != nil { - return err - } // track the first and last inserted entries. if t.first == nil { t.first = append([]byte{}, k...) @@ -113,6 +110,9 @@ func (t *StackTrie) Update(key, value []byte) error { } else { t.last = append(t.last[:0], k...) // reuse key slice } + if err := t.insert(t.root, k, value, nil); err != nil { + return err + } return nil }