all: refactor trie API (#26995)
In this PR, all TryXXX(e.g. TryGet) APIs of trie are renamed to XXX(e.g. Get) with an error returned. The original XXX(e.g. Get) APIs are renamed to MustXXX(e.g. MustGet) and does not return any error -- they print a log output. A future PR will change the behaviour to panic on errorrs.
This commit is contained in:
@@ -206,8 +206,7 @@ func (c *ChtIndexerBackend) Process(ctx context.Context, header *types.Header) e
|
||||
var encNumber [8]byte
|
||||
binary.BigEndian.PutUint64(encNumber[:], num)
|
||||
data, _ := rlp.EncodeToBytes(ChtNode{hash, td})
|
||||
c.trie.Update(encNumber[:], data)
|
||||
return nil
|
||||
return c.trie.Update(encNumber[:], data)
|
||||
}
|
||||
|
||||
// Commit implements core.ChainIndexerBackend
|
||||
@@ -450,10 +449,15 @@ func (b *BloomTrieIndexerBackend) Commit() error {
|
||||
|
||||
decompSize += uint64(len(decomp))
|
||||
compSize += uint64(len(comp))
|
||||
|
||||
var terr error
|
||||
if len(comp) > 0 {
|
||||
b.trie.Update(encKey[:], comp)
|
||||
terr = b.trie.Update(encKey[:], comp)
|
||||
} else {
|
||||
b.trie.Delete(encKey[:])
|
||||
terr = b.trie.Delete(encKey[:])
|
||||
}
|
||||
if terr != nil {
|
||||
return terr
|
||||
}
|
||||
}
|
||||
root, nodes := b.trie.Commit(false)
|
||||
|
||||
+6
-6
@@ -109,7 +109,7 @@ func (t *odrTrie) GetStorage(_ common.Address, key []byte) ([]byte, error) {
|
||||
key = crypto.Keccak256(key)
|
||||
var res []byte
|
||||
err := t.do(key, func() (err error) {
|
||||
res, err = t.trie.TryGet(key)
|
||||
res, err = t.trie.Get(key)
|
||||
return err
|
||||
})
|
||||
return res, err
|
||||
@@ -119,7 +119,7 @@ func (t *odrTrie) GetAccount(address common.Address) (*types.StateAccount, error
|
||||
var res types.StateAccount
|
||||
key := crypto.Keccak256(address.Bytes())
|
||||
err := t.do(key, func() (err error) {
|
||||
value, err := t.trie.TryGet(key)
|
||||
value, err := t.trie.Get(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -138,21 +138,21 @@ func (t *odrTrie) UpdateAccount(address common.Address, acc *types.StateAccount)
|
||||
return fmt.Errorf("decoding error in account update: %w", err)
|
||||
}
|
||||
return t.do(key, func() error {
|
||||
return t.trie.TryUpdate(key, value)
|
||||
return t.trie.Update(key, value)
|
||||
})
|
||||
}
|
||||
|
||||
func (t *odrTrie) UpdateStorage(_ common.Address, key, value []byte) error {
|
||||
key = crypto.Keccak256(key)
|
||||
return t.do(key, func() error {
|
||||
return t.trie.TryUpdate(key, value)
|
||||
return t.trie.Update(key, value)
|
||||
})
|
||||
}
|
||||
|
||||
func (t *odrTrie) DeleteStorage(_ common.Address, key []byte) error {
|
||||
key = crypto.Keccak256(key)
|
||||
return t.do(key, func() error {
|
||||
return t.trie.TryDelete(key)
|
||||
return t.trie.Delete(key)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ func (t *odrTrie) DeleteStorage(_ common.Address, key []byte) error {
|
||||
func (t *odrTrie) DeleteAccount(address common.Address) error {
|
||||
key := crypto.Keccak256(address.Bytes())
|
||||
return t.do(key, func() error {
|
||||
return t.trie.TryDelete(key)
|
||||
return t.trie.Delete(key)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user