NewStateSync create a new state trie download scheduler.
(root common.Hash, database trie.DatabaseReader)
| 26 | |
| 27 | // NewStateSync create a new state trie download scheduler. |
| 28 | func NewStateSync(root common.Hash, database trie.DatabaseReader) *trie.Sync { |
| 29 | var syncer *trie.Sync |
| 30 | callback := func(leaf []byte, parent common.Hash) error { |
| 31 | var obj Account |
| 32 | if err := rlp.Decode(bytes.NewReader(leaf), &obj); err != nil { |
| 33 | return err |
| 34 | } |
| 35 | syncer.AddSubTrie(obj.Root, 64, parent, nil) |
| 36 | syncer.AddRawEntry(common.BytesToHash(obj.CodeHash), 64, parent) |
| 37 | return nil |
| 38 | } |
| 39 | syncer = trie.NewSync(root, database, callback) |
| 40 | return syncer |
| 41 | } |
no outgoing calls