@bsv/wallet-toolbox-mobile 1.5.21 → 1.6.1
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/out/src/CWIStyleWalletManager.js +1 -1
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/Setup.d.ts +267 -0
- package/out/src/Setup.d.ts.map +1 -0
- package/out/src/Setup.js +408 -0
- package/out/src/Setup.js.map +1 -0
- package/out/src/SetupClient.d.ts +9 -5
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +21 -15
- package/out/src/SetupClient.js.map +1 -1
- package/out/src/SetupWallet.d.ts +9 -6
- package/out/src/SetupWallet.d.ts.map +1 -1
- package/out/src/Wallet.d.ts +19 -15
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +59 -90
- package/out/src/Wallet.js.map +1 -1
- package/out/src/index.client.d.ts +11 -10
- package/out/src/index.client.d.ts.map +1 -1
- package/out/src/index.client.js +11 -10
- package/out/src/index.client.js.map +1 -1
- package/out/src/index.mobile.d.ts +11 -10
- package/out/src/index.mobile.d.ts.map +1 -1
- package/out/src/index.mobile.js +11 -10
- package/out/src/index.mobile.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts +14 -12
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +11 -43
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +3 -2
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts +16 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +22 -1
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +5 -5
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/sdk/validationHelpers.d.ts +4 -5
- package/out/src/sdk/validationHelpers.d.ts.map +1 -1
- package/out/src/sdk/validationHelpers.js +47 -47
- package/out/src/sdk/validationHelpers.js.map +1 -1
- package/out/src/services/Services.d.ts +25 -24
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +38 -35
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.d.ts +11 -6
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.js +14 -3
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +2 -2
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +6 -4
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +2 -45
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +75 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +81 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +54 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +163 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +8 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +55 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +317 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +19 -0
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +100 -0
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +515 -0
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +30 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +149 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +11 -9
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +26 -15
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +60 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +119 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +76 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +115 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +13 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +20 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +62 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +60 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +23 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +57 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +61 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +40 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +51 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +68 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +16 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +53 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +171 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +502 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +88 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +119 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +22 -0
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +67 -0
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +68 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +253 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +41 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +325 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +4 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +24 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts +31 -0
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/index.client.js +69 -0
- package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +142 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +814 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +78 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +261 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +129 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +145 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +10 -0
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +47 -0
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +72 -0
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +119 -0
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +14 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +88 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +41 -22
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +125 -72
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +5 -0
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +385 -0
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -0
- package/out/src/services/chaintracker/index.client.d.ts +4 -0
- package/out/src/services/chaintracker/index.client.d.ts.map +1 -0
- package/out/src/services/chaintracker/{index.js → index.client.js} +2 -2
- package/out/src/services/chaintracker/index.client.js.map +1 -0
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +5 -4
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +4 -4
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/ARC.d.ts +3 -3
- package/out/src/services/providers/ARC.d.ts.map +1 -1
- package/out/src/services/providers/ARC.js +4 -3
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/Bitails.d.ts +7 -6
- package/out/src/services/providers/Bitails.d.ts.map +1 -1
- package/out/src/services/providers/Bitails.js +7 -5
- package/out/src/services/providers/Bitails.js.map +1 -1
- package/out/src/services/providers/WhatsOnChain.d.ts +76 -17
- package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/WhatsOnChain.js +241 -143
- package/out/src/services/providers/WhatsOnChain.js.map +1 -1
- package/out/src/services/providers/{echangeRates.d.ts → exchangeRates.d.ts} +4 -4
- package/out/src/services/providers/exchangeRates.d.ts.map +1 -0
- package/out/src/services/providers/{echangeRates.js → exchangeRates.js} +9 -9
- package/out/src/services/providers/exchangeRates.js.map +1 -0
- package/out/src/signer/WalletSigner.d.ts +3 -3
- package/out/src/signer/WalletSigner.d.ts.map +1 -1
- package/out/src/signer/WalletSigner.js.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -2
- package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts +9 -3
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +27 -11
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.js +15 -13
- package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.d.ts +5 -9
- package/out/src/signer/methods/createAction.d.ts.map +1 -1
- package/out/src/signer/methods/createAction.js +6 -22
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.d.ts +3 -2
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +9 -8
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/proveCertificate.d.ts +4 -2
- package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/proveCertificate.js +2 -2
- package/out/src/signer/methods/proveCertificate.js.map +1 -1
- package/out/src/signer/methods/signAction.d.ts +3 -3
- package/out/src/signer/methods/signAction.d.ts.map +1 -1
- package/out/src/signer/methods/signAction.js +5 -5
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/storage/StorageIdb.d.ts +106 -104
- package/out/src/storage/StorageIdb.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.js +27 -60
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +179 -0
- package/out/src/storage/StorageKnex.d.ts.map +1 -0
- package/out/src/storage/StorageKnex.js +1215 -0
- package/out/src/storage/StorageKnex.js.map +1 -0
- package/out/src/storage/StorageProvider.d.ts +56 -47
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +44 -40
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts +78 -64
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js +2 -2
- package/out/src/storage/StorageReaderWriter.js.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -4
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.js +3 -3
- package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts +6 -5
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +11 -9
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts +6 -4
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +67 -43
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts +2 -2
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +27 -24
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.d.ts +3 -2
- package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +10 -8
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/src/storage/methods/getSyncChunk.d.ts +2 -2
- package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
- package/out/src/storage/methods/getSyncChunk.js +6 -5
- package/out/src/storage/methods/getSyncChunk.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +3 -2
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +21 -19
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
- package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listActionsIdb.js +5 -5
- package/out/src/storage/methods/listActionsIdb.js.map +1 -1
- package/out/src/storage/methods/listActionsKnex.d.ts +6 -0
- package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -0
- package/out/src/storage/methods/listActionsKnex.js +198 -0
- package/out/src/storage/methods/listActionsKnex.js.map +1 -0
- package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.js +6 -5
- package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.d.ts +6 -0
- package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -0
- package/out/src/storage/methods/listOutputsKnex.js +241 -0
- package/out/src/storage/methods/listOutputsKnex.js.map +1 -0
- package/out/src/storage/methods/processAction.d.ts +6 -3
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +45 -40
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/purgeData.d.ts +4 -0
- package/out/src/storage/methods/purgeData.d.ts.map +1 -0
- package/out/src/storage/methods/purgeData.js +207 -0
- package/out/src/storage/methods/purgeData.js.map +1 -0
- package/out/src/storage/methods/purgeDataIdb.d.ts +2 -2
- package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
- package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
- package/out/src/storage/methods/reviewStatus.d.ts +20 -0
- package/out/src/storage/methods/reviewStatus.d.ts.map +1 -0
- package/out/src/storage/methods/reviewStatus.js +84 -0
- package/out/src/storage/methods/reviewStatus.js.map +1 -0
- package/out/src/storage/methods/utils.js +2 -2
- package/out/src/storage/methods/utils.js.map +1 -1
- package/out/src/storage/remoting/StorageClient.d.ts +35 -25
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +3 -3
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageMobile.d.ts +35 -25
- package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageMobile.js +3 -3
- package/out/src/storage/remoting/StorageMobile.js.map +1 -1
- package/out/src/storage/schema/KnexMigrations.d.ts +39 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -0
- package/out/src/storage/schema/KnexMigrations.js +410 -0
- package/out/src/storage/schema/KnexMigrations.js.map +1 -0
- package/out/src/storage/schema/entities/EntityBase.d.ts +4 -3
- package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificate.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificate.js +5 -5
- package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificateField.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificateField.js +6 -5
- package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCommission.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCommission.js +6 -6
- package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.d.ts +8 -7
- package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.js +6 -6
- package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTag.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTag.js +5 -5
- package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.js +8 -7
- package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts +10 -7
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +14 -12
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +22 -18
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +17 -15
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.d.ts +13 -11
- package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +39 -24
- package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.d.ts +13 -9
- package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.js +13 -13
- package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabel.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabel.js +5 -5
- package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.js +8 -7
- package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
- package/out/src/storage/schema/entities/EntityUser.d.ts +6 -5
- package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityUser.js +8 -7
- package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.d.ts +6 -5
- package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.js +6 -5
- package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
- package/out/src/utility/ReaderUint8Array.d.ts +28 -0
- package/out/src/utility/ReaderUint8Array.d.ts.map +1 -0
- package/out/src/utility/ReaderUint8Array.js +166 -0
- package/out/src/utility/ReaderUint8Array.js.map +1 -0
- package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
- package/out/src/utility/ScriptTemplateBRC29.js +4 -4
- package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
- package/out/src/utility/utilityHelpers.d.ts +11 -4
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +30 -9
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.d.ts +22 -5
- package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +50 -9
- package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
- package/out/test/utils/TestUtilsWalletStorage.d.ts +522 -0
- package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -0
- package/out/test/utils/TestUtilsWalletStorage.js +1956 -0
- package/out/test/utils/TestUtilsWalletStorage.js.map +1 -0
- package/out/tsconfig.mobile.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/out/src/services/chaintracker/chaintracks/index.d.ts +0 -3
- package/out/src/services/chaintracker/chaintracks/index.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.js +0 -19
- package/out/src/services/chaintracker/chaintracks/index.js.map +0 -1
- package/out/src/services/chaintracker/index.d.ts +0 -4
- package/out/src/services/chaintracker/index.d.ts.map +0 -1
- package/out/src/services/chaintracker/index.js.map +0 -1
- package/out/src/services/index.d.ts +0 -2
- package/out/src/services/index.d.ts.map +0 -1
- package/out/src/services/index.js +0 -18
- package/out/src/services/index.js.map +0 -1
- package/out/src/services/providers/echangeRates.d.ts.map +0 -1
- package/out/src/services/providers/echangeRates.js.map +0 -1
- package/out/src/utility/utilityHelpers.buffer.d.ts +0 -18
- package/out/src/utility/utilityHelpers.buffer.d.ts.map +0 -1
- package/out/src/utility/utilityHelpers.buffer.js +0 -45
- package/out/src/utility/utilityHelpers.buffer.js.map +0 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BulkHeaderFiles = exports.BulkHeaderFileStorage = exports.BulkHeaderFileFs = exports.BulkHeaderFile = void 0;
|
|
4
|
+
const HeightRange_1 = require("./HeightRange");
|
|
5
|
+
const sdk_1 = require("@bsv/sdk");
|
|
6
|
+
const WERR_errors_1 = require("../../../../sdk/WERR_errors");
|
|
7
|
+
const utilityHelpers_noBuffer_1 = require("../../../../utility/utilityHelpers.noBuffer");
|
|
8
|
+
class BulkHeaderFile {
|
|
9
|
+
constructor(info) {
|
|
10
|
+
this.chain = info.chain;
|
|
11
|
+
this.count = info.count;
|
|
12
|
+
this.data = info.data;
|
|
13
|
+
this.fileHash = info.fileHash;
|
|
14
|
+
this.fileId = info.fileId;
|
|
15
|
+
this.fileName = info.fileName;
|
|
16
|
+
this.firstHeight = info.firstHeight;
|
|
17
|
+
this.lastChainWork = info.lastChainWork;
|
|
18
|
+
this.lastHash = info.lastHash;
|
|
19
|
+
this.prevChainWork = info.prevChainWork;
|
|
20
|
+
this.prevHash = info.prevHash;
|
|
21
|
+
this.sourceUrl = info.sourceUrl;
|
|
22
|
+
this.validated = info.validated;
|
|
23
|
+
}
|
|
24
|
+
get heightRange() {
|
|
25
|
+
return new HeightRange_1.HeightRange(this.firstHeight, this.firstHeight + this.count - 1);
|
|
26
|
+
}
|
|
27
|
+
async ensureData() {
|
|
28
|
+
if (!this.data)
|
|
29
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION(`data is undefined and no ensureData() override`);
|
|
30
|
+
return this.data;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Whenever reloading data from a backing store, validated fileHash must be re-verified
|
|
34
|
+
* @returns the sha256 hash of the file's data as base64 string.
|
|
35
|
+
*/
|
|
36
|
+
async computeFileHash() {
|
|
37
|
+
if (!this.data)
|
|
38
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION(`requires defined data`);
|
|
39
|
+
return (0, utilityHelpers_noBuffer_1.asString)(sdk_1.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(this.data)), 'base64');
|
|
40
|
+
}
|
|
41
|
+
async releaseData() {
|
|
42
|
+
this.data = undefined;
|
|
43
|
+
}
|
|
44
|
+
toCdnInfo() {
|
|
45
|
+
return {
|
|
46
|
+
count: this.count,
|
|
47
|
+
fileHash: this.fileHash,
|
|
48
|
+
fileName: this.fileName,
|
|
49
|
+
firstHeight: this.firstHeight,
|
|
50
|
+
lastChainWork: this.lastChainWork,
|
|
51
|
+
lastHash: this.lastHash,
|
|
52
|
+
prevChainWork: this.prevChainWork,
|
|
53
|
+
prevHash: this.prevHash
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
toStorageInfo() {
|
|
57
|
+
return {
|
|
58
|
+
count: this.count,
|
|
59
|
+
fileHash: this.fileHash,
|
|
60
|
+
fileName: this.fileName,
|
|
61
|
+
firstHeight: this.firstHeight,
|
|
62
|
+
lastChainWork: this.lastChainWork,
|
|
63
|
+
lastHash: this.lastHash,
|
|
64
|
+
prevChainWork: this.prevChainWork,
|
|
65
|
+
prevHash: this.prevHash,
|
|
66
|
+
chain: this.chain,
|
|
67
|
+
validated: this.validated,
|
|
68
|
+
sourceUrl: this.sourceUrl,
|
|
69
|
+
fileId: this.fileId
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.BulkHeaderFile = BulkHeaderFile;
|
|
74
|
+
class BulkHeaderFileFs extends BulkHeaderFile {
|
|
75
|
+
constructor(info, fs, rootFolder) {
|
|
76
|
+
super(info);
|
|
77
|
+
this.fs = fs;
|
|
78
|
+
this.rootFolder = rootFolder;
|
|
79
|
+
}
|
|
80
|
+
async readDataFromFile(length, offset) {
|
|
81
|
+
if (this.data) {
|
|
82
|
+
return this.data.slice(offset, offset + length);
|
|
83
|
+
}
|
|
84
|
+
const f = await this.fs.openReadableFile(this.fs.pathJoin(this.rootFolder, this.fileName));
|
|
85
|
+
try {
|
|
86
|
+
const buffer = await f.read(length, offset);
|
|
87
|
+
return buffer;
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
await f.close();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async ensureData() {
|
|
94
|
+
if (this.data)
|
|
95
|
+
return this.data;
|
|
96
|
+
this.data = await this.readDataFromFile(this.count * 80, 0);
|
|
97
|
+
if (!this.data)
|
|
98
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION(`failed to read data for ${this.fileName}`);
|
|
99
|
+
if (this.validated) {
|
|
100
|
+
const hash = await this.computeFileHash();
|
|
101
|
+
if (hash !== this.fileHash)
|
|
102
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION(`BACKING FILE DATA CORRUPTION: invalid fileHash for ${this.fileName}`);
|
|
103
|
+
}
|
|
104
|
+
return this.data;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.BulkHeaderFileFs = BulkHeaderFileFs;
|
|
108
|
+
class BulkHeaderFileStorage extends BulkHeaderFile {
|
|
109
|
+
constructor(info, storage, fetch) {
|
|
110
|
+
super(info);
|
|
111
|
+
this.storage = storage;
|
|
112
|
+
this.fetch = fetch;
|
|
113
|
+
}
|
|
114
|
+
async readDataFromFile(length, offset) {
|
|
115
|
+
return (await this.ensureData()).slice(offset, offset + length);
|
|
116
|
+
}
|
|
117
|
+
async ensureData() {
|
|
118
|
+
if (this.data)
|
|
119
|
+
return this.data;
|
|
120
|
+
if (!this.sourceUrl) {
|
|
121
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('sourceUrl', 'defined. Or data must be defined.');
|
|
122
|
+
}
|
|
123
|
+
const url = this.fetch.pathJoin(this.sourceUrl, this.fileName);
|
|
124
|
+
this.data = await this.fetch.download(url);
|
|
125
|
+
if (!this.data)
|
|
126
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION(`failed to download data from ${url}`);
|
|
127
|
+
if (this.validated) {
|
|
128
|
+
const hash = await this.computeFileHash();
|
|
129
|
+
if (hash !== this.fileHash)
|
|
130
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION(`BACKING DOWNLOAD DATA CORRUPTION: invalid fileHash for ${this.fileName}`);
|
|
131
|
+
}
|
|
132
|
+
return this.data;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.BulkHeaderFileStorage = BulkHeaderFileStorage;
|
|
136
|
+
class BulkHeaderFiles {
|
|
137
|
+
constructor(rootFolder, jsonFilename, files, headersPerFile) {
|
|
138
|
+
this.rootFolder = rootFolder;
|
|
139
|
+
this.jsonFilename = jsonFilename;
|
|
140
|
+
this.files = files;
|
|
141
|
+
this.headersPerFile = headersPerFile;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.BulkHeaderFiles = BulkHeaderFiles;
|
|
145
|
+
//# sourceMappingURL=BulkHeaderFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkHeaderFile.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HttpClient } from '@bsv/sdk';
|
|
2
|
+
import { ChaintracksFetchApi } from '../Api/ChaintracksFetchApi';
|
|
3
|
+
export declare class ChaintracksFetch implements ChaintracksFetchApi {
|
|
4
|
+
httpClient: HttpClient;
|
|
5
|
+
constructor();
|
|
6
|
+
download(url: string): Promise<Uint8Array>;
|
|
7
|
+
fetchJson<R>(url: string): Promise<R>;
|
|
8
|
+
pathJoin(baseUrl: string, subpath: string): string;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ChaintracksFetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChaintracksFetch.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,UAAU,EAAE,UAAU,CAAsB;;IAItC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB1C,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAe3C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;CAQnD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChaintracksFetch = void 0;
|
|
4
|
+
const sdk_1 = require("@bsv/sdk");
|
|
5
|
+
class ChaintracksFetch {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.httpClient = (0, sdk_1.defaultHttpClient)();
|
|
8
|
+
}
|
|
9
|
+
async download(url) {
|
|
10
|
+
const response = await fetch(url, {
|
|
11
|
+
method: 'GET',
|
|
12
|
+
headers: {
|
|
13
|
+
'Content-Type': 'application/octet-stream'
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
if (!response.ok) {
|
|
17
|
+
throw new Error(`Failed to download from ${url}: ${response.statusText}`);
|
|
18
|
+
}
|
|
19
|
+
const data = await response.arrayBuffer();
|
|
20
|
+
return new Uint8Array(data);
|
|
21
|
+
}
|
|
22
|
+
async fetchJson(url) {
|
|
23
|
+
const requestJsonOptions = {
|
|
24
|
+
method: 'GET',
|
|
25
|
+
headers: {
|
|
26
|
+
Accept: 'application/json'
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const response = await fetch(url, requestJsonOptions);
|
|
30
|
+
if (!response.ok) {
|
|
31
|
+
throw new Error(`Failed to fetch JSON from ${url}: ${response.statusText}`);
|
|
32
|
+
}
|
|
33
|
+
const json = (await response.json());
|
|
34
|
+
return json;
|
|
35
|
+
}
|
|
36
|
+
pathJoin(baseUrl, subpath) {
|
|
37
|
+
// Ensure the subpath doesn't start with a slash to avoid issues
|
|
38
|
+
const cleanSubpath = subpath.replace(/^\/+/, '');
|
|
39
|
+
if (!baseUrl.endsWith('/'))
|
|
40
|
+
baseUrl += '/';
|
|
41
|
+
// Create a new URL object and append the subpath
|
|
42
|
+
const url = new URL(cleanSubpath, baseUrl);
|
|
43
|
+
return url.toString();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.ChaintracksFetch = ChaintracksFetch;
|
|
47
|
+
//# sourceMappingURL=ChaintracksFetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChaintracksFetch.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts"],"names":[],"mappings":";;;AAAA,kCAAwD;AAGxD,MAAa,gBAAgB;IAG3B;QAFA,eAAU,GAAe,IAAA,uBAAiB,GAAE,CAAA;IAE7B,CAAC;IAEhB,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;aAC3C;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAA;QAEzC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS,CAAI,GAAW;QAC5B,MAAM,kBAAkB,GAAG;YACzB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;QACrD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7E,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,OAAe;QACvC,gEAAgE;QAChE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,GAAG,CAAA;QAC1C,iDAAiD;QACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC1C,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;CACF;AA7CD,4CA6CC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { BlockHeader } from '../../../../sdk/WalletServices.interfaces';
|
|
2
|
+
export interface HeightRangeApi {
|
|
3
|
+
minHeight: number;
|
|
4
|
+
maxHeight: number;
|
|
5
|
+
}
|
|
6
|
+
export interface HeightRanges {
|
|
7
|
+
bulk: HeightRange;
|
|
8
|
+
live: HeightRange;
|
|
9
|
+
}
|
|
10
|
+
export declare class HeightRange implements HeightRangeApi {
|
|
11
|
+
minHeight: number;
|
|
12
|
+
maxHeight: number;
|
|
13
|
+
constructor(minHeight: number, maxHeight: number);
|
|
14
|
+
static readonly empty: HeightRange;
|
|
15
|
+
/**
|
|
16
|
+
* @param headers
|
|
17
|
+
* @returns range of height values from the given headers, or the empty range if there are no headers.
|
|
18
|
+
*/
|
|
19
|
+
static from(headers: BlockHeader[]): HeightRange;
|
|
20
|
+
get length(): number;
|
|
21
|
+
get isEmpty(): boolean;
|
|
22
|
+
toString(): string;
|
|
23
|
+
/**
|
|
24
|
+
* @param range HeightRange or single height value.
|
|
25
|
+
* @returns true if `range` is entirely within this range.
|
|
26
|
+
*/
|
|
27
|
+
contains(range: HeightRange | number): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Return the intersection with another height range.
|
|
30
|
+
*
|
|
31
|
+
* Intersection with an empty range is always empty.
|
|
32
|
+
*
|
|
33
|
+
* The result is always a single, possibly empty, range.
|
|
34
|
+
* @param range
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
intersect(range: HeightRange): HeightRange;
|
|
38
|
+
/**
|
|
39
|
+
* Return the union with another height range.
|
|
40
|
+
*
|
|
41
|
+
* Only valid if the two ranges overlap or touch, or one is empty.
|
|
42
|
+
*
|
|
43
|
+
* Throws an error if the union would create two disjoint ranges.
|
|
44
|
+
*
|
|
45
|
+
* @param range
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
union(range: HeightRange): HeightRange;
|
|
49
|
+
/**
|
|
50
|
+
* Returns `range` subtracted from this range.
|
|
51
|
+
*
|
|
52
|
+
* Throws an error if the subtraction would create two disjoint ranges.
|
|
53
|
+
*
|
|
54
|
+
* @param range
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
subtract(range: HeightRange): HeightRange;
|
|
58
|
+
/**
|
|
59
|
+
* If `range` is not empty and this is not empty, returns a new range minHeight
|
|
60
|
+
* replaced by to range.maxHeight + 1.
|
|
61
|
+
*
|
|
62
|
+
* Otherwise returns a copy of this range.
|
|
63
|
+
*
|
|
64
|
+
* This returns the portion of this range that is strictly above `range`.
|
|
65
|
+
*/
|
|
66
|
+
above(range: HeightRange): HeightRange;
|
|
67
|
+
/**
|
|
68
|
+
* Return a copy of this range.
|
|
69
|
+
*/
|
|
70
|
+
copy(): HeightRange;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=HeightRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeightRange.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/HeightRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAEvE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,qBAAa,WAAY,YAAW,cAAc;IAEvC,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;gBADjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM;IAG1B,MAAM,CAAC,QAAQ,CAAC,KAAK,cAAyB;IAE9C;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW;IAOhD,IAAI,MAAM,WAET;IAED,IAAI,OAAO,YAEV;IAED,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IAOpC;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,WAAW;IAI5B;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW;IAQxB;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW;IAmB3B;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW;IAKxB;;OAEG;IACH,IAAI,IAAI,WAAW;CAGpB"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HeightRange = void 0;
|
|
4
|
+
class HeightRange {
|
|
5
|
+
constructor(minHeight, maxHeight) {
|
|
6
|
+
this.minHeight = minHeight;
|
|
7
|
+
this.maxHeight = maxHeight;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @param headers
|
|
11
|
+
* @returns range of height values from the given headers, or the empty range if there are no headers.
|
|
12
|
+
*/
|
|
13
|
+
static from(headers) {
|
|
14
|
+
if (headers.length === 0)
|
|
15
|
+
return HeightRange.empty;
|
|
16
|
+
const minHeight = headers.reduce((min, h) => Math.min(min, h.height), headers[0].height);
|
|
17
|
+
const maxHeight = headers.reduce((max, h) => Math.max(max, h.height), headers[0].height);
|
|
18
|
+
return new HeightRange(minHeight, maxHeight);
|
|
19
|
+
}
|
|
20
|
+
get length() {
|
|
21
|
+
return Math.max(0, this.maxHeight - this.minHeight + 1);
|
|
22
|
+
}
|
|
23
|
+
get isEmpty() {
|
|
24
|
+
return this.minHeight > this.maxHeight;
|
|
25
|
+
}
|
|
26
|
+
toString() {
|
|
27
|
+
return this.isEmpty ? '<empty>' : `${this.minHeight}-${this.maxHeight}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @param range HeightRange or single height value.
|
|
31
|
+
* @returns true if `range` is entirely within this range.
|
|
32
|
+
*/
|
|
33
|
+
contains(range) {
|
|
34
|
+
if (typeof range === 'number') {
|
|
35
|
+
return this.minHeight <= range && this.maxHeight >= range;
|
|
36
|
+
}
|
|
37
|
+
return this.minHeight <= range.minHeight && this.maxHeight >= range.maxHeight;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Return the intersection with another height range.
|
|
41
|
+
*
|
|
42
|
+
* Intersection with an empty range is always empty.
|
|
43
|
+
*
|
|
44
|
+
* The result is always a single, possibly empty, range.
|
|
45
|
+
* @param range
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
intersect(range) {
|
|
49
|
+
return new HeightRange(Math.max(this.minHeight, range.minHeight), Math.min(this.maxHeight, range.maxHeight));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Return the union with another height range.
|
|
53
|
+
*
|
|
54
|
+
* Only valid if the two ranges overlap or touch, or one is empty.
|
|
55
|
+
*
|
|
56
|
+
* Throws an error if the union would create two disjoint ranges.
|
|
57
|
+
*
|
|
58
|
+
* @param range
|
|
59
|
+
* @returns
|
|
60
|
+
*/
|
|
61
|
+
union(range) {
|
|
62
|
+
if (this.isEmpty)
|
|
63
|
+
return range.copy();
|
|
64
|
+
if (range.isEmpty)
|
|
65
|
+
return this.copy();
|
|
66
|
+
if (this.maxHeight + 1 < range.minHeight || range.maxHeight + 1 < this.minHeight)
|
|
67
|
+
throw new Error('Union of ranges with a gap between them is not supported.');
|
|
68
|
+
return new HeightRange(Math.min(this.minHeight, range.minHeight), Math.max(this.maxHeight, range.maxHeight));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Returns `range` subtracted from this range.
|
|
72
|
+
*
|
|
73
|
+
* Throws an error if the subtraction would create two disjoint ranges.
|
|
74
|
+
*
|
|
75
|
+
* @param range
|
|
76
|
+
* @returns
|
|
77
|
+
*/
|
|
78
|
+
subtract(range) {
|
|
79
|
+
if (this.isEmpty || range.isEmpty)
|
|
80
|
+
return this.copy();
|
|
81
|
+
if (this.minHeight < range.minHeight && this.maxHeight > range.maxHeight)
|
|
82
|
+
throw new Error('Subtraction of range that creates two disjoint ranges is not supported.');
|
|
83
|
+
if (range.maxHeight < this.minHeight || range.minHeight > this.maxHeight)
|
|
84
|
+
// Leave untouched. Subtracted is either all lower or all higher.
|
|
85
|
+
return this.copy();
|
|
86
|
+
if (range.minHeight <= this.minHeight && range.maxHeight < this.maxHeight)
|
|
87
|
+
// Remove a chunk on the low side.
|
|
88
|
+
return new HeightRange(range.maxHeight + 1, this.maxHeight);
|
|
89
|
+
if (range.minHeight <= this.minHeight && range.maxHeight >= this.maxHeight)
|
|
90
|
+
// Remove the whole thing
|
|
91
|
+
return new HeightRange(this.minHeight, this.minHeight - 1); // empty
|
|
92
|
+
if (range.minHeight <= this.maxHeight && range.maxHeight >= this.maxHeight)
|
|
93
|
+
// Remove a chunk on the high side.
|
|
94
|
+
return new HeightRange(this.minHeight, range.minHeight - 1);
|
|
95
|
+
throw new Error('All cases should have been handled :-) .');
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* If `range` is not empty and this is not empty, returns a new range minHeight
|
|
99
|
+
* replaced by to range.maxHeight + 1.
|
|
100
|
+
*
|
|
101
|
+
* Otherwise returns a copy of this range.
|
|
102
|
+
*
|
|
103
|
+
* This returns the portion of this range that is strictly above `range`.
|
|
104
|
+
*/
|
|
105
|
+
above(range) {
|
|
106
|
+
if (range.isEmpty || this.isEmpty)
|
|
107
|
+
return this.copy();
|
|
108
|
+
return new HeightRange(range.maxHeight + 1, this.maxHeight);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Return a copy of this range.
|
|
112
|
+
*/
|
|
113
|
+
copy() {
|
|
114
|
+
return new HeightRange(this.minHeight, this.maxHeight);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.HeightRange = HeightRange;
|
|
118
|
+
HeightRange.empty = new HeightRange(0, -1);
|
|
119
|
+
//# sourceMappingURL=HeightRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeightRange.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/HeightRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A reader-writer lock to manage concurrent access.
|
|
3
|
+
* Allows multiple readers or one writer at a time.
|
|
4
|
+
*/
|
|
5
|
+
export declare class SingleWriterMultiReaderLock {
|
|
6
|
+
private readers;
|
|
7
|
+
private writerActive;
|
|
8
|
+
private readerQueue;
|
|
9
|
+
private writerQueue;
|
|
10
|
+
private checkQueues;
|
|
11
|
+
withReadLock<T>(fn: () => Promise<T>): Promise<T>;
|
|
12
|
+
withWriteLock<T>(fn: () => Promise<T>): Promise<T>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=SingleWriterMultiReaderLock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleWriterMultiReaderLock.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,WAAW,CAAwB;IAE3C,OAAO,CAAC,WAAW;IAeb,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA0BjD,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAwBzD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SingleWriterMultiReaderLock = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A reader-writer lock to manage concurrent access.
|
|
6
|
+
* Allows multiple readers or one writer at a time.
|
|
7
|
+
*/
|
|
8
|
+
class SingleWriterMultiReaderLock {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.readers = 0;
|
|
11
|
+
this.writerActive = false;
|
|
12
|
+
this.readerQueue = [];
|
|
13
|
+
this.writerQueue = [];
|
|
14
|
+
}
|
|
15
|
+
checkQueues() {
|
|
16
|
+
if (this.writerActive || this.readers > 0)
|
|
17
|
+
return;
|
|
18
|
+
if (this.writerQueue.length > 0) {
|
|
19
|
+
// If there are waiting writers and no active readers or writers, start the next writer
|
|
20
|
+
const resolve = this.writerQueue.shift();
|
|
21
|
+
resolve();
|
|
22
|
+
}
|
|
23
|
+
else if (this.readerQueue.length > 0) {
|
|
24
|
+
// If there are waiting readers and no waiting writers, start all readers
|
|
25
|
+
const readers = this.readerQueue.splice(0);
|
|
26
|
+
for (const resolve of readers) {
|
|
27
|
+
resolve();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async withReadLock(fn) {
|
|
32
|
+
if (!this.writerActive && this.writerQueue.length === 0) {
|
|
33
|
+
// Fast path: no active writer or waiting writers, proceed immediately
|
|
34
|
+
this.readers++;
|
|
35
|
+
try {
|
|
36
|
+
return await fn();
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
this.readers--;
|
|
40
|
+
this.checkQueues();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// Queue the reader until writers are done
|
|
45
|
+
const promise = new Promise(resolve => {
|
|
46
|
+
this.readerQueue.push(resolve);
|
|
47
|
+
});
|
|
48
|
+
await promise;
|
|
49
|
+
this.readers++;
|
|
50
|
+
try {
|
|
51
|
+
return await fn();
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
this.readers--;
|
|
55
|
+
this.checkQueues();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async withWriteLock(fn) {
|
|
60
|
+
if (!this.writerActive && this.readers === 0) {
|
|
61
|
+
// Fast path: no active writer or readers, proceed immediately
|
|
62
|
+
this.writerActive = true;
|
|
63
|
+
try {
|
|
64
|
+
return await fn();
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
this.writerActive = false;
|
|
68
|
+
this.checkQueues();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const promise = new Promise(resolve => {
|
|
73
|
+
this.writerQueue.push(resolve);
|
|
74
|
+
});
|
|
75
|
+
await promise;
|
|
76
|
+
this.writerActive = true;
|
|
77
|
+
try {
|
|
78
|
+
return await fn();
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
this.writerActive = false;
|
|
82
|
+
this.checkQueues();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.SingleWriterMultiReaderLock = SingleWriterMultiReaderLock;
|
|
88
|
+
//# sourceMappingURL=SingleWriterMultiReaderLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleWriterMultiReaderLock.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,2BAA2B;IAAxC;QACU,YAAO,GAAW,CAAC,CAAA;QACnB,iBAAY,GAAY,KAAK,CAAA;QAC7B,gBAAW,GAAsB,EAAE,CAAA;QACnC,gBAAW,GAAsB,EAAE,CAAA;IAmE7C,CAAC;IAjES,WAAW;QACjB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;YAAE,OAAM;QACjD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,uFAAuF;YACvF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAG,CAAA;YACzC,OAAO,EAAE,CAAA;QACX,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,yEAAyE;YACzE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC1C,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;gBAC9B,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,EAAoB;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,sEAAsE;YACtE,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAA;YACnB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,IAAI,CAAC,WAAW,EAAE,CAAA;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0CAA0C;YAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;YACF,MAAM,OAAO,CAAA;YACb,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAA;YACnB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,IAAI,CAAC,WAAW,EAAE,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAI,EAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC7C,8DAA8D;YAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAA;YACnB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBACzB,IAAI,CAAC,WAAW,EAAE,CAAA;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;YACF,MAAM,OAAO,CAAA;YACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAA;YACnB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBACzB,IAAI,CAAC,WAAW,EAAE,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvED,kEAuEC"}
|
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
import { BigNumber } from '@bsv/sdk';
|
|
2
|
-
import { BaseBlockHeader, BlockHeader } from '../Api/BlockHeaderApi';
|
|
3
2
|
import { Chain } from '../../../../sdk/types';
|
|
3
|
+
import { ChaintracksFsApi } from '../Api/ChaintracksFsApi';
|
|
4
|
+
import { BulkHeaderFileInfo } from './BulkHeaderFile';
|
|
5
|
+
import { ChaintracksFetchApi } from '../Api/ChaintracksFetchApi';
|
|
6
|
+
import { BaseBlockHeader, BlockHeader } from '../../../../sdk/WalletServices.interfaces';
|
|
4
7
|
/**
|
|
5
8
|
* Computes sha256 hash of file contents read as bytes with no encoding.
|
|
6
9
|
* @param filepath Full filepath to file.
|
|
7
|
-
* @param bufferSize Optional read buffer size to use. Defaults to 80,000 bytes.
|
|
10
|
+
* @param bufferSize Optional read buffer size to use. Defaults to 80,000 bytes. Currently ignored.
|
|
8
11
|
* @returns `{hash, length}` where `hash` is base64 string form of file hash and `length` is file length in bytes.
|
|
9
12
|
*/
|
|
13
|
+
export declare function sha256HashOfBinaryFile(fs: ChaintracksFsApi, filepath: string, bufferSize?: number): Promise<{
|
|
14
|
+
hash: string;
|
|
15
|
+
length: number;
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Validates the contents of a bulk header file.
|
|
19
|
+
* @param bf BulkHeaderFileInfo containing `data` to validate.
|
|
20
|
+
* @param prevHash Required previous header hash.
|
|
21
|
+
* @param prevChainWork Required previous chain work.
|
|
22
|
+
* @param fetch Optional ChaintracksFetchApi instance for fetching data.
|
|
23
|
+
* @returns Validated BulkHeaderFileInfo with `validated` set to true.
|
|
24
|
+
*/
|
|
25
|
+
export declare function validateBulkFileData(bf: BulkHeaderFileInfo, prevHash: string, prevChainWork: string, fetch?: ChaintracksFetchApi): Promise<BulkHeaderFileInfo>;
|
|
10
26
|
/**
|
|
11
27
|
* Validate headers contained in an array of bytes. The headers must be consecutive block headers, 80 bytes long,
|
|
12
28
|
* where the hash of each header equals the previousHash of the following header.
|
|
@@ -16,7 +32,16 @@ import { Chain } from '../../../../sdk/types';
|
|
|
16
32
|
* @param count Optional number of headers to validate. Validates to end of buffer if missing.
|
|
17
33
|
* @returns Header hash of last header validated or previousHash if there where none.
|
|
18
34
|
*/
|
|
19
|
-
export declare function validateBufferOfHeaders(buffer:
|
|
35
|
+
export declare function validateBufferOfHeaders(buffer: Uint8Array, previousHash: string, offset?: number, count?: number, previousChainWork?: string): {
|
|
36
|
+
lastHeaderHash: string;
|
|
37
|
+
lastChainWork: string | undefined;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Verifies that buffer begins with valid genesis block header for the specified chain.
|
|
41
|
+
* @param buffer
|
|
42
|
+
* @param chain
|
|
43
|
+
*/
|
|
44
|
+
export declare function validateGenesisHeader(buffer: Uint8Array, chain: Chain): void;
|
|
20
45
|
/**
|
|
21
46
|
* @param work chainWork as a BigNumber
|
|
22
47
|
* @returns Converted chainWork value from BN to hex string of 32 bytes.
|
|
@@ -48,16 +73,8 @@ export declare function convertBitsToTarget(bits: number | number[]): BigNumber;
|
|
|
48
73
|
* @returns 32 byte Buffer with "chainWork" value
|
|
49
74
|
*/
|
|
50
75
|
export declare function convertBitsToWork(bits: number | number[]): string;
|
|
51
|
-
export declare function deserializeBaseBlockHeaders(buffer: number[], offset?: number, count?: number | undefined): BaseBlockHeader[];
|
|
52
|
-
export declare function deserializeBlockHeaders(firstHeight: number, buffer: number[], offset?: number, count?: number | undefined): BlockHeader[];
|
|
53
|
-
/**
|
|
54
|
-
* Extract an array of block hashes and of merkleRoots from a buffer of serialized block headers.
|
|
55
|
-
* @param buffer
|
|
56
|
-
*/
|
|
57
|
-
export declare function extractHashesAndRoots(buffer: Buffer): {
|
|
58
|
-
hashes: Buffer[];
|
|
59
|
-
merkleRoots: Buffer[];
|
|
60
|
-
};
|
|
76
|
+
export declare function deserializeBaseBlockHeaders(buffer: number[] | Uint8Array, offset?: number, count?: number | undefined): BaseBlockHeader[];
|
|
77
|
+
export declare function deserializeBlockHeaders(firstHeight: number, buffer: number[] | Uint8Array, offset?: number, count?: number | undefined): BlockHeader[];
|
|
61
78
|
/**
|
|
62
79
|
* Given a block header, ensures that its format is correct. This does not
|
|
63
80
|
* check its difficulty or validity relative to the chain of headers.
|
|
@@ -88,7 +105,7 @@ export declare function validateHeaderDifficulty(hash: Buffer, bits: number): bo
|
|
|
88
105
|
* @returns doule sha256 hash of header bytes reversed
|
|
89
106
|
* @publicbody
|
|
90
107
|
*/
|
|
91
|
-
export declare function blockHash(header: BaseBlockHeader | number[]): string;
|
|
108
|
+
export declare function blockHash(header: BaseBlockHeader | number[] | Uint8Array): string;
|
|
92
109
|
/**
|
|
93
110
|
* Serializes a block header as an 80 byte Buffer.
|
|
94
111
|
* The exact serialized format is defined in the Bitcoin White Paper
|
|
@@ -97,12 +114,14 @@ export declare function blockHash(header: BaseBlockHeader | number[]): string;
|
|
|
97
114
|
* @returns 80 byte Buffer
|
|
98
115
|
* @publicbody
|
|
99
116
|
*/
|
|
100
|
-
export declare function
|
|
117
|
+
export declare function serializeBaseBlockHeader(header: BaseBlockHeader, buffer?: number[], offset?: number): number[];
|
|
118
|
+
export declare function serializeBaseBlockHeaders(headers: BlockHeader[]): Uint8Array;
|
|
101
119
|
/**
|
|
102
|
-
* Deserialize a
|
|
120
|
+
* Deserialize a BaseBlockHeader from an 80 byte buffer
|
|
103
121
|
* @publicbody
|
|
104
122
|
*/
|
|
105
|
-
export declare function
|
|
123
|
+
export declare function deserializeBaseBlockHeader(buffer: number[] | Uint8Array, offset?: number): BaseBlockHeader;
|
|
124
|
+
export declare function deserializeBlockHeader(buffer: number[] | Uint8Array, offset: number | undefined, height: number): BlockHeader;
|
|
106
125
|
/**
|
|
107
126
|
* Returns the genesis block for the specified chain.
|
|
108
127
|
* @publicbody
|
|
@@ -126,15 +145,15 @@ export declare function swapByteOrder(buffer: number[]): number[];
|
|
|
126
145
|
* @publicbody
|
|
127
146
|
*/
|
|
128
147
|
export declare function convertUint32ToBuffer(n: number, littleEndian?: boolean): number[];
|
|
129
|
-
export declare function writeUInt32LE(n: number, a: number[], offset: number): number;
|
|
130
|
-
export declare function writeUInt32BE(n: number, a: number[], offset: number): number;
|
|
131
|
-
export declare function readUInt32LE(a: number[], offset: number): number;
|
|
132
|
-
export declare function readUInt32BE(a: number[], offset: number): number;
|
|
148
|
+
export declare function writeUInt32LE(n: number, a: number[] | Uint8Array, offset: number): number;
|
|
149
|
+
export declare function writeUInt32BE(n: number, a: number[] | Uint8Array, offset: number): number;
|
|
150
|
+
export declare function readUInt32LE(a: number[] | Uint8Array, offset: number): number;
|
|
151
|
+
export declare function readUInt32BE(a: number[] | Uint8Array, offset: number): number;
|
|
133
152
|
/**
|
|
134
153
|
* @param buffer four byte buffer with Uint32 number encoded
|
|
135
154
|
* @param littleEndian true for little-endian byte order in Buffer
|
|
136
155
|
* @returns a number value in the Uint32 value range
|
|
137
156
|
* @publicbody
|
|
138
157
|
*/
|
|
139
|
-
export declare function convertBufferToUint32(buffer: number[], littleEndian?: boolean): number;
|
|
158
|
+
export declare function convertBufferToUint32(buffer: number[] | Uint8Array, littleEndian?: boolean): number;
|
|
140
159
|
//# sourceMappingURL=blockHeaderUtilities.d.ts.map
|