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:
parent
426f523475
commit
2ff8e92e37
1 changed files with 11 additions and 31 deletions
|
@ -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() (
|
||||||
|
|
Loading…
Reference in a new issue