Browse Source

Handle sqlite gaps while scanning accounts

LL-329
gre-patch-1
meriadec 6 years ago
parent
commit
0010442d30
No known key found for this signature in database GPG Key ID: 1D2FC2305E2CB399
  1. 17
      src/helpers/libcore.js

17
src/helpers/libcore.js

@ -111,7 +111,6 @@ async function scanAccountsOnDeviceBySegwit({
// retrieve or create the wallet
const wallet = await getOrCreateWallet(core, walletName, { currency, derivationMode })
const accountsCount = await wallet.getAccountCount()
// recursively scan all accounts on device on the given app
// new accounts will be created in sqlite, existing ones will be updated
@ -121,7 +120,6 @@ async function scanAccountsOnDeviceBySegwit({
walletName,
devicePath,
currency,
accountsCount,
accountIndex: 0,
accounts: [],
onAccountScanned,
@ -202,7 +200,6 @@ async function scanNextAccount(props: {
currency: CryptoCurrency,
seedIdentifier: string,
derivationMode: string,
accountsCount: number,
accountIndex: number,
accounts: AccountRaw[],
onAccountScanned: AccountRaw => void,
@ -215,7 +212,6 @@ async function scanNextAccount(props: {
walletName,
devicePath,
currency,
accountsCount,
accountIndex,
accounts,
onAccountScanned,
@ -225,13 +221,12 @@ async function scanNextAccount(props: {
isUnsubscribed,
} = props
// create account only if account has not been scanned yet
// if it has already been created, we just need to get it, and sync it
const hasBeenScanned = accountIndex < accountsCount
const njsAccount = hasBeenScanned
? await wallet.getAccount(accountIndex)
: await createAccount(wallet, devicePath)
let njsAccount
try {
njsAccount = await wallet.getAccount(accountIndex)
} catch (err) {
njsAccount = await createAccount(wallet, devicePath)
}
if (isUnsubscribed()) return []

Loading…
Cancel
Save