@bsv/wallet-toolbox 1.6.16 → 1.6.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/client.md +15 -5
- package/docs/services.md +15 -5
- package/docs/wallet.md +15 -5
- package/mobile/out/src/sdk/WalletError.js +2 -1
- package/mobile/out/src/sdk/WalletError.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js +15 -5
- package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/mobile/package-lock.json +2 -2
- package/mobile/package.json +1 -1
- package/out/src/sdk/WalletError.js +2 -1
- package/out/src/sdk/WalletError.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +15 -5
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/sdk/WalletError.ts +1 -1
- package/src/services/chaintracker/chaintracks/Chaintracks.ts +15 -5
package/package.json
CHANGED
package/src/sdk/WalletError.ts
CHANGED
|
@@ -54,7 +54,7 @@ export class WalletError extends Error implements WalletErrorObject {
|
|
|
54
54
|
*
|
|
55
55
|
*/
|
|
56
56
|
static fromUnknown(err: unknown): WalletError {
|
|
57
|
-
|
|
57
|
+
if (err instanceof WalletError) return err
|
|
58
58
|
let name = 'WERR_UNKNOWN'
|
|
59
59
|
let message = ''
|
|
60
60
|
let stack: string | undefined
|
|
@@ -15,6 +15,7 @@ import { SingleWriterMultiReaderLock } from './util/SingleWriterMultiReaderLock'
|
|
|
15
15
|
import { ChaintracksFsApi } from './Api/ChaintracksFsApi'
|
|
16
16
|
import { randomBytesBase64, wait } from '../../../utility/utilityHelpers'
|
|
17
17
|
import { WalletError } from '../../../sdk/WalletError'
|
|
18
|
+
import { CWIStyleWalletManager } from '../../../CWIStyleWalletManager'
|
|
18
19
|
|
|
19
20
|
export class Chaintracks implements ChaintracksManagementApi {
|
|
20
21
|
static createOptions(chain: Chain): ChaintracksOptions {
|
|
@@ -328,6 +329,7 @@ export class Chaintracks implements ChaintracksManagementApi {
|
|
|
328
329
|
|
|
329
330
|
let done = false
|
|
330
331
|
for (; !done; ) {
|
|
332
|
+
let bulkSyncError: WalletError | undefined
|
|
331
333
|
for (const bulk of this.bulkIngestors) {
|
|
332
334
|
try {
|
|
333
335
|
const r = await bulk.synchronize(presentHeight, before, newLiveHeaders)
|
|
@@ -344,23 +346,30 @@ export class Chaintracks implements ChaintracksManagementApi {
|
|
|
344
346
|
done = true
|
|
345
347
|
break
|
|
346
348
|
}
|
|
347
|
-
} catch (
|
|
348
|
-
|
|
349
|
+
} catch (eu: unknown) {
|
|
350
|
+
const e = (bulkSyncError = WalletError.fromUnknown(eu))
|
|
351
|
+
this.log(`bulk sync error: ${e.message}`)
|
|
349
352
|
}
|
|
350
353
|
}
|
|
354
|
+
if (!bulkDone && !this.available && bulkSyncError) {
|
|
355
|
+
this.startupError = bulkSyncError
|
|
356
|
+
break
|
|
357
|
+
}
|
|
351
358
|
if (bulkDone) break
|
|
352
359
|
}
|
|
353
360
|
|
|
354
|
-
this.
|
|
361
|
+
if (!this.startupError) {
|
|
362
|
+
this.liveHeaders.unshift(...newLiveHeaders)
|
|
355
363
|
|
|
356
|
-
|
|
364
|
+
added = after.bulk.above(initialRanges.bulk)
|
|
357
365
|
|
|
358
|
-
|
|
366
|
+
this.log(`syncBulkStorage done
|
|
359
367
|
Before sync: bulk ${initialRanges.bulk}, live ${initialRanges.live}
|
|
360
368
|
After sync: bulk ${after.bulk}, live ${after.live}
|
|
361
369
|
${added.length} headers added to bulk storage
|
|
362
370
|
${this.liveHeaders.length} headers forwarded to live header storage
|
|
363
371
|
`)
|
|
372
|
+
}
|
|
364
373
|
}
|
|
365
374
|
|
|
366
375
|
private async getMissingBlockHeader(hash: string): Promise<BlockHeader | undefined> {
|
|
@@ -468,6 +477,7 @@ export class Chaintracks implements ChaintracksManagementApi {
|
|
|
468
477
|
else
|
|
469
478
|
// While still not available, the makeAvailable write lock is held.
|
|
470
479
|
await this.syncBulkStorageNoLock(presentHeight, before)
|
|
480
|
+
if (this.startupError) throw this.startupError
|
|
471
481
|
}
|
|
472
482
|
|
|
473
483
|
let count = 0
|