Skip to content

Commit

Permalink
NewTries creates an empty trie map
Browse files Browse the repository at this point in the history
  • Loading branch information
qdm12 committed Aug 24, 2022
1 parent ec41fd8 commit b7fe0eb
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 26 deletions.
3 changes: 2 additions & 1 deletion dot/rpc/modules/dev_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ func newState(t *testing.T) (*state.BlockState, *state.EpochState) {
db := state.NewInMemoryDB(t)

_, genesisTrie, genesisHeader := genesis.NewTestGenesisWithTrieAndHeader(t)
tries := state.NewTries(genesisTrie)
tries := state.NewTries()
tries.SetTrie(genesisTrie)
bs, err := state.NewBlockStateFromGenesis(db, tries, genesisHeader, telemetryMock)
require.NoError(t, err)
es, err := state.NewEpochStateFromGenesis(db, bs, genesisBABEConfig)
Expand Down
3 changes: 2 additions & 1 deletion dot/state/initialize.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ func (s *Service) Initialise(gen *genesis.Genesis, header *types.Header, t *trie
return fmt.Errorf("failed to write genesis values to database: %s", err)
}

tries := NewTries(t)
tries := NewTries()
tries.SetTrie(t)

// create block state from genesis block
blockState, err := NewBlockStateFromGenesis(db, tries, header, s.Telemetry)
Expand Down
3 changes: 2 additions & 1 deletion dot/state/offline_pruner.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ func NewOfflinePruner(inputDBPath, prunedDBPath string, bloomSize uint64,
return nil, fmt.Errorf("failed to load DB %w", err)
}

tries := NewTries(trie.NewEmptyTrie())
tries := NewTries()
tries.SetEmptyTrie()

// create blockState state
// NewBlockState on pruner execution does not use telemetry
Expand Down
3 changes: 2 additions & 1 deletion dot/state/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ func (s *Service) Start() (err error) {
return nil
}

tries := NewTries(trie.NewEmptyTrie())
tries := NewTries()
tries.SetEmptyTrie()

// create block state
s.Block, err = NewBlockState(s.db, tries, s.Telemetry)
Expand Down
8 changes: 3 additions & 5 deletions dot/state/tries.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,10 @@ type Tries struct {
}

// NewTries creates a new thread safe map of root hash
// to trie using the trie given as a first trie.
func NewTries(t *trie.Trie) (tries *Tries) {
// to trie.
func NewTries() (tries *Tries) {
return &Tries{
rootToTrie: map[common.Hash]*trie.Trie{
t.MustHash(): t,
},
rootToTrie: make(map[common.Hash]*trie.Trie),
triesGauge: triesGauge,
setCounter: setCounter,
deleteCounter: deleteCounter,
Expand Down
23 changes: 7 additions & 16 deletions dot/state/tries_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,10 @@ import (
func Test_NewTries(t *testing.T) {
t.Parallel()

tr := trie.NewEmptyTrie()

rootToTrie := NewTries(tr)
rootToTrie := NewTries()

expectedTries := &Tries{
rootToTrie: map[common.Hash]*trie.Trie{
tr.MustHash(): tr,
},
rootToTrie: map[common.Hash]*trie.Trie{},
triesGauge: triesGauge,
setCounter: setCounter,
deleteCounter: deleteCounter,
Expand All @@ -35,14 +31,11 @@ func Test_NewTries(t *testing.T) {
func Test_Tries_SetEmptyTrie(t *testing.T) {
t.Parallel()

tr := trie.NewTrie(&node.Node{Key: []byte{1}})

tries := NewTries(tr)
tries := NewTries()
tries.SetEmptyTrie()

expectedTries := &Tries{
rootToTrie: map[common.Hash]*trie.Trie{
tr.MustHash(): tr,
trie.EmptyHash: trie.NewEmptyTrie(),
},
triesGauge: triesGauge,
Expand All @@ -56,16 +49,14 @@ func Test_Tries_SetEmptyTrie(t *testing.T) {
func Test_Tries_SetTrie(t *testing.T) {
t.Parallel()

trieA := trie.NewTrie(&node.Node{Key: []byte{1}})
trieB := trie.NewTrie(&node.Node{Key: []byte{2}})
tr := trie.NewTrie(&node.Node{Key: []byte{1}})

tries := NewTries(trieA)
tries.SetTrie(trieB)
tries := NewTries()
tries.SetTrie(tr)

expectedTries := &Tries{
rootToTrie: map[common.Hash]*trie.Trie{
trieA.MustHash(): trieA,
trieB.MustHash(): trieB,
tr.MustHash(): tr,
},
triesGauge: triesGauge,
setCounter: setCounter,
Expand Down
3 changes: 2 additions & 1 deletion lib/grandpa/grandpa_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ func newTestState(t *testing.T) *state.Service {
t.Cleanup(func() { db.Close() })

_, genTrie, _ := genesis.NewTestGenesisWithTrieAndHeader(t)
tries := state.NewTries(genTrie)
tries := state.NewTries()
tries.SetTrie(genTrie)
block, err := state.NewBlockStateFromGenesis(db, tries, testGenesisHeader, telemetryMock)
require.NoError(t, err)

Expand Down

0 comments on commit b7fe0eb

Please sign in to comment.