@bsv/wallet-toolbox-client 2.1.27 → 2.1.30
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/README.md +92 -0
- package/out/src/CWIStyleWalletManager.js +107 -41
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/SetupClient.js +1 -1
- package/out/src/SetupClient.js.map +1 -1
- package/out/src/SimpleWalletManager.js +29 -0
- package/out/src/SimpleWalletManager.js.map +1 -1
- package/out/src/Wallet.js +84 -66
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.js +6 -3
- package/out/src/WalletAuthenticationManager.js.map +1 -1
- package/out/src/WalletLogger.js +6 -4
- package/out/src/WalletLogger.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +158 -167
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/WalletSettingsManager.js +3 -0
- package/out/src/WalletSettingsManager.js.map +1 -1
- package/out/src/fundWalletP2PKH.js +5 -6
- package/out/src/fundWalletP2PKH.js.map +1 -1
- package/out/src/mockchain/MockChainMigrations.js +1 -1
- package/out/src/mockchain/MockChainMigrations.js.map +1 -1
- package/out/src/mockchain/MockChainStorage.js +1 -0
- package/out/src/mockchain/MockChainStorage.js.map +1 -1
- package/out/src/mockchain/MockChainTracker.js +2 -0
- package/out/src/mockchain/MockChainTracker.js.map +1 -1
- package/out/src/mockchain/MockMiner.js +2 -2
- package/out/src/mockchain/MockMiner.js.map +1 -1
- package/out/src/mockchain/MockServices.js +21 -25
- package/out/src/mockchain/MockServices.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +57 -33
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +10 -13
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +10 -11
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +59 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +101 -12
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/monitor/tasks/TaskClock.js +3 -1
- package/out/src/monitor/tasks/TaskClock.js.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js +2 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
- package/out/src/monitor/tasks/TaskMineBlock.js +3 -2
- package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js +2 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +12 -1
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskPurge.js +7 -5
- package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.js +4 -2
- package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +12 -9
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +8 -3
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js +7 -5
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +6 -2
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +9 -2
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.js +6 -5
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/out/src/monitor/tasks/WalletMonitorTask.js +7 -4
- package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.js +44 -27
- package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
- package/out/src/sdk/WERR_errors.js +23 -8
- package/out/src/sdk/WERR_errors.js.map +1 -1
- package/out/src/sdk/WalletError.js +7 -7
- package/out/src/sdk/WalletError.js.map +1 -1
- package/out/src/services/ServiceCollection.js +9 -2
- package/out/src/services/ServiceCollection.js.map +1 -1
- package/out/src/services/Services.js +58 -54
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.js +8 -2
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -2
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +27 -21
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +4 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +8 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +7 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +5 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +1 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -5
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +12 -6
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +8 -7
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +15 -16
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -16
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +4 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +17 -4
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +21 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +1 -3
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +7 -5
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +4 -6
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +8 -8
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +8 -8
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/ARC.js +13 -5
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/ArcSSEClient.js +9 -8
- package/out/src/services/providers/ArcSSEClient.js.map +1 -1
- package/out/src/services/providers/Bitails.js +6 -2
- package/out/src/services/providers/Bitails.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js +6 -2
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/services/providers/WhatsOnChain.js +2 -1
- package/out/src/services/providers/WhatsOnChain.js.map +1 -1
- package/out/src/services/providers/getBeefForTxid.js +2 -1
- package/out/src/services/providers/getBeefForTxid.js.map +1 -1
- package/out/src/signer/WalletSigner.js +4 -1
- package/out/src/signer/WalletSigner.js.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.js +1 -2
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +1 -2
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.js +4 -5
- package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.js +9 -11
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.d.ts +8 -1
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +8 -1
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/signAction.js +5 -6
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/storage/StorageIdb.js +84 -99
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +4 -1
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +122 -32
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.js +4 -2
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageSyncReader.js +2 -0
- package/out/src/storage/StorageSyncReader.js.map +1 -1
- package/out/src/storage/WalletStorageManager.js +47 -25
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/idbHelpers.js +1 -2
- package/out/src/storage/idbHelpers.js.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.js +69 -6
- 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 +5 -2
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +10 -12
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +111 -69
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.js +2 -3
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +2 -4
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +69 -2
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +232 -27
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listActionsIdb.js +7 -9
- package/out/src/storage/methods/listActionsIdb.js.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.js +5 -7
- package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +12 -11
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/reviewStatusIdb.d.ts +2 -2
- package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
- package/out/src/storage/methods/reviewStatusIdb.js +54 -13
- package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
- package/out/src/storage/portable/index.d.ts.map +1 -1
- package/out/src/storage/portable/index.js +171 -129
- package/out/src/storage/portable/index.js.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +2 -3
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +6 -3
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.js +1 -0
- package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +12 -13
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +7 -9
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +6 -3
- package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.js +4 -0
- package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
- package/out/src/storage/storageProviderHelpers.js +2 -3
- package/out/src/storage/storageProviderHelpers.js.map +1 -1
- package/out/src/utility/ScriptTemplateBRC29.js +7 -6
- package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
- package/out/src/utility/brc114ActionTimeLabels.js +1 -1
- package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
- package/out/src/utility/identityUtils.js +2 -4
- package/out/src/utility/identityUtils.js.map +1 -1
- package/out/src/utility/utilityHelpers.js +2 -2
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +4 -4
- package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
- package/out/src/wab-client/WABClient.js +1 -0
- package/out/src/wab-client/WABClient.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +1 -4
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +1 -4
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +1 -4
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
- package/out/tsconfig.client.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -5,7 +5,7 @@ const Monitor_1 = require("../Monitor");
|
|
|
5
5
|
const TaskCheckForProofs_1 = require("./TaskCheckForProofs");
|
|
6
6
|
const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
7
7
|
/**
|
|
8
|
-
* `TaskCheckNoSends` is a WalletMonitor task that
|
|
8
|
+
* `TaskCheckNoSends` is a WalletMonitor task that retrieves merkle proofs for
|
|
9
9
|
* 'nosend' transactions that MAY have been shared externally.
|
|
10
10
|
*
|
|
11
11
|
* Unlike intentionally processed transactions, 'nosend' transactions are fully valid
|
|
@@ -16,8 +16,88 @@ const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
|
16
16
|
*
|
|
17
17
|
* If a proof is obtained and validated, a new ProvenTx record is created and
|
|
18
18
|
* the original ProvenTxReq status is advanced to 'notifying'.
|
|
19
|
+
*
|
|
20
|
+
* # Aging schedule on the checkNow path
|
|
21
|
+
*
|
|
22
|
+
* When this task is triggered by a new block header (`checkNow = true`, wired in
|
|
23
|
+
* `Monitor.processNewBlockHeader`), it does NOT scan every `nosend` row on every
|
|
24
|
+
* block. The set of `nosend` rows can grow large over a wallet's lifetime
|
|
25
|
+
* (txs sitting in escrow, un-aborted tests, abandoned batches), and a fast,
|
|
26
|
+
* unfiltered scan on every block would do an unbounded number of external
|
|
27
|
+
* `getMerklePath` lookups per block.
|
|
28
|
+
*
|
|
29
|
+
* Instead, the row's age (now - `created_at`) determines how often it is
|
|
30
|
+
* eligible for a checkNow-triggered chain check. The schedule starts at "skip
|
|
31
|
+
* entirely" for very fresh rows (to protect in-flight batched-tx workflows
|
|
32
|
+
* where chained `createAction({ noSend: true, sendWith: [...] })` builds
|
|
33
|
+
* deliberately keep rows in `nosend` until a single terminator broadcasts the
|
|
34
|
+
* whole BEEF), then progresses to "every block", "hourly", "daily", and
|
|
35
|
+
* "weekly" as rows age:
|
|
36
|
+
*
|
|
37
|
+
* age < 5 min → skip (in-flight batch protection)
|
|
38
|
+
* 5 min ≤ age < 1 hr → check on every checkNow trigger
|
|
39
|
+
* 1 hr ≤ age < 24 hr → check on ~hourly cadence (block-height % 6)
|
|
40
|
+
* 24 hr ≤ age < 7 days → check on ~daily cadence (block-height % 144)
|
|
41
|
+
* age ≥ 7 days → check on ~weekly cadence (block-height % 1008)
|
|
42
|
+
*
|
|
43
|
+
* Block-height modulo gives a deterministic, stateless way to schedule
|
|
44
|
+
* checks for older rows; no per-row "last checked" persistence is required.
|
|
45
|
+
* Each row's modulo offset is keyed by its `provenTxReqId` so that rows in
|
|
46
|
+
* the same age tier are staggered across the modulo cycle rather than all
|
|
47
|
+
* firing on the same block — `(blockHeight + provenTxReqId) % tierInterval`.
|
|
48
|
+
* For a wallet with N rows in tier T and tier interval K, this gives
|
|
49
|
+
* roughly N/K rows fired per block instead of N rows fired every K blocks.
|
|
50
|
+
*
|
|
51
|
+
* The scheduled daily cadence (no `checkNow`) is unaffected — it still scans
|
|
52
|
+
* every row regardless of age. That path is the once-per-day fallback that
|
|
53
|
+
* guarantees externally-broadcast `nosend` txs are eventually recognized
|
|
54
|
+
* even if the aging schedule on the checkNow path defers them.
|
|
19
55
|
*/
|
|
20
56
|
class TaskCheckNoSends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
57
|
+
triggerMsecs;
|
|
58
|
+
static taskName = 'CheckNoSends';
|
|
59
|
+
/**
|
|
60
|
+
* An external service such as the chaintracks new block header
|
|
61
|
+
* listener can set this true to cause
|
|
62
|
+
*/
|
|
63
|
+
static checkNow = false;
|
|
64
|
+
/**
|
|
65
|
+
* Aging-schedule constants for the `checkNow` path. Rows below `tier0FreshSkipMsecs`
|
|
66
|
+
* are never checked via checkNow (batched-tx protection). Rows from tier 0 up
|
|
67
|
+
* to `tier1EveryBlockMsecs` are checked on every checkNow trigger. Beyond that,
|
|
68
|
+
* checks happen on `block-height % tierNBlockInterval === 0` cadences with
|
|
69
|
+
* growing intervals. The scheduled daily cadence (no checkNow) is unaffected.
|
|
70
|
+
*/
|
|
71
|
+
static tier0FreshSkipMsecs = 5 * 60 * 1000; // 5 min
|
|
72
|
+
static tier1EveryBlockMsecs = 60 * 60 * 1000; // 1 hr
|
|
73
|
+
static tier2HourlyMsecs = 24 * 60 * 60 * 1000; // 24 hr
|
|
74
|
+
static tier3DailyMsecs = 7 * 24 * 60 * 60 * 1000; // 7 days
|
|
75
|
+
static tier2BlockInterval = 6; // ~hourly on 10-min blocks
|
|
76
|
+
static tier3BlockInterval = 144; // ~daily on 10-min blocks
|
|
77
|
+
static tier4BlockInterval = 1008; // ~weekly on 10-min blocks
|
|
78
|
+
/**
|
|
79
|
+
* Decide whether a single `nosend` row should be chain-checked on the
|
|
80
|
+
* current `checkNow` trigger, based on its age, the current block
|
|
81
|
+
* height, and its `provenTxReqId` (used to stagger same-tier rows
|
|
82
|
+
* across the modulo cycle). See class docstring for the full schedule
|
|
83
|
+
* and staggering rationale.
|
|
84
|
+
*/
|
|
85
|
+
static shouldCheckOnCheckNow(createdAt, nowMs, currentBlockHeight, provenTxReqId) {
|
|
86
|
+
const ageMs = nowMs - createdAt.getTime();
|
|
87
|
+
if (ageMs < TaskCheckNoSends.tier0FreshSkipMsecs)
|
|
88
|
+
return false;
|
|
89
|
+
if (ageMs < TaskCheckNoSends.tier1EveryBlockMsecs)
|
|
90
|
+
return true;
|
|
91
|
+
// Stagger same-tier rows by `provenTxReqId` so they fire on different
|
|
92
|
+
// blocks within the modulo cycle, not all on the same block.
|
|
93
|
+
if (ageMs < TaskCheckNoSends.tier2HourlyMsecs) {
|
|
94
|
+
return (currentBlockHeight + provenTxReqId) % TaskCheckNoSends.tier2BlockInterval === 0;
|
|
95
|
+
}
|
|
96
|
+
if (ageMs < TaskCheckNoSends.tier3DailyMsecs) {
|
|
97
|
+
return (currentBlockHeight + provenTxReqId) % TaskCheckNoSends.tier3BlockInterval === 0;
|
|
98
|
+
}
|
|
99
|
+
return (currentBlockHeight + provenTxReqId) % TaskCheckNoSends.tier4BlockInterval === 0;
|
|
100
|
+
}
|
|
21
101
|
constructor(monitor, triggerMsecs = Monitor_1.Monitor.oneDay * 1) {
|
|
22
102
|
super(monitor, TaskCheckNoSends.taskName);
|
|
23
103
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -32,14 +112,15 @@ class TaskCheckNoSends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
32
112
|
};
|
|
33
113
|
}
|
|
34
114
|
async runTask() {
|
|
35
|
-
var _a;
|
|
36
115
|
let log = '';
|
|
37
|
-
const
|
|
116
|
+
const wasCheckNow = TaskCheckNoSends.checkNow;
|
|
117
|
+
const countsAsAttempt = wasCheckNow;
|
|
38
118
|
TaskCheckNoSends.checkNow = false;
|
|
39
|
-
const maxAcceptableHeight =
|
|
119
|
+
const maxAcceptableHeight = this.monitor.lastNewHeader?.height;
|
|
40
120
|
if (maxAcceptableHeight === undefined) {
|
|
41
121
|
return log;
|
|
42
122
|
}
|
|
123
|
+
const nowMs = Date.now();
|
|
43
124
|
const limit = 100;
|
|
44
125
|
let offset = 0;
|
|
45
126
|
for (;;) {
|
|
@@ -51,8 +132,22 @@ class TaskCheckNoSends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
51
132
|
if (reqs.length === 0)
|
|
52
133
|
break;
|
|
53
134
|
log += `${reqs.length} reqs with status 'nosend'\n`;
|
|
54
|
-
|
|
55
|
-
|
|
135
|
+
// On the checkNow (block-triggered) path, apply the aging schedule
|
|
136
|
+
// — see class docstring. The scheduled daily cadence is unfiltered
|
|
137
|
+
// so externally-broadcast unmined nosend txs are eventually caught
|
|
138
|
+
// regardless of age.
|
|
139
|
+
let eligible = reqs;
|
|
140
|
+
if (wasCheckNow) {
|
|
141
|
+
eligible = reqs.filter(r => TaskCheckNoSends.shouldCheckOnCheckNow(r.created_at, nowMs, maxAcceptableHeight, r.provenTxReqId));
|
|
142
|
+
const skipped = reqs.length - eligible.length;
|
|
143
|
+
if (skipped > 0) {
|
|
144
|
+
log += `aging schedule: skipping ${skipped} of ${reqs.length} reqs on checkNow path (block-triggered)\n`;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (eligible.length > 0) {
|
|
148
|
+
const r = await (0, TaskCheckForProofs_1.getProofs)(this, eligible, maxAcceptableHeight, 2, countsAsAttempt, false);
|
|
149
|
+
log += `${r.log}\n`;
|
|
150
|
+
}
|
|
56
151
|
if (reqs.length < limit)
|
|
57
152
|
break;
|
|
58
153
|
offset += limit;
|
|
@@ -61,10 +156,4 @@ class TaskCheckNoSends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
61
156
|
}
|
|
62
157
|
}
|
|
63
158
|
exports.TaskCheckNoSends = TaskCheckNoSends;
|
|
64
|
-
TaskCheckNoSends.taskName = 'CheckNoSends';
|
|
65
|
-
/**
|
|
66
|
-
* An external service such as the chaintracks new block header
|
|
67
|
-
* listener can set this true to cause
|
|
68
|
-
*/
|
|
69
|
-
TaskCheckNoSends.checkNow = false;
|
|
70
159
|
//# sourceMappingURL=TaskCheckNoSends.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskCheckNoSends.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,6DAAgD;AAChD,2DAAuD;AAEvD
|
|
1
|
+
{"version":3,"file":"TaskCheckNoSends.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskCheckNoSends.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ exports.TaskClock = void 0;
|
|
|
4
4
|
const Monitor_1 = require("../Monitor");
|
|
5
5
|
const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
6
6
|
class TaskClock extends WalletMonitorTask_1.WalletMonitorTask {
|
|
7
|
+
triggerMsecs;
|
|
8
|
+
static taskName = 'Clock';
|
|
9
|
+
nextMinute;
|
|
7
10
|
constructor(monitor, triggerMsecs = 1 * Monitor_1.Monitor.oneSecond) {
|
|
8
11
|
super(monitor, TaskClock.taskName);
|
|
9
12
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -23,5 +26,4 @@ class TaskClock extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
28
|
exports.TaskClock = TaskClock;
|
|
26
|
-
TaskClock.taskName = 'Clock';
|
|
27
29
|
//# sourceMappingURL=TaskClock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskClock.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskClock.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,2DAAuD;AAEvD,MAAa,SAAU,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskClock.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskClock.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,2DAAuD;AAEvD,MAAa,SAAU,SAAQ,qCAAiB;IAMrC;IALT,MAAM,CAAU,QAAQ,GAAG,OAAO,CAAA;IAClC,UAAU,CAAQ;IAElB,YACE,OAAgB,EACT,eAAe,CAAC,GAAG,iBAAO,CAAC,SAAS;QAE3C,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QAF3B,iBAAY,GAAZ,YAAY,CAAwB;QAG3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IACxC,CAAC;IAED,OAAO,CAAE,kBAA0B;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QACxC,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACtC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAO,CAAC,SAAS,CAAC,GAAG,iBAAO,CAAC,SAAS,CAAA;IACtE,CAAC;;AAzBH,8BA0BC"}
|
|
@@ -11,6 +11,8 @@ const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
|
11
11
|
* outputs are not spendable.
|
|
12
12
|
*/
|
|
13
13
|
class TaskFailAbandoned extends WalletMonitorTask_1.WalletMonitorTask {
|
|
14
|
+
triggerMsecs;
|
|
15
|
+
static taskName = 'FailAbandoned';
|
|
14
16
|
constructor(monitor, triggerMsecs = 1000 * 60 * 5) {
|
|
15
17
|
super(monitor, TaskFailAbandoned.taskName);
|
|
16
18
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -48,5 +50,4 @@ class TaskFailAbandoned extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
52
|
exports.TaskFailAbandoned = TaskFailAbandoned;
|
|
51
|
-
TaskFailAbandoned.taskName = 'FailAbandoned';
|
|
52
53
|
//# sourceMappingURL=TaskFailAbandoned.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskFailAbandoned.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskFailAbandoned.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD;;;;;;;GAOG;AAEH,MAAa,iBAAkB,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskFailAbandoned.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskFailAbandoned.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD;;;;;;;GAOG;AAEH,MAAa,iBAAkB,SAAQ,qCAAiB;IAK7C;IAJT,MAAM,CAAU,QAAQ,GAAG,eAAe,CAAA;IAE1C,YACE,OAAgB,EACT,eAAe,IAAI,GAAG,EAAE,GAAG,CAAC;QAEnC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAFnC,iBAAY,GAAZ,YAAY,CAAgB;IAGrC,CAAC;IAED,OAAO,CAAE,kBAA0B;QACjC,OAAO;YACL,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY;SAC1E,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,SAAS,CAAC;YACR,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;YACtB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;YAC/E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;gBAC9D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;oBACvC,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;oBACnC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;iBACzB,CAAC,CAAA;gBACF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;gBACxE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;oBACrB,MAAM,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,CAAA;oBAC5D,GAAG,IAAI,cAAc,EAAE,CAAC,aAAa,uBAAuB,CAAA;gBAC9D,CAAC;gBACD,OAAO,GAAG,CAAC,MAAM,GAAG,KAAK,CAAA;YAC3B,CAAC,CAAC,CAAA;YACF,IAAI,IAAI;gBAAE,MAAK;YACf,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AAxCH,8CAyCC"}
|
|
@@ -4,6 +4,9 @@ exports.TaskMineBlock = void 0;
|
|
|
4
4
|
const Monitor_1 = require("../Monitor");
|
|
5
5
|
const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
6
6
|
class TaskMineBlock extends WalletMonitorTask_1.WalletMonitorTask {
|
|
7
|
+
triggerMsecs;
|
|
8
|
+
static taskName = 'MineBlock';
|
|
9
|
+
static mineNow = false;
|
|
7
10
|
constructor(monitor, triggerMsecs = 10 * Monitor_1.Monitor.oneMinute) {
|
|
8
11
|
super(monitor, TaskMineBlock.taskName);
|
|
9
12
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -24,6 +27,4 @@ class TaskMineBlock extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
exports.TaskMineBlock = TaskMineBlock;
|
|
27
|
-
TaskMineBlock.taskName = 'MineBlock';
|
|
28
|
-
TaskMineBlock.mineNow = false;
|
|
29
30
|
//# sourceMappingURL=TaskMineBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskMineBlock.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskMineBlock.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,2DAAuD;AAGvD,MAAa,aAAc,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskMineBlock.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskMineBlock.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,2DAAuD;AAGvD,MAAa,aAAc,SAAQ,qCAAiB;IAMzC;IALT,MAAM,CAAU,QAAQ,GAAG,WAAW,CAAA;IACtC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IAEtB,YACE,OAAgB,EACT,eAAe,EAAE,GAAG,iBAAO,CAAC,SAAS;QAE5C,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;QAF/B,iBAAY,GAAZ,YAAY,CAAyB;IAG9C,CAAC;IAED,OAAO,CAAE,kBAA0B;QACjC,IAAI,aAAa,CAAC,OAAO;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QAC/C,IAAI,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QAC/F,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,aAAa,CAAC,OAAO,GAAG,KAAK,CAAA;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAmC,CAAA;QACrE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAA;QAC7C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC1C,OAAO,eAAe,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,IAAI,EAAE,CAAA;IAC3D,CAAC;;AAvBH,sCAwBC"}
|
|
@@ -4,6 +4,8 @@ exports.TaskMonitorCallHistory = void 0;
|
|
|
4
4
|
const Monitor_1 = require("../Monitor");
|
|
5
5
|
const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
6
6
|
class TaskMonitorCallHistory extends WalletMonitorTask_1.WalletMonitorTask {
|
|
7
|
+
triggerMsecs;
|
|
8
|
+
static taskName = 'MonitorCallHistory';
|
|
7
9
|
constructor(monitor, triggerMsecs = Monitor_1.Monitor.oneMinute * 12) {
|
|
8
10
|
super(monitor, TaskMonitorCallHistory.taskName);
|
|
9
11
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -20,5 +22,4 @@ class TaskMonitorCallHistory extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
exports.TaskMonitorCallHistory = TaskMonitorCallHistory;
|
|
23
|
-
TaskMonitorCallHistory.taskName = 'MonitorCallHistory';
|
|
24
25
|
//# sourceMappingURL=TaskMonitorCallHistory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskMonitorCallHistory.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskMonitorCallHistory.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,2DAAuD;AAEvD,MAAa,sBAAuB,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskMonitorCallHistory.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskMonitorCallHistory.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,2DAAuD;AAEvD,MAAa,sBAAuB,SAAQ,qCAAiB;IAKlD;IAJT,MAAM,CAAU,QAAQ,GAAG,oBAAoB,CAAA;IAE/C,YACE,OAAgB,EACT,eAAe,iBAAO,CAAC,SAAS,GAAG,EAAE;QAE5C,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAFxC,iBAAY,GAAZ,YAAY,CAAyB;IAG9C,CAAC;IAED,OAAO,CAAE,kBAA0B;QACjC,OAAO;YACL,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY;SAC1E,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC7B,OAAO,GAAG,CAAA;IACZ,CAAC;;AApBH,wDAqBC"}
|
|
@@ -16,6 +16,18 @@ const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
|
16
16
|
* with that header height as the limit for which proofs are accepted.
|
|
17
17
|
*/
|
|
18
18
|
class TaskNewHeader extends WalletMonitorTask_1.WalletMonitorTask {
|
|
19
|
+
triggerMsecs;
|
|
20
|
+
static taskName = 'NewHeader';
|
|
21
|
+
/**
|
|
22
|
+
* This is always the most recent chain tip header returned from the chaintracker.
|
|
23
|
+
*/
|
|
24
|
+
header;
|
|
25
|
+
/**
|
|
26
|
+
* Tracks the value of `header` except that it is set to undefined
|
|
27
|
+
* when a cycle without a new header occurs and `processNewBlockHeader` is called.
|
|
28
|
+
*/
|
|
29
|
+
queuedHeader;
|
|
30
|
+
queuedHeaderWhen;
|
|
19
31
|
constructor(monitor, triggerMsecs = 1 * Monitor_1.Monitor.oneMinute) {
|
|
20
32
|
super(monitor, TaskNewHeader.taskName);
|
|
21
33
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -82,5 +94,4 @@ class TaskNewHeader extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
82
94
|
}
|
|
83
95
|
}
|
|
84
96
|
exports.TaskNewHeader = TaskNewHeader;
|
|
85
|
-
TaskNewHeader.taskName = 'NewHeader';
|
|
86
97
|
//# sourceMappingURL=TaskNewHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskNewHeader.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":";;;AACA,wCAAoC;AACpC,2DAAuD;AAEvD;;;;;;;;;;;GAWG;AACH,MAAa,aAAc,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskNewHeader.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TaskPurge = void 0;
|
|
4
4
|
const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
5
5
|
class TaskPurge extends WalletMonitorTask_1.WalletMonitorTask {
|
|
6
|
+
params;
|
|
7
|
+
triggerMsecs;
|
|
8
|
+
static taskName = 'Purge';
|
|
9
|
+
/**
|
|
10
|
+
* Set to true to trigger running this task
|
|
11
|
+
*/
|
|
12
|
+
static checkNow = false;
|
|
6
13
|
constructor(monitor, params, triggerMsecs = 0) {
|
|
7
14
|
super(monitor, TaskPurge.taskName);
|
|
8
15
|
this.params = params;
|
|
@@ -26,9 +33,4 @@ class TaskPurge extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
26
33
|
}
|
|
27
34
|
}
|
|
28
35
|
exports.TaskPurge = TaskPurge;
|
|
29
|
-
TaskPurge.taskName = 'Purge';
|
|
30
|
-
/**
|
|
31
|
-
* Set to true to trigger running this task
|
|
32
|
-
*/
|
|
33
|
-
TaskPurge.checkNow = false;
|
|
34
36
|
//# sourceMappingURL=TaskPurge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskPurge.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskPurge.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AA6BvD,MAAa,SAAU,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskPurge.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskPurge.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AA6BvD,MAAa,SAAU,SAAQ,qCAAiB;IAUrC;IACA;IAVT,MAAM,CAAU,QAAQ,GAAG,OAAO,CAAA;IAElC;;OAEG;IACH,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAA;IAEvB,YACE,OAAgB,EACT,MAAuB,EACvB,eAAe,CAAC;QAEvB,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QAH3B,WAAM,GAAN,MAAM,CAAiB;QACvB,iBAAY,GAAZ,YAAY,CAAI;IAGzB,CAAC;IAED,OAAO,CAAE,kBAA0B;QACjC,OAAO;YACL,GAAG,EACD,SAAS,CAAC,QAAQ;gBAClB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC;SAClG,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAA;QAE1B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAC3D,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;YAAE,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,iCAAiC,CAAC,CAAC,GAAG,EAAE,CAAA;QAEzE,OAAO,GAAG,CAAA;IACZ,CAAC;;AAnCH,8BAoCC"}
|
|
@@ -28,11 +28,14 @@ const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
|
28
28
|
* createAction fails to verify a generated beef against the chaintracker.
|
|
29
29
|
*/
|
|
30
30
|
class TaskReorg extends WalletMonitorTask_1.WalletMonitorTask {
|
|
31
|
+
agedMsecs;
|
|
32
|
+
maxRetries;
|
|
33
|
+
static taskName = 'Reorg';
|
|
34
|
+
process = [];
|
|
31
35
|
constructor(monitor, agedMsecs = Monitor_1.Monitor.oneMinute * 10, maxRetries = 3) {
|
|
32
36
|
super(monitor, TaskReorg.taskName);
|
|
33
37
|
this.agedMsecs = agedMsecs;
|
|
34
38
|
this.maxRetries = maxRetries;
|
|
35
|
-
this.process = [];
|
|
36
39
|
}
|
|
37
40
|
/**
|
|
38
41
|
* Shift aged deactivated headers onto `process` array.
|
|
@@ -78,5 +81,4 @@ class TaskReorg extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
78
81
|
}
|
|
79
82
|
}
|
|
80
83
|
exports.TaskReorg = TaskReorg;
|
|
81
|
-
TaskReorg.taskName = 'Reorg';
|
|
82
84
|
//# sourceMappingURL=TaskReorg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskReorg.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReorg.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AACrD,2DAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,SAAU,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskReorg.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReorg.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AACrD,2DAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,SAAU,SAAQ,qCAAiB;IAOrC;IACA;IAPT,MAAM,CAAU,QAAQ,GAAG,OAAO,CAAA;IAElC,OAAO,GAAsB,EAAE,CAAA;IAE/B,YACE,OAAgB,EACT,YAAY,iBAAO,CAAC,SAAS,GAAG,EAAE,EAClC,aAAa,CAAC;QAErB,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QAH3B,cAAS,GAAT,SAAS,CAAyB;QAClC,eAAU,GAAV,UAAU,CAAI;IAGvB,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAE,kBAA0B;QACjC,MAAM,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAA;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAA;QACzC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC/C,iFAAiF;YACjF,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,EAAG,CAAA;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;SAC7B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QAEZ,SAAS,CAAC;YACR,2CAA2C;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;YACnC,IAAI,MAAM,IAAI,IAAI;gBAAE,MAAK;YAEzB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAE9D,GAAG,IAAI,CAAC,CAAC,GAAG,CAAA;YAEZ,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxC,GAAG,IAAI,yBAAyB,IAAI,CAAC,UAAU,aAAa,CAAA;gBAC9D,CAAC;qBAAM,CAAC;oBACN,GAAG,IAAI,mBAAmB,CAAA;oBAC1B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBACnC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC;qBACxB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;;AA1DH,8BA2DC"}
|
|
@@ -8,6 +8,13 @@ const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
|
8
8
|
* back to 'unfail' so existing recovery handling can re-process them.
|
|
9
9
|
*/
|
|
10
10
|
class TaskReviewDoubleSpends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
11
|
+
triggerMsecs;
|
|
12
|
+
reviewLimit;
|
|
13
|
+
minAgeMinutes;
|
|
14
|
+
triggerQuickMsecs;
|
|
15
|
+
static taskName = 'ReviewDoubleSpends';
|
|
16
|
+
static checkNow = false;
|
|
17
|
+
triggerNextMsecs;
|
|
11
18
|
constructor(monitor, triggerMsecs = Monitor_1.Monitor.oneMinute * 12, reviewLimit = 100, minAgeMinutes = 60, triggerQuickMsecs = Monitor_1.Monitor.oneMinute * 1) {
|
|
12
19
|
super(monitor, TaskReviewDoubleSpends.taskName);
|
|
13
20
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -43,14 +50,13 @@ class TaskReviewDoubleSpends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
43
50
|
};
|
|
44
51
|
}
|
|
45
52
|
}
|
|
46
|
-
catch
|
|
53
|
+
catch {
|
|
47
54
|
continue;
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
return undefined;
|
|
51
58
|
}
|
|
52
59
|
async runTask() {
|
|
53
|
-
var _a;
|
|
54
60
|
TaskReviewDoubleSpends.checkNow = false;
|
|
55
61
|
const checkpoint = await this.getLastReviewedCheckpoint();
|
|
56
62
|
const updatedBefore = new Date(Date.now() - this.minAgeMinutes * 60 * 1000);
|
|
@@ -67,7 +73,7 @@ class TaskReviewDoubleSpends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
67
73
|
let retainedDoubleSpendCount = 0;
|
|
68
74
|
for (const req of reqs) {
|
|
69
75
|
const gsr = await this.monitor.services.getStatusForTxids([req.txid]);
|
|
70
|
-
const status =
|
|
76
|
+
const status = gsr.results[0]?.status;
|
|
71
77
|
reviewed.push(req);
|
|
72
78
|
if (status === 'unknown') {
|
|
73
79
|
lastRetainedDoubleSpendIndex = reviewed.length - 1;
|
|
@@ -95,14 +101,13 @@ class TaskReviewDoubleSpends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
95
101
|
});
|
|
96
102
|
}
|
|
97
103
|
async findReqsToReview(checkpoint, updatedBefore) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if ((checkpoint === null || checkpoint === void 0 ? void 0 : checkpoint.expectedProvenTxReqId) !== undefined) {
|
|
104
|
+
let offset = checkpoint?.resumeOffset || 0;
|
|
105
|
+
if (checkpoint?.expectedProvenTxReqId !== undefined) {
|
|
101
106
|
const verify = await this.storage.findProvenTxReqs({
|
|
102
107
|
partial: { status: 'doubleSpend' },
|
|
103
108
|
paged: { limit: 1, offset: checkpoint.resumeOffset }
|
|
104
109
|
});
|
|
105
|
-
if (
|
|
110
|
+
if (verify[0]?.provenTxReqId === checkpoint.expectedProvenTxReqId) {
|
|
106
111
|
offset += 1;
|
|
107
112
|
}
|
|
108
113
|
else {
|
|
@@ -119,6 +124,4 @@ class TaskReviewDoubleSpends extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
119
124
|
}
|
|
120
125
|
}
|
|
121
126
|
exports.TaskReviewDoubleSpends = TaskReviewDoubleSpends;
|
|
122
|
-
TaskReviewDoubleSpends.taskName = 'ReviewDoubleSpends';
|
|
123
|
-
TaskReviewDoubleSpends.checkNow = false;
|
|
124
127
|
//# sourceMappingURL=TaskReviewDoubleSpends.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskReviewDoubleSpends.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewDoubleSpends.ts"],"names":[],"mappings":";;;AACA,wCAAoC;AACpC,2DAAuD;AAavD;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskReviewDoubleSpends.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewDoubleSpends.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,13 @@ const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
|
12
12
|
* the currently canonical merkleRoot at a height no longer matches stored proven_txs roots.
|
|
13
13
|
*/
|
|
14
14
|
class TaskReviewProvenTxs extends WalletMonitorTask_1.WalletMonitorTask {
|
|
15
|
+
triggerMsecs;
|
|
16
|
+
maxHeightsPerRun;
|
|
17
|
+
minBlockAge;
|
|
18
|
+
triggerQuickMsecs;
|
|
19
|
+
static taskName = 'ReviewProvenTxs';
|
|
20
|
+
static checkNow = false;
|
|
21
|
+
triggerNextMsecs;
|
|
15
22
|
constructor(monitor, triggerMsecs = Monitor_1.Monitor.oneMinute * 10, maxHeightsPerRun = 100, minBlockAge = 100, triggerQuickMsecs = Monitor_1.Monitor.oneMinute * 1) {
|
|
16
23
|
super(monitor, TaskReviewProvenTxs.taskName);
|
|
17
24
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -110,7 +117,7 @@ class TaskReviewProvenTxs extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
110
117
|
return parsed.reviewedThroughHeight;
|
|
111
118
|
}
|
|
112
119
|
}
|
|
113
|
-
catch
|
|
120
|
+
catch {
|
|
114
121
|
continue;
|
|
115
122
|
}
|
|
116
123
|
}
|
|
@@ -126,6 +133,4 @@ class TaskReviewProvenTxs extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
126
133
|
}
|
|
127
134
|
}
|
|
128
135
|
exports.TaskReviewProvenTxs = TaskReviewProvenTxs;
|
|
129
|
-
TaskReviewProvenTxs.taskName = 'ReviewProvenTxs';
|
|
130
|
-
TaskReviewProvenTxs.checkNow = false;
|
|
131
136
|
//# sourceMappingURL=TaskReviewProvenTxs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskReviewProvenTxs.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewProvenTxs.ts"],"names":[],"mappings":";;;AAAA,0FAAsF;AACtF,wCAAoC;AACpC,2DAAuD;AAuBvD;;;;;;GAMG;AACH,MAAa,mBAAoB,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskReviewProvenTxs.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewProvenTxs.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,13 @@ const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
|
12
12
|
* Looks for reqs with 'invalid' status that have corresonding transactions with status other than 'failed'.
|
|
13
13
|
*/
|
|
14
14
|
class TaskReviewStatus extends WalletMonitorTask_1.WalletMonitorTask {
|
|
15
|
+
triggerMsecs;
|
|
16
|
+
agedMsecs;
|
|
17
|
+
static taskName = 'ReviewStatus';
|
|
18
|
+
/**
|
|
19
|
+
* Set to true to trigger running this task
|
|
20
|
+
*/
|
|
21
|
+
static checkNow = false;
|
|
15
22
|
constructor(monitor, triggerMsecs = 1000 * 60 * 15, agedMsecs = 1000 * 60 * 5) {
|
|
16
23
|
super(monitor, TaskReviewStatus.taskName);
|
|
17
24
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -35,9 +42,4 @@ class TaskReviewStatus extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
35
42
|
}
|
|
36
43
|
}
|
|
37
44
|
exports.TaskReviewStatus = TaskReviewStatus;
|
|
38
|
-
TaskReviewStatus.taskName = 'ReviewStatus';
|
|
39
|
-
/**
|
|
40
|
-
* Set to true to trigger running this task
|
|
41
|
-
*/
|
|
42
|
-
TaskReviewStatus.checkNow = false;
|
|
43
45
|
//# sourceMappingURL=TaskReviewStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskReviewStatus.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewStatus.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD;;;;;;;;GAQG;AACH,MAAa,gBAAiB,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskReviewStatus.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewStatus.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD;;;;;;;;GAQG;AACH,MAAa,gBAAiB,SAAQ,qCAAiB;IAU5C;IACA;IAVT,MAAM,CAAU,QAAQ,GAAG,cAAc,CAAA;IAEzC;;OAEG;IACH,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAA;IAEvB,YACE,OAAgB,EACT,eAAe,IAAI,GAAG,EAAE,GAAG,EAAE,EAC7B,YAAY,IAAI,GAAG,EAAE,GAAG,CAAC;QAEhC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAHlC,iBAAY,GAAZ,YAAY,CAAiB;QAC7B,cAAS,GAAT,SAAS,CAAgB;IAGlC,CAAC;IAED,OAAO,CAAE,kBAA0B;QACjC,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY;SACnG,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QAEZ,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAC3D,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9C,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QAEvC,OAAO,GAAG,CAAA;IACZ,CAAC;;AAlCH,4CAmCC"}
|
|
@@ -9,6 +9,12 @@ const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
|
9
9
|
* The task itself is disabled and will not run on a schedule; review must be triggered manually by calling reviewByIdentityKey.
|
|
10
10
|
*/
|
|
11
11
|
class TaskReviewUtxos extends WalletMonitorTask_1.WalletMonitorTask {
|
|
12
|
+
triggerMsecs;
|
|
13
|
+
userLimit;
|
|
14
|
+
userOffset;
|
|
15
|
+
tags;
|
|
16
|
+
static taskName = 'ReviewUtxos';
|
|
17
|
+
static checkNow = false;
|
|
12
18
|
constructor(monitor, triggerMsecs = 0, userLimit = 10, userOffset = 0, tags = ['release', 'all']) {
|
|
13
19
|
super(monitor, TaskReviewUtxos.taskName);
|
|
14
20
|
this.triggerMsecs = triggerMsecs;
|
|
@@ -66,6 +72,4 @@ class TaskReviewUtxos extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
66
72
|
}
|
|
67
73
|
}
|
|
68
74
|
exports.TaskReviewUtxos = TaskReviewUtxos;
|
|
69
|
-
TaskReviewUtxos.taskName = 'ReviewUtxos';
|
|
70
|
-
TaskReviewUtxos.checkNow = false;
|
|
71
75
|
//# sourceMappingURL=TaskReviewUtxos.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskReviewUtxos.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewUtxos.ts"],"names":[],"mappings":";;;AACA,mCAA+C;AAG/C,2DAAuD;AAEvD;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,qCAAiB;
|
|
1
|
+
{"version":3,"file":"TaskReviewUtxos.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewUtxos.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,15 @@ const aggregateResults_1 = require("../../utility/aggregateResults");
|
|
|
8
8
|
const utilityHelpers_1 = require("../../utility/utilityHelpers");
|
|
9
9
|
const EntityProvenTxReq_1 = require("../../storage/schema/entities/EntityProvenTxReq");
|
|
10
10
|
class TaskSendWaiting extends WalletMonitorTask_1.WalletMonitorTask {
|
|
11
|
+
triggerMsecs;
|
|
12
|
+
agedMsecs;
|
|
13
|
+
sendingMsecs;
|
|
14
|
+
triggerQuickMsecs;
|
|
15
|
+
chunkLimit;
|
|
16
|
+
static taskName = 'SendWaiting';
|
|
17
|
+
lastSendingRunMsecsSinceEpoch;
|
|
18
|
+
includeSending = true;
|
|
19
|
+
triggerNextMsecs;
|
|
11
20
|
/**
|
|
12
21
|
* @param monitor Wallet monitor owning this task.
|
|
13
22
|
* @param triggerMsecs Normal interval between SendWaiting runs when no backlog remains.
|
|
@@ -23,7 +32,6 @@ class TaskSendWaiting extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
23
32
|
this.sendingMsecs = sendingMsecs;
|
|
24
33
|
this.triggerQuickMsecs = triggerQuickMsecs;
|
|
25
34
|
this.chunkLimit = chunkLimit;
|
|
26
|
-
this.includeSending = true;
|
|
27
35
|
this.triggerNextMsecs = this.triggerQuickMsecs;
|
|
28
36
|
}
|
|
29
37
|
trigger(nowMsecsSinceEpoch) {
|
|
@@ -191,5 +199,4 @@ class TaskSendWaiting extends WalletMonitorTask_1.WalletMonitorTask {
|
|
|
191
199
|
}
|
|
192
200
|
}
|
|
193
201
|
exports.TaskSendWaiting = TaskSendWaiting;
|
|
194
|
-
TaskSendWaiting.taskName = 'SendWaiting';
|
|
195
202
|
//# sourceMappingURL=TaskSendWaiting.js.map
|