@bsv/wallet-toolbox-client 2.4.4 → 2.4.20
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/LICENSE.txt +58 -0
- package/README.md +43 -22
- package/out/index.client.cjs +33583 -0
- package/out/index.client.cjs.map +1 -0
- package/out/index.client.d.cts +10768 -0
- package/out/index.client.d.cts.map +1 -0
- package/out/index.client.d.mts +10767 -0
- package/out/index.client.d.mts.map +1 -0
- package/out/index.client.mjs +33377 -0
- package/out/index.client.mjs.map +1 -0
- package/out/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/package.json +56 -9
- package/out/src/CWIStyleWalletManager.d.ts +0 -564
- package/out/src/CWIStyleWalletManager.d.ts.map +0 -1
- package/out/src/CWIStyleWalletManager.js +0 -1966
- package/out/src/CWIStyleWalletManager.js.map +0 -1
- package/out/src/SetupClient.d.ts +0 -135
- package/out/src/SetupClient.d.ts.map +0 -1
- package/out/src/SetupClient.js +0 -226
- package/out/src/SetupClient.js.map +0 -1
- package/out/src/SetupWallet.d.ts +0 -103
- package/out/src/SetupWallet.d.ts.map +0 -1
- package/out/src/SetupWallet.js +0 -3
- package/out/src/SetupWallet.js.map +0 -1
- package/out/src/SimpleWalletManager.d.ts +0 -179
- package/out/src/SimpleWalletManager.d.ts.map +0 -1
- package/out/src/SimpleWalletManager.js +0 -360
- package/out/src/SimpleWalletManager.js.map +0 -1
- package/out/src/Wallet.d.ts +0 -262
- package/out/src/Wallet.d.ts.map +0 -1
- package/out/src/Wallet.js +0 -923
- package/out/src/Wallet.js.map +0 -1
- package/out/src/WalletAuthenticationManager.d.ts +0 -47
- package/out/src/WalletAuthenticationManager.d.ts.map +0 -1
- package/out/src/WalletAuthenticationManager.js +0 -306
- package/out/src/WalletAuthenticationManager.js.map +0 -1
- package/out/src/WalletLogger.d.ts +0 -65
- package/out/src/WalletLogger.d.ts.map +0 -1
- package/out/src/WalletLogger.js +0 -177
- package/out/src/WalletLogger.js.map +0 -1
- package/out/src/WalletPermissionsManager.d.ts +0 -981
- package/out/src/WalletPermissionsManager.d.ts.map +0 -1
- package/out/src/WalletPermissionsManager.js +0 -3744
- package/out/src/WalletPermissionsManager.js.map +0 -1
- package/out/src/WalletSettingsManager.d.ts +0 -53
- package/out/src/WalletSettingsManager.d.ts.map +0 -1
- package/out/src/WalletSettingsManager.js +0 -86
- package/out/src/WalletSettingsManager.js.map +0 -1
- package/out/src/fundWalletP2PKH.d.ts +0 -48
- package/out/src/fundWalletP2PKH.d.ts.map +0 -1
- package/out/src/fundWalletP2PKH.js +0 -239
- package/out/src/fundWalletP2PKH.js.map +0 -1
- package/out/src/index.client.d.ts +0 -25
- package/out/src/index.client.d.ts.map +0 -1
- package/out/src/index.client.js +0 -64
- package/out/src/index.client.js.map +0 -1
- package/out/src/mockchain/MockChainMigrations.d.ts +0 -20
- package/out/src/mockchain/MockChainMigrations.d.ts.map +0 -1
- package/out/src/mockchain/MockChainMigrations.js +0 -67
- package/out/src/mockchain/MockChainMigrations.js.map +0 -1
- package/out/src/mockchain/MockChainStorage.d.ts +0 -58
- package/out/src/mockchain/MockChainStorage.d.ts.map +0 -1
- package/out/src/mockchain/MockChainStorage.js +0 -102
- package/out/src/mockchain/MockChainStorage.js.map +0 -1
- package/out/src/mockchain/MockChainTracker.d.ts +0 -28
- package/out/src/mockchain/MockChainTracker.d.ts.map +0 -1
- package/out/src/mockchain/MockChainTracker.js +0 -97
- package/out/src/mockchain/MockChainTracker.js.map +0 -1
- package/out/src/mockchain/MockMiner.d.ts +0 -16
- package/out/src/mockchain/MockMiner.d.ts.map +0 -1
- package/out/src/mockchain/MockMiner.js +0 -137
- package/out/src/mockchain/MockMiner.js.map +0 -1
- package/out/src/mockchain/MockServices.d.ts +0 -53
- package/out/src/mockchain/MockServices.d.ts.map +0 -1
- package/out/src/mockchain/MockServices.js +0 -459
- package/out/src/mockchain/MockServices.js.map +0 -1
- package/out/src/mockchain/merkleTree.d.ts +0 -13
- package/out/src/mockchain/merkleTree.d.ts.map +0 -1
- package/out/src/mockchain/merkleTree.js +0 -122
- package/out/src/mockchain/merkleTree.js.map +0 -1
- package/out/src/monitor/Monitor.d.ts +0 -189
- package/out/src/monitor/Monitor.d.ts.map +0 -1
- package/out/src/monitor/Monitor.js +0 -387
- package/out/src/monitor/Monitor.js.map +0 -1
- package/out/src/monitor/tasks/TaskArcSSE.d.ts +0 -29
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +0 -259
- package/out/src/monitor/tasks/TaskArcSSE.js.map +0 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +0 -53
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +0 -224
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +0 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +0 -91
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +0 -159
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +0 -1
- package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts +0 -13
- package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskCleanupActionBatches.js +0 -24
- package/out/src/monitor/tasks/TaskCleanupActionBatches.js.map +0 -1
- package/out/src/monitor/tasks/TaskClock.d.ts +0 -14
- package/out/src/monitor/tasks/TaskClock.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskClock.js +0 -29
- package/out/src/monitor/tasks/TaskClock.js.map +0 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +0 -20
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js +0 -53
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +0 -1
- package/out/src/monitor/tasks/TaskMineBlock.d.ts +0 -13
- package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskMineBlock.js +0 -30
- package/out/src/monitor/tasks/TaskMineBlock.js.map +0 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +0 -12
- package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js +0 -25
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +0 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts +0 -50
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +0 -97
- package/out/src/monitor/tasks/TaskNewHeader.js.map +0 -1
- package/out/src/monitor/tasks/TaskPurge.d.ts +0 -45
- package/out/src/monitor/tasks/TaskPurge.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskPurge.js +0 -36
- package/out/src/monitor/tasks/TaskPurge.js.map +0 -1
- package/out/src/monitor/tasks/TaskReorg.d.ts +0 -43
- package/out/src/monitor/tasks/TaskReorg.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReorg.js +0 -84
- package/out/src/monitor/tasks/TaskReorg.js.map +0 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +0 -26
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +0 -127
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +0 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +0 -34
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +0 -136
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +0 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts +0 -26
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js +0 -50
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +0 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +0 -23
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +0 -75
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +0 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts +0 -48
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +0 -202
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +0 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts +0 -41
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskUnFail.js +0 -89
- package/out/src/monitor/tasks/TaskUnFail.js.map +0 -1
- package/out/src/monitor/tasks/WalletMonitorTask.d.ts +0 -40
- package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +0 -1
- package/out/src/monitor/tasks/WalletMonitorTask.js +0 -42
- package/out/src/monitor/tasks/WalletMonitorTask.js.map +0 -1
- package/out/src/sdk/ActionBatch.interfaces.d.ts +0 -105
- package/out/src/sdk/ActionBatch.interfaces.d.ts.map +0 -1
- package/out/src/sdk/ActionBatch.interfaces.js +0 -3
- package/out/src/sdk/ActionBatch.interfaces.js.map +0 -1
- package/out/src/sdk/CertOpsWallet.d.ts +0 -7
- package/out/src/sdk/CertOpsWallet.d.ts.map +0 -1
- package/out/src/sdk/CertOpsWallet.js +0 -3
- package/out/src/sdk/CertOpsWallet.js.map +0 -1
- package/out/src/sdk/PrivilegedKeyManager.d.ts +0 -125
- package/out/src/sdk/PrivilegedKeyManager.d.ts.map +0 -1
- package/out/src/sdk/PrivilegedKeyManager.js +0 -320
- package/out/src/sdk/PrivilegedKeyManager.js.map +0 -1
- package/out/src/sdk/WERR_errors.d.ts +0 -136
- package/out/src/sdk/WERR_errors.d.ts.map +0 -1
- package/out/src/sdk/WERR_errors.js +0 -233
- package/out/src/sdk/WERR_errors.js.map +0 -1
- package/out/src/sdk/WalletError.d.ts +0 -63
- package/out/src/sdk/WalletError.d.ts.map +0 -1
- package/out/src/sdk/WalletError.js +0 -177
- package/out/src/sdk/WalletError.js.map +0 -1
- package/out/src/sdk/WalletErrorFromJson.d.ts +0 -12
- package/out/src/sdk/WalletErrorFromJson.d.ts.map +0 -1
- package/out/src/sdk/WalletErrorFromJson.js +0 -67
- package/out/src/sdk/WalletErrorFromJson.js.map +0 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +0 -643
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +0 -1
- package/out/src/sdk/WalletServices.interfaces.js +0 -3
- package/out/src/sdk/WalletServices.interfaces.js.map +0 -1
- package/out/src/sdk/WalletSigner.interfaces.d.ts +0 -10
- package/out/src/sdk/WalletSigner.interfaces.d.ts.map +0 -1
- package/out/src/sdk/WalletSigner.interfaces.js +0 -3
- package/out/src/sdk/WalletSigner.interfaces.js.map +0 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +0 -556
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +0 -1
- package/out/src/sdk/WalletStorage.interfaces.js +0 -3
- package/out/src/sdk/WalletStorage.interfaces.js.map +0 -1
- package/out/src/sdk/index.d.ts +0 -12
- package/out/src/sdk/index.d.ts.map +0 -1
- package/out/src/sdk/index.js +0 -30
- package/out/src/sdk/index.js.map +0 -1
- package/out/src/sdk/types.d.ts +0 -178
- package/out/src/sdk/types.d.ts.map +0 -1
- package/out/src/sdk/types.js +0 -104
- package/out/src/sdk/types.js.map +0 -1
- package/out/src/services/ServiceCollection.d.ts +0 -79
- package/out/src/services/ServiceCollection.d.ts.map +0 -1
- package/out/src/services/ServiceCollection.js +0 -197
- package/out/src/services/ServiceCollection.js.map +0 -1
- package/out/src/services/Services.d.ts +0 -97
- package/out/src/services/Services.d.ts.map +0 -1
- package/out/src/services/Services.js +0 -729
- package/out/src/services/Services.js.map +0 -1
- package/out/src/services/chaintracker/BHServiceClient.d.ts +0 -39
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +0 -1
- package/out/src/services/chaintracker/BHServiceClient.js +0 -180
- package/out/src/services/chaintracker/BHServiceClient.js.map +0 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +0 -16
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +0 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +0 -59
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +0 -57
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +0 -38
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +0 -70
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +0 -81
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +0 -54
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +0 -163
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +0 -18
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +0 -55
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +0 -338
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +0 -19
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +0 -113
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +0 -607
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +0 -38
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +0 -149
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +0 -52
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +0 -232
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +0 -60
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +0 -126
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +0 -75
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +0 -121
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +0 -13
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +0 -20
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +0 -62
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +0 -61
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +0 -62
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +0 -44
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +0 -24
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +0 -55
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +0 -64
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +0 -95
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +0 -171
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +0 -487
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +0 -89
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +0 -142
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +0 -23
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +0 -63
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +0 -68
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +0 -311
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +0 -92
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +0 -467
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +0 -37
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +0 -261
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +0 -22
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +0 -54
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +0 -5
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +0 -29
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +0 -5
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +0 -29
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +0 -13
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +0 -27
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +0 -13
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +0 -27
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts +0 -4
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.client.js +0 -20
- package/out/src/services/chaintracker/chaintracks/index.client.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +0 -32
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.js +0 -70
- package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +0 -142
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +0 -821
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts +0 -22
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +0 -65
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +0 -78
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +0 -284
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +0 -129
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +0 -168
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -21
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +0 -108
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +0 -90
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +0 -150
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +0 -14
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +0 -86
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +0 -159
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +0 -530
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +0 -20
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +0 -31
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +0 -37
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +0 -429
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +0 -1
- package/out/src/services/chaintracker/index.client.d.ts +0 -4
- package/out/src/services/chaintracker/index.client.d.ts.map +0 -1
- package/out/src/services/chaintracker/index.client.js +0 -20
- package/out/src/services/chaintracker/index.client.js.map +0 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +0 -25
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +0 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +0 -143
- package/out/src/services/createDefaultWalletServicesOptions.js.map +0 -1
- package/out/src/services/networkConfig.d.ts +0 -29
- package/out/src/services/networkConfig.d.ts.map +0 -1
- package/out/src/services/networkConfig.js +0 -54
- package/out/src/services/networkConfig.js.map +0 -1
- package/out/src/services/providers/ARC.d.ts +0 -96
- package/out/src/services/providers/ARC.d.ts.map +0 -1
- package/out/src/services/providers/ARC.js +0 -332
- package/out/src/services/providers/ARC.js.map +0 -1
- package/out/src/services/providers/ArcSSEClient.d.ts +0 -58
- package/out/src/services/providers/ArcSSEClient.d.ts.map +0 -1
- package/out/src/services/providers/ArcSSEClient.js +0 -115
- package/out/src/services/providers/ArcSSEClient.js.map +0 -1
- package/out/src/services/providers/Arcade.d.ts +0 -73
- package/out/src/services/providers/Arcade.d.ts.map +0 -1
- package/out/src/services/providers/Arcade.js +0 -330
- package/out/src/services/providers/Arcade.js.map +0 -1
- package/out/src/services/providers/Bitails.d.ts +0 -50
- package/out/src/services/providers/Bitails.d.ts.map +0 -1
- package/out/src/services/providers/Bitails.js +0 -237
- package/out/src/services/providers/Bitails.js.map +0 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts +0 -21
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +0 -1
- package/out/src/services/providers/SdkWhatsOnChain.js +0 -82
- package/out/src/services/providers/SdkWhatsOnChain.js.map +0 -1
- package/out/src/services/providers/WhatsOnChain.d.ts +0 -132
- package/out/src/services/providers/WhatsOnChain.d.ts.map +0 -1
- package/out/src/services/providers/WhatsOnChain.js +0 -558
- package/out/src/services/providers/WhatsOnChain.js.map +0 -1
- package/out/src/services/providers/exchangeRates.d.ts +0 -12
- package/out/src/services/providers/exchangeRates.d.ts.map +0 -1
- package/out/src/services/providers/exchangeRates.js +0 -244
- package/out/src/services/providers/exchangeRates.js.map +0 -1
- package/out/src/services/providers/getBeefForTxid.d.ts +0 -4
- package/out/src/services/providers/getBeefForTxid.d.ts.map +0 -1
- package/out/src/services/providers/getBeefForTxid.js +0 -287
- package/out/src/services/providers/getBeefForTxid.js.map +0 -1
- package/out/src/services/providers/whatsOnChainHelpers.d.ts +0 -68
- package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +0 -1
- package/out/src/services/providers/whatsOnChainHelpers.js +0 -147
- package/out/src/services/providers/whatsOnChainHelpers.js.map +0 -1
- package/out/src/signer/WalletSigner.d.ts +0 -11
- package/out/src/signer/WalletSigner.d.ts.map +0 -1
- package/out/src/signer/WalletSigner.js +0 -16
- package/out/src/signer/WalletSigner.js.map +0 -1
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +0 -28
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +0 -1
- package/out/src/signer/actionBatch/ActionBatchPlanner.js +0 -313
- package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +0 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +0 -33
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +0 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js +0 -693
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +0 -1
- package/out/src/signer/methods/acquireDirectCertificate.d.ts +0 -5
- package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +0 -1
- package/out/src/signer/methods/acquireDirectCertificate.js +0 -44
- package/out/src/signer/methods/acquireDirectCertificate.js.map +0 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts +0 -69
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +0 -1
- package/out/src/signer/methods/buildSignableTransaction.js +0 -268
- package/out/src/signer/methods/buildSignableTransaction.js.map +0 -1
- package/out/src/signer/methods/completeSignedTransaction.d.ts +0 -10
- package/out/src/signer/methods/completeSignedTransaction.d.ts.map +0 -1
- package/out/src/signer/methods/completeSignedTransaction.js +0 -106
- package/out/src/signer/methods/completeSignedTransaction.js.map +0 -1
- package/out/src/signer/methods/createAction.d.ts +0 -14
- package/out/src/signer/methods/createAction.d.ts.map +0 -1
- package/out/src/signer/methods/createAction.js +0 -126
- package/out/src/signer/methods/createAction.js.map +0 -1
- package/out/src/signer/methods/internalizeAction.d.ts +0 -43
- package/out/src/signer/methods/internalizeAction.d.ts.map +0 -1
- package/out/src/signer/methods/internalizeAction.js +0 -109
- package/out/src/signer/methods/internalizeAction.js.map +0 -1
- package/out/src/signer/methods/proveCertificate.d.ts +0 -5
- package/out/src/signer/methods/proveCertificate.d.ts.map +0 -1
- package/out/src/signer/methods/proveCertificate.js +0 -29
- package/out/src/signer/methods/proveCertificate.js.map +0 -1
- package/out/src/signer/methods/resultBeef.d.ts +0 -4
- package/out/src/signer/methods/resultBeef.d.ts.map +0 -1
- package/out/src/signer/methods/resultBeef.js +0 -12
- package/out/src/signer/methods/resultBeef.js.map +0 -1
- package/out/src/signer/methods/signAction.d.ts +0 -11
- package/out/src/signer/methods/signAction.d.ts.map +0 -1
- package/out/src/signer/methods/signAction.js +0 -43
- package/out/src/signer/methods/signAction.js.map +0 -1
- package/out/src/storage/StorageIdb.d.ts +0 -248
- package/out/src/storage/StorageIdb.d.ts.map +0 -1
- package/out/src/storage/StorageIdb.js +0 -1827
- package/out/src/storage/StorageIdb.js.map +0 -1
- package/out/src/storage/StorageProvider.d.ts +0 -309
- package/out/src/storage/StorageProvider.d.ts.map +0 -1
- package/out/src/storage/StorageProvider.js +0 -973
- package/out/src/storage/StorageProvider.js.map +0 -1
- package/out/src/storage/StorageReader.d.ts +0 -77
- package/out/src/storage/StorageReader.d.ts.map +0 -1
- package/out/src/storage/StorageReader.js +0 -166
- package/out/src/storage/StorageReader.js.map +0 -1
- package/out/src/storage/StorageReaderWriter.d.ts +0 -102
- package/out/src/storage/StorageReaderWriter.d.ts.map +0 -1
- package/out/src/storage/StorageReaderWriter.js +0 -335
- package/out/src/storage/StorageReaderWriter.js.map +0 -1
- package/out/src/storage/StorageSyncReader.d.ts +0 -18
- package/out/src/storage/StorageSyncReader.d.ts.map +0 -1
- package/out/src/storage/StorageSyncReader.js +0 -73
- package/out/src/storage/StorageSyncReader.js.map +0 -1
- package/out/src/storage/WalletStorageManager.d.ts +0 -225
- package/out/src/storage/WalletStorageManager.d.ts.map +0 -1
- package/out/src/storage/WalletStorageManager.js +0 -854
- package/out/src/storage/WalletStorageManager.js.map +0 -1
- package/out/src/storage/idbHelpers.d.ts +0 -44
- package/out/src/storage/idbHelpers.d.ts.map +0 -1
- package/out/src/storage/idbHelpers.js +0 -393
- package/out/src/storage/idbHelpers.js.map +0 -1
- package/out/src/storage/index.client.d.ts +0 -12
- package/out/src/storage/index.client.d.ts.map +0 -1
- package/out/src/storage/index.client.js +0 -28
- package/out/src/storage/index.client.js.map +0 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts +0 -23
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +0 -1
- package/out/src/storage/methods/ListActionsSpecOp.js +0 -129
- package/out/src/storage/methods/ListActionsSpecOp.js.map +0 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts +0 -42
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +0 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +0 -154
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +0 -1
- package/out/src/storage/methods/actionBatch.d.ts +0 -14
- package/out/src/storage/methods/actionBatch.d.ts.map +0 -1
- package/out/src/storage/methods/actionBatch.js +0 -644
- package/out/src/storage/methods/actionBatch.js.map +0 -1
- package/out/src/storage/methods/actionBatchBlobs.d.ts +0 -12
- package/out/src/storage/methods/actionBatchBlobs.d.ts.map +0 -1
- package/out/src/storage/methods/actionBatchBlobs.js +0 -121
- package/out/src/storage/methods/actionBatchBlobs.js.map +0 -1
- package/out/src/storage/methods/actionBatchValidation.d.ts +0 -15
- package/out/src/storage/methods/actionBatchValidation.d.ts.map +0 -1
- package/out/src/storage/methods/actionBatchValidation.js +0 -310
- package/out/src/storage/methods/actionBatchValidation.js.map +0 -1
- package/out/src/storage/methods/actionPlanning.d.ts +0 -12
- package/out/src/storage/methods/actionPlanning.d.ts.map +0 -1
- package/out/src/storage/methods/actionPlanning.js +0 -48
- package/out/src/storage/methods/actionPlanning.js.map +0 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +0 -124
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +0 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +0 -490
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +0 -1
- package/out/src/storage/methods/createAction.d.ts +0 -13
- package/out/src/storage/methods/createAction.d.ts.map +0 -1
- package/out/src/storage/methods/createAction.js +0 -777
- package/out/src/storage/methods/createAction.js.map +0 -1
- package/out/src/storage/methods/generateChange.d.ts +0 -121
- package/out/src/storage/methods/generateChange.d.ts.map +0 -1
- package/out/src/storage/methods/generateChange.js +0 -496
- package/out/src/storage/methods/generateChange.js.map +0 -1
- package/out/src/storage/methods/getBeefForTransaction.d.ts +0 -23
- package/out/src/storage/methods/getBeefForTransaction.d.ts.map +0 -1
- package/out/src/storage/methods/getBeefForTransaction.js +0 -132
- package/out/src/storage/methods/getBeefForTransaction.js.map +0 -1
- package/out/src/storage/methods/getSyncChunk.d.ts +0 -10
- package/out/src/storage/methods/getSyncChunk.d.ts.map +0 -1
- package/out/src/storage/methods/getSyncChunk.js +0 -273
- package/out/src/storage/methods/getSyncChunk.js.map +0 -1
- package/out/src/storage/methods/internalizeAction.d.ts +0 -102
- package/out/src/storage/methods/internalizeAction.d.ts.map +0 -1
- package/out/src/storage/methods/internalizeAction.js +0 -670
- package/out/src/storage/methods/internalizeAction.js.map +0 -1
- package/out/src/storage/methods/listActionsIdb.d.ts +0 -5
- package/out/src/storage/methods/listActionsIdb.d.ts.map +0 -1
- package/out/src/storage/methods/listActionsIdb.js +0 -142
- package/out/src/storage/methods/listActionsIdb.js.map +0 -1
- package/out/src/storage/methods/listCertificates.d.ts +0 -5
- package/out/src/storage/methods/listCertificates.d.ts.map +0 -1
- package/out/src/storage/methods/listCertificates.js +0 -68
- package/out/src/storage/methods/listCertificates.js.map +0 -1
- package/out/src/storage/methods/listOutputsIdb.d.ts +0 -5
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +0 -1
- package/out/src/storage/methods/listOutputsIdb.js +0 -195
- package/out/src/storage/methods/listOutputsIdb.js.map +0 -1
- package/out/src/storage/methods/managedChange.d.ts +0 -26
- package/out/src/storage/methods/managedChange.d.ts.map +0 -1
- package/out/src/storage/methods/managedChange.js +0 -43
- package/out/src/storage/methods/managedChange.js.map +0 -1
- package/out/src/storage/methods/offsetKey.d.ts +0 -24
- package/out/src/storage/methods/offsetKey.d.ts.map +0 -1
- package/out/src/storage/methods/offsetKey.js +0 -65
- package/out/src/storage/methods/offsetKey.js.map +0 -1
- package/out/src/storage/methods/processAction.d.ts +0 -43
- package/out/src/storage/methods/processAction.d.ts.map +0 -1
- package/out/src/storage/methods/processAction.js +0 -313
- package/out/src/storage/methods/processAction.js.map +0 -1
- package/out/src/storage/methods/purgeDataIdb.d.ts +0 -4
- package/out/src/storage/methods/purgeDataIdb.d.ts.map +0 -1
- package/out/src/storage/methods/purgeDataIdb.js +0 -9
- package/out/src/storage/methods/purgeDataIdb.js.map +0 -1
- package/out/src/storage/methods/reviewStatusIdb.d.ts +0 -20
- package/out/src/storage/methods/reviewStatusIdb.d.ts.map +0 -1
- package/out/src/storage/methods/reviewStatusIdb.js +0 -76
- package/out/src/storage/methods/reviewStatusIdb.js.map +0 -1
- package/out/src/storage/methods/utils.d.ts +0 -25
- package/out/src/storage/methods/utils.d.ts.map +0 -1
- package/out/src/storage/methods/utils.js +0 -59
- package/out/src/storage/methods/utils.js.map +0 -1
- package/out/src/storage/portable/index.d.ts +0 -55
- package/out/src/storage/portable/index.d.ts.map +0 -1
- package/out/src/storage/portable/index.js +0 -872
- package/out/src/storage/portable/index.js.map +0 -1
- package/out/src/storage/remoting/BinaryJson.d.ts +0 -10
- package/out/src/storage/remoting/BinaryJson.d.ts.map +0 -1
- package/out/src/storage/remoting/BinaryJson.js +0 -172
- package/out/src/storage/remoting/BinaryJson.js.map +0 -1
- package/out/src/storage/remoting/StorageClient.d.ts +0 -26
- package/out/src/storage/remoting/StorageClient.d.ts.map +0 -1
- package/out/src/storage/remoting/StorageClient.js +0 -98
- package/out/src/storage/remoting/StorageClient.js.map +0 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts +0 -308
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +0 -1
- package/out/src/storage/remoting/StorageClientBase.js +0 -416
- package/out/src/storage/remoting/StorageClientBase.js.map +0 -1
- package/out/src/storage/remoting/entityValidationHelpers.d.ts +0 -29
- package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +0 -1
- package/out/src/storage/remoting/entityValidationHelpers.js +0 -91
- package/out/src/storage/remoting/entityValidationHelpers.js.map +0 -1
- package/out/src/storage/schema/StorageIdbSchema.d.ts +0 -157
- package/out/src/storage/schema/StorageIdbSchema.d.ts.map +0 -1
- package/out/src/storage/schema/StorageIdbSchema.js +0 -3
- package/out/src/storage/schema/StorageIdbSchema.js.map +0 -1
- package/out/src/storage/schema/entities/EntityBase.d.ts +0 -106
- package/out/src/storage/schema/entities/EntityBase.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityBase.js +0 -101
- package/out/src/storage/schema/entities/EntityBase.js.map +0 -1
- package/out/src/storage/schema/entities/EntityCertificate.d.ts +0 -44
- package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityCertificate.js +0 -163
- package/out/src/storage/schema/entities/EntityCertificate.js.map +0 -1
- package/out/src/storage/schema/entities/EntityCertificateField.d.ts +0 -33
- package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityCertificateField.js +0 -110
- package/out/src/storage/schema/entities/EntityCertificateField.js.map +0 -1
- package/out/src/storage/schema/entities/EntityCommission.d.ts +0 -38
- package/out/src/storage/schema/entities/EntityCommission.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityCommission.js +0 -125
- package/out/src/storage/schema/entities/EntityCommission.js.map +0 -1
- package/out/src/storage/schema/entities/EntityOutput.d.ts +0 -68
- package/out/src/storage/schema/entities/EntityOutput.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityOutput.js +0 -261
- package/out/src/storage/schema/entities/EntityOutput.js.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +0 -36
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js +0 -133
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputTag.d.ts +0 -32
- package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputTag.js +0 -104
- package/out/src/storage/schema/entities/EntityOutputTag.js.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +0 -29
- package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.js +0 -96
- package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +0 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts +0 -87
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +0 -276
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +0 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +0 -148
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +0 -570
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +0 -1
- package/out/src/storage/schema/entities/EntitySyncState.d.ts +0 -69
- package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +0 -338
- package/out/src/storage/schema/entities/EntitySyncState.js.map +0 -1
- package/out/src/storage/schema/entities/EntityTransaction.d.ts +0 -71
- package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityTransaction.js +0 -265
- package/out/src/storage/schema/entities/EntityTransaction.js.map +0 -1
- package/out/src/storage/schema/entities/EntityTxLabel.d.ts +0 -32
- package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityTxLabel.js +0 -104
- package/out/src/storage/schema/entities/EntityTxLabel.js.map +0 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +0 -29
- package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.js +0 -96
- package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +0 -1
- package/out/src/storage/schema/entities/EntityUser.d.ts +0 -30
- package/out/src/storage/schema/entities/EntityUser.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityUser.js +0 -99
- package/out/src/storage/schema/entities/EntityUser.js.map +0 -1
- package/out/src/storage/schema/entities/MergeEntity.d.ts +0 -34
- package/out/src/storage/schema/entities/MergeEntity.d.ts.map +0 -1
- package/out/src/storage/schema/entities/MergeEntity.js +0 -67
- package/out/src/storage/schema/entities/MergeEntity.js.map +0 -1
- package/out/src/storage/schema/entities/index.d.ts +0 -17
- package/out/src/storage/schema/entities/index.d.ts.map +0 -1
- package/out/src/storage/schema/entities/index.js +0 -33
- package/out/src/storage/schema/entities/index.js.map +0 -1
- package/out/src/storage/schema/tables/TableActionBatch.d.ts +0 -24
- package/out/src/storage/schema/tables/TableActionBatch.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableActionBatch.js +0 -3
- package/out/src/storage/schema/tables/TableActionBatch.js.map +0 -1
- package/out/src/storage/schema/tables/TableAuthSession.d.ts +0 -20
- package/out/src/storage/schema/tables/TableAuthSession.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableAuthSession.js +0 -15
- package/out/src/storage/schema/tables/TableAuthSession.js.map +0 -1
- package/out/src/storage/schema/tables/TableCertificate.d.ts +0 -21
- package/out/src/storage/schema/tables/TableCertificate.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableCertificate.js +0 -3
- package/out/src/storage/schema/tables/TableCertificate.js.map +0 -1
- package/out/src/storage/schema/tables/TableCertificateField.d.ts +0 -12
- package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableCertificateField.js +0 -3
- package/out/src/storage/schema/tables/TableCertificateField.js.map +0 -1
- package/out/src/storage/schema/tables/TableCommission.d.ts +0 -13
- package/out/src/storage/schema/tables/TableCommission.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableCommission.js +0 -3
- package/out/src/storage/schema/tables/TableCommission.js.map +0 -1
- package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +0 -9
- package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableMonitorEvent.js +0 -3
- package/out/src/storage/schema/tables/TableMonitorEvent.js.map +0 -1
- package/out/src/storage/schema/tables/TableOutput.d.ts +0 -37
- package/out/src/storage/schema/tables/TableOutput.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableOutput.js +0 -31
- package/out/src/storage/schema/tables/TableOutput.js.map +0 -1
- package/out/src/storage/schema/tables/TableOutputBasket.d.ts +0 -12
- package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableOutputBasket.js +0 -3
- package/out/src/storage/schema/tables/TableOutputBasket.js.map +0 -1
- package/out/src/storage/schema/tables/TableOutputTag.d.ts +0 -10
- package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableOutputTag.js +0 -3
- package/out/src/storage/schema/tables/TableOutputTag.js.map +0 -1
- package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +0 -9
- package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableOutputTagMap.js +0 -3
- package/out/src/storage/schema/tables/TableOutputTagMap.js.map +0 -1
- package/out/src/storage/schema/tables/TableProvenTx.d.ts +0 -14
- package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableProvenTx.js +0 -3
- package/out/src/storage/schema/tables/TableProvenTx.js.map +0 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +0 -87
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.js +0 -3
- package/out/src/storage/schema/tables/TableProvenTxReq.js.map +0 -1
- package/out/src/storage/schema/tables/TableSettings.d.ts +0 -17
- package/out/src/storage/schema/tables/TableSettings.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableSettings.js +0 -3
- package/out/src/storage/schema/tables/TableSettings.js.map +0 -1
- package/out/src/storage/schema/tables/TableSyncState.d.ts +0 -18
- package/out/src/storage/schema/tables/TableSyncState.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableSyncState.js +0 -3
- package/out/src/storage/schema/tables/TableSyncState.js.map +0 -1
- package/out/src/storage/schema/tables/TableTransaction.d.ts +0 -37
- package/out/src/storage/schema/tables/TableTransaction.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableTransaction.js +0 -21
- package/out/src/storage/schema/tables/TableTransaction.js.map +0 -1
- package/out/src/storage/schema/tables/TableTxLabel.d.ts +0 -10
- package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableTxLabel.js +0 -3
- package/out/src/storage/schema/tables/TableTxLabel.js.map +0 -1
- package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +0 -9
- package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableTxLabelMap.js +0 -3
- package/out/src/storage/schema/tables/TableTxLabelMap.js.map +0 -1
- package/out/src/storage/schema/tables/TableUser.d.ts +0 -16
- package/out/src/storage/schema/tables/TableUser.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableUser.js +0 -3
- package/out/src/storage/schema/tables/TableUser.js.map +0 -1
- package/out/src/storage/schema/tables/index.d.ts +0 -19
- package/out/src/storage/schema/tables/index.d.ts.map +0 -1
- package/out/src/storage/schema/tables/index.js +0 -35
- package/out/src/storage/schema/tables/index.js.map +0 -1
- package/out/src/storage/storageProviderHelpers.d.ts +0 -35
- package/out/src/storage/storageProviderHelpers.d.ts.map +0 -1
- package/out/src/storage/storageProviderHelpers.js +0 -100
- package/out/src/storage/storageProviderHelpers.js.map +0 -1
- package/out/src/utility/ScriptTemplateBRC29.d.ts +0 -25
- package/out/src/utility/ScriptTemplateBRC29.d.ts.map +0 -1
- package/out/src/utility/ScriptTemplateBRC29.js +0 -51
- package/out/src/utility/ScriptTemplateBRC29.js.map +0 -1
- package/out/src/utility/actionBatchDigest.d.ts +0 -9
- package/out/src/utility/actionBatchDigest.d.ts.map +0 -1
- package/out/src/utility/actionBatchDigest.js +0 -48
- package/out/src/utility/actionBatchDigest.js.map +0 -1
- package/out/src/utility/aggregateResults.d.ts +0 -8
- package/out/src/utility/aggregateResults.d.ts.map +0 -1
- package/out/src/utility/aggregateResults.js +0 -59
- package/out/src/utility/aggregateResults.js.map +0 -1
- package/out/src/utility/beefForTxids.d.ts +0 -9
- package/out/src/utility/beefForTxids.d.ts.map +0 -1
- package/out/src/utility/beefForTxids.js +0 -35
- package/out/src/utility/beefForTxids.js.map +0 -1
- package/out/src/utility/brc114ActionTimeLabels.d.ts +0 -9
- package/out/src/utility/brc114ActionTimeLabels.d.ts.map +0 -1
- package/out/src/utility/brc114ActionTimeLabels.js +0 -58
- package/out/src/utility/brc114ActionTimeLabels.js.map +0 -1
- package/out/src/utility/identityUtils.d.ts +0 -37
- package/out/src/utility/identityUtils.d.ts.map +0 -1
- package/out/src/utility/identityUtils.js +0 -162
- package/out/src/utility/identityUtils.js.map +0 -1
- package/out/src/utility/index.client.d.ts +0 -8
- package/out/src/utility/index.client.d.ts.map +0 -1
- package/out/src/utility/index.client.js +0 -24
- package/out/src/utility/index.client.js.map +0 -1
- package/out/src/utility/parseTxScriptOffsets.d.ts +0 -14
- package/out/src/utility/parseTxScriptOffsets.d.ts.map +0 -1
- package/out/src/utility/parseTxScriptOffsets.js +0 -26
- package/out/src/utility/parseTxScriptOffsets.js.map +0 -1
- package/out/src/utility/stampLog.d.ts +0 -18
- package/out/src/utility/stampLog.d.ts.map +0 -1
- package/out/src/utility/stampLog.js +0 -74
- package/out/src/utility/stampLog.js.map +0 -1
- package/out/src/utility/tscProofToMerklePath.d.ts +0 -8
- package/out/src/utility/tscProofToMerklePath.d.ts.map +0 -1
- package/out/src/utility/tscProofToMerklePath.js +0 -41
- package/out/src/utility/tscProofToMerklePath.js.map +0 -1
- package/out/src/utility/utilityHelpers.d.ts +0 -142
- package/out/src/utility/utilityHelpers.d.ts.map +0 -1
- package/out/src/utility/utilityHelpers.js +0 -319
- package/out/src/utility/utilityHelpers.js.map +0 -1
- package/out/src/utility/utilityHelpers.noBuffer.d.ts +0 -30
- package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +0 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +0 -64
- package/out/src/utility/utilityHelpers.noBuffer.js.map +0 -1
- package/out/src/wab-client/WABClient.d.ts +0 -60
- package/out/src/wab-client/WABClient.d.ts.map +0 -1
- package/out/src/wab-client/WABClient.js +0 -140
- package/out/src/wab-client/WABClient.js.map +0 -1
- package/out/src/wab-client/WABTransport.d.ts +0 -53
- package/out/src/wab-client/WABTransport.d.ts.map +0 -1
- package/out/src/wab-client/WABTransport.js +0 -300
- package/out/src/wab-client/WABTransport.js.map +0 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +0 -41
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +0 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +0 -44
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +0 -1
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts +0 -11
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts.map +0 -1
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +0 -15
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +0 -1
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +0 -5
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +0 -1
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +0 -9
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +0 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +0 -11
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +0 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +0 -28
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +0 -1
- package/out/tsconfig.client.tsbuildinfo +0 -1
|
@@ -1,821 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BulkFileDataReader = exports.BulkFileDataManager = void 0;
|
|
4
|
-
exports.selectBulkHeaderFiles = selectBulkHeaderFiles;
|
|
5
|
-
const BulkFileDataReader_1 = require("./BulkFileDataReader");
|
|
6
|
-
const sdk_1 = require("../../../../sdk");
|
|
7
|
-
const sdk_2 = require("@bsv/sdk");
|
|
8
|
-
const utilityHelpers_noBuffer_1 = require("../../../../utility/utilityHelpers.noBuffer");
|
|
9
|
-
const validBulkHeaderFilesByFileHash_1 = require("./validBulkHeaderFilesByFileHash");
|
|
10
|
-
const HeightRange_1 = require("./HeightRange");
|
|
11
|
-
const blockHeaderUtilities_1 = require("./blockHeaderUtilities");
|
|
12
|
-
const ChaintracksFetch_1 = require("./ChaintracksFetch");
|
|
13
|
-
const SingleWriterMultiReaderLock_1 = require("./SingleWriterMultiReaderLock");
|
|
14
|
-
/**
|
|
15
|
-
* Manages bulk file data (typically 8MB chunks of 100,000 headers each).
|
|
16
|
-
*
|
|
17
|
-
* If not cached in memory,
|
|
18
|
-
* optionally fetches data by `sourceUrl` from CDN on demand,
|
|
19
|
-
* optionally finds data by `fileId` in a database on demand,
|
|
20
|
-
* and retains a limited number of files in memory,
|
|
21
|
-
* subject to the optional `maxRetained` limit.
|
|
22
|
-
*/
|
|
23
|
-
class BulkFileDataManager {
|
|
24
|
-
static createDefaultOptions(chain) {
|
|
25
|
-
return {
|
|
26
|
-
chain,
|
|
27
|
-
maxPerFile: 100000,
|
|
28
|
-
maxRetained: 2,
|
|
29
|
-
fetch: new ChaintracksFetch_1.ChaintracksFetch(),
|
|
30
|
-
fromKnownSourceUrl: 'https://cdn.projectbabbage.com/blockheaders'
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
log = () => { };
|
|
34
|
-
bfds = [];
|
|
35
|
-
fileHashToIndex = {};
|
|
36
|
-
lock = new SingleWriterMultiReaderLock_1.SingleWriterMultiReaderLock();
|
|
37
|
-
storage;
|
|
38
|
-
chain;
|
|
39
|
-
maxPerFile;
|
|
40
|
-
fetch;
|
|
41
|
-
maxRetained;
|
|
42
|
-
fromKnownSourceUrl;
|
|
43
|
-
constructor(options) {
|
|
44
|
-
const resolvedOptions = typeof options === 'object' ? options : BulkFileDataManager.createDefaultOptions(options);
|
|
45
|
-
this.chain = resolvedOptions.chain;
|
|
46
|
-
this.maxPerFile = resolvedOptions.maxPerFile;
|
|
47
|
-
this.maxRetained = resolvedOptions.maxRetained;
|
|
48
|
-
this.fromKnownSourceUrl = resolvedOptions.fromKnownSourceUrl;
|
|
49
|
-
this.fetch = resolvedOptions.fetch;
|
|
50
|
-
this.deleteBulkFilesNoLock();
|
|
51
|
-
}
|
|
52
|
-
async deleteBulkFiles() {
|
|
53
|
-
return await this.lock.withWriteLock(async () => this.deleteBulkFilesNoLock());
|
|
54
|
-
}
|
|
55
|
-
deleteBulkFilesNoLock() {
|
|
56
|
-
this.bfds = [];
|
|
57
|
-
this.fileHashToIndex = {};
|
|
58
|
-
if (this.fromKnownSourceUrl) {
|
|
59
|
-
const vbhfs = validBulkHeaderFilesByFileHash_1.validBulkHeaderFiles;
|
|
60
|
-
const filtered = vbhfs.filter(f => f.sourceUrl === this.fromKnownSourceUrl);
|
|
61
|
-
const files = selectBulkHeaderFiles(filtered, this.chain, this.maxPerFile);
|
|
62
|
-
for (const file of files) {
|
|
63
|
-
this.add({ ...file, fileHash: file.fileHash, mru: Date.now() });
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* If `bfds` are going to be backed by persistent storage,
|
|
69
|
-
* must be called before making storage available.
|
|
70
|
-
*
|
|
71
|
-
* Synchronizes bfds and storage files, after which this manager maintains sync.
|
|
72
|
-
* There should be no changes to bulk files by direct access to storage bulk file methods.
|
|
73
|
-
*/
|
|
74
|
-
async setStorage(storage, log) {
|
|
75
|
-
return await this.lock.withWriteLock(async () => await this.setStorageNoLock(storage, log));
|
|
76
|
-
}
|
|
77
|
-
async setStorageNoLock(storage, log) {
|
|
78
|
-
this.storage = storage;
|
|
79
|
-
this.log = log;
|
|
80
|
-
// Get files currently in persistent storage.
|
|
81
|
-
const sfs = await this.storage.getBulkFiles();
|
|
82
|
-
// Sync bfds with storage. Two scenarios supported:
|
|
83
|
-
const bfdsRanges = this.heightRangesFromBulkFiles(this.bfds);
|
|
84
|
-
const sfsRanges = this.heightRangesFromBulkFiles(sfs);
|
|
85
|
-
if (sfsRanges.cdn.length >= bfdsRanges.cdn.length) {
|
|
86
|
-
// Storage win if it has greater or equal CDN coverage
|
|
87
|
-
// Replace all bfds with sfs
|
|
88
|
-
this.bfds = [];
|
|
89
|
-
for (const file of sfs) {
|
|
90
|
-
const vbf = await this.validateFileInfo(file);
|
|
91
|
-
this.bfds.push(vbf);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
// Bfds win if they have greater CDN coverage
|
|
96
|
-
// Replace all sfs with bfds
|
|
97
|
-
const reversedFiles = [...sfs];
|
|
98
|
-
reversedFiles.reverse();
|
|
99
|
-
for (const s of reversedFiles)
|
|
100
|
-
await this.storage.deleteBulkFile(s.fileId);
|
|
101
|
-
for (const bfd of this.bfds) {
|
|
102
|
-
await this.ensureData(bfd);
|
|
103
|
-
bfd.fileId = await this.storage.insertBulkFile(bfdToInfo(bfd, true));
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
heightRangesFromBulkFiles(files) {
|
|
108
|
-
const ranges = { all: new HeightRange_1.HeightRange(0, -1), cdn: new HeightRange_1.HeightRange(0, -1), incremental: new HeightRange_1.HeightRange(0, -1) };
|
|
109
|
-
for (const file of files) {
|
|
110
|
-
const range = new HeightRange_1.HeightRange(file.firstHeight, file.firstHeight + file.count - 1);
|
|
111
|
-
ranges.all = ranges.all.union(range);
|
|
112
|
-
if (isBdfCdn(file))
|
|
113
|
-
ranges.cdn = ranges.cdn.union(range);
|
|
114
|
-
if (isBdfIncremental(file))
|
|
115
|
-
ranges.incremental = ranges.incremental.union(range);
|
|
116
|
-
}
|
|
117
|
-
return ranges;
|
|
118
|
-
}
|
|
119
|
-
async createReader(range, maxBufferSize) {
|
|
120
|
-
range = range || (await this.getHeightRange());
|
|
121
|
-
maxBufferSize = maxBufferSize || 1000000 * 80; // 100,000 headers, 8MB
|
|
122
|
-
return new BulkFileDataReader_1.BulkFileDataReader(this, range, maxBufferSize);
|
|
123
|
-
}
|
|
124
|
-
async updateFromUrl(cdnUrl) {
|
|
125
|
-
if (this.fetch == null)
|
|
126
|
-
throw new sdk_1.WERR_INVALID_OPERATION('fetch is not defined in the BulkFileDataManager.');
|
|
127
|
-
const toUrl = (file) => this.fetch.pathJoin(cdnUrl, file);
|
|
128
|
-
const url = toUrl(`${this.chain}NetBlockHeaders.json`);
|
|
129
|
-
const availableBulkFiles = await this.fetch.fetchJson(url);
|
|
130
|
-
if (!availableBulkFiles) {
|
|
131
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('cdnUrl', `a valid BulkHeaderFilesInfo JSON resource available from ${url}`);
|
|
132
|
-
}
|
|
133
|
-
const selectedFiles = selectBulkHeaderFiles(availableBulkFiles.files, this.chain, this.maxPerFile || availableBulkFiles.headersPerFile);
|
|
134
|
-
for (const bf of selectedFiles) {
|
|
135
|
-
if (!bf.fileHash) {
|
|
136
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('fileHash', `valid for all files in json downloaded from ${url}`);
|
|
137
|
-
}
|
|
138
|
-
if (!bf.chain || bf.chain !== this.chain) {
|
|
139
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('chain', `"${this.chain}" for all files in json downloaded from ${url}`);
|
|
140
|
-
}
|
|
141
|
-
if (!bf.sourceUrl || bf.sourceUrl !== cdnUrl)
|
|
142
|
-
bf.sourceUrl = cdnUrl;
|
|
143
|
-
}
|
|
144
|
-
const rangeBefore = await this.getHeightRange();
|
|
145
|
-
await this.merge(selectedFiles);
|
|
146
|
-
const rangeAfter = await this.getHeightRange();
|
|
147
|
-
let log = 'BulkDataFileManager.updateFromUrl\n';
|
|
148
|
-
log += ` url: ${url}\n`;
|
|
149
|
-
log += ` bulk range before: ${rangeBefore}\n`;
|
|
150
|
-
log += ` bulk range after: ${rangeAfter}\n`;
|
|
151
|
-
this.log(log);
|
|
152
|
-
}
|
|
153
|
-
async merge(files) {
|
|
154
|
-
return await this.lock.withWriteLock(async () => await this.mergeNoLock(files));
|
|
155
|
-
}
|
|
156
|
-
async mergeNoLock(files) {
|
|
157
|
-
const r = { inserted: [], updated: [], unchanged: [], dropped: [] };
|
|
158
|
-
for (const file of files) {
|
|
159
|
-
const hbf = this.getBfdForHeight(file.firstHeight);
|
|
160
|
-
if ((hbf != null) && file.fileId)
|
|
161
|
-
hbf.fileId = file.fileId; // Always update fileId if provided
|
|
162
|
-
const lbf = this.getLastBfd();
|
|
163
|
-
if (hbf?.fileHash === file.fileHash &&
|
|
164
|
-
hbf.count === file.count &&
|
|
165
|
-
hbf.lastHash === file.lastHash &&
|
|
166
|
-
hbf.lastChainWork === file.lastChainWork) {
|
|
167
|
-
// We already have an identical matching file...
|
|
168
|
-
r.unchanged.push(bfdToInfo(hbf));
|
|
169
|
-
continue;
|
|
170
|
-
}
|
|
171
|
-
const vbf = await this.validateFileInfo(file);
|
|
172
|
-
if (hbf != null) {
|
|
173
|
-
// We have a matching file by firstHeight but count and fileHash differ
|
|
174
|
-
await this.update(vbf, hbf, r);
|
|
175
|
-
}
|
|
176
|
-
else if (isBdfIncremental(vbf) && (lbf != null) && isBdfIncremental(lbf)) {
|
|
177
|
-
await this.mergeIncremental(lbf, vbf, r);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
const added = await this.add(vbf);
|
|
181
|
-
r.inserted.push(added);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
this.log(`BulkFileDataManager.merge:\n${this.toLogString(r)}\n`);
|
|
185
|
-
return r;
|
|
186
|
-
}
|
|
187
|
-
async mergeIncremental(lbf, vbf, r) {
|
|
188
|
-
lbf.count += vbf.count;
|
|
189
|
-
lbf.lastHash = vbf.lastHash;
|
|
190
|
-
lbf.lastChainWork = vbf.lastChainWork;
|
|
191
|
-
await this.ensureData(lbf);
|
|
192
|
-
const newData = new Uint8Array(lbf.data.length + vbf.data.length);
|
|
193
|
-
newData.set(lbf.data);
|
|
194
|
-
newData.set(vbf.data, lbf.data.length);
|
|
195
|
-
lbf.data = newData;
|
|
196
|
-
delete this.fileHashToIndex[lbf.fileHash];
|
|
197
|
-
lbf.fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_2.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(newData)), 'base64');
|
|
198
|
-
this.fileHashToIndex[lbf.fileHash] = this.bfds.length - 1;
|
|
199
|
-
lbf.mru = Date.now();
|
|
200
|
-
const lbfInfo = bfdToInfo(lbf, true);
|
|
201
|
-
r.updated.push(lbfInfo);
|
|
202
|
-
if ((this.storage != null) && lbf.fileId) {
|
|
203
|
-
await this.storage.updateBulkFile(lbf.fileId, lbfInfo);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
toLogString(what) {
|
|
207
|
-
let log = '';
|
|
208
|
-
if (what == null) {
|
|
209
|
-
log += this.toLogString(this.bfds);
|
|
210
|
-
}
|
|
211
|
-
else if (what['updated']) {
|
|
212
|
-
what = what;
|
|
213
|
-
for (const { category, bfds } of [
|
|
214
|
-
{ category: 'unchanged', bfds: what.unchanged },
|
|
215
|
-
{ category: 'dropped', bfds: what.dropped },
|
|
216
|
-
{ category: 'updated', bfds: what.updated },
|
|
217
|
-
{ category: 'inserted', bfds: what.inserted }
|
|
218
|
-
]) {
|
|
219
|
-
if (bfds.length > 0) {
|
|
220
|
-
log += ` ${category}:\n`;
|
|
221
|
-
log += this.toLogString(bfds);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
else if (Array.isArray(what)) {
|
|
226
|
-
what = what;
|
|
227
|
-
let i = -1;
|
|
228
|
-
for (const bfd of what) {
|
|
229
|
-
i++;
|
|
230
|
-
log += ` ${i}: ${bfd.fileName} fileId=${bfd.fileId} ${bfd.firstHeight}-${bfd.firstHeight + bfd.count - 1}\n`;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
return log;
|
|
234
|
-
}
|
|
235
|
-
async mergeIncrementalBlockHeaders(newBulkHeaders, incrementalChainWork) {
|
|
236
|
-
if (newBulkHeaders.length === 0)
|
|
237
|
-
return;
|
|
238
|
-
return await this.lock.withWriteLock(async () => {
|
|
239
|
-
const lbf = this.getLastFileNoLock();
|
|
240
|
-
const nextHeight = lbf != null ? lbf.firstHeight + lbf.count : 0;
|
|
241
|
-
({ headers: newBulkHeaders, incrementalChainWork } = trimAlreadyStoredHeaders(newBulkHeaders, nextHeight, incrementalChainWork));
|
|
242
|
-
if (newBulkHeaders.length === 0)
|
|
243
|
-
return;
|
|
244
|
-
if ((lbf == null) || nextHeight !== newBulkHeaders[0].height) {
|
|
245
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('newBulkHeaders', 'an extension of existing bulk headers');
|
|
246
|
-
}
|
|
247
|
-
if (!lbf.lastHash)
|
|
248
|
-
throw new sdk_1.WERR_INTERNAL(`lastHash is not defined for the last bulk file ${lbf.fileName}`);
|
|
249
|
-
const lastChainWork = incrementalChainWork
|
|
250
|
-
? (0, blockHeaderUtilities_1.addWork)(incrementalChainWork, lbf.lastChainWork)
|
|
251
|
-
: computeChainWorkFromHeaders(newBulkHeaders, lbf);
|
|
252
|
-
const data = (0, blockHeaderUtilities_1.serializeBaseBlockHeaders)(newBulkHeaders);
|
|
253
|
-
const fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_2.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(data)), 'base64');
|
|
254
|
-
const bf = {
|
|
255
|
-
fileId: undefined,
|
|
256
|
-
chain: this.chain,
|
|
257
|
-
sourceUrl: undefined,
|
|
258
|
-
fileName: 'incremental',
|
|
259
|
-
firstHeight: newBulkHeaders[0].height,
|
|
260
|
-
count: newBulkHeaders.length,
|
|
261
|
-
prevChainWork: lbf.lastChainWork,
|
|
262
|
-
lastChainWork,
|
|
263
|
-
prevHash: lbf.lastHash,
|
|
264
|
-
lastHash: newBulkHeaders.at(-1).hash,
|
|
265
|
-
fileHash,
|
|
266
|
-
data
|
|
267
|
-
};
|
|
268
|
-
await this.mergeNoLock([bf]);
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
async getBulkFiles(keepData) {
|
|
272
|
-
return await this.lock.withReadLock(async () => {
|
|
273
|
-
return this.bfds.map(bfd => bfdToInfo(bfd, keepData));
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
async getHeightRange() {
|
|
277
|
-
return await this.lock.withReadLock(async () => {
|
|
278
|
-
if (this.bfds.length === 0)
|
|
279
|
-
return HeightRange_1.HeightRange.empty;
|
|
280
|
-
const first = this.bfds[0];
|
|
281
|
-
const last = this.bfds.at(-1);
|
|
282
|
-
return new HeightRange_1.HeightRange(first.firstHeight, last.firstHeight + last.count - 1);
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
async getDataFromFile(file, offset, length) {
|
|
286
|
-
const bfd = this.getBfdForHeight(file.firstHeight);
|
|
287
|
-
if ((bfd == null) || bfd.count < file.count) {
|
|
288
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file', `a match for ${file.firstHeight}, ${file.count} in the BulkFileDataManager.`);
|
|
289
|
-
}
|
|
290
|
-
return await this.lock.withReadLock(async () => await this.getDataFromFileNoLock(bfd, offset, length));
|
|
291
|
-
}
|
|
292
|
-
async getDataFromFileNoLock(bfd, offset, length) {
|
|
293
|
-
const fileLength = bfd.count * 80;
|
|
294
|
-
offset = offset || 0;
|
|
295
|
-
if (offset > fileLength - 1)
|
|
296
|
-
return undefined;
|
|
297
|
-
length = length || bfd.count * 80 - offset;
|
|
298
|
-
length = Math.min(length, fileLength - offset);
|
|
299
|
-
let data;
|
|
300
|
-
if (bfd.data != null) {
|
|
301
|
-
data = bfd.data.slice(offset, offset + length);
|
|
302
|
-
}
|
|
303
|
-
else if (bfd.fileId && (this.storage != null)) {
|
|
304
|
-
data = await this.storage.getBulkFileData(bfd.fileId, offset, length);
|
|
305
|
-
}
|
|
306
|
-
if (data == null) {
|
|
307
|
-
await this.ensureData(bfd);
|
|
308
|
-
if (bfd.data != null)
|
|
309
|
-
data = bfd.data.slice(offset, offset + length);
|
|
310
|
-
}
|
|
311
|
-
if (data == null)
|
|
312
|
-
return undefined;
|
|
313
|
-
return data;
|
|
314
|
-
}
|
|
315
|
-
async findHeaderForHeightOrUndefined(height) {
|
|
316
|
-
return await this.lock.withReadLock(async () => {
|
|
317
|
-
if (!Number.isInteger(height) || height < 0) {
|
|
318
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('height', `a non-negative integer (${height}).`);
|
|
319
|
-
}
|
|
320
|
-
const file = this.bfds.find(f => f.firstHeight <= height && f.firstHeight + f.count > height);
|
|
321
|
-
if (file == null)
|
|
322
|
-
return undefined;
|
|
323
|
-
const offset = (height - file.firstHeight) * 80;
|
|
324
|
-
const data = await this.getDataFromFileNoLock(file, offset, 80);
|
|
325
|
-
if (data == null)
|
|
326
|
-
return undefined;
|
|
327
|
-
const header = (0, blockHeaderUtilities_1.deserializeBlockHeader)(data, height, 0);
|
|
328
|
-
return header;
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
async getFileForHeight(height) {
|
|
332
|
-
return await this.lock.withReadLock(async () => {
|
|
333
|
-
const bfd = this.getBfdForHeight(height);
|
|
334
|
-
if (bfd == null)
|
|
335
|
-
return undefined;
|
|
336
|
-
return bfdToInfo(bfd);
|
|
337
|
-
});
|
|
338
|
-
}
|
|
339
|
-
getBfdForHeight(height) {
|
|
340
|
-
if (!Number.isInteger(height) || height < 0) {
|
|
341
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('height', `a non-negative integer (${height}).`);
|
|
342
|
-
}
|
|
343
|
-
const file = this.bfds.find(f => f.firstHeight <= height && f.firstHeight + f.count > height);
|
|
344
|
-
return file;
|
|
345
|
-
}
|
|
346
|
-
getLastBfd(fromEnd = 1) {
|
|
347
|
-
if (this.bfds.length < fromEnd)
|
|
348
|
-
return undefined;
|
|
349
|
-
const bfd = this.bfds[this.bfds.length - fromEnd];
|
|
350
|
-
return bfd;
|
|
351
|
-
}
|
|
352
|
-
async getLastFile(fromEnd = 1) {
|
|
353
|
-
return await this.lock.withReadLock(async () => this.getLastFileNoLock(fromEnd));
|
|
354
|
-
}
|
|
355
|
-
getLastFileNoLock(fromEnd = 1) {
|
|
356
|
-
const bfd = this.getLastBfd(fromEnd);
|
|
357
|
-
if (bfd == null)
|
|
358
|
-
return undefined;
|
|
359
|
-
return bfdToInfo(bfd);
|
|
360
|
-
}
|
|
361
|
-
async getDataByFileHash(fileHash) {
|
|
362
|
-
const index = this.fileHashToIndex[fileHash];
|
|
363
|
-
if (index === undefined) {
|
|
364
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('fileHash', `known to the BulkFileDataManager. ${fileHash} is unknown.`);
|
|
365
|
-
}
|
|
366
|
-
const bfd = this.bfds[index];
|
|
367
|
-
const data = await this.ensureData(bfd);
|
|
368
|
-
return data;
|
|
369
|
-
}
|
|
370
|
-
async getDataByFileId(fileId) {
|
|
371
|
-
const bfd = this.bfds.find(f => f.fileId === fileId);
|
|
372
|
-
if (bfd === undefined) {
|
|
373
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('fileId', `known to the BulkFileDataManager. ${fileId} is unknown.`);
|
|
374
|
-
}
|
|
375
|
-
const data = await this.ensureData(bfd);
|
|
376
|
-
return data;
|
|
377
|
-
}
|
|
378
|
-
async validateFileInfo(file) {
|
|
379
|
-
if (file.chain !== this.chain)
|
|
380
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('chain', `${this.chain}`);
|
|
381
|
-
if (file.count <= 0) {
|
|
382
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('bf.count', `expected count to be greater than 0, but got ${file.count}`);
|
|
383
|
-
}
|
|
384
|
-
if (file.count > this.maxPerFile && file.fileName !== 'incremental') {
|
|
385
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('count', `less than or equal to maxPerFile ${this.maxPerFile}`);
|
|
386
|
-
}
|
|
387
|
-
if (!file.fileHash)
|
|
388
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('fileHash', 'defined');
|
|
389
|
-
if (!file.sourceUrl && !file.fileId && (file.data == null)) {
|
|
390
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('data', 'defined when sourceUrl and fileId are undefined');
|
|
391
|
-
}
|
|
392
|
-
const bfd = { ...file, fileHash: file.fileHash, mru: Date.now() };
|
|
393
|
-
if (!bfd.validated) {
|
|
394
|
-
await this.validateBfdData(bfd, file.fileHash);
|
|
395
|
-
bfd.validated = true;
|
|
396
|
-
}
|
|
397
|
-
return bfd;
|
|
398
|
-
}
|
|
399
|
-
async validateBfdData(bfd, expectedFileHash) {
|
|
400
|
-
await this.ensureData(bfd);
|
|
401
|
-
if ((bfd.data == null) || bfd.data.length !== bfd.count * 80) {
|
|
402
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file.data', `bulk file ${bfd.fileName} data length ${bfd.data?.length} does not match expected count ${bfd.count}`);
|
|
403
|
-
}
|
|
404
|
-
bfd.fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_2.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(bfd.data)), 'base64');
|
|
405
|
-
if (expectedFileHash && expectedFileHash !== bfd.fileHash) {
|
|
406
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file.fileHash', `expected ${expectedFileHash} but got ${bfd.fileHash}`);
|
|
407
|
-
}
|
|
408
|
-
if (!(0, validBulkHeaderFilesByFileHash_1.isKnownValidBulkHeaderFile)(bfd)) {
|
|
409
|
-
this.validateBfdHeaders(bfd);
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
validateBfdHeaders(bfd) {
|
|
413
|
-
const pbf = bfd.firstHeight > 0 ? this.getBfdForHeight(bfd.firstHeight - 1) : undefined;
|
|
414
|
-
const prevHash = pbf?.lastHash ?? '00'.repeat(32);
|
|
415
|
-
const prevChainWork = pbf?.lastChainWork ?? '00'.repeat(32);
|
|
416
|
-
const { lastHeaderHash, lastChainWork } = (0, blockHeaderUtilities_1.validateBufferOfHeaders)(bfd.data, prevHash, 0, undefined, prevChainWork);
|
|
417
|
-
if (bfd.lastHash && bfd.lastHash !== lastHeaderHash) {
|
|
418
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file.lastHash', `expected ${bfd.lastHash} but got ${lastHeaderHash}`);
|
|
419
|
-
}
|
|
420
|
-
if (bfd.lastChainWork && bfd.lastChainWork !== lastChainWork) {
|
|
421
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file.lastChainWork', `expected ${bfd.lastChainWork} but got ${lastChainWork}`);
|
|
422
|
-
}
|
|
423
|
-
bfd.lastHash = lastHeaderHash;
|
|
424
|
-
bfd.lastChainWork = lastChainWork;
|
|
425
|
-
if (bfd.firstHeight === 0)
|
|
426
|
-
(0, blockHeaderUtilities_1.validateGenesisHeader)(bfd.data, bfd.chain);
|
|
427
|
-
}
|
|
428
|
-
async ReValidate() {
|
|
429
|
-
return await this.lock.withReadLock(async () => await this.ReValidateNoLock());
|
|
430
|
-
}
|
|
431
|
-
async ReValidateNoLock() {
|
|
432
|
-
for (const file of this.bfds) {
|
|
433
|
-
await this.ensureData(file);
|
|
434
|
-
file.validated = false; // Reset validation to re-validate on next access
|
|
435
|
-
const bfd = await this.validateFileInfo(file);
|
|
436
|
-
if (!bfd.validated)
|
|
437
|
-
throw new sdk_1.WERR_INTERNAL(`BulkFileDataManager.ReValidate failed for file ${bfd.fileName}`);
|
|
438
|
-
file.validated = true;
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
validateBfdForAdd(bfd) {
|
|
442
|
-
if (this.bfds.length === 0 && bfd.firstHeight !== 0) {
|
|
443
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('firstHeight', '0 for the first file');
|
|
444
|
-
}
|
|
445
|
-
if (this.bfds.length > 0) {
|
|
446
|
-
const last = this.bfds.at(-1);
|
|
447
|
-
if (bfd.firstHeight !== last.firstHeight + last.count) {
|
|
448
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('firstHeight', 'the last file\'s firstHeight + count');
|
|
449
|
-
}
|
|
450
|
-
if (bfd.prevHash !== last.lastHash || bfd.prevChainWork !== last.lastChainWork) {
|
|
451
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('prevHash/prevChainWork', 'the last file\'s lastHash/lastChainWork');
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
async add(bfd) {
|
|
456
|
-
this.validateBfdForAdd(bfd);
|
|
457
|
-
const index = this.bfds.length;
|
|
458
|
-
this.bfds.push(bfd);
|
|
459
|
-
this.fileHashToIndex[bfd.fileHash] = index;
|
|
460
|
-
this.ensureMaxRetained();
|
|
461
|
-
const info = bfdToInfo(bfd, true);
|
|
462
|
-
if (this.storage != null) {
|
|
463
|
-
info.fileId = bfd.fileId = await this.storage.insertBulkFile(info);
|
|
464
|
-
}
|
|
465
|
-
return info;
|
|
466
|
-
}
|
|
467
|
-
replaceBfdAtIndex(index, update) {
|
|
468
|
-
const oldBfd = this.bfds[index];
|
|
469
|
-
delete this.fileHashToIndex[oldBfd.fileHash];
|
|
470
|
-
this.bfds[index] = update;
|
|
471
|
-
this.fileHashToIndex[update.fileHash] = index;
|
|
472
|
-
}
|
|
473
|
-
/**
|
|
474
|
-
* Updating an existing file occurs in two specific contexts:
|
|
475
|
-
*
|
|
476
|
-
* 1. CDN Update: CDN files of a specific `maxPerFile` series typically ends in a partial file
|
|
477
|
-
* which may periodically add more headers until the next file is started.
|
|
478
|
-
* If the CDN update is the second to last file (followed by an incremental file),
|
|
479
|
-
* then the incremental file is updated or deleted and also returned as the result (with a count of zero if deleted).
|
|
480
|
-
*
|
|
481
|
-
* 2. Incremental Update: The last bulk file is almost always an "incremental" file
|
|
482
|
-
* which is not limited by "maxPerFile" and holds all non-CDN bulk headers.
|
|
483
|
-
* If is updated with new bulk headers which come either from non CDN ingestors or from live header migration to bulk.
|
|
484
|
-
*
|
|
485
|
-
* Updating preserves the following properties:
|
|
486
|
-
*
|
|
487
|
-
* - Any existing headers following this update are preserved and must form an unbroken chain.
|
|
488
|
-
* - There can be at most one incremental file and it must be the last file.
|
|
489
|
-
* - The update start conditions (height, prevHash, prevChainWork) must match an existing file which may be either CDN or internal.
|
|
490
|
-
* - The update fileId must match, it may be undefind.
|
|
491
|
-
* - The fileName does not need to match.
|
|
492
|
-
* - The incremental file must always have fileName "incremental" and sourceUrl must be undefined.
|
|
493
|
-
* - The update count must be greater than 0.
|
|
494
|
-
* - The update count must be greater than current count for CDN to CDN update.
|
|
495
|
-
*
|
|
496
|
-
* @param update new validated BulkFileData to update.
|
|
497
|
-
* @param hbf corresponding existing BulkFileData to update.
|
|
498
|
-
*/
|
|
499
|
-
async update(update, hbf, r) {
|
|
500
|
-
if (hbf?.firstHeight !== update.firstHeight ||
|
|
501
|
-
hbf?.prevChainWork !== update.prevChainWork ||
|
|
502
|
-
hbf?.prevHash !== update.prevHash) {
|
|
503
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file', 'an existing file by height, prevChainWork and prevHash');
|
|
504
|
-
}
|
|
505
|
-
if (isBdfCdn(update) === isBdfCdn(hbf) && update.count <= hbf.count) {
|
|
506
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file.count', `greater than the current count ${hbf.count}`);
|
|
507
|
-
}
|
|
508
|
-
const { index, truncate, replaced, drop } = await this.resolveUpdatePlan(update, hbf);
|
|
509
|
-
this.replaceBfdAtIndex(index, update);
|
|
510
|
-
if (truncate != null)
|
|
511
|
-
await this.shiftWork(update, truncate, replaced);
|
|
512
|
-
if (drop != null)
|
|
513
|
-
this.dropLastBulkFile(drop);
|
|
514
|
-
await this.persistUpdate(update, truncate, replaced, drop);
|
|
515
|
-
this.recordUpdateResults(r, update, truncate, replaced, drop);
|
|
516
|
-
this.ensureMaxRetained();
|
|
517
|
-
}
|
|
518
|
-
async resolveUpdatePlan(update, hbf) {
|
|
519
|
-
const lbf = this.getLastBfd();
|
|
520
|
-
let index = this.bfds.length - 1;
|
|
521
|
-
let truncate;
|
|
522
|
-
let replaced;
|
|
523
|
-
let drop;
|
|
524
|
-
if (hbf.firstHeight === lbf.firstHeight) {
|
|
525
|
-
// Update targets the last file — three cases:
|
|
526
|
-
if (isBdfIncremental(update)) {
|
|
527
|
-
// 1. Incremental → incremental extension.
|
|
528
|
-
if (!isBdfIncremental(lbf))
|
|
529
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file', 'an incremental file to update an existing incremental file');
|
|
530
|
-
}
|
|
531
|
-
else if (isBdfCdn(lbf)) {
|
|
532
|
-
// 2. CDN → CDN replacement (must grow).
|
|
533
|
-
if (update.count <= lbf.count)
|
|
534
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('update.count', `CDN update must have more headers. ${update.count} <= ${lbf.count}`);
|
|
535
|
-
}
|
|
536
|
-
else if (update.count < lbf.count) {
|
|
537
|
-
// 3. New CDN partially replaces incremental tail — retain excess incremental headers.
|
|
538
|
-
await this.ensureData(lbf);
|
|
539
|
-
truncate = lbf;
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
else {
|
|
543
|
-
// Update targets the second-to-last file — must be CDN replacing CDN, last must be incremental.
|
|
544
|
-
const lbf2 = this.getLastBfd(2);
|
|
545
|
-
if ((lbf2 == null) || hbf.firstHeight !== lbf2.firstHeight)
|
|
546
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file', 'an update to last or second to last file');
|
|
547
|
-
if (!isBdfCdn(update) || !isBdfCdn(lbf2) || update.count <= lbf2.count)
|
|
548
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file', 'a CDN file update with more headers than the current CDN file');
|
|
549
|
-
if (!isBdfIncremental(lbf))
|
|
550
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('file', 'a CDN file update followed by an incremental file');
|
|
551
|
-
if (!update.fileId)
|
|
552
|
-
update.fileId = lbf2.fileId;
|
|
553
|
-
if (update.count >= lbf2.count + lbf.count) {
|
|
554
|
-
drop = lbf;
|
|
555
|
-
}
|
|
556
|
-
else {
|
|
557
|
-
await this.ensureData(lbf);
|
|
558
|
-
truncate = lbf;
|
|
559
|
-
replaced = lbf2;
|
|
560
|
-
}
|
|
561
|
-
index = index - 1;
|
|
562
|
-
}
|
|
563
|
-
return { index, truncate, replaced, drop };
|
|
564
|
-
}
|
|
565
|
-
async persistUpdate(update, truncate, replaced, drop) {
|
|
566
|
-
if (this.storage == null)
|
|
567
|
-
return;
|
|
568
|
-
if (update.fileId)
|
|
569
|
-
await this.storage.updateBulkFile(update.fileId, bfdToInfo(update, true));
|
|
570
|
-
if ((truncate != null)) {
|
|
571
|
-
const truncateInfo = bfdToInfo(truncate, true);
|
|
572
|
-
if (replaced != null) {
|
|
573
|
-
await this.storage.updateBulkFile(truncate.fileId, truncateInfo);
|
|
574
|
-
}
|
|
575
|
-
else {
|
|
576
|
-
truncateInfo.fileId = undefined;
|
|
577
|
-
truncate.fileId = await this.storage.insertBulkFile(truncateInfo);
|
|
578
|
-
}
|
|
579
|
-
}
|
|
580
|
-
if (drop?.fileId)
|
|
581
|
-
await this.storage.deleteBulkFile(drop.fileId);
|
|
582
|
-
}
|
|
583
|
-
recordUpdateResults(r, update, truncate, replaced, drop) {
|
|
584
|
-
if (!r)
|
|
585
|
-
return;
|
|
586
|
-
r.updated.push(bfdToInfo(update, true));
|
|
587
|
-
if (truncate != null) {
|
|
588
|
-
const truncateInfo = bfdToInfo(truncate, true);
|
|
589
|
-
if (replaced != null)
|
|
590
|
-
r.updated.push(truncateInfo);
|
|
591
|
-
else
|
|
592
|
-
r.inserted.push(truncateInfo);
|
|
593
|
-
}
|
|
594
|
-
if (drop != null)
|
|
595
|
-
r.dropped.push(bfdToInfo(drop));
|
|
596
|
-
}
|
|
597
|
-
dropLastBulkFile(lbf) {
|
|
598
|
-
delete this.fileHashToIndex[lbf.fileHash];
|
|
599
|
-
const index = this.bfds.indexOf(lbf);
|
|
600
|
-
if (index !== this.bfds.length - 1) {
|
|
601
|
-
throw new sdk_1.WERR_INTERNAL('dropLastBulkFile requires lbf is the current last file.');
|
|
602
|
-
}
|
|
603
|
-
this.bfds.pop();
|
|
604
|
-
}
|
|
605
|
-
/**
|
|
606
|
-
* Remove work (and headers) from `truncate` that now exists in `update`.
|
|
607
|
-
* There are two scenarios:
|
|
608
|
-
* 1. `replaced` is undefined: update is a CDN file that splits an incremental file that must be truncated.
|
|
609
|
-
* 2. `replaced` is valid: update is a CDN update that replaced an existing CDN file and splits an incremental file that must be truncated.
|
|
610
|
-
* @param update the new CDN update file.
|
|
611
|
-
* @param truncate the incremental file to be truncated (losing work which now exists in `update`).
|
|
612
|
-
* @param replaced the existing CDN file that was replaced by `update` (if any).
|
|
613
|
-
*/
|
|
614
|
-
async shiftWork(update, truncate, replaced) {
|
|
615
|
-
const updateIndex = this.fileHashToIndex[update.fileHash];
|
|
616
|
-
// replaced will be valid if the update replaced it and it must become the new last file.
|
|
617
|
-
// truncateIndex will be updateIndex + 1 if the existing last file is being truncated and update is second to last.
|
|
618
|
-
const truncateIndex = this.fileHashToIndex[truncate.fileHash];
|
|
619
|
-
if (truncateIndex !== undefined && truncateIndex !== updateIndex + 1) {
|
|
620
|
-
throw new sdk_1.WERR_INTERNAL('shiftWork requires update to have replaced truncate or truncate to follow update');
|
|
621
|
-
}
|
|
622
|
-
if (truncateIndex !== undefined && (replaced == null)) {
|
|
623
|
-
throw new sdk_1.WERR_INTERNAL('shiftWork requires valid replaced when update hasn\'t replaced truncate');
|
|
624
|
-
}
|
|
625
|
-
truncate.prevHash = update.lastHash;
|
|
626
|
-
truncate.prevChainWork = update.lastChainWork;
|
|
627
|
-
// truncate.lastChainWork, truncate.lastHash remain unchanged
|
|
628
|
-
let count = update.count;
|
|
629
|
-
if (replaced != null) {
|
|
630
|
-
count -= replaced.count;
|
|
631
|
-
}
|
|
632
|
-
else {
|
|
633
|
-
// The truncated file is itself being replaced by the update and must be inserted as a new file.
|
|
634
|
-
truncate.fileId = undefined;
|
|
635
|
-
this.bfds.push(truncate); // Add the truncated file as a new entry.
|
|
636
|
-
}
|
|
637
|
-
truncate.count -= count;
|
|
638
|
-
truncate.firstHeight += count;
|
|
639
|
-
truncate.data = truncate.data?.slice(count * 80);
|
|
640
|
-
delete this.fileHashToIndex[truncate.fileHash];
|
|
641
|
-
truncate.fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_2.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(truncate.data)), 'base64');
|
|
642
|
-
this.fileHashToIndex[truncate.fileHash] = updateIndex + 1;
|
|
643
|
-
}
|
|
644
|
-
/**
|
|
645
|
-
*
|
|
646
|
-
* @param bfd
|
|
647
|
-
* @returns
|
|
648
|
-
*/
|
|
649
|
-
async ensureData(bfd) {
|
|
650
|
-
if (bfd.data != null)
|
|
651
|
-
return bfd.data;
|
|
652
|
-
if ((this.storage != null) && bfd.fileId) {
|
|
653
|
-
bfd.data = await this.storage.getBulkFileData(bfd.fileId);
|
|
654
|
-
if (bfd.data == null)
|
|
655
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('fileId', `valid, data not found for fileId ${bfd.fileId}`);
|
|
656
|
-
}
|
|
657
|
-
if ((bfd.data == null) && (this.fetch != null) && bfd.sourceUrl) {
|
|
658
|
-
const url = this.fetch.pathJoin(bfd.sourceUrl, bfd.fileName);
|
|
659
|
-
try {
|
|
660
|
-
bfd.data = await this.fetch.download(url);
|
|
661
|
-
}
|
|
662
|
-
catch (firstAttemptErr) {
|
|
663
|
-
// First download attempt failed (e.g. transient network error); retry once.
|
|
664
|
-
console.debug(`BulkFileDataManager: first download attempt failed for ${url}, retrying`, firstAttemptErr);
|
|
665
|
-
bfd.data = await this.fetch.download(url);
|
|
666
|
-
}
|
|
667
|
-
if (!bfd.data)
|
|
668
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('sourceUrl', `data not found for sourceUrl ${url}`);
|
|
669
|
-
}
|
|
670
|
-
if (bfd.data == null)
|
|
671
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('data', `defined. Unable to retrieve data for ${bfd.fileName}`);
|
|
672
|
-
bfd.mru = Date.now();
|
|
673
|
-
// Validate retrieved data.
|
|
674
|
-
const fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_2.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(bfd.data)), 'base64');
|
|
675
|
-
if (fileHash !== bfd.fileHash) {
|
|
676
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('fileHash', `a match for retrieved data for ${bfd.fileName}`);
|
|
677
|
-
}
|
|
678
|
-
this.ensureMaxRetained();
|
|
679
|
-
return bfd.data;
|
|
680
|
-
}
|
|
681
|
-
ensureMaxRetained() {
|
|
682
|
-
if (this.maxRetained === undefined)
|
|
683
|
-
return;
|
|
684
|
-
const withData = this.bfds.filter(bfd => (bfd.data != null) && (bfd.fileId || bfd.sourceUrl));
|
|
685
|
-
let countToRelease = withData.length - this.maxRetained;
|
|
686
|
-
if (countToRelease <= 0)
|
|
687
|
-
return;
|
|
688
|
-
const sorted = [...withData];
|
|
689
|
-
sorted.sort((a, b) => a.mru - b.mru);
|
|
690
|
-
while (countToRelease-- > 0 && sorted.length > 0) {
|
|
691
|
-
const oldest = sorted.shift();
|
|
692
|
-
// Release the least recently used data
|
|
693
|
-
oldest.data = undefined; // Release the data
|
|
694
|
-
}
|
|
695
|
-
}
|
|
696
|
-
async exportHeadersToFs(toFs, toHeadersPerFile, toFolder, sourceUrl, maxHeight) {
|
|
697
|
-
const chain = this.chain;
|
|
698
|
-
const toFileName = (i) => `${chain}Net_${i}.headers`;
|
|
699
|
-
const toPath = (i) => toFs.pathJoin(toFolder, toFileName(i));
|
|
700
|
-
const toJsonPath = () => toFs.pathJoin(toFolder, `${chain}NetBlockHeaders.json`);
|
|
701
|
-
const toBulkFiles = {
|
|
702
|
-
rootFolder: sourceUrl || toFolder,
|
|
703
|
-
jsonFilename: `${chain}NetBlockHeaders.json`,
|
|
704
|
-
headersPerFile: toHeadersPerFile,
|
|
705
|
-
files: []
|
|
706
|
-
};
|
|
707
|
-
let range = await this.getHeightRange();
|
|
708
|
-
if (maxHeight)
|
|
709
|
-
range = range.intersect(new HeightRange_1.HeightRange(0, maxHeight));
|
|
710
|
-
const reader = await this.createReader(range, toHeadersPerFile * 80);
|
|
711
|
-
let firstHeight = 0;
|
|
712
|
-
let lastHeaderHash = '00'.repeat(32);
|
|
713
|
-
let lastChainWork = '00'.repeat(32);
|
|
714
|
-
let i = -1;
|
|
715
|
-
for (;;) {
|
|
716
|
-
i++;
|
|
717
|
-
const data = await reader.read();
|
|
718
|
-
if ((data == null) || data.length === 0) {
|
|
719
|
-
break;
|
|
720
|
-
}
|
|
721
|
-
const last = (0, blockHeaderUtilities_1.validateBufferOfHeaders)(data, lastHeaderHash, 0, undefined, lastChainWork);
|
|
722
|
-
await toFs.writeFile(toPath(i), data);
|
|
723
|
-
const fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_2.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(data)), 'base64');
|
|
724
|
-
const file = {
|
|
725
|
-
chain,
|
|
726
|
-
count: data.length / 80,
|
|
727
|
-
fileHash,
|
|
728
|
-
fileName: toFileName(i),
|
|
729
|
-
firstHeight,
|
|
730
|
-
lastChainWork: last.lastChainWork,
|
|
731
|
-
lastHash: last.lastHeaderHash,
|
|
732
|
-
prevChainWork: lastChainWork,
|
|
733
|
-
prevHash: lastHeaderHash,
|
|
734
|
-
sourceUrl
|
|
735
|
-
};
|
|
736
|
-
toBulkFiles.files.push(file);
|
|
737
|
-
firstHeight += file.count;
|
|
738
|
-
lastHeaderHash = file.lastHash;
|
|
739
|
-
lastChainWork = file.lastChainWork;
|
|
740
|
-
}
|
|
741
|
-
await toFs.writeFile(toJsonPath(), (0, utilityHelpers_noBuffer_1.asUint8Array)(JSON.stringify(toBulkFiles), 'utf8'));
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
exports.BulkFileDataManager = BulkFileDataManager;
|
|
745
|
-
function selectBulkHeaderFiles(files, chain, maxPerFile) {
|
|
746
|
-
const r = [];
|
|
747
|
-
let height = 0;
|
|
748
|
-
for (;;) {
|
|
749
|
-
const choices = files.filter(f => f.firstHeight === height && f.count <= maxPerFile && f.chain === chain);
|
|
750
|
-
// Pick the file with the maximum count
|
|
751
|
-
const choice = choices.reduce((a, b) => (a.count > b.count ? a : b), choices[0]);
|
|
752
|
-
if (!choice)
|
|
753
|
-
break; // no more files to select
|
|
754
|
-
r.push(choice);
|
|
755
|
-
height += choice.count;
|
|
756
|
-
}
|
|
757
|
-
return r;
|
|
758
|
-
}
|
|
759
|
-
function isBdfIncremental(bfd) {
|
|
760
|
-
return bfd.fileName === 'incremental' && !bfd.sourceUrl;
|
|
761
|
-
}
|
|
762
|
-
function isBdfCdn(bfd) {
|
|
763
|
-
return !isBdfIncremental(bfd);
|
|
764
|
-
}
|
|
765
|
-
function bfdToInfo(bfd, keepData) {
|
|
766
|
-
return {
|
|
767
|
-
chain: bfd.chain,
|
|
768
|
-
fileHash: bfd.fileHash,
|
|
769
|
-
fileName: bfd.fileName,
|
|
770
|
-
sourceUrl: bfd.sourceUrl,
|
|
771
|
-
fileId: bfd.fileId,
|
|
772
|
-
count: bfd.count,
|
|
773
|
-
prevChainWork: bfd.prevChainWork,
|
|
774
|
-
lastChainWork: bfd.lastChainWork,
|
|
775
|
-
firstHeight: bfd.firstHeight,
|
|
776
|
-
prevHash: bfd.prevHash,
|
|
777
|
-
lastHash: bfd.lastHash,
|
|
778
|
-
validated: bfd.validated || false,
|
|
779
|
-
data: keepData ? bfd.data : undefined
|
|
780
|
-
};
|
|
781
|
-
}
|
|
782
|
-
/**
|
|
783
|
-
* Drops any headers whose height is already covered by bulk storage,
|
|
784
|
-
* reducing `incrementalChainWork` accordingly (when provided).
|
|
785
|
-
*/
|
|
786
|
-
function trimAlreadyStoredHeaders(headers, nextHeight, incrementalChainWork) {
|
|
787
|
-
if (nextHeight <= 0 || headers.length === 0 || headers[0].height >= nextHeight) {
|
|
788
|
-
return { headers, incrementalChainWork };
|
|
789
|
-
}
|
|
790
|
-
// Avoid mutating the caller's array.
|
|
791
|
-
headers = [...headers];
|
|
792
|
-
while (headers.length > 0 && headers[0].height < nextHeight) {
|
|
793
|
-
const h = headers.shift();
|
|
794
|
-
if ((h != null) && incrementalChainWork) {
|
|
795
|
-
incrementalChainWork = (0, blockHeaderUtilities_1.subWork)(incrementalChainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(h.bits));
|
|
796
|
-
}
|
|
797
|
-
}
|
|
798
|
-
return { headers, incrementalChainWork };
|
|
799
|
-
}
|
|
800
|
-
/**
|
|
801
|
-
* Computes `lastChainWork` for a sequence of new bulk headers extending `lbf`,
|
|
802
|
-
* validating that the sequence is contiguous.
|
|
803
|
-
*/
|
|
804
|
-
function computeChainWorkFromHeaders(headers, lbf) {
|
|
805
|
-
let lastHeight = lbf.firstHeight + lbf.count - 1;
|
|
806
|
-
let lastHash = lbf.lastHash;
|
|
807
|
-
let lastChainWork = lbf.lastChainWork;
|
|
808
|
-
for (const h of headers) {
|
|
809
|
-
if (h.height !== lastHeight + 1 || h.previousHash !== lastHash) {
|
|
810
|
-
throw new sdk_1.WERR_INVALID_PARAMETER('headers', `an extension of existing bulk headers, header with height ${h.height} is non-sequential`);
|
|
811
|
-
}
|
|
812
|
-
lastChainWork = (0, blockHeaderUtilities_1.addWork)(lastChainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(h.bits));
|
|
813
|
-
lastHeight = h.height;
|
|
814
|
-
lastHash = h.hash;
|
|
815
|
-
}
|
|
816
|
-
return lastChainWork;
|
|
817
|
-
}
|
|
818
|
-
// Re-export BulkFileDataReader for backward compatibility
|
|
819
|
-
var BulkFileDataReader_2 = require("./BulkFileDataReader");
|
|
820
|
-
Object.defineProperty(exports, "BulkFileDataReader", { enumerable: true, get: function () { return BulkFileDataReader_2.BulkFileDataReader; } });
|
|
821
|
-
//# sourceMappingURL=BulkFileDataManager.js.map
|