wallet: remove wallet best height check when checkpointing intial sync

This check is not required since the wallet's best height is the genesis
block.
This commit is contained in:
Wilmer Paulino 2019-06-19 19:59:35 -07:00
parent 426f523475
commit 2ff8e92e37
No known key found for this signature in database
GPG key ID: 6DF57B9F9514972F

View file

@ -359,10 +359,20 @@ func (w *Wallet) syncWithChain(birthdayStamp *waddrmgr.BlockStamp) error {
// arbitrary height, rather than all the blocks from genesis, so // arbitrary height, rather than all the blocks from genesis, so
// we persist this height to ensure we don't store any blocks // we persist this height to ensure we don't store any blocks
// before it. // before it.
startHeight, _, err := w.getSyncRange(chainClient, birthdayStamp) _, bestHeight, err := chainClient.GetBestBlock()
if err != nil { if err != nil {
return err return err
} }
startHeight := bestHeight - waddrmgr.MaxReorgDepth + 1
if startHeight < 0 {
startHeight = 0
}
if birthdayStamp.Height < startHeight {
startHeight = birthdayStamp.Height
}
// With the starting height obtained, get the remaining block
// details required by the wallet.
startHash, err := chainClient.GetBlockHash(int64(startHeight)) startHash, err := chainClient.GetBlockHash(int64(startHeight))
if err != nil { if err != nil {
return err return err
@ -724,36 +734,6 @@ func (w *Wallet) recovery(chainClient chain.Interface,
return nil return nil
} }
// getSyncRange determines the best height range to sync with the chain to
// ensure we don't rescan blocks more than once.
func (w *Wallet) getSyncRange(chainClient chain.Interface,
birthdayBlock *waddrmgr.BlockStamp) (int32, int32, error) {
// The wallet requires to store up to MaxReorgDepth blocks, so we'll
// start from there, unless our birthday is before it.
_, bestHeight, err := chainClient.GetBestBlock()
if err != nil {
return 0, 0, err
}
startHeight := bestHeight - waddrmgr.MaxReorgDepth + 1
if startHeight < 0 {
startHeight = 0
}
if birthdayBlock.Height < startHeight {
startHeight = birthdayBlock.Height
}
// If the wallet's tip has surpassed our starting height, then we'll
// start there as we don't need to rescan blocks we've already
// processed.
walletHeight := w.Manager.SyncedTo().Height
if walletHeight > startHeight {
startHeight = walletHeight
}
return startHeight, bestHeight, nil
}
// defaultScopeManagers fetches the ScopedKeyManagers from the wallet using the // defaultScopeManagers fetches the ScopedKeyManagers from the wallet using the
// default set of key scopes. // default set of key scopes.
func (w *Wallet) defaultScopeManagers() ( func (w *Wallet) defaultScopeManagers() (