Skip to content

Commit a73f5c5

Browse files
authored
Merge pull request #1002 from yyforyongyu/fix-rescan
Make sure to reload all outpoints during startup
2 parents 5e5d895 + 04bfce1 commit a73f5c5

File tree

5 files changed

+14
-11
lines changed

5 files changed

+14
-11
lines changed

chain/bitcoind_client.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -962,6 +962,9 @@ func (c *BitcoindClient) rescan(start chainhash.Hash) error {
962962
}
963963
headers.PushBack(previousHeader)
964964

965+
log.Debugf("Rescanning from block height %v to %v",
966+
previousHeader.Height+1, bestBlock.Height)
967+
965968
// Cycle through all of the blocks known to bitcoind, being mindful of
966969
// reorgs.
967970
for i := previousHeader.Height + 1; i <= bestBlock.Height; i++ {

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ require (
1111
github.com/btcsuite/btcwallet/wallet/txrules v1.2.2
1212
github.com/btcsuite/btcwallet/wallet/txsizes v1.2.5
1313
github.com/btcsuite/btcwallet/walletdb v1.5.1
14-
github.com/btcsuite/btcwallet/wtxmgr v1.5.5
14+
github.com/btcsuite/btcwallet/wtxmgr v1.5.6
1515
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792
1616
github.com/davecgh/go-spew v1.1.1
1717
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0

go.sum

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ github.com/btcsuite/btcwallet/wallet/txsizes v1.2.5 h1:93o5Xz9dYepBP4RMFUc9RGIFX
3131
github.com/btcsuite/btcwallet/wallet/txsizes v1.2.5/go.mod h1:lQ+e9HxZ85QP7r3kdxItkiMSloSLg1PEGis5o5CXUQw=
3232
github.com/btcsuite/btcwallet/walletdb v1.5.1 h1:HgMhDNCrtEFPC+8q0ei5DQ5U9Tl4RCspA22DEKXlopI=
3333
github.com/btcsuite/btcwallet/walletdb v1.5.1/go.mod h1:jk/hvpLFINF0C1kfTn0bfx2GbnFT+Nvnj6eblZALfjs=
34-
github.com/btcsuite/btcwallet/wtxmgr v1.5.5 h1:VA/rHzAjiNuySPcKgdX3uAywbVczZlG5OZeSU7jYoZo=
35-
github.com/btcsuite/btcwallet/wtxmgr v1.5.5/go.mod h1:lzVbDkk/jRao2ib5kge46aLZW1yFc8RFNycdYpnsmZA=
34+
github.com/btcsuite/btcwallet/wtxmgr v1.5.6 h1:Zwvr/rrJYdOLqdBCSr4eICEstnEA+NBUvjIWLkrXaYI=
35+
github.com/btcsuite/btcwallet/wtxmgr v1.5.6/go.mod h1:lzVbDkk/jRao2ib5kge46aLZW1yFc8RFNycdYpnsmZA=
3636
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw=
3737
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
3838
github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
@@ -131,8 +131,6 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT
131131
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
132132
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
133133
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
134-
github.com/ziggie1984/btcwallet/wtxmgr v1.5.1-0.20250409134448-0a7b1137338f h1:iDexQIPkv+0lIHlFBdEjJQ7FhSV59q2Iy/BcFzQ8j1g=
135-
github.com/ziggie1984/btcwallet/wtxmgr v1.5.1-0.20250409134448-0a7b1137338f/go.mod h1:lzVbDkk/jRao2ib5kge46aLZW1yFc8RFNycdYpnsmZA=
136134
go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0=
137135
go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I=
138136
golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=

wallet/rescan.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -250,15 +250,17 @@ out:
250250
case batch := <-w.rescanBatch:
251251
// Log the newly-started rescan.
252252
numAddrs := len(batch.addrs)
253-
noun := pickNoun(numAddrs, "address", "addresses")
254-
log.Infof("Started rescan from block %v (height %d) for %d %s",
255-
batch.bs.Hash, batch.bs.Height, numAddrs, noun)
253+
numOps := len(batch.outpoints)
254+
255+
log.Infof("Started rescan from block %v (height %d) "+
256+
"for %d addrs, %d outpoints", batch.bs.Hash,
257+
batch.bs.Height, numAddrs, numOps)
256258

257259
err := chainClient.Rescan(&batch.bs.Hash, batch.addrs,
258260
batch.outpoints)
259261
if err != nil {
260-
log.Errorf("Rescan for %d %s failed: %v", numAddrs,
261-
noun, err)
262+
log.Errorf("Rescan for %d addrs, %d outpoints "+
263+
"failed: %v", numAddrs, numOps, err)
262264
}
263265
batch.done(err)
264266
case <-quit:

wallet/wallet.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ func (w *Wallet) activeData(dbtx walletdb.ReadWriteTx) ([]btcutil.Address, []wtx
382382
return nil, nil, err
383383
}
384384

385-
unspent, err := w.TxStore.UnspentOutputs(txmgrNs)
385+
unspent, err := w.TxStore.OutputsToWatch(txmgrNs)
386386
return addrs, unspent, err
387387
}
388388

0 commit comments

Comments
 (0)