@bsv/wallet-toolbox 2.4.3 → 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/CHANGELOG.md +81 -1
- package/LICENSE.txt +58 -0
- package/README.md +98 -36
- package/docs/README.md +3 -1
- package/docs/action-batch-planning.md +220 -0
- package/docs/authentication-observability.md +94 -0
- package/docs/client.md +1125 -2776
- package/docs/monitor.md +29 -111
- package/docs/services.md +296 -602
- package/docs/setup.md +48 -28
- package/docs/storage.md +329 -1692
- package/docs/wallet.md +9718 -4890
- package/out/src/CWIStyleWalletManager.d.ts +62 -6
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
- package/out/src/CWIStyleWalletManager.js +584 -181
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/Setup.d.ts +7 -0
- package/out/src/Setup.d.ts.map +1 -1
- package/out/src/Setup.js +10 -11
- package/out/src/Setup.js.map +1 -1
- package/out/src/SetupClient.d.ts +2 -0
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +8 -9
- package/out/src/SetupClient.js.map +1 -1
- package/out/src/SetupWallet.d.ts +6 -0
- package/out/src/SetupWallet.d.ts.map +1 -1
- package/out/src/ShamirWalletManager.d.ts.map +1 -1
- package/out/src/ShamirWalletManager.js.map +1 -1
- package/out/src/SimpleWalletManager.d.ts.map +1 -1
- package/out/src/SimpleWalletManager.js +2 -5
- package/out/src/SimpleWalletManager.js.map +1 -1
- package/out/src/Wallet.d.ts +36 -10
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +167 -132
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts +30 -6
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
- package/out/src/WalletAuthenticationManager.js +215 -34
- package/out/src/WalletAuthenticationManager.js.map +1 -1
- package/out/src/WalletLogger.d.ts.map +1 -1
- package/out/src/WalletLogger.js +33 -30
- package/out/src/WalletLogger.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts +22 -1
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +392 -267
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/WalletSettingsManager.d.ts.map +1 -1
- package/out/src/WalletSettingsManager.js.map +1 -1
- package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
- package/out/src/entropy/EntropyCollector.js +6 -8
- package/out/src/entropy/EntropyCollector.js.map +1 -1
- package/out/src/fundWalletP2PKH.js.map +1 -1
- package/out/src/index.all.d.ts +1 -0
- package/out/src/index.all.d.ts.map +1 -1
- package/out/src/index.all.js +1 -0
- package/out/src/index.all.js.map +1 -1
- package/out/src/index.client.d.ts +2 -0
- package/out/src/index.client.d.ts.map +1 -1
- package/out/src/index.client.js +2 -0
- package/out/src/index.client.js.map +1 -1
- package/out/src/index.mobile.d.ts +2 -0
- package/out/src/index.mobile.d.ts.map +1 -1
- package/out/src/index.mobile.js +2 -0
- package/out/src/index.mobile.js.map +1 -1
- package/out/src/mockchain/MockChainMigrations.d.ts.map +1 -1
- package/out/src/mockchain/MockChainMigrations.js.map +1 -1
- package/out/src/mockchain/MockChainStorage.d.ts.map +1 -1
- package/out/src/mockchain/MockChainStorage.js.map +1 -1
- package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
- package/out/src/mockchain/MockChainTracker.js.map +1 -1
- package/out/src/mockchain/MockMiner.d.ts.map +1 -1
- package/out/src/mockchain/MockMiner.js.map +1 -1
- package/out/src/mockchain/MockServices.d.ts +4 -0
- package/out/src/mockchain/MockServices.d.ts.map +1 -1
- package/out/src/mockchain/MockServices.js +69 -74
- package/out/src/mockchain/MockServices.js.map +1 -1
- package/out/src/mockchain/merkleTree.d.ts.map +1 -1
- package/out/src/mockchain/merkleTree.js +51 -56
- package/out/src/mockchain/merkleTree.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts +4 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +60 -57
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/MonitorDaemon.d.ts +3 -0
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
- package/out/src/monitor/MonitorDaemon.js +65 -56
- package/out/src/monitor/MonitorDaemon.js.map +1 -1
- package/out/src/monitor/index.all.js.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.d.ts +5 -0
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +86 -77
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +4 -2
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +132 -131
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +3 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +3 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts +13 -0
- package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskCleanupActionBatches.js +24 -0
- package/out/src/monitor/tasks/TaskCleanupActionBatches.js.map +1 -0
- package/out/src/monitor/tasks/TaskClock.d.ts +1 -1
- package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskClock.js +1 -1
- package/out/src/monitor/tasks/TaskClock.js.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
- package/out/src/monitor/tasks/TaskMineBlock.d.ts +3 -1
- package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskMineBlock.js +3 -1
- package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts +4 -3
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +4 -3
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskPurge.d.ts +3 -1
- package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskPurge.js +3 -1
- package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +3 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +3 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +3 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +3 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts +3 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js +3 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +3 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +3 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts +3 -0
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +53 -46
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +1 -1
- package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSyncWhenIdle.js +1 -1
- package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts +3 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.js +3 -1
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -1
- package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
- package/out/src/monitor/tasks/index.all.d.ts +1 -0
- package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
- package/out/src/monitor/tasks/index.all.js +1 -0
- package/out/src/monitor/tasks/index.all.js.map +1 -1
- package/out/src/sdk/ActionBatch.interfaces.d.ts +159 -0
- package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -0
- package/out/src/sdk/ActionBatch.interfaces.js +3 -0
- package/out/src/sdk/ActionBatch.interfaces.js.map +1 -0
- package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.js +3 -3
- package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
- package/out/src/sdk/WERR_errors.d.ts +1 -1
- package/out/src/sdk/WERR_errors.d.ts.map +1 -1
- package/out/src/sdk/WERR_errors.js +2 -2
- package/out/src/sdk/WERR_errors.js.map +1 -1
- package/out/src/sdk/WalletError.d.ts +3 -0
- package/out/src/sdk/WalletError.d.ts.map +1 -1
- package/out/src/sdk/WalletError.js +53 -56
- package/out/src/sdk/WalletError.js.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +3 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +22 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/sdk/index.d.ts +1 -0
- package/out/src/sdk/index.d.ts.map +1 -1
- package/out/src/sdk/index.js +1 -0
- package/out/src/sdk/index.js.map +1 -1
- package/out/src/sdk/types.js.map +1 -1
- package/out/src/services/ServiceCollection.d.ts.map +1 -1
- package/out/src/services/ServiceCollection.js.map +1 -1
- package/out/src/services/Services.d.ts +8 -2
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +86 -44
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.d.ts +7 -7
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.js +9 -9
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +4 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +42 -6
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +4 -4
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +45 -40
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +5 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +25 -18
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +3 -3
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +6 -7
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +2 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +12 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +110 -103
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +8 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +58 -48
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +55 -54
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +4 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +97 -72
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +5 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +145 -136
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +4 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +92 -68
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +43 -0
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +76 -0
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureKnexChaintracks.d.ts +18 -0
- package/out/src/services/chaintracker/chaintracks/configureKnexChaintracks.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/configureKnexChaintracks.js +24 -0
- package/out/src/services/chaintracker/chaintracks/configureKnexChaintracks.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +2 -3
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +4 -22
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts +2 -4
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +12 -25
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +2 -3
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +4 -22
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +3 -15
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +3 -15
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +3 -15
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +64 -61
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +4 -3
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +8 -10
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +14 -24
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +1 -11
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +20 -49
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +4 -2
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +23 -14
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +1 -14
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/networkConfig.js.map +1 -1
- package/out/src/services/providers/ARC.d.ts +4 -0
- package/out/src/services/providers/ARC.d.ts.map +1 -1
- package/out/src/services/providers/ARC.js +96 -83
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
- package/out/src/services/providers/ArcSSEClient.js.map +1 -1
- package/out/src/services/providers/Arcade.d.ts +4 -0
- package/out/src/services/providers/Arcade.d.ts.map +1 -1
- package/out/src/services/providers/Arcade.js +118 -92
- package/out/src/services/providers/Arcade.js.map +1 -1
- package/out/src/services/providers/Bitails.d.ts.map +1 -1
- package/out/src/services/providers/Bitails.js +107 -86
- package/out/src/services/providers/Bitails.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/WhatsOnChain.js +19 -6
- package/out/src/services/providers/WhatsOnChain.js.map +1 -1
- package/out/src/services/providers/exchangeRates.js +1 -1
- package/out/src/services/providers/exchangeRates.js.map +1 -1
- package/out/src/services/providers/getBeefForTxid.js.map +1 -1
- package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
- package/out/src/signer/WalletSigner.d.ts.map +1 -1
- package/out/src/signer/WalletSigner.js.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +29 -0
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -0
- package/out/src/signer/actionBatch/ActionBatchPlanner.js +346 -0
- package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -0
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +33 -0
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -0
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js +869 -0
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -0
- package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +11 -0
- package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -0
- package/out/src/signer/actionBatch/actionBatchBootstrap.js +38 -0
- package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -0
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +97 -107
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.d.ts +3 -7
- package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.js +14 -57
- package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.d.ts.map +1 -1
- package/out/src/signer/methods/createAction.js +50 -20
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +4 -4
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/proveCertificate.js.map +1 -1
- package/out/src/signer/methods/resultBeef.js.map +1 -1
- package/out/src/signer/methods/signAction.d.ts.map +1 -1
- package/out/src/signer/methods/signAction.js +29 -4
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/signer/methods/verifyUnlockScripts.d.ts +17 -0
- package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -0
- package/out/src/signer/methods/verifyUnlockScripts.js +137 -0
- package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -0
- package/out/src/storage/StorageIdb.d.ts +19 -3
- package/out/src/storage/StorageIdb.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.js +232 -53
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +29 -1
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +225 -10
- package/out/src/storage/StorageKnex.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +57 -1
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +277 -145
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.d.ts +13 -5
- package/out/src/storage/StorageReader.d.ts.map +1 -1
- package/out/src/storage/StorageReader.js +3 -0
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js.map +1 -1
- package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
- package/out/src/storage/StorageSyncReader.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts +10 -0
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +49 -6
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/adminServer/adminServer.d.ts +79 -0
- package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
- package/out/src/storage/adminServer/adminServer.js +47 -16
- package/out/src/storage/adminServer/adminServer.js.map +1 -1
- package/out/src/storage/adminServer/adminUi.js.map +1 -1
- package/out/src/storage/idbHelpers.d.ts +2 -0
- package/out/src/storage/idbHelpers.d.ts.map +1 -1
- package/out/src/storage/idbHelpers.js +19 -0
- package/out/src/storage/idbHelpers.js.map +1 -1
- package/out/src/storage/index.all.js.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.js +48 -71
- package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +29 -27
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/actionBatch.d.ts +15 -0
- package/out/src/storage/methods/actionBatch.d.ts.map +1 -0
- package/out/src/storage/methods/actionBatch.js +737 -0
- package/out/src/storage/methods/actionBatch.js.map +1 -0
- package/out/src/storage/methods/actionBatchBlobs.d.ts +15 -0
- package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -0
- package/out/src/storage/methods/actionBatchBlobs.js +184 -0
- package/out/src/storage/methods/actionBatchBlobs.js.map +1 -0
- package/out/src/storage/methods/actionBatchValidation.d.ts +17 -0
- package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -0
- package/out/src/storage/methods/actionBatchValidation.js +416 -0
- package/out/src/storage/methods/actionBatchValidation.js.map +1 -0
- package/out/src/storage/methods/actionPlanning.d.ts +12 -0
- package/out/src/storage/methods/actionPlanning.d.ts.map +1 -0
- package/out/src/storage/methods/actionPlanning.js +48 -0
- package/out/src/storage/methods/actionPlanning.js.map +1 -0
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +0 -21
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +43 -51
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts +1 -1
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +66 -63
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts +2 -2
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +66 -38
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +48 -42
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
- package/out/src/storage/methods/getSyncChunk.js +8 -6
- package/out/src/storage/methods/getSyncChunk.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +145 -121
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listActionsIdb.js.map +1 -1
- package/out/src/storage/methods/listActionsKnex.js +1 -1
- package/out/src/storage/methods/listActionsKnex.js.map +1 -1
- package/out/src/storage/methods/listCertificates.d.ts +1 -1
- package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
- package/out/src/storage/methods/listCertificates.js +1 -1
- package/out/src/storage/methods/listCertificates.js.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.d.ts +1 -1
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.js +133 -152
- package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.d.ts +1 -1
- package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.js +213 -254
- package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
- package/out/src/storage/methods/managedChange.d.ts +3 -3
- package/out/src/storage/methods/managedChange.d.ts.map +1 -1
- package/out/src/storage/methods/managedChange.js +1 -2
- package/out/src/storage/methods/managedChange.js.map +1 -1
- package/out/src/storage/methods/offsetKey.d.ts.map +1 -1
- package/out/src/storage/methods/offsetKey.js +0 -1
- package/out/src/storage/methods/offsetKey.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts +2 -0
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +8 -8
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/purgeData.d.ts.map +1 -1
- package/out/src/storage/methods/purgeData.js +157 -179
- package/out/src/storage/methods/purgeData.js.map +1 -1
- package/out/src/storage/methods/purgeDataIdb.d.ts +1 -1
- package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
- package/out/src/storage/methods/purgeDataIdb.js +1 -1
- package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
- package/out/src/storage/methods/reviewStatus.js +6 -6
- package/out/src/storage/methods/reviewStatus.js.map +1 -1
- package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
- package/out/src/storage/methods/utils.Buffer.js.map +1 -1
- package/out/src/storage/methods/utils.js.map +1 -1
- package/out/src/storage/portable/index.js +2 -2
- package/out/src/storage/portable/index.js.map +1 -1
- package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
- package/out/src/storage/remoting/BinaryJson.js +84 -38
- package/out/src/storage/remoting/BinaryJson.js.map +1 -1
- package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
- package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
- package/out/src/storage/remoting/RateLimitPolicy.d.ts +10 -0
- package/out/src/storage/remoting/RateLimitPolicy.d.ts.map +1 -0
- package/out/src/storage/remoting/RateLimitPolicy.js +37 -0
- package/out/src/storage/remoting/RateLimitPolicy.js.map +1 -0
- package/out/src/storage/remoting/StorageClient.d.ts +2 -0
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +82 -50
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts +23 -4
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +97 -4
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
- package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageMobile.js +34 -22
- package/out/src/storage/remoting/StorageMobile.js.map +1 -1
- package/out/src/storage/remoting/StorageServer.d.ts +62 -1
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageServer.js +451 -172
- package/out/src/storage/remoting/StorageServer.js.map +1 -1
- package/out/src/storage/remoting/edgePolicy.d.ts +57 -0
- package/out/src/storage/remoting/edgePolicy.d.ts.map +1 -0
- package/out/src/storage/remoting/edgePolicy.js +387 -0
- package/out/src/storage/remoting/edgePolicy.js.map +1 -0
- package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
- package/out/src/storage/remoting/entityValidationHelpers.js +22 -5
- package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +56 -0
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/src/storage/schema/StorageIdbSchema.d.ts +24 -0
- package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts +3 -0
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +46 -36
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +2 -2
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +12 -10
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +25 -34
- package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
- package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.js +9 -14
- package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
- package/out/src/storage/schema/tables/TableActionBatch.d.ts +26 -0
- package/out/src/storage/schema/tables/TableActionBatch.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TableActionBatch.js +3 -0
- package/out/src/storage/schema/tables/TableActionBatch.js.map +1 -0
- package/out/src/storage/schema/tables/TableAuthSession.js.map +1 -1
- package/out/src/storage/schema/tables/index.d.ts +1 -0
- package/out/src/storage/schema/tables/index.d.ts.map +1 -1
- package/out/src/storage/schema/tables/index.js +1 -0
- package/out/src/storage/schema/tables/index.js.map +1 -1
- package/out/src/storage/storageProviderHelpers.js.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +3 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.js +30 -16
- package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
- package/out/src/utility/Format.d.ts.map +1 -1
- package/out/src/utility/Format.js +2 -2
- package/out/src/utility/Format.js.map +1 -1
- package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
- package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
- package/out/src/utility/actionBatchDigest.d.ts +9 -0
- package/out/src/utility/actionBatchDigest.d.ts.map +1 -0
- package/out/src/utility/actionBatchDigest.js +86 -0
- package/out/src/utility/actionBatchDigest.js.map +1 -0
- package/out/src/utility/actionBatchPack.d.ts +16 -0
- package/out/src/utility/actionBatchPack.d.ts.map +1 -0
- package/out/src/utility/actionBatchPack.js +220 -0
- package/out/src/utility/actionBatchPack.js.map +1 -0
- package/out/src/utility/aggregateResults.d.ts.map +1 -1
- package/out/src/utility/aggregateResults.js.map +1 -1
- package/out/src/utility/beefForTxids.d.ts +9 -0
- package/out/src/utility/beefForTxids.d.ts.map +1 -0
- package/out/src/utility/beefForTxids.js +35 -0
- package/out/src/utility/beefForTxids.js.map +1 -0
- package/out/src/utility/brc114ActionTimeLabels.d.ts.map +1 -1
- package/out/src/utility/brc114ActionTimeLabels.js +26 -30
- package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
- package/out/src/utility/formatUnknown.d.ts +6 -0
- package/out/src/utility/formatUnknown.d.ts.map +1 -0
- package/out/src/utility/formatUnknown.js +39 -0
- package/out/src/utility/formatUnknown.js.map +1 -0
- package/out/src/utility/hashWasm.d.ts +5 -0
- package/out/src/utility/hashWasm.d.ts.map +1 -0
- package/out/src/utility/hashWasm.js +15 -0
- package/out/src/utility/hashWasm.js.map +1 -0
- package/out/src/utility/identityUtils.d.ts.map +1 -1
- package/out/src/utility/identityUtils.js +2 -4
- package/out/src/utility/identityUtils.js.map +1 -1
- package/out/src/utility/parseTxScriptOffsets.d.ts +1 -1
- package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
- package/out/src/utility/parseTxScriptOffsets.js +1 -1
- package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
- package/out/src/utility/stampLog.d.ts.map +1 -1
- package/out/src/utility/stampLog.js +49 -42
- package/out/src/utility/stampLog.js.map +1 -1
- package/out/src/utility/traceContext.d.ts +13 -0
- package/out/src/utility/traceContext.d.ts.map +1 -0
- package/out/src/utility/traceContext.js +34 -0
- package/out/src/utility/traceContext.js.map +1 -0
- package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
- package/out/src/utility/tscProofToMerklePath.js +1 -1
- package/out/src/utility/tscProofToMerklePath.js.map +1 -1
- package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
- package/out/src/utility/utilityHelpers.d.ts +2 -2
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +8 -4
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +1 -2
- package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
- package/out/src/wab-client/WABClient.d.ts +36 -90
- package/out/src/wab-client/WABClient.d.ts.map +1 -1
- package/out/src/wab-client/WABClient.js +103 -151
- package/out/src/wab-client/WABClient.js.map +1 -1
- package/out/src/wab-client/WABTransport.d.ts +81 -0
- package/out/src/wab-client/WABTransport.d.ts.map +1 -0
- package/out/src/wab-client/WABTransport.js +420 -0
- package/out/src/wab-client/WABTransport.js.map +1 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +10 -10
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -21
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +2 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +14 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
- package/package.json +66 -30
- package/license.md +0 -28
|
@@ -6,6 +6,20 @@ const blockHeaderUtilities_1 = require("../util/blockHeaderUtilities");
|
|
|
6
6
|
const HeightRange_1 = require("../util/HeightRange");
|
|
7
7
|
const WERR_errors_1 = require("../../../../sdk/WERR_errors");
|
|
8
8
|
const idb_1 = require("idb");
|
|
9
|
+
function createInsertHeaderResult() {
|
|
10
|
+
return {
|
|
11
|
+
added: false,
|
|
12
|
+
dupe: false,
|
|
13
|
+
noPrev: false,
|
|
14
|
+
badPrev: false,
|
|
15
|
+
noActiveAncestor: false,
|
|
16
|
+
isActiveTip: false,
|
|
17
|
+
reorgDepth: 0,
|
|
18
|
+
priorTip: undefined,
|
|
19
|
+
noTip: false,
|
|
20
|
+
deactivatedHeaders: []
|
|
21
|
+
};
|
|
22
|
+
}
|
|
9
23
|
class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageBase {
|
|
10
24
|
dbName;
|
|
11
25
|
db;
|
|
@@ -34,7 +48,9 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
34
48
|
this.db = await this.initDB();
|
|
35
49
|
await super.migrateLatest();
|
|
36
50
|
}
|
|
37
|
-
async destroy() {
|
|
51
|
+
async destroy() {
|
|
52
|
+
/* intentional no-op: IDB cleanup handled by openDB */
|
|
53
|
+
}
|
|
38
54
|
async deleteLiveBlockHeaders() {
|
|
39
55
|
await this.makeAvailable();
|
|
40
56
|
await this.db?.clear('live_headers');
|
|
@@ -163,7 +179,7 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
163
179
|
const heightIndex = store.index('height');
|
|
164
180
|
let cursor = await heightIndex.openCursor(null, 'next');
|
|
165
181
|
const headers = [];
|
|
166
|
-
while (
|
|
182
|
+
while (cursor != null && count > 0) {
|
|
167
183
|
const header = this.repairStoredLiveHeader(cursor.value);
|
|
168
184
|
if (header?.isActive) {
|
|
169
185
|
count--;
|
|
@@ -185,7 +201,7 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
185
201
|
const headers = [];
|
|
186
202
|
while (cursor != null) {
|
|
187
203
|
const header = this.repairStoredLiveHeader(cursor.value);
|
|
188
|
-
if (
|
|
204
|
+
if (header != null && range.contains(header.height)) {
|
|
189
205
|
headers.push(header);
|
|
190
206
|
}
|
|
191
207
|
cursor = await cursor.continue();
|
|
@@ -193,24 +209,83 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
193
209
|
await trx.done;
|
|
194
210
|
return headers;
|
|
195
211
|
}
|
|
212
|
+
async insertFirstHeader(trx, header, result) {
|
|
213
|
+
const store = trx.objectStore('live_headers');
|
|
214
|
+
if ((await store.count()) !== 0)
|
|
215
|
+
return false;
|
|
216
|
+
const lastBulkFile = await this.bulkManager.getLastFile();
|
|
217
|
+
if (lastBulkFile == null) {
|
|
218
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('bulk headers must exist before first live header can be added');
|
|
219
|
+
}
|
|
220
|
+
if (header.previousHash !== lastBulkFile.lastHash ||
|
|
221
|
+
header.height !== lastBulkFile.firstHeight + lastBulkFile.count) {
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
const newHeader = {
|
|
225
|
+
...header,
|
|
226
|
+
headerId: 0,
|
|
227
|
+
previousHeaderId: null,
|
|
228
|
+
chainWork: (0, blockHeaderUtilities_1.addWork)(lastBulkFile.lastChainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(header.bits)),
|
|
229
|
+
isChainTip: true,
|
|
230
|
+
isActive: true
|
|
231
|
+
};
|
|
232
|
+
newHeader.headerId = Number(await store.add(this.prepareStoredLiveHeader(newHeader, true)));
|
|
233
|
+
result.isActiveTip = true;
|
|
234
|
+
result.added = true;
|
|
235
|
+
return true;
|
|
236
|
+
}
|
|
237
|
+
async findActiveAncestor(trx, oneBack, result) {
|
|
238
|
+
const store = trx.objectStore('live_headers');
|
|
239
|
+
let activeAncestor = oneBack;
|
|
240
|
+
while (!activeAncestor.isActive) {
|
|
241
|
+
const previousHeader = this.repairStoredLiveHeader(await store.get(activeAncestor.previousHeaderId));
|
|
242
|
+
if (previousHeader == null) {
|
|
243
|
+
result.noActiveAncestor = true;
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
activeAncestor = previousHeader;
|
|
247
|
+
}
|
|
248
|
+
return activeAncestor;
|
|
249
|
+
}
|
|
250
|
+
async applyReorganization(trx, oneBack, activeAncestor, result) {
|
|
251
|
+
if (activeAncestor.headerId === oneBack.headerId)
|
|
252
|
+
return;
|
|
253
|
+
const store = trx.objectStore('live_headers');
|
|
254
|
+
const activeTipIndex = store.index('activeTip');
|
|
255
|
+
let headerToDeactivate = this.repairStoredLiveHeader(await activeTipIndex.get([1, 1]));
|
|
256
|
+
while (headerToDeactivate != null && headerToDeactivate.headerId !== activeAncestor.headerId) {
|
|
257
|
+
result.deactivatedHeaders.push(headerToDeactivate);
|
|
258
|
+
await store.put(this.prepareStoredLiveHeader({
|
|
259
|
+
...headerToDeactivate,
|
|
260
|
+
isActive: false
|
|
261
|
+
}));
|
|
262
|
+
headerToDeactivate = this.repairStoredLiveHeader(await store.get(headerToDeactivate.previousHeaderId));
|
|
263
|
+
}
|
|
264
|
+
let headerToActivate = oneBack;
|
|
265
|
+
while (headerToActivate.headerId !== activeAncestor.headerId) {
|
|
266
|
+
await store.put(this.prepareStoredLiveHeader({ ...headerToActivate, isActive: true }));
|
|
267
|
+
headerToActivate = this.repairStoredLiveHeader(await store.get(headerToActivate.previousHeaderId));
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
async prepareActiveTip(trx, header, oneBack, result) {
|
|
271
|
+
if (!result.isActiveTip)
|
|
272
|
+
return true;
|
|
273
|
+
const activeAncestor = await this.findActiveAncestor(trx, oneBack, result);
|
|
274
|
+
if (activeAncestor == null)
|
|
275
|
+
return false;
|
|
276
|
+
if (!(oneBack.isActive && oneBack.isChainTip)) {
|
|
277
|
+
result.reorgDepth = Math.min(result.priorTip.height, header.height) - activeAncestor.height;
|
|
278
|
+
}
|
|
279
|
+
await this.applyReorganization(trx, oneBack, activeAncestor, result);
|
|
280
|
+
return true;
|
|
281
|
+
}
|
|
196
282
|
async insertHeader(header) {
|
|
197
283
|
await this.makeAvailable();
|
|
198
284
|
const trx = this.toDbTrxReadWrite(['live_headers']);
|
|
199
285
|
const store = trx.objectStore('live_headers');
|
|
200
286
|
const hashIndex = store.index('hash');
|
|
201
287
|
const activeTipIndex = store.index('activeTip');
|
|
202
|
-
const r =
|
|
203
|
-
added: false,
|
|
204
|
-
dupe: false,
|
|
205
|
-
noPrev: false,
|
|
206
|
-
badPrev: false,
|
|
207
|
-
noActiveAncestor: false,
|
|
208
|
-
isActiveTip: false,
|
|
209
|
-
reorgDepth: 0,
|
|
210
|
-
priorTip: undefined,
|
|
211
|
-
noTip: false,
|
|
212
|
-
deactivatedHeaders: []
|
|
213
|
-
};
|
|
288
|
+
const r = createInsertHeaderResult();
|
|
214
289
|
// Check for duplicate
|
|
215
290
|
if (await hashIndex.get(header.hash)) {
|
|
216
291
|
r.dupe = true;
|
|
@@ -223,35 +298,10 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
223
298
|
// Find previous header
|
|
224
299
|
const oneBack = this.repairStoredLiveHeader(await hashIndex.get(header.previousHash));
|
|
225
300
|
if (oneBack == null) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
// If this is the first live header, the last bulk header (if there is one) is the previous header.
|
|
230
|
-
const lbf = await this.bulkManager.getLastFile();
|
|
231
|
-
if (lbf == null)
|
|
232
|
-
throw new WERR_errors_1.WERR_INVALID_OPERATION('bulk headers must exist before first live header can be added');
|
|
233
|
-
if (header.previousHash === lbf.lastHash && header.height === lbf.firstHeight + lbf.count) {
|
|
234
|
-
// Valid first live header. Add it.
|
|
235
|
-
const chainWork = (0, blockHeaderUtilities_1.addWork)(lbf.lastChainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(header.bits));
|
|
236
|
-
r.isActiveTip = true;
|
|
237
|
-
const newHeader = {
|
|
238
|
-
...header,
|
|
239
|
-
headerId: 0,
|
|
240
|
-
previousHeaderId: null,
|
|
241
|
-
chainWork,
|
|
242
|
-
isChainTip: r.isActiveTip,
|
|
243
|
-
isActive: r.isActiveTip
|
|
244
|
-
};
|
|
245
|
-
const h = this.prepareStoredLiveHeader(newHeader, true);
|
|
246
|
-
newHeader.headerId = Number(await store.add(h));
|
|
247
|
-
r.added = true;
|
|
248
|
-
await trx.done;
|
|
249
|
-
return r;
|
|
250
|
-
}
|
|
301
|
+
if (await this.insertFirstHeader(trx, header, r)) {
|
|
302
|
+
await trx.done;
|
|
303
|
+
return r;
|
|
251
304
|
}
|
|
252
|
-
// Failure without a oneBack
|
|
253
|
-
// First live header that does not follow last bulk header or
|
|
254
|
-
// Not the first live header and live headers doesn't include a previousHash header.
|
|
255
305
|
r.noPrev = true;
|
|
256
306
|
await trx.done;
|
|
257
307
|
return r;
|
|
@@ -279,34 +329,9 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
279
329
|
isChainTip: r.isActiveTip,
|
|
280
330
|
isActive: r.isActiveTip
|
|
281
331
|
};
|
|
282
|
-
if (r
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
const previousHeader = this.repairStoredLiveHeader(await store.get(activeAncestor.previousHeaderId));
|
|
286
|
-
if (previousHeader == null) {
|
|
287
|
-
r.noActiveAncestor = true;
|
|
288
|
-
await trx.done;
|
|
289
|
-
return r;
|
|
290
|
-
}
|
|
291
|
-
activeAncestor = previousHeader;
|
|
292
|
-
}
|
|
293
|
-
if (!(oneBack.isActive && oneBack.isChainTip)) {
|
|
294
|
-
r.reorgDepth = Math.min(r.priorTip.height, header.height) - activeAncestor.height;
|
|
295
|
-
}
|
|
296
|
-
if (activeAncestor.headerId !== oneBack.headerId) {
|
|
297
|
-
// Deactivate reorg'ed headers
|
|
298
|
-
let headerToDeactivate = this.repairStoredLiveHeader(await activeTipIndex.get([1, 1]));
|
|
299
|
-
while (headerToDeactivate && headerToDeactivate.headerId !== activeAncestor.headerId) {
|
|
300
|
-
r.deactivatedHeaders.push(headerToDeactivate);
|
|
301
|
-
await store.put(this.prepareStoredLiveHeader({ ...headerToDeactivate, isActive: false }));
|
|
302
|
-
headerToDeactivate = this.repairStoredLiveHeader(await store.get(headerToDeactivate.previousHeaderId));
|
|
303
|
-
}
|
|
304
|
-
let headerToActivate = oneBack;
|
|
305
|
-
while (headerToActivate.headerId !== activeAncestor.headerId) {
|
|
306
|
-
await store.put(this.prepareStoredLiveHeader({ ...headerToActivate, isActive: true }));
|
|
307
|
-
headerToActivate = this.repairStoredLiveHeader(await store.get(headerToActivate.previousHeaderId));
|
|
308
|
-
}
|
|
309
|
-
}
|
|
332
|
+
if (!(await this.prepareActiveTip(trx, header, oneBack, r))) {
|
|
333
|
+
await trx.done;
|
|
334
|
+
return r;
|
|
310
335
|
}
|
|
311
336
|
if (oneBack.isChainTip) {
|
|
312
337
|
await store.put(this.prepareStoredLiveHeader({ ...oneBack, isChainTip: false }));
|
|
@@ -424,7 +449,7 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
424
449
|
}
|
|
425
450
|
async initDB() {
|
|
426
451
|
const db = await (0, idb_1.openDB)(this.dbName, 1, {
|
|
427
|
-
upgrade(db,
|
|
452
|
+
upgrade(db, _oldVersion, _newVersion, _transaction) {
|
|
428
453
|
if (!db.objectStoreNames.contains('live_headers')) {
|
|
429
454
|
const liveHeadersStore = db.createObjectStore('live_headers', {
|
|
430
455
|
keyPath: 'headerId',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChaintracksStorageIdb.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChaintracksStorageIdb.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,11 @@ export declare class ChaintracksStorageKnex extends ChaintracksStorageBase imple
|
|
|
49
49
|
* @param header Header to attempt to add to live storage.
|
|
50
50
|
* @returns details of conditions found attempting to insert header
|
|
51
51
|
*/
|
|
52
|
+
private insertFirstHeader;
|
|
53
|
+
private findActiveAncestor;
|
|
54
|
+
private applyReorganization;
|
|
55
|
+
private prepareActiveTip;
|
|
56
|
+
private insertHeaderWithinTransaction;
|
|
52
57
|
insertHeader(header: BlockHeader): Promise<InsertHeaderResult>;
|
|
53
58
|
findMaxHeaderId(): Promise<number>;
|
|
54
59
|
deleteLiveBlockHeaders(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChaintracksStorageKnex.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAC/H,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAGvE,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAI7C,MAAM,WAAW,6BAA8B,SAAQ,6BAA6B;IAClF;;;;OAIG;IACH,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;CACvB;
|
|
1
|
+
{"version":3,"file":"ChaintracksStorageKnex.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAC/H,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAGvE,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAI7C,MAAM,WAAW,6BAA8B,SAAQ,6BAA6B;IAClF;;;;OAIG;IACH,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;CACvB;AAiBD;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,sBAAuB,YAAW,6BAA6B;IACzG,MAAM,CAAC,wBAAwB,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,6BAA6B,CAMzF;IAED,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAe;IACzC,eAAe,EAAE,MAAM,CAAiB;IAExC,YAAa,OAAO,EAAE,6BAA6B,EAIlD;IAED,IAAI,MAAM,IAAK,MAAM,CAGpB;IAEc,QAAQ,IAAK,OAAO,CAAC,IAAI,CAAC,CAMxC;IAEc,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC,CAY7C;IAEc,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC,CAI7C;IAEc,WAAW,IAAK,OAAO,CAAC,IAAI,CAAC,CAsB3C;IAEc,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC,CAEvC;IAEc,mBAAmB,IAAK,OAAO,CAAC,WAAW,CAAC,CAK1D;IAEc,yBAAyB,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAIpF;IAEc,kBAAkB,IAAK,OAAO,CAAC,eAAe,CAAC,CAI7D;IAEc,6BAA6B,IAAK,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAGpF;IAEK,uBAAuB,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAG9E;IAEK,0BAA0B,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAI/E;IAEK,2BAA2B,CAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAGtF;IAEK,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrD;IAEK,cAAc,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAK/D;IAEK,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/E;IAEK,YAAY,IAAK,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkBnD;IAED,eAAe,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,UAGtE;IAEK,eAAe,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAkBxG;IAED;;;OAGG;YACW,iBAAiB;YAmCjB,kBAAkB;YAoBlB,mBAAmB;YAgCnB,gBAAgB;YA6BhB,6BAA6B;IA6DrC,YAAY,CAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAUpE;IAEK,eAAe,IAAK,OAAO,CAAC,MAAM,CAAC,CAExC;IAEc,sBAAsB,IAAK,OAAO,CAAC,IAAI,CAAC,CAMtD;IAEc,sBAAsB,IAAK,OAAO,CAAC,IAAI,CAAC,CAKtD;IAEK,2BAA2B,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBrE;IAEK,cAAc,CAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAOpE;IAED,uBAAuB,CAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAQnD;IAEK,kBAAkB,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAMnE;CACF"}
|
|
@@ -8,6 +8,20 @@ const utilityHelpers_1 = require("../../../../utility/utilityHelpers");
|
|
|
8
8
|
const HeightRange_1 = require("../util/HeightRange");
|
|
9
9
|
const WERR_errors_1 = require("../../../../sdk/WERR_errors");
|
|
10
10
|
const KnexMigrations_1 = require("../../../../storage/schema/KnexMigrations");
|
|
11
|
+
function createInsertHeaderResult() {
|
|
12
|
+
return {
|
|
13
|
+
added: false,
|
|
14
|
+
dupe: false,
|
|
15
|
+
noPrev: false,
|
|
16
|
+
badPrev: false,
|
|
17
|
+
noActiveAncestor: false,
|
|
18
|
+
isActiveTip: false,
|
|
19
|
+
reorgDepth: 0,
|
|
20
|
+
priorTip: undefined,
|
|
21
|
+
noTip: false,
|
|
22
|
+
deactivatedHeaders: []
|
|
23
|
+
};
|
|
24
|
+
}
|
|
11
25
|
/**
|
|
12
26
|
* Implements the ChaintracksStorageApi using Knex.js for both MySql and Sqlite support.
|
|
13
27
|
* Also see `chaintracksStorageMemory` which leverages Knex support for an in memory database.
|
|
@@ -173,144 +187,139 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
|
|
|
173
187
|
* @param header Header to attempt to add to live storage.
|
|
174
188
|
* @returns details of conditions found attempting to insert header
|
|
175
189
|
*/
|
|
176
|
-
async
|
|
177
|
-
const
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
const [
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
// If this is the first live header, the last bulk header (if there is one) is the previous header.
|
|
209
|
-
const lbf = await this.bulkManager.getLastFile();
|
|
210
|
-
if (lbf == null)
|
|
211
|
-
throw new WERR_errors_1.WERR_INVALID_OPERATION('bulk headers must exist before first live header can be added');
|
|
212
|
-
if (header.previousHash === lbf.lastHash && header.height === lbf.firstHeight + lbf.count) {
|
|
213
|
-
// Valid first live header. Add it.
|
|
214
|
-
const chainWork = (0, blockHeaderUtilities_1.addWork)(lbf.lastChainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(header.bits));
|
|
215
|
-
r.isActiveTip = true;
|
|
216
|
-
const newHeader = {
|
|
217
|
-
...header,
|
|
218
|
-
previousHeaderId: null,
|
|
219
|
-
chainWork,
|
|
220
|
-
isChainTip: r.isActiveTip,
|
|
221
|
-
isActive: r.isActiveTip
|
|
222
|
-
};
|
|
223
|
-
// Success
|
|
224
|
-
await trx(table).insert(newHeader);
|
|
225
|
-
r.added = true;
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
// Failure without a oneBack
|
|
230
|
-
// First live header that does not follow last bulk header or
|
|
231
|
-
// Not the first live header and live headers doesn't include a previousHash header.
|
|
232
|
-
r.noPrev = true;
|
|
233
|
-
return;
|
|
234
|
-
}
|
|
235
|
-
// This header's previousHash matches an existing live header's hash, if height isn't +1, reject it.
|
|
236
|
-
if (oneBack.height + 1 != header.height) {
|
|
237
|
-
r.badPrev = true;
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
if (oneBack.isActive && oneBack.isChainTip) {
|
|
241
|
-
r.priorTip = oneBack;
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
;
|
|
245
|
-
[r.priorTip] = await trx(table).where({ isActive: true, isChainTip: true });
|
|
246
|
-
}
|
|
247
|
-
if (!r.priorTip) {
|
|
248
|
-
// No active chain tip found. This is a logic error in state of live headers.
|
|
249
|
-
r.noTip = true;
|
|
250
|
-
return;
|
|
251
|
-
}
|
|
252
|
-
// We have an acceptable new live header...and live headers has an active chain tip.
|
|
253
|
-
const chainWork = (0, blockHeaderUtilities_1.addWork)(oneBack.chainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(header.bits));
|
|
254
|
-
r.isActiveTip = (0, blockHeaderUtilities_1.isMoreWork)(chainWork, r.priorTip.chainWork);
|
|
255
|
-
const newHeader = {
|
|
256
|
-
...header,
|
|
257
|
-
previousHeaderId: oneBack.headerId,
|
|
258
|
-
chainWork,
|
|
259
|
-
isChainTip: r.isActiveTip,
|
|
260
|
-
isActive: r.isActiveTip
|
|
261
|
-
};
|
|
262
|
-
if (r.isActiveTip) {
|
|
263
|
-
// Find newHeader's first active ancestor
|
|
264
|
-
let activeAncestor = oneBack;
|
|
265
|
-
while (!activeAncestor.isActive) {
|
|
266
|
-
const [previousHeader] = await trx(table).where({
|
|
267
|
-
headerId: activeAncestor.previousHeaderId || -1
|
|
268
|
-
});
|
|
269
|
-
if (!previousHeader) {
|
|
270
|
-
// live headers doesn't contain an active ancestor. This is a live header's logic error.
|
|
271
|
-
r.noActiveAncestor = true;
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
activeAncestor = previousHeader;
|
|
275
|
-
}
|
|
276
|
-
if (!(oneBack.isActive && oneBack.isChainTip))
|
|
277
|
-
// If this is the new active chain tip, and oneBack was not, this is a reorg.
|
|
278
|
-
{
|
|
279
|
-
r.reorgDepth = Math.min(r.priorTip.height, header.height) - activeAncestor.height;
|
|
280
|
-
}
|
|
281
|
-
if (activeAncestor.headerId !== oneBack.headerId) {
|
|
282
|
-
// Deactivate headers from the current active chain tip up to but excluding our activeAncestor:
|
|
283
|
-
let [headerToDeactivate] = await trx(table).where({ isChainTip: true, isActive: true });
|
|
284
|
-
while (headerToDeactivate.headerId !== activeAncestor.headerId) {
|
|
285
|
-
// Headers are deactivated until we reach the activeAncestor
|
|
286
|
-
r.deactivatedHeaders.push(headerToDeactivate);
|
|
287
|
-
await trx(table)
|
|
288
|
-
.where({ headerId: headerToDeactivate.headerId })
|
|
289
|
-
.update({ isActive: false });
|
|
290
|
-
const [previousHeader] = await trx(table).where({
|
|
291
|
-
headerId: headerToDeactivate.previousHeaderId || -1
|
|
292
|
-
});
|
|
293
|
-
headerToDeactivate = previousHeader;
|
|
294
|
-
}
|
|
295
|
-
// The first header to activate is one before the one we are about to insert
|
|
296
|
-
let headerToActivate = oneBack;
|
|
297
|
-
while (headerToActivate.headerId !== activeAncestor.headerId) {
|
|
298
|
-
// Headers are activated until we reach the active ancestor
|
|
299
|
-
await trx(table).where({ headerId: headerToActivate.headerId }).update({ isActive: true });
|
|
300
|
-
const [previousHeader] = await trx(table).where({
|
|
301
|
-
headerId: headerToActivate.previousHeaderId || -1
|
|
302
|
-
});
|
|
303
|
-
headerToActivate = previousHeader;
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
if (oneBack.isChainTip) {
|
|
308
|
-
// Deactivate the old chain tip
|
|
309
|
-
await trx(table).where({ headerId: oneBack.headerId }).update({ isChainTip: false });
|
|
190
|
+
async insertFirstHeader(trx, table, header, result) {
|
|
191
|
+
const countRows = await trx(table).count();
|
|
192
|
+
if (Number(countRows[0]['count(*)']) !== 0)
|
|
193
|
+
return false;
|
|
194
|
+
const lastBulkFile = await this.bulkManager.getLastFile();
|
|
195
|
+
if (lastBulkFile == null) {
|
|
196
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('bulk headers must exist before first live header can be added');
|
|
197
|
+
}
|
|
198
|
+
if (header.previousHash !== lastBulkFile.lastHash ||
|
|
199
|
+
header.height !== lastBulkFile.firstHeight + lastBulkFile.count) {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
await trx(table).insert({
|
|
203
|
+
...header,
|
|
204
|
+
previousHeaderId: null,
|
|
205
|
+
chainWork: (0, blockHeaderUtilities_1.addWork)(lastBulkFile.lastChainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(header.bits)),
|
|
206
|
+
isChainTip: true,
|
|
207
|
+
isActive: true
|
|
208
|
+
});
|
|
209
|
+
result.isActiveTip = true;
|
|
210
|
+
result.added = true;
|
|
211
|
+
return true;
|
|
212
|
+
}
|
|
213
|
+
async findActiveAncestor(trx, table, oneBack, result) {
|
|
214
|
+
let activeAncestor = oneBack;
|
|
215
|
+
while (!activeAncestor.isActive) {
|
|
216
|
+
const [previousHeader] = await trx(table).where({
|
|
217
|
+
headerId: activeAncestor.previousHeaderId || -1
|
|
218
|
+
});
|
|
219
|
+
if (previousHeader == null) {
|
|
220
|
+
result.noActiveAncestor = true;
|
|
221
|
+
return undefined;
|
|
310
222
|
}
|
|
311
|
-
|
|
312
|
-
|
|
223
|
+
activeAncestor = previousHeader;
|
|
224
|
+
}
|
|
225
|
+
return activeAncestor;
|
|
226
|
+
}
|
|
227
|
+
async applyReorganization(trx, table, oneBack, activeAncestor, result) {
|
|
228
|
+
if (activeAncestor.headerId === oneBack.headerId)
|
|
229
|
+
return;
|
|
230
|
+
let [headerToDeactivate] = await trx(table).where({
|
|
231
|
+
isChainTip: true,
|
|
232
|
+
isActive: true
|
|
313
233
|
});
|
|
234
|
+
while (headerToDeactivate.headerId !== activeAncestor.headerId) {
|
|
235
|
+
result.deactivatedHeaders.push(headerToDeactivate);
|
|
236
|
+
await trx(table)
|
|
237
|
+
.where({ headerId: headerToDeactivate.headerId })
|
|
238
|
+
.update({ isActive: false });
|
|
239
|
+
[headerToDeactivate] = await trx(table).where({
|
|
240
|
+
headerId: headerToDeactivate.previousHeaderId || -1
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
let headerToActivate = oneBack;
|
|
244
|
+
while (headerToActivate.headerId !== activeAncestor.headerId) {
|
|
245
|
+
await trx(table)
|
|
246
|
+
.where({ headerId: headerToActivate.headerId })
|
|
247
|
+
.update({ isActive: true });
|
|
248
|
+
[headerToActivate] = await trx(table).where({
|
|
249
|
+
headerId: headerToActivate.previousHeaderId || -1
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
async prepareActiveTip(trx, table, header, oneBack, result) {
|
|
254
|
+
if (!result.isActiveTip)
|
|
255
|
+
return true;
|
|
256
|
+
const activeAncestor = await this.findActiveAncestor(trx, table, oneBack, result);
|
|
257
|
+
if (activeAncestor == null)
|
|
258
|
+
return false;
|
|
259
|
+
if (!(oneBack.isActive && oneBack.isChainTip)) {
|
|
260
|
+
result.reorgDepth =
|
|
261
|
+
Math.min(result.priorTip.height, header.height) - activeAncestor.height;
|
|
262
|
+
}
|
|
263
|
+
await this.applyReorganization(trx, table, oneBack, activeAncestor, result);
|
|
264
|
+
return true;
|
|
265
|
+
}
|
|
266
|
+
async insertHeaderWithinTransaction(trx, table, header, result) {
|
|
267
|
+
const [dupeCheck] = await trx(table).where({ hash: header.hash }).count();
|
|
268
|
+
if (dupeCheck['count(*)']) {
|
|
269
|
+
result.dupe = true;
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const [oneBack] = await trx(table).where({
|
|
273
|
+
hash: header.previousHash
|
|
274
|
+
});
|
|
275
|
+
if (oneBack == null) {
|
|
276
|
+
if (await this.insertFirstHeader(trx, table, header, result))
|
|
277
|
+
return;
|
|
278
|
+
result.noPrev = true;
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (oneBack.height + 1 != header.height) {
|
|
282
|
+
result.badPrev = true;
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
if (oneBack.isActive && oneBack.isChainTip) {
|
|
286
|
+
result.priorTip = oneBack;
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
;
|
|
290
|
+
[result.priorTip] = await trx(table).where({
|
|
291
|
+
isActive: true,
|
|
292
|
+
isChainTip: true
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
if (result.priorTip == null) {
|
|
296
|
+
result.noTip = true;
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
const chainWork = (0, blockHeaderUtilities_1.addWork)(oneBack.chainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(header.bits));
|
|
300
|
+
result.isActiveTip = (0, blockHeaderUtilities_1.isMoreWork)(chainWork, result.priorTip.chainWork);
|
|
301
|
+
const newHeader = {
|
|
302
|
+
...header,
|
|
303
|
+
previousHeaderId: oneBack.headerId,
|
|
304
|
+
chainWork,
|
|
305
|
+
isChainTip: result.isActiveTip,
|
|
306
|
+
isActive: result.isActiveTip
|
|
307
|
+
};
|
|
308
|
+
if (!(await this.prepareActiveTip(trx, table, header, oneBack, result))) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (oneBack.isChainTip) {
|
|
312
|
+
await trx(table)
|
|
313
|
+
.where({ headerId: oneBack.headerId })
|
|
314
|
+
.update({ isChainTip: false });
|
|
315
|
+
}
|
|
316
|
+
await trx(table).insert(newHeader);
|
|
317
|
+
result.added = true;
|
|
318
|
+
}
|
|
319
|
+
async insertHeader(header) {
|
|
320
|
+
const table = this.headerTableName;
|
|
321
|
+
const r = createInsertHeaderResult();
|
|
322
|
+
await this.knex.transaction(async (trx) => this.insertHeaderWithinTransaction(trx, table, header, r));
|
|
314
323
|
if (r.added && r.isActiveTip)
|
|
315
324
|
this.pruneLiveBlockHeaders(header.height);
|
|
316
325
|
return r;
|