Skip to content

Commit 16ebc3e

Browse files
authored
fix: don't look up block number for origin point on rollback (#568)
Signed-off-by: Aurora Gaffney <[email protected]>
1 parent a3513aa commit 16ebc3e

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

state/chainsync.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,16 @@ func (ls *LedgerState) handleEventChainsyncRollback(e ChainsyncEvent) error {
9595
return err
9696
}
9797
// Lookup block number for rollback point
98-
tmpBlock, err := database.BlockByPoint(ls.db, e.Point)
99-
if err != nil {
100-
return err
98+
var rollbackBlockNumber uint64
99+
if e.Point.Slot > 0 {
100+
tmpBlock, err := database.BlockByPoint(ls.db, e.Point)
101+
if err != nil {
102+
return err
103+
}
104+
rollbackBlockNumber = tmpBlock.Number
101105
}
102106
// Delete any rolled-back blocks
103-
for i := tip.BlockNumber; i > tmpBlock.Number; i-- {
107+
for i := tip.BlockNumber; i > rollbackBlockNumber; i-- {
104108
txn := ls.db.BlobTxn(true)
105109
err := txn.Do(func(txn *database.Txn) error {
106110
tmpBlock, err := database.BlockByNumberTxn(txn, i)

0 commit comments

Comments
 (0)