@bsv/wallet-toolbox 1.6.3 → 1.6.5
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/CHANGELOG.md +10 -0
- package/docs/client.md +402 -313
- package/docs/monitor.md +4 -4
- package/docs/services.md +118 -133
- package/docs/wallet.md +402 -313
- package/mobile/out/src/monitor/Monitor.d.ts +3 -3
- package/mobile/out/src/monitor/Monitor.d.ts.map +1 -1
- package/mobile/out/src/monitor/Monitor.js.map +1 -1
- package/mobile/out/src/sdk/WalletServices.interfaces.d.ts +88 -2
- package/mobile/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/mobile/out/src/services/Services.js +1 -1
- package/mobile/out/src/services/Services.js.map +1 -1
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +3 -3
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +1 -6
- package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +2 -2
- package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +33 -16
- package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +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 -11
- package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +2 -2
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +4 -4
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +2 -3
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +2 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +4 -5
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +2 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +2 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +7 -7
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +42 -5
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -7
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +63 -130
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts +0 -3
- package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/index.client.js +0 -3
- package/mobile/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +2 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -7
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +2 -2
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +2 -2
- package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.js +4 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +26 -11
- package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts +2 -1
- package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/mobile/out/src/services/createDefaultWalletServicesOptions.js +19 -17
- package/mobile/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/mobile/package-lock.json +2 -2
- package/mobile/package.json +1 -1
- package/out/src/monitor/Monitor.d.ts +3 -3
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +88 -2
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/services/Services.js +1 -1
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +3 -3
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +1 -6
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +33 -16
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +15 -11
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +4 -4
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +2 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +3 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +4 -5
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +2 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +4 -3
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +7 -7
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +42 -5
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +91 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +448 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -29
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +61 -137
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -7
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +63 -130
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +81 -0
- package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +12 -1
- package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +50 -0
- package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +12 -0
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +83 -0
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.all.js +3 -0
- package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts +0 -3
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.client.js +0 -3
- package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -7
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +2 -2
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +4 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +26 -11
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +2 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +19 -17
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/__tests/exchangeRates.test.d.ts +2 -0
- package/out/src/services/providers/__tests/exchangeRates.test.d.ts.map +1 -0
- package/out/src/services/providers/__tests/exchangeRates.test.js +19 -0
- package/out/src/services/providers/__tests/exchangeRates.test.js.map +1 -0
- package/out/test/Wallet/support/operations.man.test.js +1 -1
- package/out/test/Wallet/support/operations.man.test.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/monitor/Monitor.ts +3 -3
- package/src/sdk/WalletServices.interfaces.ts +88 -1
- package/src/services/Services.ts +1 -1
- package/src/services/chaintracker/ChaintracksChainTracker.ts +3 -2
- package/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.ts +1 -7
- package/src/services/chaintracker/chaintracks/Api/BulkStorageApi.ts +1 -1
- package/src/services/chaintracker/chaintracks/Api/ChaintracksApi.ts +2 -2
- package/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.ts +39 -14
- package/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.ts +1 -1
- package/src/services/chaintracker/chaintracks/Chaintracks.ts +16 -11
- package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts +4 -5
- package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.ts +1 -1
- package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.ts +2 -3
- package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.ts +1 -0
- package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.ts +3 -1
- package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts +1 -1
- package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.ts +10 -3
- package/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.ts +6 -4
- package/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.ts +1 -1
- package/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.ts +1 -1
- package/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.ts +2 -1
- package/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.ts +4 -3
- package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts +60 -11
- package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts +557 -0
- package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts +80 -179
- package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.ts +63 -133
- package/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.ts +102 -0
- package/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.ts +14 -1
- package/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.ts +61 -0
- package/src/services/chaintracker/chaintracks/createIdbChaintracks.ts +111 -0
- package/src/services/chaintracker/chaintracks/index.all.ts +4 -0
- package/src/services/chaintracker/chaintracks/index.client.ts +0 -3
- package/src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts +20 -11
- package/src/services/chaintracker/chaintracks/util/BulkFilesReader.ts +1 -1
- package/src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts +3 -3
- package/src/services/chaintracker/chaintracks/util/HeightRange.ts +4 -1
- package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +26 -11
- package/src/services/createDefaultWalletServicesOptions.ts +25 -18
- package/src/services/providers/__tests/exchangeRates.test.ts +18 -0
- package/test/Wallet/support/operations.man.test.ts +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +0 -30
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +0 -1
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.js +0 -149
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +0 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +0 -23
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +0 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +0 -57
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +0 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +0 -16
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +0 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +0 -53
- package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +0 -1
|
@@ -65,13 +65,14 @@ export class ChaintracksKnexMigrations implements MigrationSource<string> {
|
|
|
65
65
|
table.integer('bits').unsigned().notNullable
|
|
66
66
|
table.integer('nonce').unsigned().notNullable
|
|
67
67
|
|
|
68
|
-
table.
|
|
68
|
+
table.unique(['hash'])
|
|
69
|
+
table.index(['previousHeaderId'])
|
|
70
|
+
table.index(['height'])
|
|
69
71
|
table.index(['previousHash'])
|
|
72
|
+
table.index(['merkleRoot'])
|
|
70
73
|
table.index(['isChainTip'])
|
|
71
|
-
table.index(['previousHeaderId'])
|
|
72
74
|
table.index(['isActive'])
|
|
73
75
|
table.index(['isActive', 'isChainTip'])
|
|
74
|
-
table.index(['height'])
|
|
75
76
|
})
|
|
76
77
|
|
|
77
78
|
await knex.schema.createTable(bulkFilesTableName, table => {
|
|
@@ -5,10 +5,20 @@ import {
|
|
|
5
5
|
ChaintracksStorageIngestApi,
|
|
6
6
|
ChaintracksStorageQueryApi
|
|
7
7
|
} from '../Api/ChaintracksStorageApi'
|
|
8
|
-
import { BlockHeader, LiveBlockHeader } from '../Api/BlockHeaderApi'
|
|
8
|
+
import { BaseBlockHeader, BlockHeader, LiveBlockHeader } from '../Api/BlockHeaderApi'
|
|
9
9
|
import { HeightRange } from '../util/HeightRange'
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
addWork,
|
|
12
|
+
convertBitsToWork,
|
|
13
|
+
deserializeBaseBlockHeaders,
|
|
14
|
+
isMoreWork,
|
|
15
|
+
serializeBaseBlockHeaders,
|
|
16
|
+
subWork
|
|
17
|
+
} from '../util/blockHeaderUtilities'
|
|
11
18
|
import { BulkFileDataManager } from '../util/BulkFileDataManager'
|
|
19
|
+
import { BulkFilesReaderStorage } from '../util/BulkFilesReader'
|
|
20
|
+
import { asArray } from '../../../../utility/utilityHelpers.noBuffer'
|
|
21
|
+
import { deserialize } from 'v8'
|
|
12
22
|
|
|
13
23
|
/**
|
|
14
24
|
* Required interface methods of a Chaintracks Storage Engine implementation.
|
|
@@ -26,6 +36,8 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
|
|
|
26
36
|
return options
|
|
27
37
|
}
|
|
28
38
|
|
|
39
|
+
log: (...args: any[]) => void = () => {}
|
|
40
|
+
|
|
29
41
|
chain: Chain
|
|
30
42
|
liveHeightThreshold: number
|
|
31
43
|
reorgHeightThreshold: number
|
|
@@ -45,7 +57,6 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
|
|
|
45
57
|
this.bulkManager =
|
|
46
58
|
options.bulkFileDataManager || new BulkFileDataManager(BulkFileDataManager.createDefaultOptions(this.chain))
|
|
47
59
|
}
|
|
48
|
-
|
|
49
60
|
async shutdown(): Promise<void> {
|
|
50
61
|
/* base class does notning */
|
|
51
62
|
}
|
|
@@ -74,11 +85,11 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
|
|
|
74
85
|
abstract findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>
|
|
75
86
|
abstract findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>
|
|
76
87
|
abstract findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>
|
|
77
|
-
abstract findLiveHeightRange(): Promise<
|
|
88
|
+
abstract findLiveHeightRange(): Promise<HeightRange>
|
|
78
89
|
abstract findMaxHeaderId(): Promise<number>
|
|
79
|
-
abstract getLiveHeightRange(): Promise<HeightRange>
|
|
80
90
|
abstract liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>
|
|
81
|
-
abstract
|
|
91
|
+
abstract getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>
|
|
92
|
+
|
|
82
93
|
/**
|
|
83
94
|
* @param header Header to attempt to add to live storage.
|
|
84
95
|
* @returns details of conditions found attempting to insert header
|
|
@@ -88,6 +99,44 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
|
|
|
88
99
|
|
|
89
100
|
// BASE CLASS IMPLEMENTATIONS - MAY BE OVERRIDEN
|
|
90
101
|
|
|
102
|
+
async getBulkHeaders(range: HeightRange): Promise<Uint8Array> {
|
|
103
|
+
if (range.isEmpty) return new Uint8Array()
|
|
104
|
+
|
|
105
|
+
const fetch = this.bulkManager.fetch
|
|
106
|
+
const reader = await BulkFilesReaderStorage.fromStorage(this, fetch, range, range.length * 80)
|
|
107
|
+
const data = await reader.read()
|
|
108
|
+
if (!data) return new Uint8Array()
|
|
109
|
+
return data
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async getHeadersUint8Array(height: number, count: number): Promise<Uint8Array> {
|
|
113
|
+
if (count <= 0) return new Uint8Array()
|
|
114
|
+
const ranges = await this.getAvailableHeightRanges()
|
|
115
|
+
const range = new HeightRange(height, height + count - 1)
|
|
116
|
+
const bulkRange = ranges.bulk.intersect(range)
|
|
117
|
+
const liveRange = ranges.live.intersect(range)
|
|
118
|
+
|
|
119
|
+
if (liveRange.isEmpty && bulkRange.isEmpty) return new Uint8Array()
|
|
120
|
+
|
|
121
|
+
const liveHeaders = await this.getLiveHeaders(liveRange)
|
|
122
|
+
const liveData = serializeBaseBlockHeaders(liveHeaders)
|
|
123
|
+
const bulkData = await this.getBulkHeaders(bulkRange)
|
|
124
|
+
|
|
125
|
+
const data = new Uint8Array(liveData.length + bulkData.length)
|
|
126
|
+
|
|
127
|
+
if (bulkData.length > 0) data.set(bulkData, 0)
|
|
128
|
+
|
|
129
|
+
if (liveData.length > 0) data.set(liveData, bulkData.length)
|
|
130
|
+
|
|
131
|
+
return data
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
async getHeaders(height: number, count: number): Promise<BaseBlockHeader[]> {
|
|
135
|
+
const data = await this.getHeadersUint8Array(height, count)
|
|
136
|
+
const headers = deserializeBaseBlockHeaders(data)
|
|
137
|
+
return headers
|
|
138
|
+
}
|
|
139
|
+
|
|
91
140
|
async deleteBulkBlockHeaders(): Promise<void> {
|
|
92
141
|
await this.bulkManager.deleteBulkFiles()
|
|
93
142
|
}
|
|
@@ -95,13 +144,13 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
|
|
|
95
144
|
async getAvailableHeightRanges(): Promise<{ bulk: HeightRange; live: HeightRange }> {
|
|
96
145
|
await this.makeAvailable()
|
|
97
146
|
const bulk = await this.bulkManager.getHeightRange()
|
|
98
|
-
const live = await this.
|
|
147
|
+
const live = await this.findLiveHeightRange()
|
|
99
148
|
if (bulk.isEmpty) {
|
|
100
149
|
if (!live.isEmpty && live.minHeight !== 0)
|
|
101
150
|
throw new Error('With empty bulk storage, live storage must start with genesis header.')
|
|
102
151
|
} else {
|
|
103
|
-
if (bulk.minHeight != 0) throw new Error("Bulk storage doesn't start with genesis header.")
|
|
104
|
-
if (!live.isEmpty && bulk.maxHeight + 1 !== live.minHeight)
|
|
152
|
+
if (!bulk.isEmpty && bulk.minHeight != 0) throw new Error("Bulk storage doesn't start with genesis header.")
|
|
153
|
+
if (!live.isEmpty && !bulk.isEmpty && bulk.maxHeight + 1 !== live.minHeight)
|
|
105
154
|
throw new Error('There is a gap or overlap between bulk and live header storage.')
|
|
106
155
|
}
|
|
107
156
|
return { bulk, live }
|
|
@@ -122,7 +171,7 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
|
|
|
122
171
|
this.lastActiveMinHeight = undefined
|
|
123
172
|
}
|
|
124
173
|
} catch (err: unknown) {
|
|
125
|
-
|
|
174
|
+
this.log(err)
|
|
126
175
|
throw err
|
|
127
176
|
}
|
|
128
177
|
}
|
|
@@ -201,7 +250,7 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
|
|
|
201
250
|
if (!ignoreLimits && count > this.bulkMigrationChunkSize) return
|
|
202
251
|
|
|
203
252
|
if (this.nowMigratingLiveToBulk) {
|
|
204
|
-
|
|
253
|
+
this.log('Already migrating live to bulk.')
|
|
205
254
|
return
|
|
206
255
|
}
|
|
207
256
|
|