@@ -23,6 +23,7 @@ import (
2323const InvalidSateObjectVersion int64 = math .MinInt64
2424
2525type cachingVersaDB struct {
26+ version int64
2627 triedb * triedb.Database
2728 versionDB versa.Database
2829 codeDB ethdb.KeyValueStore
@@ -119,7 +120,7 @@ func (cv *cachingVersaDB) OpenTrie(root common.Hash) (Trie, error) {
119120 }
120121
121122 // TODO:: if root tree, versa db should ignore check version, temp use -1
122- state , err := cv .versionDB .OpenState (- 1 , root , cv .mode )
123+ state , err := cv .versionDB .OpenState (cv . version , root , cv .mode )
123124 if err != nil {
124125 if cv .debug != nil {
125126 cv .debug .OnError (fmt .Errorf ("failed to open state, root:%s, error: %s" , root .String (), err .Error ()))
@@ -130,7 +131,7 @@ func (cv *cachingVersaDB) OpenTrie(root common.Hash) (Trie, error) {
130131 cv .debug .OnOpenState (state )
131132 }
132133
133- handler , err := cv .versionDB .OpenTree (state , - 1 , common.Hash {}, root )
134+ handler , err := cv .versionDB .OpenTree (state , cv . version , common.Hash {}, root )
134135 if err != nil {
135136 if cv .debug != nil {
136137 cv .debug .OnError (fmt .Errorf ("failed to open account trie, root:%s, error: %s" , root .String (), err .Error ()))
@@ -213,6 +214,7 @@ func (cv *cachingVersaDB) Flush() error {
213214}
214215
215216func (cv * cachingVersaDB ) SetVersion (version int64 ) {
217+ cv .version = version - 1
216218 cv .debug = NewDebugVersionState (cv .codeDB , cv .versionDB )
217219 cv .debug .Version = version
218220}
0 commit comments