Skip to content

Commit c71228a

Browse files
committed
change workingtree start leaf count
1 parent e0b0e01 commit c71228a

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

executor/db.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ func Migration0191(db types.DB) error {
101101
}
102102

103103
nextSequence := uint64(1)
104+
changeWorkingTree := false
104105
err = merkleDB.PrefixedIterate(merkletypes.WorkingTreeKey, nil, func(key, value []byte) (bool, error) {
105106
if len(key) != len(merkletypes.WorkingTreeKey)+1+8 {
106107
return false, nil
@@ -114,7 +115,23 @@ func Migration0191(db types.DB) error {
114115
return true, err
115116
}
116117

117-
if workingTree.Done && workingTree.LeafCount != 0 && nextSequence == workingTree.StartLeafIndex {
118+
if workingTree.Done && workingTree.LeafCount != 0 {
119+
if nextSequence != workingTree.StartLeafIndex {
120+
changeWorkingTree = true
121+
}
122+
123+
if changeWorkingTree {
124+
workingTree.StartLeafIndex = nextSequence
125+
workingTreeBz, err := json.Marshal(workingTree)
126+
if err != nil {
127+
return true, err
128+
}
129+
err = merkleDB.Set(key, workingTreeBz)
130+
if err != nil {
131+
return true, err
132+
}
133+
}
134+
118135
data, err := json.Marshal(executortypes.TreeExtraData{
119136
BlockNumber: types.MustUint64ToInt64(version),
120137
})
@@ -146,6 +163,7 @@ func Migration0191(db types.DB) error {
146163
if err != nil {
147164
return true, err
148165
}
166+
149167
fmt.Printf("finalized tree index: %d, start leaf index: %d, leaf count: %d, block height: %d\n", finalizedTreeInfo.TreeIndex, finalizedTreeInfo.StartLeafIndex, finalizedTreeInfo.LeafCount, version)
150168
nextSequence = workingTree.StartLeafIndex + workingTree.LeafCount
151169
}

0 commit comments

Comments
 (0)