@bsv/wallet-toolbox-mobile 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 +83 -0
- package/out/src/CWIStyleWalletManager.js +107 -41
- package/out/src/CWIStyleWalletManager.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/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/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/createDefaultNoDbChaintracksOptions.js +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.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/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/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/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/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.mobile.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -7,7 +7,7 @@ const WalletError_1 = require("./WalletError");
|
|
|
7
7
|
*/
|
|
8
8
|
class WERR_NOT_IMPLEMENTED extends WalletError_1.WalletError {
|
|
9
9
|
constructor(message) {
|
|
10
|
-
super('WERR_NOT_IMPLEMENTED', message
|
|
10
|
+
super('WERR_NOT_IMPLEMENTED', message ?? 'Not implemented.');
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.WERR_NOT_IMPLEMENTED = WERR_NOT_IMPLEMENTED;
|
|
@@ -18,7 +18,7 @@ exports.WERR_NOT_IMPLEMENTED = WERR_NOT_IMPLEMENTED;
|
|
|
18
18
|
*/
|
|
19
19
|
class WERR_INTERNAL extends WalletError_1.WalletError {
|
|
20
20
|
constructor(message) {
|
|
21
|
-
super('WERR_INTERNAL', message
|
|
21
|
+
super('WERR_INTERNAL', message ?? 'An internal error has occurred.');
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.WERR_INTERNAL = WERR_INTERNAL;
|
|
@@ -29,7 +29,7 @@ exports.WERR_INTERNAL = WERR_INTERNAL;
|
|
|
29
29
|
*/
|
|
30
30
|
class WERR_INVALID_OPERATION extends WalletError_1.WalletError {
|
|
31
31
|
constructor(message) {
|
|
32
|
-
super('WERR_INVALID_OPERATION', message
|
|
32
|
+
super('WERR_INVALID_OPERATION', message ?? 'An invalid operation was requested.');
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
exports.WERR_INVALID_OPERATION = WERR_INVALID_OPERATION;
|
|
@@ -48,8 +48,9 @@ exports.WERR_BROADCAST_UNAVAILABLE = WERR_BROADCAST_UNAVAILABLE;
|
|
|
48
48
|
* This is an example of an error object with a custom property `parameter` and templated `message`.
|
|
49
49
|
*/
|
|
50
50
|
class WERR_INVALID_PARAMETER extends WalletError_1.WalletError {
|
|
51
|
+
parameter;
|
|
51
52
|
constructor(parameter, mustBe) {
|
|
52
|
-
super('WERR_INVALID_PARAMETER', `The ${parameter} parameter must be ${mustBe
|
|
53
|
+
super('WERR_INVALID_PARAMETER', `The ${parameter} parameter must be ${mustBe ?? 'valid.'}`);
|
|
53
54
|
this.parameter = parameter;
|
|
54
55
|
}
|
|
55
56
|
toJson() {
|
|
@@ -66,6 +67,10 @@ exports.WERR_INVALID_PARAMETER = WERR_INVALID_PARAMETER;
|
|
|
66
67
|
* Typically thrown when a chain tracker fails to validate a merkle root.
|
|
67
68
|
*/
|
|
68
69
|
class WERR_INVALID_MERKLE_ROOT extends WalletError_1.WalletError {
|
|
70
|
+
blockHash;
|
|
71
|
+
blockHeight;
|
|
72
|
+
merkleRoot;
|
|
73
|
+
txid;
|
|
69
74
|
constructor(blockHash, blockHeight, merkleRoot, txid) {
|
|
70
75
|
super('WERR_INVALID_MERKLE_ROOT', `Invalid merkleRoot ${merkleRoot} for block ${blockHash} at height ${blockHeight}${txid != null ? ' for txid ' + txid : ''}.`);
|
|
71
76
|
this.blockHash = blockHash;
|
|
@@ -90,6 +95,7 @@ exports.WERR_INVALID_MERKLE_ROOT = WERR_INVALID_MERKLE_ROOT;
|
|
|
90
95
|
* This is an example of an error object with a custom property `parameter`
|
|
91
96
|
*/
|
|
92
97
|
class WERR_MISSING_PARAMETER extends WalletError_1.WalletError {
|
|
98
|
+
parameter;
|
|
93
99
|
constructor(parameter) {
|
|
94
100
|
super('WERR_MISSING_PARAMETER', `The required ${parameter} parameter is missing.`);
|
|
95
101
|
this.parameter = parameter;
|
|
@@ -106,7 +112,7 @@ exports.WERR_MISSING_PARAMETER = WERR_MISSING_PARAMETER;
|
|
|
106
112
|
*/
|
|
107
113
|
class WERR_BAD_REQUEST extends WalletError_1.WalletError {
|
|
108
114
|
constructor(message) {
|
|
109
|
-
super('WERR_BAD_REQUEST', message
|
|
115
|
+
super('WERR_BAD_REQUEST', message ?? 'The request is invalid.');
|
|
110
116
|
}
|
|
111
117
|
}
|
|
112
118
|
exports.WERR_BAD_REQUEST = WERR_BAD_REQUEST;
|
|
@@ -115,7 +121,7 @@ exports.WERR_BAD_REQUEST = WERR_BAD_REQUEST;
|
|
|
115
121
|
*/
|
|
116
122
|
class WERR_NETWORK_CHAIN extends WalletError_1.WalletError {
|
|
117
123
|
constructor(message) {
|
|
118
|
-
super('WERR_NETWORK_CHAIN', message
|
|
124
|
+
super('WERR_NETWORK_CHAIN', message ?? 'Configured network chain is invalid or does not match across services.');
|
|
119
125
|
}
|
|
120
126
|
}
|
|
121
127
|
exports.WERR_NETWORK_CHAIN = WERR_NETWORK_CHAIN;
|
|
@@ -124,7 +130,7 @@ exports.WERR_NETWORK_CHAIN = WERR_NETWORK_CHAIN;
|
|
|
124
130
|
*/
|
|
125
131
|
class WERR_UNAUTHORIZED extends WalletError_1.WalletError {
|
|
126
132
|
constructor(message) {
|
|
127
|
-
super('WERR_UNAUTHORIZED', message
|
|
133
|
+
super('WERR_UNAUTHORIZED', message ?? 'Access is denied due to an authorization error.');
|
|
128
134
|
}
|
|
129
135
|
}
|
|
130
136
|
exports.WERR_UNAUTHORIZED = WERR_UNAUTHORIZED;
|
|
@@ -133,7 +139,8 @@ exports.WERR_UNAUTHORIZED = WERR_UNAUTHORIZED;
|
|
|
133
139
|
*/
|
|
134
140
|
class WERR_NOT_ACTIVE extends WalletError_1.WalletError {
|
|
135
141
|
constructor(message) {
|
|
136
|
-
super('WERR_NOT_ACTIVE', message
|
|
142
|
+
super('WERR_NOT_ACTIVE', message ??
|
|
143
|
+
'WalletStorageManager is not accessing user\'s active storage or there are conflicting active stores configured.');
|
|
137
144
|
}
|
|
138
145
|
}
|
|
139
146
|
exports.WERR_NOT_ACTIVE = WERR_NOT_ACTIVE;
|
|
@@ -144,6 +151,8 @@ exports.WERR_NOT_ACTIVE = WERR_NOT_ACTIVE;
|
|
|
144
151
|
* to pay the fee to unlock and spend the outputs used to provide the additional satoshis.
|
|
145
152
|
*/
|
|
146
153
|
class WERR_INSUFFICIENT_FUNDS extends WalletError_1.WalletError {
|
|
154
|
+
totalSatoshisNeeded;
|
|
155
|
+
moreSatoshisNeeded;
|
|
147
156
|
/**
|
|
148
157
|
* @param totalSatoshisNeeded Total satoshis required to fund transactions after net of required inputs and outputs.
|
|
149
158
|
* @param moreSatoshisNeeded Shortfall on total satoshis required to fund transactions after net of required inputs and outputs.
|
|
@@ -163,6 +172,7 @@ class WERR_INSUFFICIENT_FUNDS extends WalletError_1.WalletError {
|
|
|
163
172
|
}
|
|
164
173
|
exports.WERR_INSUFFICIENT_FUNDS = WERR_INSUFFICIENT_FUNDS;
|
|
165
174
|
class WERR_INVALID_PUBLIC_KEY extends WalletError_1.WalletError {
|
|
175
|
+
key;
|
|
166
176
|
/**
|
|
167
177
|
* @param key The invalid public key that caused the error.
|
|
168
178
|
* @param environment Optional environment flag to control whether the key is included in the message.
|
|
@@ -187,6 +197,11 @@ exports.WERR_INVALID_PUBLIC_KEY = WERR_INVALID_PUBLIC_KEY;
|
|
|
187
197
|
* paid to processing errors.
|
|
188
198
|
*/
|
|
189
199
|
class WERR_REVIEW_ACTIONS extends WalletError_1.WalletError {
|
|
200
|
+
reviewActionResults;
|
|
201
|
+
sendWithResults;
|
|
202
|
+
txid;
|
|
203
|
+
tx;
|
|
204
|
+
noSendChange;
|
|
190
205
|
/**
|
|
191
206
|
* All parameters correspond to their comparable `createAction` or `signAction` results
|
|
192
207
|
* with the exception of `reviewActionResults`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WERR_errors.js","sourceRoot":"","sources":["../../../../src/sdk/WERR_errors.ts"],"names":[],"mappings":";;;AACA,+CAA2C;AAG3C;;GAEG;AACH,MAAa,oBAAqB,SAAQ,yBAAW;IACnD,YAAa,OAAgB;QAC3B,KAAK,CAAC,sBAAsB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"WERR_errors.js","sourceRoot":"","sources":["../../../../src/sdk/WERR_errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,11 +16,12 @@ exports.WalletError = void 0;
|
|
|
16
16
|
* classes.
|
|
17
17
|
*/
|
|
18
18
|
class WalletError extends Error {
|
|
19
|
+
details;
|
|
20
|
+
// Facilitates detection of Error objects from non-error return values.
|
|
21
|
+
isError = true;
|
|
19
22
|
constructor(name, message, stack, details) {
|
|
20
23
|
super(message);
|
|
21
24
|
this.details = details;
|
|
22
|
-
// Facilitates detection of Error objects from non-error return values.
|
|
23
|
-
this.isError = true;
|
|
24
25
|
this.name = name;
|
|
25
26
|
if (stack != null && stack !== '')
|
|
26
27
|
this.stack = stack;
|
|
@@ -48,7 +49,6 @@ class WalletError extends Error {
|
|
|
48
49
|
*
|
|
49
50
|
*/
|
|
50
51
|
static fromUnknown(err) {
|
|
51
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
52
52
|
if (err instanceof WalletError)
|
|
53
53
|
return err;
|
|
54
54
|
let name = 'WERR_UNKNOWN';
|
|
@@ -65,12 +65,12 @@ class WalletError extends Error {
|
|
|
65
65
|
const errObj = err;
|
|
66
66
|
const ns = (v) => (typeof v === 'string' && v !== '' ? v : undefined);
|
|
67
67
|
if (errObj.name === 'Error' || errObj.name === 'FetchError')
|
|
68
|
-
name =
|
|
68
|
+
name = ns(errObj.code) ?? ns(errObj.status) ?? 'WERR_UNKNOWN';
|
|
69
69
|
else
|
|
70
|
-
name =
|
|
70
|
+
name = ns(errObj.name) ?? ns(errObj.code) ?? ns(errObj.status) ?? 'WERR_UNKNOWN';
|
|
71
71
|
if (typeof name !== 'string')
|
|
72
72
|
name = 'WERR_UNKNOWN';
|
|
73
|
-
message =
|
|
73
|
+
message = ns(errObj.message) ?? ns(errObj.description) ?? '';
|
|
74
74
|
if (typeof message !== 'string')
|
|
75
75
|
message = 'WERR_UNKNOWN';
|
|
76
76
|
if (typeof errObj.stack === 'string')
|
|
@@ -158,7 +158,7 @@ class WalletError extends Error {
|
|
|
158
158
|
const ctor = ctorName != null && typeof ctorName.name === 'string' ? ctorName.name : undefined;
|
|
159
159
|
const name = t === 'object' && error !== null && typeof error.name === 'string' ? error.name : '';
|
|
160
160
|
const message = t === 'object' && error !== null && typeof error.message === 'string' ? error.message : '';
|
|
161
|
-
const hasToJson = t === 'object' && typeof
|
|
161
|
+
const hasToJson = t === 'object' && typeof error?.toJson === 'function';
|
|
162
162
|
if (ctor != null && ctor !== '' && ctor.startsWith('WERR_') && hasToJson) {
|
|
163
163
|
json = error.toJson();
|
|
164
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletError.js","sourceRoot":"","sources":["../../../../src/sdk/WalletError.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;GAaG;AACH,MAAa,WAAY,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"WalletError.js","sourceRoot":"","sources":["../../../../src/sdk/WalletError.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ServiceCollection = void 0;
|
|
4
4
|
const MAX_CALL_HISTORY = 32;
|
|
5
5
|
class ServiceCollection {
|
|
6
|
+
serviceName;
|
|
7
|
+
services;
|
|
8
|
+
_index;
|
|
9
|
+
/**
|
|
10
|
+
* Start of currentCounts interval. Initially instance construction time.
|
|
11
|
+
*/
|
|
12
|
+
since;
|
|
13
|
+
_historyByProvider = {};
|
|
6
14
|
constructor(serviceName, services) {
|
|
7
15
|
this.serviceName = serviceName;
|
|
8
|
-
this.
|
|
9
|
-
this.services = services !== null && services !== void 0 ? services : [];
|
|
16
|
+
this.services = services ?? [];
|
|
10
17
|
this._index = 0;
|
|
11
18
|
this.since = new Date();
|
|
12
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceCollection.js","sourceRoot":"","sources":["../../../../src/services/ServiceCollection.ts"],"names":[],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAE3B,MAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"ServiceCollection.js","sourceRoot":"","sources":["../../../../src/services/ServiceCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,25 +17,24 @@ const WalletError_1 = require("../sdk/WalletError");
|
|
|
17
17
|
const utilityHelpers_1 = require("../utility/utilityHelpers");
|
|
18
18
|
const utilityHelpers_noBuffer_1 = require("../utility/utilityHelpers.noBuffer");
|
|
19
19
|
class Services {
|
|
20
|
+
static getStatusForTxidsBatchLimit = 20;
|
|
20
21
|
static createDefaultOptions(chain) {
|
|
21
22
|
return (0, createDefaultWalletServicesOptions_1.createDefaultWalletServicesOptions)(chain);
|
|
22
23
|
}
|
|
24
|
+
options;
|
|
25
|
+
whatsonchain;
|
|
26
|
+
arcTaal;
|
|
27
|
+
arcGorillaPool;
|
|
28
|
+
bitails;
|
|
29
|
+
getMerklePathServices;
|
|
30
|
+
getRawTxServices;
|
|
31
|
+
postBeefServices;
|
|
32
|
+
getUtxoStatusServices;
|
|
33
|
+
getStatusForTxidsServices;
|
|
34
|
+
getScriptHashHistoryServices;
|
|
35
|
+
updateFiatExchangeRateServices;
|
|
36
|
+
chain;
|
|
23
37
|
constructor(optionsOrChain) {
|
|
24
|
-
this.postBeefMode = 'UntilSuccess';
|
|
25
|
-
/**
|
|
26
|
-
* Soft timeout used for each provider call in `UntilSuccess` mode.
|
|
27
|
-
* This bounds request latency when a provider hangs before failover.
|
|
28
|
-
*/
|
|
29
|
-
this.postBeefUntilSuccessSoftTimeoutMs = 5000;
|
|
30
|
-
/**
|
|
31
|
-
* Additional soft-timeout budget (ms) per KiB of serialized Beef payload.
|
|
32
|
-
* Helps avoid false timeout failover on legitimately large submissions.
|
|
33
|
-
*/
|
|
34
|
-
this.postBeefUntilSuccessSoftTimeoutPerKbMs = 50;
|
|
35
|
-
/**
|
|
36
|
-
* Upper bound for adaptive soft-timeout in `UntilSuccess` mode.
|
|
37
|
-
*/
|
|
38
|
-
this.postBeefUntilSuccessSoftTimeoutMaxMs = 30000;
|
|
39
38
|
this.chain = typeof optionsOrChain === 'string' ? optionsOrChain : optionsOrChain.chain;
|
|
40
39
|
if (this.chain === 'mock') {
|
|
41
40
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('chain', '\'main\', \'test\', or \'teratest\'. Use MockServices for \'mock\' chain.');
|
|
@@ -119,15 +118,14 @@ class Services {
|
|
|
119
118
|
return this.options.bsvExchangeRate.rate;
|
|
120
119
|
}
|
|
121
120
|
async getFiatExchangeRate(currency, base) {
|
|
122
|
-
|
|
123
|
-
base || (base = 'USD');
|
|
121
|
+
base ||= 'USD';
|
|
124
122
|
if (currency === base)
|
|
125
123
|
return 1;
|
|
126
124
|
const required = base === 'USD' ? [currency] : [currency, base];
|
|
127
125
|
await this.updateFiatExchangeRates(required, this.options.fiatUpdateMsecs);
|
|
128
126
|
const rates = this.options.fiatExchangeRates;
|
|
129
|
-
const c =
|
|
130
|
-
const b =
|
|
127
|
+
const c = rates.rates?.[currency];
|
|
128
|
+
const b = rates.rates?.[base];
|
|
131
129
|
if (typeof c !== 'number') {
|
|
132
130
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('currency', `valid fiat currency '${currency}' with an exchange rate.`);
|
|
133
131
|
}
|
|
@@ -137,12 +135,11 @@ class Services {
|
|
|
137
135
|
return c / b;
|
|
138
136
|
}
|
|
139
137
|
async getFiatExchangeRates(targetCurrencies) {
|
|
140
|
-
var _a;
|
|
141
138
|
await this.updateFiatExchangeRates(targetCurrencies, this.options.fiatUpdateMsecs);
|
|
142
139
|
const stored = this.options.fiatExchangeRates;
|
|
143
140
|
const rates = {};
|
|
144
141
|
for (const c of targetCurrencies) {
|
|
145
|
-
const v =
|
|
142
|
+
const v = stored.rates?.[c];
|
|
146
143
|
if (typeof v === 'number') {
|
|
147
144
|
rates[c] = v;
|
|
148
145
|
}
|
|
@@ -227,16 +224,14 @@ class Services {
|
|
|
227
224
|
return hash;
|
|
228
225
|
}
|
|
229
226
|
async isUtxo(output) {
|
|
230
|
-
var _a;
|
|
231
227
|
if (output.lockingScript == null) {
|
|
232
228
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('output.lockingScript', 'validated by storage provider validateOutputScript.');
|
|
233
229
|
}
|
|
234
230
|
const hash = this.hashOutputScript(sdk_1.Utils.toHex(output.lockingScript));
|
|
235
|
-
const or = await this.getUtxoStatus(hash, undefined, `${
|
|
231
|
+
const or = await this.getUtxoStatus(hash, undefined, `${output.txid ?? ''}.${output.vout}`);
|
|
236
232
|
return or.isUtxo === true;
|
|
237
233
|
}
|
|
238
234
|
async getUtxoStatus(output, outputFormat, outpoint, useNext, logger) {
|
|
239
|
-
var _a;
|
|
240
235
|
const services = this.getUtxoStatusServices;
|
|
241
236
|
if (useNext === true)
|
|
242
237
|
services.next();
|
|
@@ -246,14 +241,14 @@ class Services {
|
|
|
246
241
|
error: new WERR_errors_1.WERR_INTERNAL('No services available.'),
|
|
247
242
|
details: []
|
|
248
243
|
};
|
|
249
|
-
logger
|
|
244
|
+
logger?.group('services getUtxoStatus');
|
|
250
245
|
for (let retry = 0; retry < 2; retry++) {
|
|
251
|
-
r0 =
|
|
246
|
+
r0 = await this.tryUtxoStatusProviders(services, output, outputFormat, outpoint, logger) ?? r0;
|
|
252
247
|
if (r0.status === 'success')
|
|
253
248
|
break;
|
|
254
249
|
await (0, utilityHelpers_1.wait)(2000);
|
|
255
250
|
}
|
|
256
|
-
logger
|
|
251
|
+
logger?.groupEnd();
|
|
257
252
|
return r0;
|
|
258
253
|
}
|
|
259
254
|
async tryUtxoStatusProviders(services, output, outputFormat, outpoint, logger) {
|
|
@@ -261,7 +256,7 @@ class Services {
|
|
|
261
256
|
const stc = services.serviceToCall;
|
|
262
257
|
try {
|
|
263
258
|
const r = await stc.service(output, outputFormat, outpoint);
|
|
264
|
-
logger
|
|
259
|
+
logger?.log(`${stc.providerName} status ${r.status}`);
|
|
265
260
|
if (r.status === 'success') {
|
|
266
261
|
services.addServiceCallSuccess(stc);
|
|
267
262
|
return r;
|
|
@@ -288,12 +283,12 @@ class Services {
|
|
|
288
283
|
error: new WERR_errors_1.WERR_INTERNAL('No services available.'),
|
|
289
284
|
history: []
|
|
290
285
|
};
|
|
291
|
-
logger
|
|
286
|
+
logger?.group('services getScriptHashHistory');
|
|
292
287
|
for (let tries = 0; tries < services.count; tries++) {
|
|
293
288
|
const stc = services.serviceToCall;
|
|
294
289
|
try {
|
|
295
290
|
const r = await stc.service(hash);
|
|
296
|
-
logger
|
|
291
|
+
logger?.log(`${stc.providerName} status ${r.status}`);
|
|
297
292
|
if (r.status === 'success') {
|
|
298
293
|
r0 = r;
|
|
299
294
|
break;
|
|
@@ -309,9 +304,24 @@ class Services {
|
|
|
309
304
|
}
|
|
310
305
|
services.next();
|
|
311
306
|
}
|
|
312
|
-
logger
|
|
307
|
+
logger?.groupEnd();
|
|
313
308
|
return r0;
|
|
314
309
|
}
|
|
310
|
+
postBeefMode = 'UntilSuccess';
|
|
311
|
+
/**
|
|
312
|
+
* Soft timeout used for each provider call in `UntilSuccess` mode.
|
|
313
|
+
* This bounds request latency when a provider hangs before failover.
|
|
314
|
+
*/
|
|
315
|
+
postBeefUntilSuccessSoftTimeoutMs = 5000;
|
|
316
|
+
/**
|
|
317
|
+
* Additional soft-timeout budget (ms) per KiB of serialized Beef payload.
|
|
318
|
+
* Helps avoid false timeout failover on legitimately large submissions.
|
|
319
|
+
*/
|
|
320
|
+
postBeefUntilSuccessSoftTimeoutPerKbMs = 50;
|
|
321
|
+
/**
|
|
322
|
+
* Upper bound for adaptive soft-timeout in `UntilSuccess` mode.
|
|
323
|
+
*/
|
|
324
|
+
postBeefUntilSuccessSoftTimeoutMaxMs = 30000;
|
|
315
325
|
/**
|
|
316
326
|
*
|
|
317
327
|
* @param beef
|
|
@@ -319,22 +329,21 @@ class Services {
|
|
|
319
329
|
* @returns
|
|
320
330
|
*/
|
|
321
331
|
async postBeef(beef, txids, logger) {
|
|
322
|
-
var _a, _b;
|
|
323
332
|
let rs = [];
|
|
324
333
|
const services = this.postBeefServices;
|
|
325
334
|
const stcs = services.allServicesToCall;
|
|
326
335
|
const softTimeoutMs = this.getPostBeefSoftTimeoutMs(beef);
|
|
327
|
-
logger
|
|
336
|
+
logger?.group('services postBeef');
|
|
328
337
|
switch (this.postBeefMode) {
|
|
329
338
|
case 'UntilSuccess':
|
|
330
339
|
for (const stc of stcs) {
|
|
331
340
|
const r = await callService(stc, softTimeoutMs);
|
|
332
|
-
logger
|
|
341
|
+
logger?.log(`${stc.providerName} status ${r.status}`);
|
|
333
342
|
rs.push(r);
|
|
334
343
|
if (r.status === 'success')
|
|
335
344
|
break;
|
|
336
|
-
const softTimedOut =
|
|
337
|
-
if (!softTimedOut &&
|
|
345
|
+
const softTimedOut = r.notes?.some(n => n.what === 'postBeefServiceTimeout') === true;
|
|
346
|
+
if (!softTimedOut && r.txidResults?.every(txr => txr.serviceError)) {
|
|
338
347
|
// move this service to the end of the list
|
|
339
348
|
this.postBeefServices.moveServiceToLast(stc);
|
|
340
349
|
}
|
|
@@ -347,7 +356,7 @@ class Services {
|
|
|
347
356
|
}));
|
|
348
357
|
break;
|
|
349
358
|
}
|
|
350
|
-
logger
|
|
359
|
+
logger?.groupEnd();
|
|
351
360
|
return rs;
|
|
352
361
|
async function callService(stc, timeoutMs) {
|
|
353
362
|
const callPromise = stc.service(beef, txids);
|
|
@@ -483,32 +492,31 @@ class Services {
|
|
|
483
492
|
return header;
|
|
484
493
|
};
|
|
485
494
|
let header = await this.invokeChaintracksWithRetry(method);
|
|
486
|
-
header
|
|
495
|
+
header ??= await this.whatsonchain.getBlockHeaderByHash(hash);
|
|
487
496
|
if (header == null)
|
|
488
497
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('hash', `valid blockhash '${hash}' on mined chain ${this.chain}`);
|
|
489
498
|
return header;
|
|
490
499
|
}
|
|
491
500
|
async getMerklePath(txid, useNext, logger) {
|
|
492
|
-
var _a, _b;
|
|
493
501
|
const services = this.getMerklePathServices;
|
|
494
502
|
if (useNext === true)
|
|
495
503
|
services.next();
|
|
496
504
|
const r0 = { notes: [] };
|
|
497
|
-
logger
|
|
505
|
+
logger?.group('services getMerklePath');
|
|
498
506
|
for (let tries = 0; tries < services.count; tries++) {
|
|
499
507
|
const stc = services.serviceToCall;
|
|
500
508
|
try {
|
|
501
509
|
const r = await stc.service(txid, this);
|
|
502
510
|
if (r.notes != null) {
|
|
503
|
-
r0.notes =
|
|
511
|
+
r0.notes = r0.notes ?? [];
|
|
504
512
|
r0.notes.push(...r.notes);
|
|
505
513
|
}
|
|
506
|
-
|
|
514
|
+
r0.name ??= r.name;
|
|
507
515
|
if (r.merklePath == null) {
|
|
508
|
-
logger
|
|
516
|
+
logger?.log(`${stc.providerName} no merklePath`);
|
|
509
517
|
}
|
|
510
518
|
else {
|
|
511
|
-
logger
|
|
519
|
+
logger?.log(`${stc.providerName} has merklePath`);
|
|
512
520
|
// If we have a proof, call it done.
|
|
513
521
|
r0.merklePath = r.merklePath;
|
|
514
522
|
r0.header = r.header;
|
|
@@ -535,11 +543,10 @@ class Services {
|
|
|
535
543
|
return r0;
|
|
536
544
|
}
|
|
537
545
|
async updateFiatExchangeRates(targetCurrencies, updateMsecs) {
|
|
538
|
-
|
|
539
|
-
updateMsecs !== null && updateMsecs !== void 0 ? updateMsecs : (updateMsecs = 1000 * 60 * 60 * 24);
|
|
546
|
+
updateMsecs ??= 1000 * 60 * 60 * 24;
|
|
540
547
|
const freshnessDate = new Date(Date.now() - updateMsecs);
|
|
541
548
|
const stored = this.options.fiatExchangeRates;
|
|
542
|
-
const storedRates =
|
|
549
|
+
const storedRates = stored.rates ?? {};
|
|
543
550
|
const toFetch = this.collectStaleCurrencies(targetCurrencies, storedRates, stored, freshnessDate);
|
|
544
551
|
if (toFetch.length === 0) {
|
|
545
552
|
this.options.fiatExchangeRates = { timestamp: stored.timestamp, base: stored.base, rates: storedRates, rateTimestamps: stored.rateTimestamps };
|
|
@@ -555,7 +562,6 @@ class Services {
|
|
|
555
562
|
return this.options.fiatExchangeRates;
|
|
556
563
|
}
|
|
557
564
|
collectStaleCurrencies(targetCurrencies, storedRates, stored, freshnessDate) {
|
|
558
|
-
var _a, _b;
|
|
559
565
|
const toFetch = [];
|
|
560
566
|
for (const c of targetCurrencies) {
|
|
561
567
|
if (c === 'USD') {
|
|
@@ -564,7 +570,7 @@ class Services {
|
|
|
564
570
|
continue;
|
|
565
571
|
}
|
|
566
572
|
const v = storedRates[c];
|
|
567
|
-
const ts =
|
|
573
|
+
const ts = stored.rateTimestamps?.[c] ?? stored.timestamp;
|
|
568
574
|
const fresh = typeof v === 'number' && ts instanceof Date && ts > freshnessDate;
|
|
569
575
|
if (!fresh)
|
|
570
576
|
toFetch.push(c);
|
|
@@ -577,7 +583,7 @@ class Services {
|
|
|
577
583
|
const stc = services.serviceToCall;
|
|
578
584
|
try {
|
|
579
585
|
const r = await stc.service(toFetch, this.options);
|
|
580
|
-
if (toFetch.every(c =>
|
|
586
|
+
if (toFetch.every(c => c === 'USD' || typeof r.rates?.[c] === 'number')) {
|
|
581
587
|
services.addServiceCallSuccess(stc);
|
|
582
588
|
return r;
|
|
583
589
|
}
|
|
@@ -591,11 +597,10 @@ class Services {
|
|
|
591
597
|
return undefined;
|
|
592
598
|
}
|
|
593
599
|
mergeFiatRates(stored, storedRates, fetched) {
|
|
594
|
-
var _a, _b;
|
|
595
600
|
const nextRates = { ...storedRates };
|
|
596
|
-
const nextTimestamps = { ...(
|
|
601
|
+
const nextTimestamps = { ...(stored.rateTimestamps ?? {}) };
|
|
597
602
|
for (const c of (fetched.rates != null ? Object.keys(fetched.rates) : [])) {
|
|
598
|
-
const v =
|
|
603
|
+
const v = fetched.rates?.[c];
|
|
599
604
|
if (typeof v === 'number') {
|
|
600
605
|
nextRates[c] = v;
|
|
601
606
|
nextTimestamps[c] = fetched.timestamp;
|
|
@@ -641,7 +646,6 @@ class Services {
|
|
|
641
646
|
}
|
|
642
647
|
}
|
|
643
648
|
exports.Services = Services;
|
|
644
|
-
Services.getStatusForTxidsBatchLimit = 20;
|
|
645
649
|
function validateScriptHash(output, outputFormat) {
|
|
646
650
|
let b = (0, utilityHelpers_noBuffer_1.asArray)(output);
|
|
647
651
|
if (outputFormat == null) {
|