@bsv/wallet-toolbox-mobile 1.5.20 → 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/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.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 +9 -7
- package/out/src/sdk/validationHelpers.d.ts.map +1 -1
- package/out/src/sdk/validationHelpers.js +52 -49
- 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 +7 -3
- 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,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ChaintracksService = void 0;
|
|
7
|
+
const Chaintracks_1 = require("./Chaintracks");
|
|
8
|
+
const express_1 = __importDefault(require("express"));
|
|
9
|
+
const body_parser_1 = __importDefault(require("body-parser"));
|
|
10
|
+
const createDefaultNoDbChaintracksOptions_1 = require("./createDefaultNoDbChaintracksOptions");
|
|
11
|
+
const Services_1 = require("../../Services");
|
|
12
|
+
const sdk_1 = require("../../../sdk");
|
|
13
|
+
const utilityHelpers_1 = require("../../../utility/utilityHelpers");
|
|
14
|
+
class ChaintracksService {
|
|
15
|
+
static createChaintracksServiceOptions(chain) {
|
|
16
|
+
const options = {
|
|
17
|
+
chain,
|
|
18
|
+
routingPrefix: ''
|
|
19
|
+
};
|
|
20
|
+
return options;
|
|
21
|
+
}
|
|
22
|
+
constructor(options) {
|
|
23
|
+
this.options = { ...options };
|
|
24
|
+
this.port = options.port;
|
|
25
|
+
this.chain = options.chain;
|
|
26
|
+
this.chaintracks = options.chaintracks || new Chaintracks_1.Chaintracks((0, createDefaultNoDbChaintracksOptions_1.createNoDbChaintracksOptions)(this.chain));
|
|
27
|
+
this.services = options.services || new Services_1.Services(this.chain);
|
|
28
|
+
// Prevent recursion...
|
|
29
|
+
this.services.updateFiatExchangeRateServices.remove('ChaintracksService');
|
|
30
|
+
if (this.chaintracks.chain !== this.chain || this.services.chain !== this.chain) {
|
|
31
|
+
throw new sdk_1.WERR_INVALID_PARAMETER('chain', `All components (chaintracks and services) must be on chain ${this.chain}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async stopJsonRpcServer() {
|
|
35
|
+
var _a, _b;
|
|
36
|
+
(_a = this.server) === null || _a === void 0 ? void 0 : _a.close();
|
|
37
|
+
await ((_b = this.chaintracks) === null || _b === void 0 ? void 0 : _b.destroy());
|
|
38
|
+
}
|
|
39
|
+
async startJsonRpcServer(port) {
|
|
40
|
+
await this.chaintracks.makeAvailable();
|
|
41
|
+
port || (port = this.port || 3011);
|
|
42
|
+
this.port = port;
|
|
43
|
+
const app = (0, express_1.default)();
|
|
44
|
+
app.use(body_parser_1.default.json());
|
|
45
|
+
// This allows the API to be used when CORS is enforced
|
|
46
|
+
app.use((req, res, next) => {
|
|
47
|
+
res.header('Access-Control-Allow-Origin', '*');
|
|
48
|
+
res.header('Access-Control-Allow-Headers', '*');
|
|
49
|
+
res.header('Access-Control-Allow-Methods', '*');
|
|
50
|
+
res.header('Access-Control-Expose-Headers', '*');
|
|
51
|
+
res.header('Access-Control-Allow-Private-Network', 'true');
|
|
52
|
+
if (req.method === 'OPTIONS') {
|
|
53
|
+
res.sendStatus(200);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
next();
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const handleErr = (err, res) => {
|
|
60
|
+
res.status(500).json({
|
|
61
|
+
status: 'error',
|
|
62
|
+
code: 'ERR_INTERNAL',
|
|
63
|
+
description: (err === null || err === void 0 ? void 0 : err.message) || 'An internal error has occurred.'
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
const appGetVoid = (path, action, noCache = false) => {
|
|
67
|
+
app['get'](this.options.routingPrefix + path, async (req, res) => {
|
|
68
|
+
if (noCache) {
|
|
69
|
+
res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
|
|
70
|
+
res.setHeader('Pragma', 'no-cache');
|
|
71
|
+
res.setHeader('Expires', '0');
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
console.log(`request ${path}`);
|
|
75
|
+
await action(req.query);
|
|
76
|
+
res.status(200).json({ status: 'success' });
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
handleErr(err, res);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
const appGet = (path, action, noCache = false) => {
|
|
84
|
+
app['get'](this.options.routingPrefix + path, async (req, res) => {
|
|
85
|
+
if (noCache) {
|
|
86
|
+
res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
|
|
87
|
+
res.setHeader('Pragma', 'no-cache');
|
|
88
|
+
res.setHeader('Expires', '0');
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const r = await action(req.query);
|
|
92
|
+
console.log('request', path, JSON.stringify(req.query), '->', JSON.stringify(r));
|
|
93
|
+
res.status(200).json({ status: 'success', value: r });
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
console.log(`request ${path} -> error`);
|
|
97
|
+
handleErr(err, res);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
const appPostVoid = (path, action) => {
|
|
102
|
+
app['post'](this.options.routingPrefix + path, async (req, res) => {
|
|
103
|
+
try {
|
|
104
|
+
console.log(`request POST ${path}`);
|
|
105
|
+
await action(req.body);
|
|
106
|
+
res.status(200).json({ status: 'success' });
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
handleErr(err, res);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
appGet('/getChain', async () => await this.chaintracks.getChain());
|
|
114
|
+
appGet('/getInfo', async (q) => {
|
|
115
|
+
if (q.wait)
|
|
116
|
+
await (0, utilityHelpers_1.wait)(Number(q.wait));
|
|
117
|
+
const r = await this.chaintracks.getInfo();
|
|
118
|
+
if (q.wait)
|
|
119
|
+
r['wait'] = q.wait;
|
|
120
|
+
return r;
|
|
121
|
+
}, true);
|
|
122
|
+
appGet('/getFiatExchangeRates', async () => {
|
|
123
|
+
// update if needed
|
|
124
|
+
await this.services.getFiatExchangeRate('GBP');
|
|
125
|
+
// return current values
|
|
126
|
+
return this.services.options.fiatExchangeRates;
|
|
127
|
+
}, true);
|
|
128
|
+
appPostVoid('/addHeaderHex', async (header) => {
|
|
129
|
+
await this.chaintracks.addHeader(header);
|
|
130
|
+
});
|
|
131
|
+
appGet('/getPresentHeight', async () => await this.chaintracks.getPresentHeight(), true);
|
|
132
|
+
appGet('/findChainTipHashHex', async () => (await this.chaintracks.findChainTipHash()) || '', true);
|
|
133
|
+
appGet('/findChainTipHeaderHex', async () => await this.chaintracks.findChainTipHeader(), true);
|
|
134
|
+
appGet('/findHeaderHexForHeight', async (q) => {
|
|
135
|
+
return await this.chaintracks.findHeaderForHeight(Number(q.height));
|
|
136
|
+
});
|
|
137
|
+
appGet('/findHeaderHexForBlockHash', async (q) => {
|
|
138
|
+
return await this.chaintracks.findLiveHeaderForBlockHash(q.hash);
|
|
139
|
+
});
|
|
140
|
+
appGet('/getHeaders', async (q) => {
|
|
141
|
+
return await this.chaintracks.getHeaders(Number(q.height), Number(q.count));
|
|
142
|
+
});
|
|
143
|
+
this.server = app.listen(this.port, () => {
|
|
144
|
+
console.log(`ChaintracksService listening on port ${this.port}`);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.ChaintracksService = ChaintracksService;
|
|
149
|
+
//# sourceMappingURL=ChaintracksService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChaintracksService.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Chain } from '../../../sdk/types';
|
|
2
2
|
import { BaseBlockHeader, BlockHeader } from './Api/BlockHeaderApi';
|
|
3
|
+
import { ChaintracksClientApi, ChaintracksInfoApi, HeaderListener, ReorgListener } from './Api/ChaintracksClientApi';
|
|
3
4
|
export interface ChaintracksServiceClientOptions {
|
|
4
|
-
useAuthrite: boolean;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Connects to a ChaintracksService to implement 'ChaintracksClientApi'
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
export declare class ChaintracksServiceClient {
|
|
11
|
-
chain:
|
|
10
|
+
export declare class ChaintracksServiceClient implements ChaintracksClientApi {
|
|
11
|
+
chain: Chain;
|
|
12
12
|
serviceUrl: string;
|
|
13
13
|
static createChaintracksServiceClientOptions(): ChaintracksServiceClientOptions;
|
|
14
14
|
options: ChaintracksServiceClientOptions;
|
|
15
|
-
constructor(chain:
|
|
15
|
+
constructor(chain: Chain, serviceUrl: string, options?: ChaintracksServiceClientOptions);
|
|
16
|
+
subscribeHeaders(listener: HeaderListener): Promise<string>;
|
|
17
|
+
subscribeReorgs(listener: ReorgListener): Promise<string>;
|
|
18
|
+
unsubscribe(subscriptionId: string): Promise<boolean>;
|
|
16
19
|
currentHeight(): Promise<number>;
|
|
17
20
|
isValidRootForHeight(root: string, height: number): Promise<boolean>;
|
|
18
21
|
getJsonOrUndefined<T>(path: string): Promise<T | undefined>;
|
|
@@ -21,16 +24,15 @@ export declare class ChaintracksServiceClient {
|
|
|
21
24
|
addHeader(header: BaseBlockHeader): Promise<void>;
|
|
22
25
|
startListening(): Promise<void>;
|
|
23
26
|
listening(): Promise<void>;
|
|
24
|
-
getChain(): Promise<
|
|
27
|
+
getChain(): Promise<Chain>;
|
|
25
28
|
isListening(): Promise<boolean>;
|
|
26
29
|
isSynchronized(): Promise<boolean>;
|
|
27
30
|
getPresentHeight(): Promise<number>;
|
|
31
|
+
getInfo(): Promise<ChaintracksInfoApi>;
|
|
28
32
|
findChainTipHeader(): Promise<BlockHeader>;
|
|
29
|
-
|
|
33
|
+
findChainTipHash(): Promise<string>;
|
|
30
34
|
getHeaders(height: number, count: number): Promise<string>;
|
|
31
35
|
findHeaderForHeight(height: number): Promise<BlockHeader | undefined>;
|
|
32
|
-
findChainWorkForBlockHash(hash: string): Promise<string | undefined>;
|
|
33
36
|
findHeaderForBlockHash(hash: string): Promise<BlockHeader | undefined>;
|
|
34
|
-
findHeaderForMerkleRoot(merkleRoot: string, height?: number): Promise<BlockHeader | undefined>;
|
|
35
37
|
}
|
|
36
38
|
//# sourceMappingURL=ChaintracksServiceClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChaintracksServiceClient.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChaintracksServiceClient.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AASpH,MAAM,WAAW,+BAA+B;CAAG;AAEnD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IAW1D,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,MAAM;IAX3B,MAAM,CAAC,qCAAqC,IAAI,+BAA+B;IAO/E,OAAO,EAAE,+BAA+B,CAAA;gBAG/B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,+BAA+B;IAK3C,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAG3D,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAGzD,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOpE,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3D,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAMpC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAG/B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAG1B,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAK1B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ/B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAGlC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAGnC,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAGtC,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAG1C,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAIrE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAG7E"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ChaintracksServiceClient = void 0;
|
|
4
|
-
|
|
5
|
-
const index_client_1 = require("../../../index.client");
|
|
4
|
+
const utilityHelpers_noBuffer_1 = require("../../../utility/utilityHelpers.noBuffer");
|
|
6
5
|
/**
|
|
7
6
|
* Connects to a ChaintracksService to implement 'ChaintracksClientApi'
|
|
8
7
|
*
|
|
@@ -19,6 +18,15 @@ class ChaintracksServiceClient {
|
|
|
19
18
|
this.serviceUrl = serviceUrl;
|
|
20
19
|
this.options = options || ChaintracksServiceClient.createChaintracksServiceClientOptions();
|
|
21
20
|
}
|
|
21
|
+
subscribeHeaders(listener) {
|
|
22
|
+
throw new Error('Method not implemented.');
|
|
23
|
+
}
|
|
24
|
+
subscribeReorgs(listener) {
|
|
25
|
+
throw new Error('Method not implemented.');
|
|
26
|
+
}
|
|
27
|
+
unsubscribe(subscriptionId) {
|
|
28
|
+
throw new Error('Method not implemented.');
|
|
29
|
+
}
|
|
22
30
|
async currentHeight() {
|
|
23
31
|
return await this.getPresentHeight();
|
|
24
32
|
}
|
|
@@ -26,7 +34,7 @@ class ChaintracksServiceClient {
|
|
|
26
34
|
const r = await this.findHeaderForHeight(height);
|
|
27
35
|
if (!r)
|
|
28
36
|
return false;
|
|
29
|
-
const isValid = root === (0,
|
|
37
|
+
const isValid = root === (0, utilityHelpers_noBuffer_1.asString)(r.merkleRoot);
|
|
30
38
|
return isValid;
|
|
31
39
|
}
|
|
32
40
|
async getJsonOrUndefined(path) {
|
|
@@ -84,28 +92,37 @@ class ChaintracksServiceClient {
|
|
|
84
92
|
throw new Error(r);
|
|
85
93
|
}
|
|
86
94
|
async startListening() {
|
|
87
|
-
|
|
95
|
+
await this.getPresentHeight();
|
|
88
96
|
}
|
|
89
97
|
async listening() {
|
|
90
|
-
|
|
98
|
+
await this.getPresentHeight();
|
|
91
99
|
}
|
|
92
100
|
async getChain() {
|
|
93
101
|
return this.chain;
|
|
94
102
|
//return await this.getJson('/getChain')
|
|
95
103
|
}
|
|
96
104
|
async isListening() {
|
|
97
|
-
|
|
105
|
+
try {
|
|
106
|
+
await this.getPresentHeight();
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
catch (_a) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
98
112
|
}
|
|
99
113
|
async isSynchronized() {
|
|
100
|
-
return await this.
|
|
114
|
+
return await this.isListening();
|
|
101
115
|
}
|
|
102
116
|
async getPresentHeight() {
|
|
103
117
|
return await this.getJson('/getPresentHeight');
|
|
104
118
|
}
|
|
119
|
+
async getInfo() {
|
|
120
|
+
return await this.getJson('/getInfo');
|
|
121
|
+
}
|
|
105
122
|
async findChainTipHeader() {
|
|
106
123
|
return await this.getJson('/findChainTipHeaderHex');
|
|
107
124
|
}
|
|
108
|
-
async
|
|
125
|
+
async findChainTipHash() {
|
|
109
126
|
return await this.getJson('/findChainTipHashHex');
|
|
110
127
|
}
|
|
111
128
|
async getHeaders(height, count) {
|
|
@@ -114,14 +131,8 @@ class ChaintracksServiceClient {
|
|
|
114
131
|
async findHeaderForHeight(height) {
|
|
115
132
|
return await this.getJsonOrUndefined(`/findHeaderHexForHeight?height=${height}`);
|
|
116
133
|
}
|
|
117
|
-
async findChainWorkForBlockHash(hash) {
|
|
118
|
-
return await this.getJsonOrUndefined(`/findChainWorkHexForBlockHash?hash=${(0, index_client_1.asString)(hash)}`);
|
|
119
|
-
}
|
|
120
134
|
async findHeaderForBlockHash(hash) {
|
|
121
|
-
return await this.getJsonOrUndefined(`/findHeaderHexForBlockHash?hash=${
|
|
122
|
-
}
|
|
123
|
-
async findHeaderForMerkleRoot(merkleRoot, height) {
|
|
124
|
-
return await this.getJsonOrUndefined(`/findHeaderHexForMerkleRoot?root=${(0, index_client_1.asString)(merkleRoot)}&height=${height}`);
|
|
135
|
+
return await this.getJsonOrUndefined(`/findHeaderHexForBlockHash?hash=${hash}`);
|
|
125
136
|
}
|
|
126
137
|
}
|
|
127
138
|
exports.ChaintracksServiceClient = ChaintracksServiceClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChaintracksServiceClient.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ChaintracksServiceClient.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts"],"names":[],"mappings":";;;AACA,sFAAmE;AAanE;;;GAGG;AACH,MAAa,wBAAwB;IACnC,MAAM,CAAC,qCAAqC;QAC1C,MAAM,OAAO,GAAoC;YAC/C,WAAW,EAAE,KAAK;SACnB,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAID,YACS,KAAY,EACZ,UAAkB,EACzB,OAAyC;QAFlC,UAAK,GAAL,KAAK,CAAO;QACZ,eAAU,GAAV,UAAU,CAAQ;QAGzB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,wBAAwB,CAAC,qCAAqC,EAAE,CAAA;IAC5F,CAAC;IAED,gBAAgB,CAAC,QAAwB;QACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,eAAe,CAAC,QAAuB;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,WAAW,CAAC,cAAsB;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,MAAc;QACrD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QACpB,MAAM,OAAO,GAAG,IAAI,KAAK,IAAA,kCAAQ,EAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAI,IAAY;QACtC,IAAI,CAAC,GAAsB,SAAS,CAAA;QACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAA;gBAClD,MAAM,CAAC,GAAmB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;gBACxC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAC,KAAK,CAAA;;oBACrC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;YAAC,OAAO,EAAW,EAAE,CAAC;gBACrB,CAAC,GAAG,EAAW,CAAA;YACjB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;gBAAE,MAAK;QACzC,CAAC;QACD,IAAI,CAAC;YAAE,MAAM,CAAC,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,IAAY;QAC3B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAI,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAC5F,OAAO,CAAC,CAAA;IACV,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,IAAY,EAAE,MAAS;QAC3C,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;QAC5C,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO;YACP,oBAAoB;SACrB,CAAC,CAAA;QACF,IAAI,CAAC;YACH,MAAM,CAAC,GAAsB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAM;YAClC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC9C,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAED,EAAE;IACF,qBAAqB;IACrB,EAAE;IAEF,KAAK,CAAC,SAAS,CAAC,MAAuB;QACrC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QAC1D,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;IAC/B,CAAC;IACD,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;IAC/B,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,KAAK,CAAA;QACjB,wCAAwC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAC7B,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,KAAK,CAAC,cAAc;QAClB,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;IACjC,CAAC;IACD,KAAK,CAAC,gBAAgB;QACpB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,OAAO;QACX,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IACD,KAAK,CAAC,kBAAkB;QACtB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACrD,CAAC;IACD,KAAK,CAAC,gBAAgB;QACpB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,KAAa;QAC5C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAS,sBAAsB,MAAM,UAAU,KAAK,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACtC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAA;IACjF,CAAC;CACF;AAvID,4DAuIC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { BulkIngestorApi, BulkIngestorBaseOptions, BulkSyncResult } from '../Api/BulkIngestorApi';
|
|
2
|
+
import { ChaintracksStorageApi } from '../Api/ChaintracksStorageApi';
|
|
3
|
+
import { BulkHeaderFilesInfo } from '../util/BulkHeaderFile';
|
|
4
|
+
import { HeightRange, HeightRanges } from '../util/HeightRange';
|
|
5
|
+
import { Chain } from '../../../../sdk/types';
|
|
6
|
+
import { BlockHeader } from '../Api/BlockHeaderApi';
|
|
7
|
+
import { ChaintracksStorageBase } from '../Storage/ChaintracksStorageBase';
|
|
8
|
+
export declare abstract class BulkIngestorBase implements BulkIngestorApi {
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param chain
|
|
12
|
+
* @param localCachePath defaults to './data/ingest_headers/'
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
static createBulkIngestorBaseOptions(chain: Chain): BulkIngestorBaseOptions;
|
|
16
|
+
chain: Chain;
|
|
17
|
+
jsonFilename: string;
|
|
18
|
+
bypassLiveEnabled: boolean;
|
|
19
|
+
constructor(options: BulkIngestorBaseOptions);
|
|
20
|
+
private storageEngine;
|
|
21
|
+
setStorage(storage: ChaintracksStorageBase): Promise<void>;
|
|
22
|
+
shutdown(): Promise<void>;
|
|
23
|
+
storageOrUndefined(): ChaintracksStorageApi | undefined;
|
|
24
|
+
storage(): ChaintracksStorageBase;
|
|
25
|
+
/**
|
|
26
|
+
* information about locally cached bulk header files managed by this bulk ingestor
|
|
27
|
+
*/
|
|
28
|
+
filesInfo: BulkHeaderFilesInfo | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* At least one derived BulkIngestor must override this method to provide the current height of the active chain tip.
|
|
31
|
+
* @returns undefined unless overridden
|
|
32
|
+
*/
|
|
33
|
+
getPresentHeight(): Promise<number | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* A BulkIngestor fetches and updates storage with bulk headers in bulkRange.
|
|
36
|
+
*
|
|
37
|
+
* If it can, it must also fetch live headers in fetch range that are not in bulkRange and return them as an array.
|
|
38
|
+
*
|
|
39
|
+
* The storage methods `insertBulkFile`, `updateBulkFile`, and `addBulkHeaders` should be used to add bulk headers to storage.
|
|
40
|
+
*
|
|
41
|
+
* @param before bulk and live range of headers before ingesting any new headers.
|
|
42
|
+
* @param fetchRange range of headers still needed, includes both missing bulk and live headers.
|
|
43
|
+
* @param bulkRange range of bulk headers still needed
|
|
44
|
+
* @param priorLiveHeaders any headers accumulated by prior bulk ingestor(s) that are too recent for bulk storage.
|
|
45
|
+
* @returns new live headers: headers in fetchRange but not in bulkRange
|
|
46
|
+
*/
|
|
47
|
+
abstract fetchHeaders(before: HeightRanges, fetchRange: HeightRange, bulkRange: HeightRange, priorLiveHeaders: BlockHeader[]): Promise<BlockHeader[]>;
|
|
48
|
+
/**
|
|
49
|
+
* A BulkIngestor has two potential goals:
|
|
50
|
+
* 1. To source missing bulk headers and include them in bulk storage.
|
|
51
|
+
* 2. To source missing live headers to be forwarded to live storage.
|
|
52
|
+
*
|
|
53
|
+
* @param presentHeight current height of the active chain tip, may lag the true value.
|
|
54
|
+
* @param before current bulk and live storage height ranges, either may be empty.
|
|
55
|
+
* @param priorLiveHeaders any headers accumulated by prior bulk ingestor(s) that are too recent for bulk storage.
|
|
56
|
+
* @returns updated priorLiveHeaders including any accumulated by this ingestor
|
|
57
|
+
*/
|
|
58
|
+
synchronize(presentHeight: number, before: HeightRanges, priorLiveHeaders: BlockHeader[]): Promise<BulkSyncResult>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=BulkIngestorBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkIngestorBase.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,8BAAsB,gBAAiB,YAAW,eAAe;IAC/D;;;;;OAKG;IACH,MAAM,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAAK;IASjD,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,OAAO,CAAA;gBAEd,OAAO,EAAE,uBAAuB;IAO5C,OAAO,CAAC,aAAa,CAAoC;IAEnD,UAAU,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B,kBAAkB,IAAI,qBAAqB,GAAG,SAAS;IAIvD,OAAO,IAAI,sBAAsB;IAKjC;;OAEG;IACH,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAE1C;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,CACnB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,WAAW,EACvB,SAAS,EAAE,WAAW,EACtB,gBAAgB,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC;IAEzB;;;;;;;;;OASG;IACG,WAAW,CACf,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,cAAc,CAAC;CA4E3B"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BulkIngestorBase = void 0;
|
|
4
|
+
const HeightRange_1 = require("../util/HeightRange");
|
|
5
|
+
class BulkIngestorBase {
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param chain
|
|
9
|
+
* @param localCachePath defaults to './data/ingest_headers/'
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
static createBulkIngestorBaseOptions(chain) {
|
|
13
|
+
const options = {
|
|
14
|
+
chain,
|
|
15
|
+
jsonResource: `${chain}NetBlockHeaders.json`,
|
|
16
|
+
bypassLiveEnabled: true
|
|
17
|
+
};
|
|
18
|
+
return options;
|
|
19
|
+
}
|
|
20
|
+
constructor(options) {
|
|
21
|
+
if (!options.jsonResource)
|
|
22
|
+
throw new Error('The jsonFilename options property is required.');
|
|
23
|
+
this.chain = options.chain;
|
|
24
|
+
this.jsonFilename = options.jsonResource;
|
|
25
|
+
this.bypassLiveEnabled = options.bypassLiveEnabled;
|
|
26
|
+
}
|
|
27
|
+
async setStorage(storage) {
|
|
28
|
+
this.storageEngine = storage;
|
|
29
|
+
}
|
|
30
|
+
async shutdown() { }
|
|
31
|
+
storageOrUndefined() {
|
|
32
|
+
return this.storageEngine;
|
|
33
|
+
}
|
|
34
|
+
storage() {
|
|
35
|
+
if (!this.storageEngine)
|
|
36
|
+
throw new Error('storageEngine must be set.');
|
|
37
|
+
return this.storageEngine;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* At least one derived BulkIngestor must override this method to provide the current height of the active chain tip.
|
|
41
|
+
* @returns undefined unless overridden
|
|
42
|
+
*/
|
|
43
|
+
async getPresentHeight() {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A BulkIngestor has two potential goals:
|
|
48
|
+
* 1. To source missing bulk headers and include them in bulk storage.
|
|
49
|
+
* 2. To source missing live headers to be forwarded to live storage.
|
|
50
|
+
*
|
|
51
|
+
* @param presentHeight current height of the active chain tip, may lag the true value.
|
|
52
|
+
* @param before current bulk and live storage height ranges, either may be empty.
|
|
53
|
+
* @param priorLiveHeaders any headers accumulated by prior bulk ingestor(s) that are too recent for bulk storage.
|
|
54
|
+
* @returns updated priorLiveHeaders including any accumulated by this ingestor
|
|
55
|
+
*/
|
|
56
|
+
async synchronize(presentHeight, before, priorLiveHeaders) {
|
|
57
|
+
const storage = this.storage();
|
|
58
|
+
const r = {
|
|
59
|
+
liveHeaders: priorLiveHeaders,
|
|
60
|
+
liveRange: HeightRange_1.HeightRange.from(priorLiveHeaders),
|
|
61
|
+
done: false,
|
|
62
|
+
log: ''
|
|
63
|
+
};
|
|
64
|
+
// Decisions to be made:
|
|
65
|
+
// Q1. Are we already done?
|
|
66
|
+
// Q2. Are there live headers that should be migrated to bulk?
|
|
67
|
+
// Q3. What range of headers do we still need to retrieve?
|
|
68
|
+
// Q1: We are done if we have enough live headers and they include presentHeight.
|
|
69
|
+
const currentFullRange = before.bulk.union(before.live);
|
|
70
|
+
if (currentFullRange.maxHeight >= presentHeight) {
|
|
71
|
+
r.done = true;
|
|
72
|
+
return r;
|
|
73
|
+
}
|
|
74
|
+
const targetBulkRange = new HeightRange_1.HeightRange(0, Math.max(0, presentHeight - storage.liveHeightThreshold));
|
|
75
|
+
let missingBulkRange = targetBulkRange.subtract(before.bulk);
|
|
76
|
+
const updateMissingBulkRange = async () => {
|
|
77
|
+
before = await storage.getAvailableHeightRanges();
|
|
78
|
+
missingBulkRange = targetBulkRange.subtract(before.bulk);
|
|
79
|
+
};
|
|
80
|
+
// Q2: If missingBulkRange isn't empty and there are live headers in storage,
|
|
81
|
+
// migrate from existing live headers in excess of reorgHeightThreshold.
|
|
82
|
+
if (!missingBulkRange.isEmpty && !before.live.isEmpty) {
|
|
83
|
+
const countToMigrate = Math.min(missingBulkRange.length, Math.max(0, before.live.length - storage.reorgHeightThreshold));
|
|
84
|
+
r.log += `Migrating ${countToMigrate} live headers to bulk storage.\n`;
|
|
85
|
+
await storage.migrateLiveToBulk(countToMigrate);
|
|
86
|
+
await updateMissingBulkRange();
|
|
87
|
+
if (!missingBulkRange.isEmpty) {
|
|
88
|
+
// If there are still missing bulk headers, MUST flush live storage.
|
|
89
|
+
const countToFlush = before.live.length;
|
|
90
|
+
r.log += `Flushing ${countToFlush} live headers from live storage.\n`;
|
|
91
|
+
await storage.deleteLiveBlockHeaders();
|
|
92
|
+
await updateMissingBulkRange();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const targetFullRange = new HeightRange_1.HeightRange(0, presentHeight);
|
|
96
|
+
// Q3: What to fetch...
|
|
97
|
+
let rangeToFetch;
|
|
98
|
+
if (missingBulkRange.isEmpty) {
|
|
99
|
+
// If there are no missing bulk headers, we don't need existing bulk range.
|
|
100
|
+
rangeToFetch = targetFullRange.subtract(before.bulk);
|
|
101
|
+
// And if there are live headers in excess of reorgHeightThreshold, they can be skipped as well.
|
|
102
|
+
if (before.live.length > storage.reorgHeightThreshold) {
|
|
103
|
+
rangeToFetch = rangeToFetch.subtract(new HeightRange_1.HeightRange(before.live.minHeight, before.live.maxHeight - storage.reorgHeightThreshold));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// If there are missing bulk headers, ingest from start of missing through present height.
|
|
108
|
+
rangeToFetch = new HeightRange_1.HeightRange(missingBulkRange.minHeight, presentHeight);
|
|
109
|
+
}
|
|
110
|
+
const newLiveHeaders = await this.fetchHeaders(before, rangeToFetch, missingBulkRange, priorLiveHeaders);
|
|
111
|
+
await updateMissingBulkRange();
|
|
112
|
+
r.liveHeaders = newLiveHeaders;
|
|
113
|
+
r.liveRange = HeightRange_1.HeightRange.from(r.liveHeaders);
|
|
114
|
+
r.done = missingBulkRange.isEmpty && r.liveRange.maxHeight >= presentHeight;
|
|
115
|
+
return r;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.BulkIngestorBase = BulkIngestorBase;
|
|
119
|
+
//# sourceMappingURL=BulkIngestorBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkIngestorBase.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Chain } from '../../../../sdk/types';
|
|
2
|
+
import { BlockHeader } from '../Api/BlockHeaderApi';
|
|
3
|
+
import { BulkIngestorBaseOptions } from '../Api/BulkIngestorApi';
|
|
4
|
+
import { BulkIngestorBase } from './BulkIngestorBase';
|
|
5
|
+
import { BulkHeaderFileInfo } from '../util/BulkHeaderFile';
|
|
6
|
+
import { BulkHeaderFilesInfo } from '../util/BulkHeaderFile';
|
|
7
|
+
import { HeightRange, HeightRanges } from '../util/HeightRange';
|
|
8
|
+
import { ChaintracksFetchApi } from '../Api/ChaintracksFetchApi';
|
|
9
|
+
export interface BulkIngestorCDNOptions extends BulkIngestorBaseOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Required.
|
|
12
|
+
*
|
|
13
|
+
* The name of the JSON resource to request from CDN which describes currently
|
|
14
|
+
* available bulk block header resources.
|
|
15
|
+
*/
|
|
16
|
+
jsonResource: string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Required.
|
|
19
|
+
*
|
|
20
|
+
* URL to CDN implementing the bulk ingestor CDN service protocol
|
|
21
|
+
*/
|
|
22
|
+
cdnUrl: string | undefined;
|
|
23
|
+
maxPerFile: number | undefined;
|
|
24
|
+
fetch: ChaintracksFetchApi;
|
|
25
|
+
}
|
|
26
|
+
export declare class BulkIngestorCDN extends BulkIngestorBase {
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param chain
|
|
30
|
+
* @param localCachePath defaults to './data/bulk_cdn_headers/'
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
static createBulkIngestorCDNOptions(chain: Chain, cdnUrl: string, fetch: ChaintracksFetchApi, maxPerFile?: number): BulkIngestorCDNOptions;
|
|
34
|
+
fetch: ChaintracksFetchApi;
|
|
35
|
+
jsonResource: string;
|
|
36
|
+
cdnUrl: string;
|
|
37
|
+
maxPerFile: number | undefined;
|
|
38
|
+
availableBulkFiles: BulkHeaderFilesInfo | undefined;
|
|
39
|
+
selectedFiles: BulkHeaderFileInfo[] | undefined;
|
|
40
|
+
currentRange: HeightRange | undefined;
|
|
41
|
+
constructor(options: BulkIngestorCDNOptions);
|
|
42
|
+
getPresentHeight(): Promise<number | undefined>;
|
|
43
|
+
getJsonHttpHeaders(): Record<string, string>;
|
|
44
|
+
/**
|
|
45
|
+
* A BulkFile CDN serves a JSON BulkHeaderFilesInfo resource which lists all the available binary bulk header files available and associated metadata.
|
|
46
|
+
*
|
|
47
|
+
* The term "CDN file" is used for a local bulk file that has a sourceUrl. (Not undefined)
|
|
48
|
+
* The term "incremental file" is used for the local bulk file that holds all the non-CDN bulk headers and must chain to the live headers if there are any.
|
|
49
|
+
*
|
|
50
|
+
* Bulk ingesting from a CDN happens in one of three contexts:
|
|
51
|
+
*
|
|
52
|
+
* 1. Cold Start: No local bulk or live headers.
|
|
53
|
+
* 2. Incremental: Available CDN files extend into an existing incremental file but not into the live headers.
|
|
54
|
+
* 3. Replace: Available CDN files extend into live headers.
|
|
55
|
+
*
|
|
56
|
+
* Context Cold Start:
|
|
57
|
+
* - The CDN files are selected in height order, starting at zero, always choosing the largest count less than the local maximum (maxPerFile).
|
|
58
|
+
*
|
|
59
|
+
* Context Incremental:
|
|
60
|
+
* - Last existing CDN file is updated if CDN now has a higher count.
|
|
61
|
+
* - Additional CDN files are added as in Cold Start.
|
|
62
|
+
* - The existing incremental file is truncated or deleted.
|
|
63
|
+
*
|
|
64
|
+
* Context Replace:
|
|
65
|
+
* - Existing live headers are truncated or deleted.
|
|
66
|
+
* - Proceed as context Incremental.
|
|
67
|
+
*
|
|
68
|
+
* @param before bulk and live range of headers before ingesting any new headers.
|
|
69
|
+
* @param fetchRange total range of header heights needed including live headers
|
|
70
|
+
* @param bulkRange range of missing bulk header heights required.
|
|
71
|
+
* @param priorLiveHeaders
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
fetchHeaders(before: HeightRanges, fetchRange: HeightRange, bulkRange: HeightRange, priorLiveHeaders: BlockHeader[]): Promise<BlockHeader[]>;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=BulkIngestorCDN.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkIngestorCDN.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAMhE,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAEhC;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9B,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD;;;;;OAKG;IACH,MAAM,CAAC,4BAA4B,CACjC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,mBAAmB,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,sBAAsB;IAWzB,KAAK,EAAE,mBAAmB,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9B,kBAAkB,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACnD,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAA;IAC/C,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;gBAEzB,OAAO,EAAE,sBAAsB;IAW5B,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI9D,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAO5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,YAAY,CAChB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,WAAW,EACvB,SAAS,EAAE,WAAW,EACtB,gBAAgB,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC;CAmD1B"}
|