@@ -363,15 +363,22 @@ func (t *Trie) writeDirtyNode(db chaindb.Batch, n *Node) (err error) {
363
363
return nil
364
364
}
365
365
366
- // GetInsertedMerkleValues returns the set of node Merkle values
367
- // for each node that was inserted in the state trie since the last snapshot.
368
- func (t * Trie ) GetInsertedMerkleValues () (merkleValues map [string ]struct {}, err error ) {
369
- merkleValues = make (map [string ]struct {})
370
- err = t .getInsertedNodeHashesAtNode (t .root , merkleValues )
366
+ // GetChangedNodeHashes returns the two sets of hashes for all nodes
367
+ // inserted and deleted in the state trie since the last snapshot.
368
+ // Returned maps are safe for mutation.
369
+ func (t * Trie ) GetChangedNodeHashes () (inserted , deleted map [string ]struct {}, err error ) {
370
+ inserted = make (map [string ]struct {})
371
+ err = t .getInsertedNodeHashesAtNode (t .root , inserted )
371
372
if err != nil {
372
- return nil , err
373
+ return nil , nil , err
373
374
}
374
- return merkleValues , nil
375
+
376
+ deleted = make (map [string ]struct {}, len (t .deletedMerkleValues ))
377
+ for k := range t .deletedMerkleValues {
378
+ deleted [k ] = struct {}{}
379
+ }
380
+
381
+ return inserted , deleted , nil
375
382
}
376
383
377
384
func (t * Trie ) getInsertedNodeHashesAtNode (n * Node , merkleValues map [string ]struct {}) (err error ) {
@@ -411,14 +418,3 @@ func (t *Trie) getInsertedNodeHashesAtNode(n *Node, merkleValues map[string]stru
411
418
412
419
return nil
413
420
}
414
-
415
- // GetDeletedMerkleValues returns a set of all the node Merkle values for each
416
- // node that was deleted from the trie since the last snapshot was made.
417
- // The returned set is a copy of the internal set to prevent data corruption.
418
- func (t * Trie ) GetDeletedMerkleValues () (merkleValues map [string ]struct {}) {
419
- merkleValues = make (map [string ]struct {}, len (t .deletedMerkleValues ))
420
- for k := range t .deletedMerkleValues {
421
- merkleValues [k ] = struct {}{}
422
- }
423
- return merkleValues
424
- }
0 commit comments