@bopen-io/wallet-toolbox 2.15.0-bopen.2 → 2.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/README.md +127 -25
  3. package/docs/client.md +312 -154
  4. package/docs/monitor.md +2 -2
  5. package/docs/no-send-expiry.md +7 -2
  6. package/docs/services.md +143 -60
  7. package/docs/wallet.md +208 -117
  8. package/out/src/CWIStyleWalletManager.d.ts +36 -5
  9. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  10. package/out/src/CWIStyleWalletManager.js +356 -60
  11. package/out/src/CWIStyleWalletManager.js.map +1 -1
  12. package/out/src/Wallet.d.ts.map +1 -1
  13. package/out/src/Wallet.js +8 -3
  14. package/out/src/Wallet.js.map +1 -1
  15. package/out/src/WalletAuthenticationManager.d.ts +3 -0
  16. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  17. package/out/src/WalletAuthenticationManager.js +86 -3
  18. package/out/src/WalletAuthenticationManager.js.map +1 -1
  19. package/out/src/WalletPermissionsManager.d.ts +63 -9
  20. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  21. package/out/src/WalletPermissionsManager.js +213 -49
  22. package/out/src/WalletPermissionsManager.js.map +1 -1
  23. package/out/src/monitor/Monitor.js +1 -1
  24. package/out/src/monitor/Monitor.js.map +1 -1
  25. package/out/src/monitor/monitorValidation.d.ts +2 -1
  26. package/out/src/monitor/monitorValidation.d.ts.map +1 -1
  27. package/out/src/monitor/monitorValidation.js +2 -2
  28. package/out/src/monitor/monitorValidation.js.map +1 -1
  29. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  30. package/out/src/monitor/tasks/TaskNewHeader.js +1 -1
  31. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  32. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  33. package/out/src/monitor/tasks/TaskReviewUtxos.js +2 -1
  34. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  35. package/out/src/sdk/WERR_errors.d.ts +4 -0
  36. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  37. package/out/src/sdk/WERR_errors.js +4 -0
  38. package/out/src/sdk/WERR_errors.js.map +1 -1
  39. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  40. package/out/src/sdk/WalletErrorFromJson.js +23 -2
  41. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  42. package/out/src/sdk/WalletStorage.interfaces.d.ts +11 -0
  43. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  44. package/out/src/sdk/types.d.ts +12 -1
  45. package/out/src/sdk/types.d.ts.map +1 -1
  46. package/out/src/sdk/types.js +19 -2
  47. package/out/src/sdk/types.js.map +1 -1
  48. package/out/src/services/Services.d.ts.map +1 -1
  49. package/out/src/services/Services.js +5 -3
  50. package/out/src/services/Services.js.map +1 -1
  51. package/out/src/services/chaintracker/BHServiceClient.js +2 -2
  52. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  53. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +2 -2
  54. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  55. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  56. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +3 -1
  57. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  58. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  59. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +3 -1
  60. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  61. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +1 -1
  62. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  63. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +1 -1
  64. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  65. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +1 -1
  66. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  67. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  68. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +2 -0
  69. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  70. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +2 -2
  71. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  72. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +6 -6
  73. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  74. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +2 -2
  75. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  76. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +2 -2
  77. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  78. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +1 -0
  79. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  80. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -3
  81. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  82. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  83. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +13 -9
  84. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  85. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  86. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +2 -2
  87. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  88. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
  89. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +2 -2
  90. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
  91. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +23 -5
  92. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  93. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +58 -16
  94. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  95. package/out/src/services/createDefaultWalletServicesOptions.d.ts +6 -3
  96. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  97. package/out/src/services/createDefaultWalletServicesOptions.js +18 -6
  98. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  99. package/out/src/services/networkConfig.d.ts +7 -0
  100. package/out/src/services/networkConfig.d.ts.map +1 -1
  101. package/out/src/services/networkConfig.js +25 -2
  102. package/out/src/services/networkConfig.js.map +1 -1
  103. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  104. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  105. package/out/src/services/providers/SdkWhatsOnChain.js +17 -6
  106. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  107. package/out/src/services/validateMerklePathResult.d.ts +4 -3
  108. package/out/src/services/validateMerklePathResult.d.ts.map +1 -1
  109. package/out/src/services/validateMerklePathResult.js +6 -6
  110. package/out/src/services/validateMerklePathResult.js.map +1 -1
  111. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  112. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +3 -2
  113. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  114. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  115. package/out/src/signer/methods/buildSignableTransaction.js +7 -3
  116. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  117. package/out/src/signer/methods/createAction.d.ts +32 -1
  118. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  119. package/out/src/signer/methods/createAction.js +56 -1
  120. package/out/src/signer/methods/createAction.js.map +1 -1
  121. package/out/src/signer/methods/internalizeAction.js +1 -1
  122. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  123. package/out/src/signer/methods/signAction.js +8 -1
  124. package/out/src/signer/methods/signAction.js.map +1 -1
  125. package/out/src/storage/StorageIdb.js +4 -4
  126. package/out/src/storage/StorageIdb.js.map +1 -1
  127. package/out/src/storage/StorageKnex.d.ts +6 -2
  128. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  129. package/out/src/storage/StorageKnex.js +114 -0
  130. package/out/src/storage/StorageKnex.js.map +1 -1
  131. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  132. package/out/src/storage/WalletStorageManager.js +5 -0
  133. package/out/src/storage/WalletStorageManager.js.map +1 -1
  134. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  135. package/out/src/storage/methods/ListOutputsSpecOp.js +84 -0
  136. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  137. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  138. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +7 -3
  139. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  140. package/out/src/storage/methods/createAction.d.ts +5 -0
  141. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  142. package/out/src/storage/methods/createAction.js +13 -6
  143. package/out/src/storage/methods/createAction.js.map +1 -1
  144. package/out/src/storage/methods/generateChange.d.ts +6 -0
  145. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  146. package/out/src/storage/methods/generateChange.js +10 -3
  147. package/out/src/storage/methods/generateChange.js.map +1 -1
  148. package/out/src/storage/methods/internalizeAction.d.ts +8 -1
  149. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  150. package/out/src/storage/methods/internalizeAction.js +106 -42
  151. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  152. package/out/src/storage/methods/listOutputsKnex.js +1 -1
  153. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  154. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
  155. package/out/src/storage/methods/noSendExpiry.js +14 -4
  156. package/out/src/storage/methods/noSendExpiry.js.map +1 -1
  157. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  158. package/out/src/storage/remoting/StorageClientBase.js +15 -5
  159. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  160. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  161. package/out/src/storage/remoting/StorageServer.js +12 -1
  162. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  163. package/out/src/storage/remoting/syncChunkBinary.d.ts +10 -0
  164. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -1
  165. package/out/src/storage/remoting/syncChunkBinary.js +15 -11
  166. package/out/src/storage/remoting/syncChunkBinary.js.map +1 -1
  167. package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
  168. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  169. package/out/src/storage/schema/KnexMigrations.js +26 -4
  170. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  171. package/out/src/storage/sync/liveSyncGuards.d.ts +11 -0
  172. package/out/src/storage/sync/liveSyncGuards.d.ts.map +1 -0
  173. package/out/src/storage/sync/liveSyncGuards.js +22 -0
  174. package/out/src/storage/sync/liveSyncGuards.js.map +1 -0
  175. package/out/src/utility/actionOutputAuthorizations.d.ts +10 -0
  176. package/out/src/utility/actionOutputAuthorizations.d.ts.map +1 -0
  177. package/out/src/utility/actionOutputAuthorizations.js +25 -0
  178. package/out/src/utility/actionOutputAuthorizations.js.map +1 -0
  179. package/out/src/utility/index.all.d.ts +1 -0
  180. package/out/src/utility/index.all.d.ts.map +1 -1
  181. package/out/src/utility/index.all.js +1 -0
  182. package/out/src/utility/index.all.js.map +1 -1
  183. package/out/src/utility/index.client.d.ts +1 -0
  184. package/out/src/utility/index.client.d.ts.map +1 -1
  185. package/out/src/utility/index.client.js +1 -0
  186. package/out/src/utility/index.client.js.map +1 -1
  187. package/out/src/utility/numericTotalOutputs.d.ts +7 -0
  188. package/out/src/utility/numericTotalOutputs.d.ts.map +1 -0
  189. package/out/src/utility/numericTotalOutputs.js +15 -0
  190. package/out/src/utility/numericTotalOutputs.js.map +1 -0
  191. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  192. package/out/src/utility/utilityHelpers.js +2 -0
  193. package/out/src/utility/utilityHelpers.js.map +1 -1
  194. package/package.json +43 -46
@@ -15,6 +15,7 @@ exports.deserializeBlockHeaders = deserializeBlockHeaders;
15
15
  exports.validateBaseBlockHeaderFormat = validateBaseBlockHeaderFormat;
16
16
  exports.validateHeaderFormat = validateHeaderFormat;
17
17
  exports.validateHeaderDifficulty = validateHeaderDifficulty;
18
+ exports.proofOfWorkLimitBits = proofOfWorkLimitBits;
18
19
  exports.validateHeaderProofOfWork = validateHeaderProofOfWork;
19
20
  exports.blockHash = blockHash;
20
21
  exports.serializeBaseBlockHeader = serializeBaseBlockHeader;
@@ -169,7 +170,7 @@ async function validateBulkFileData(bf, prevHash, prevChainWork, fetch) {
169
170
  if (vbf.firstHeight + vbf.count - 1 > MAX_BLOCK_HEIGHT) {
170
171
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('bf', 'a header range within the supported block heights');
171
172
  }
172
- if (!['main', 'test', 'stn', 'ttn', 'tstn', 'mock'].includes(vbf.chain)) {
173
+ if (!['main', 'test', 'stn', 'ttn', 'tstn', 'regtest', 'mock'].includes(vbf.chain)) {
173
174
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('bf.chain', 'a supported Chaintracks network');
174
175
  }
175
176
  if (typeof vbf.fileName !== 'string' ||
@@ -197,7 +198,7 @@ async function validateBulkFileData(bf, prevHash, prevChainWork, fetch) {
197
198
  if (bf.fileHash && bf.fileHash !== vbf.fileHash) {
198
199
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('bf.fileHash', `expected ${bf.fileHash} but got ${vbf.fileHash}`);
199
200
  }
200
- const { lastHeaderHash, lastChainWork } = validateBufferOfHeaders(vbf.data, prevHash, 0, undefined, prevChainWork);
201
+ const { lastHeaderHash, lastChainWork } = validateBufferOfHeaders(vbf.data, prevHash, 0, undefined, prevChainWork, vbf.chain);
201
202
  if (bf.lastHash &&
202
203
  (typeof bf.lastHash !== 'string' || !HEX_32_BYTES.test(bf.lastHash) || bf.lastHash.toLowerCase() !== lastHeaderHash)) {
203
204
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('bf.lastHash', `expected ${bf.lastHash} but got ${lastHeaderHash}`);
@@ -223,9 +224,12 @@ async function validateBulkFileData(bf, prevHash, prevChainWork, fetch) {
223
224
  * @param previousHash Expected previousHash of first header.
224
225
  * @param offset Optional starting offset within `buffer`.
225
226
  * @param count Optional number of headers to validate. Validates to end of buffer if missing.
227
+ * @param previousChainWork Optional chain work through `previousHash`; when present, the result carries it forward.
228
+ * @param chain Optional chain the headers belong to. Selects its proof-of-work limit
229
+ * (see `proofOfWorkLimitBits`); omitted means the mainnet limit.
226
230
  * @returns Header hash of last header validated or previousHash if there where none.
227
231
  */
228
- function validateBufferOfHeaders(buffer, previousHash, offset = 0, count = -1, previousChainWork) {
232
+ function validateBufferOfHeaders(buffer, previousHash, offset = 0, count = -1, previousChainWork, chain) {
229
233
  if (!(buffer instanceof Uint8Array))
230
234
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('buffer', 'a Uint8Array');
231
235
  if (!Number.isSafeInteger(offset) || offset < 0 || offset > buffer.length) {
@@ -266,9 +270,9 @@ function validateBufferOfHeaders(buffer, previousHash, offset = 0, count = -1, p
266
270
  }
267
271
  lastHeaderHash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(header));
268
272
  (0, dirtyHashes_1.validateAgainstDirtyHashes)(lastHeaderHash);
269
- validateConsensusProofOfWork(lastHeaderHash, h.bits);
273
+ validateConsensusProofOfWork(lastHeaderHash, h.bits, chain);
270
274
  if (lastChainWork) {
271
- lastChainWork = addWork(lastChainWork, convertBitsToWork(h.bits));
275
+ lastChainWork = addWork(lastChainWork, convertBitsToWork(h.bits, chain));
272
276
  }
273
277
  }
274
278
  return { lastHeaderHash, lastChainWork };
@@ -363,11 +367,13 @@ function readCompactBits(bits) {
363
367
  /**
364
368
  * Computes "chainWork" value for 4 byte Bitcoin block header "bits" value.
365
369
  * @param bits number or converted from Buffer using `readUint32LE`
370
+ * @param chain Optional chain the header belongs to. Selects its proof-of-work limit
371
+ * (see `proofOfWorkLimitBits`); omitted means the mainnet limit.
366
372
  * @returns 32 byte Buffer with "chainWork" value
367
373
  */
368
- function convertBitsToWork(bits) {
374
+ function convertBitsToWork(bits, chain) {
369
375
  const encoded = Array.isArray(bits) ? readCompactBits(bits) : bits;
370
- const target = validateCompactTarget(encoded);
376
+ const target = validateCompactTarget(encoded, chain);
371
377
  // convert target to work
372
378
  const work = target.notn(256).div(target.addn(1)).addn(1);
373
379
  return work.toString(16).padStart(64, '0');
@@ -498,11 +504,14 @@ function validateHeaderFormat(header) {
498
504
  /**
499
505
  * Ensures that a header has a valid proof-of-work target and hash.
500
506
  *
501
- * @param header The header to validate
507
+ * @param hash The header hash, big-endian.
508
+ * @param bits The header's compact target.
509
+ * @param chain Optional chain the header belongs to. Selects its proof-of-work limit
510
+ * (see `proofOfWorkLimitBits`); omitted means the mainnet limit.
502
511
  *
503
512
  * @returns true if the header is valid
504
513
  */
505
- function validateHeaderDifficulty(hash, bits) {
514
+ function validateHeaderDifficulty(hash, bits, chain) {
506
515
  if (!Array.isArray(hash) && !(hash instanceof Uint8Array)) {
507
516
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('hash', 'exactly 32 bytes');
508
517
  }
@@ -510,7 +519,7 @@ function validateHeaderDifficulty(hash, bits) {
510
519
  if (hash.length !== 32)
511
520
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('hash', 'exactly 32 bytes');
512
521
  const hashBN = new sdk_1.BigNumber((0, utilityHelpers_noBuffer_1.asArray)(hash));
513
- const target = validateCompactTarget(bits);
522
+ const target = validateCompactTarget(bits, chain);
514
523
  if (hashBN.lte(target))
515
524
  return true;
516
525
  throw new Error('Block hash is not less than specified target.');
@@ -521,12 +530,31 @@ const proofOfWorkExceptions = new Map([
521
530
  // header receives this exception.
522
531
  ['6b38bdbcd73a19f7889d23e1fa6166a9de71affceca60ca3bb1b28af8135c594', 0x1d00ffff]
523
532
  ]);
524
- function validateConsensusProofOfWork(hash, bits) {
533
+ /** Compact encoding of the highest target (lowest difficulty) mainnet and every public test network admit. */
534
+ const MAINNET_POW_LIMIT_BITS = 0x1d00ffff;
535
+ /**
536
+ * Compact encoding of regtest's highest target, as Teranode defines it
537
+ * (go-chaincfg `RegressionNetParams.PowLimitBits`). Every regtest header carries
538
+ * these bits, so its proof of work costs nothing to produce: a regtest chain is
539
+ * only as trustworthy as the ChainTracks service that serves it.
540
+ */
541
+ const REGTEST_POW_LIMIT_BITS = 0x207fffff;
542
+ /**
543
+ * The compact encoding of the highest proof-of-work target `chain` admits.
544
+ *
545
+ * Only `'regtest'` raises the limit. Every other chain — and an omitted chain,
546
+ * which is how every caller that predates this parameter asks — keeps the mainnet
547
+ * limit, so no existing validation is relaxed.
548
+ */
549
+ function proofOfWorkLimitBits(chain) {
550
+ return chain === 'regtest' ? REGTEST_POW_LIMIT_BITS : MAINNET_POW_LIMIT_BITS;
551
+ }
552
+ function validateConsensusProofOfWork(hash, bits, chain) {
525
553
  if (proofOfWorkExceptions.get(hash) === bits)
526
554
  return;
527
- validateHeaderDifficulty((0, utilityHelpers_noBuffer_1.asArray)(hash, 'hex'), bits);
555
+ validateHeaderDifficulty((0, utilityHelpers_noBuffer_1.asArray)(hash, 'hex'), bits, chain);
528
556
  }
529
- function validateCompactTarget(bits) {
557
+ function validateCompactTarget(bits, chain) {
530
558
  if (!Number.isSafeInteger(bits) || bits < 0 || bits > 0xffffffff) {
531
559
  throw new Error('Block target encoding is invalid.');
532
560
  }
@@ -538,7 +566,7 @@ function validateCompactTarget(bits) {
538
566
  throw new Error('Block target encoding is invalid.');
539
567
  }
540
568
  const target = convertBitsToTarget(bits);
541
- const proofOfWorkLimit = convertBitsToTarget(0x1d00ffff);
569
+ const proofOfWorkLimit = convertBitsToTarget(proofOfWorkLimitBits(chain));
542
570
  if (target.gt(proofOfWorkLimit)) {
543
571
  throw new Error('Block target exceeds the proof-of-work limit.');
544
572
  }
@@ -549,11 +577,13 @@ function validateCompactTarget(bits) {
549
577
  * proof-of-work target.
550
578
  *
551
579
  * @param header Header whose format and hash have already been checked.
580
+ * @param chain Optional chain the header belongs to. Selects its proof-of-work limit
581
+ * (see `proofOfWorkLimitBits`); omitted means the mainnet limit.
552
582
  * @returns true if the header has valid proof-of-work.
553
583
  * @publicbody
554
584
  */
555
- function validateHeaderProofOfWork(header) {
556
- validateConsensusProofOfWork(header.hash, header.bits);
585
+ function validateHeaderProofOfWork(header, chain) {
586
+ validateConsensusProofOfWork(header.hash, header.bits, chain);
557
587
  return true;
558
588
  }
559
589
  /**
@@ -709,6 +739,18 @@ function genesisHeader(chain) {
709
739
  height: 0,
710
740
  hash: '000000005d221c0e023cb56b5682cf094f32cd959958b40bc931e5797cae706c'
711
741
  };
742
+ case 'regtest':
743
+ // go-chaincfg regTestGenesisBlock: the Bitcoin regtest genesis header.
744
+ return {
745
+ version: 1,
746
+ previousHash: '0000000000000000000000000000000000000000000000000000000000000000',
747
+ merkleRoot: '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b',
748
+ time: 1296688602,
749
+ bits: 545259519,
750
+ nonce: 2,
751
+ height: 0,
752
+ hash: '0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206'
753
+ };
712
754
  case 'mock':
713
755
  throw new Error("genesisHeader does not support 'mock' chain. Mock chain generates its own genesis block.");
714
756
  }
@@ -1 +1 @@
1
- {"version":3,"file":"blockHeaderUtilities.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockHeaderUtilities.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { Chain } from '../sdk/types';
2
2
  import { WalletServicesOptions } from '../sdk/WalletServices.interfaces';
3
3
  import { ChaintracksClientApi } from './chaintracker/chaintracks/Api/ChaintracksClientApi';
4
+ import { regtestArcadeUrl, regtestChaintracksUrl } from './networkConfig';
5
+ export { regtestArcadeUrl, regtestChaintracksUrl };
4
6
  /**
5
7
  * Returns the credential-free default ChainTracks client for a supported
6
8
  * public network, or an operator-configured client for stn/tstn.
@@ -29,9 +31,10 @@ export declare function createDefaultWalletServicesOptions(...[chain, arcCallbac
29
31
  deploymentId?: string,
30
32
  chaintracks?: ChaintracksClientApi,
31
33
  /**
32
- * Optional Arcade endpoint. TTN uses its public Arcade endpoint by default; other
33
- * chains remain opt-in. Arcade is registered as the primary broadcaster ahead of ARC.
34
- * Pass an empty string to explicitly disable the TTN default.
34
+ * Optional Arcade endpoint. TTN uses its public Arcade endpoint by default and regtest
35
+ * uses REGTEST_ARCADE_URL; other chains remain opt-in. Arcade is registered as the
36
+ * primary broadcaster ahead of ARC. Pass an empty string to explicitly disable the
37
+ * TTN or regtest default.
35
38
  */
36
39
  arcadeUrl?: string,
37
40
  /** Server-level API key (Bearer) for the Arcade endpoint, if it requires auth. */
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultWalletServicesOptions.d.ts","sourceRoot":"","sources":["../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAA;AAiC1F;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,oBAAoB,CAqBlG;AAED,wBAAgB,kCAAkC,CAChD,GAAG,CACD,KAAK,EACL,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,mBAAmB,CACpB,EAAE;IACD,KAAK,EAAE,KAAK;IACZ,cAAc,CAAC,EAAE,MAAM;IACvB,gBAAgB,CAAC,EAAE,MAAM;IACzB,aAAa,CAAC,EAAE,MAAM;IACtB,oBAAoB,CAAC,EAAE,MAAM;IAC7B,aAAa,CAAC,EAAE,MAAM;IACtB,YAAY,CAAC,EAAE,MAAM;IACrB,WAAW,CAAC,EAAE,oBAAoB;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM;IACrB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM;CAC7B,GACA,qBAAqB,CA4EvB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAcjE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAgBlD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAElE"}
1
+ {"version":3,"file":"createDefaultWalletServicesOptions.d.ts","sourceRoot":"","sources":["../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAA;AAG1F,OAAO,EAEL,gBAAgB,EAChB,qBAAqB,EAKtB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAA;AA8BlD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,oBAAoB,CAuBlG;AAED,wBAAgB,kCAAkC,CAChD,GAAG,CACD,KAAK,EACL,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,mBAAmB,CACpB,EAAE;IACD,KAAK,EAAE,KAAK;IACZ,cAAc,CAAC,EAAE,MAAM;IACvB,gBAAgB,CAAC,EAAE,MAAM;IACzB,aAAa,CAAC,EAAE,MAAM;IACtB,oBAAoB,CAAC,EAAE,MAAM;IAC7B,aAAa,CAAC,EAAE,MAAM;IACtB,YAAY,CAAC,EAAE,MAAM;IACrB,WAAW,CAAC,EAAE,oBAAoB;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM;IACrB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM;CAC7B,GACA,qBAAqB,CA8EvB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAiBjE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAmBlD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAElE"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.regtestChaintracksUrl = exports.regtestArcadeUrl = void 0;
3
4
  exports.createDefaultChaintracksClient = createDefaultChaintracksClient;
4
5
  exports.createDefaultWalletServicesOptions = createDefaultWalletServicesOptions;
5
6
  exports.arcadeDefaultUrl = arcadeDefaultUrl;
@@ -9,6 +10,8 @@ const utilityHelpers_1 = require("../utility/utilityHelpers");
9
10
  const ChaintracksServiceClient_1 = require("./chaintracker/chaintracks/ChaintracksServiceClient");
10
11
  const GoChaintracksServiceClient_1 = require("./chaintracker/chaintracks/GoChaintracksServiceClient");
11
12
  const networkConfig_1 = require("./networkConfig");
13
+ Object.defineProperty(exports, "regtestArcadeUrl", { enumerable: true, get: function () { return networkConfig_1.regtestArcadeUrl; } });
14
+ Object.defineProperty(exports, "regtestChaintracksUrl", { enumerable: true, get: function () { return networkConfig_1.regtestChaintracksUrl; } });
12
15
  function stripTrailingSlash(value) {
13
16
  let end = value.length;
14
17
  while (end > 0 && value[end - 1] === '/')
@@ -74,6 +77,8 @@ function createDefaultChaintracksClient(chain) {
74
77
  return configuredChaintracksClient(chain, (0, networkConfig_1.stnChaintracksUrl)());
75
78
  case 'tstn':
76
79
  return configuredChaintracksClient(chain, (0, networkConfig_1.tstnChaintracksUrl)());
80
+ case 'regtest':
81
+ return configuredChaintracksClient(chain, (0, networkConfig_1.regtestChaintracksUrl)());
77
82
  }
78
83
  }
79
84
  function createDefaultWalletServicesOptions(...[chain, arcCallbackUrl, arcCallbackToken, taalArcApiKey, gorillaPoolArcApiKey, bitailsApiKey, deploymentId, chaintracks, arcadeUrl, arcadeApiKey, arcadeCallbackToken]) {
@@ -114,8 +119,8 @@ function createDefaultWalletServicesOptions(...[chain, arcCallbackUrl, arcCallba
114
119
  chaintracksFiatExchangeRatesUrl,
115
120
  chaintracks,
116
121
  // Arcade uses EF at /tx. Legacy ARC uses BEEF at /v1/tx and has no
117
- // compatible public TTN endpoint, so do not install it as a TTN fallback.
118
- arcUrl: chain === 'ttn' ? '' : arcDefaultUrl(chain),
122
+ // compatible TTN or regtest endpoint, so do not install it as their fallback.
123
+ arcUrl: arcDefaultUrl(chain),
119
124
  arcConfig: {
120
125
  apiKey: taalArcApiKey ?? undefined,
121
126
  deploymentId,
@@ -131,10 +136,11 @@ function createDefaultWalletServicesOptions(...[chain, arcCallbackUrl, arcCallba
131
136
  },
132
137
  bitailsApiKey
133
138
  };
134
- // Arcade (bsv-blockchain/arcade) primary broadcaster. TTN has no compatible
135
- // public ARC fallback, so it defaults to the known TTN Arcade endpoint. Existing
136
- // mainnet/testnet provider sets remain opt-in and therefore unchanged.
137
- const resolvedArcadeUrl = arcadeUrl ?? (chain === 'ttn' ? arcadeDefaultUrl(chain) : undefined);
139
+ // Arcade (bsv-blockchain/arcade) primary broadcaster. TTN and regtest have no
140
+ // compatible ARC fallback, so they default to their Arcade endpoint (TTN's public
141
+ // one, regtest's from REGTEST_ARCADE_URL). Existing mainnet/testnet provider sets
142
+ // remain opt-in and therefore unchanged.
143
+ const resolvedArcadeUrl = arcadeUrl ?? (chain === 'ttn' || chain === 'regtest' ? arcadeDefaultUrl(chain) : undefined);
138
144
  if (resolvedArcadeUrl != null && resolvedArcadeUrl !== '') {
139
145
  o.arcadeUrl = resolvedArcadeUrl;
140
146
  o.arcadeConfig = {
@@ -162,6 +168,9 @@ function arcadeDefaultUrl(chain) {
162
168
  case 'tstn':
163
169
  // Private per-deployment endpoint supplied via TSTN_ARCADE_URL (undefined when unset).
164
170
  return (0, networkConfig_1.tstnArcadeUrl)();
171
+ case 'regtest':
172
+ // Private per-deployment endpoint supplied via REGTEST_ARCADE_URL (undefined when unset).
173
+ return (0, networkConfig_1.regtestArcadeUrl)();
165
174
  case 'mock':
166
175
  return undefined;
167
176
  }
@@ -179,6 +188,9 @@ function arcDefaultUrl(chain) {
179
188
  case 'tstn':
180
189
  // Private per-deployment endpoint supplied via TSTN_ARCADE_URL ('' when unset).
181
190
  return (0, networkConfig_1.tstnArcadeUrl)() ?? '';
191
+ case 'regtest':
192
+ // Regtest deployments run Arcade (EF at /tx), not legacy ARC (BEEF at /v1/tx).
193
+ return '';
182
194
  case 'mock':
183
195
  return '';
184
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,11 @@ export declare function tstnChaintracksUrl(): string;
15
15
  * legacy-compatible path when STN_CHAINTRACKS_URL is unset.
16
16
  */
17
17
  export declare function stnChaintracksUrl(): string;
18
+ /** Arcade broadcaster / ARC endpoint for regtest, or `undefined` when `REGTEST_ARCADE_URL` is unset. */
19
+ export declare function regtestArcadeUrl(): string | undefined;
20
+ /**
21
+ * ChainTracks service URL for regtest. Falls back to `${REGTEST_ARCADE_URL}/chaintracks/v1` when
22
+ * `REGTEST_CHAINTRACKS_URL` is unset (mirrors the tstn layout). Throws when neither is configured.
23
+ */
24
+ export declare function regtestChaintracksUrl(): string;
18
25
  //# sourceMappingURL=networkConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"networkConfig.d.ts","sourceRoot":"","sources":["../../../src/services/networkConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAiCpC,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAahE;AAQD,kGAAkG;AAClG,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAElD;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAQ3C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C"}
1
+ {"version":3,"file":"networkConfig.d.ts","sourceRoot":"","sources":["../../../src/services/networkConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAoCpC,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAchE;AAQD,kGAAkG;AAClG,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAElD;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAQ3C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED,wGAAwG;AACxG,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAErD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAQ9C"}
@@ -5,6 +5,8 @@ exports.tstnArcadeUrl = tstnArcadeUrl;
5
5
  exports.stnArcadeUrl = stnArcadeUrl;
6
6
  exports.tstnChaintracksUrl = tstnChaintracksUrl;
7
7
  exports.stnChaintracksUrl = stnChaintracksUrl;
8
+ exports.regtestArcadeUrl = regtestArcadeUrl;
9
+ exports.regtestChaintracksUrl = regtestChaintracksUrl;
8
10
  /**
9
11
  * Runtime service-endpoint configuration for Teranode networks that do not
10
12
  * have a public, operator-independent service endpoint.
@@ -19,11 +21,14 @@ exports.stnChaintracksUrl = stnChaintracksUrl;
19
21
  * ChainTracks when TSTN_CHAINTRACKS_URL is unset
20
22
  * (`${TSTN_ARCADE_URL}/chaintracks/v1`, mirroring the ttn layout).
21
23
  * TSTN_CHAINTRACKS_URL ChainTracks service URL.
24
+ * REGTEST_ARCADE_URL regtest Arcade broadcaster / ARC endpoint base. Also the fallback
25
+ * host for ChainTracks when REGTEST_CHAINTRACKS_URL is unset.
26
+ * REGTEST_CHAINTRACKS_URL regtest ChainTracks service URL.
22
27
  *
23
- * stn/tstn run only operator-configured Arcade and ChainTracks services; there is no
28
+ * stn/tstn/regtest run only operator-configured Arcade and ChainTracks services; there is no
24
29
  * documented WhatsOnChain service for them, so no WhatsOnChain endpoint is configured and
25
30
  * the WhatsOnChain-only lookups (raw tx, utxo status, txid status, script-hash history) are not
26
- * available on stn/tstn.
31
+ * available on stn/tstn/regtest.
27
32
  *
28
33
  * `process` is accessed defensively so importing this module remains safe in
29
34
  * browser bundles. Browser applications can still supply an explicit
@@ -45,6 +50,7 @@ function publicArcadeUrl(chain) {
45
50
  return 'https://arcade-v2-ttn-us-1.bsvblockchain.tech';
46
51
  case 'stn':
47
52
  case 'tstn':
53
+ case 'regtest':
48
54
  case 'mock':
49
55
  return undefined;
50
56
  }
@@ -89,4 +95,21 @@ function stnChaintracksUrl() {
89
95
  return `${stripTrailingSlash(arcade)}/chaintracks/v1`;
90
96
  throw new Error('stn chain requires a ChainTracks URL: set STN_CHAINTRACKS_URL (or STN_ARCADE_URL) in the environment.');
91
97
  }
98
+ /** Arcade broadcaster / ARC endpoint for regtest, or `undefined` when `REGTEST_ARCADE_URL` is unset. */
99
+ function regtestArcadeUrl() {
100
+ return readEnv('REGTEST_ARCADE_URL');
101
+ }
102
+ /**
103
+ * ChainTracks service URL for regtest. Falls back to `${REGTEST_ARCADE_URL}/chaintracks/v1` when
104
+ * `REGTEST_CHAINTRACKS_URL` is unset (mirrors the tstn layout). Throws when neither is configured.
105
+ */
106
+ function regtestChaintracksUrl() {
107
+ const explicit = readEnv('REGTEST_CHAINTRACKS_URL');
108
+ if (explicit != null)
109
+ return explicit;
110
+ const arcade = regtestArcadeUrl();
111
+ if (arcade != null)
112
+ return `${stripTrailingSlash(arcade)}/chaintracks/v1`;
113
+ throw new Error('regtest chain requires a ChainTracks URL: set REGTEST_CHAINTRACKS_URL (or REGTEST_ARCADE_URL) in the environment.');
114
+ }
92
115
  //# sourceMappingURL=networkConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"networkConfig.js","sourceRoot":"","sources":["../../../src/services/networkConfig.ts"],"names":[],"mappings":";;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACzB,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACxE,CAAC;AAED,iEAAiE;AACjE,yBAAgC,KAAY;IAC1C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,2CAA2C,CAAA;QACpD,KAAK,MAAM;YACT,OAAO,mDAAmD,CAAA;QAC5D,KAAK,KAAK;YACR,OAAO,+CAA+C,CAAA;QACxD,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;IACpB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,GAAG,EAAE,CAAA;IAC7C,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,kGAAkG;AAClG;IACE,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAA;AACnC,CAAC;AAED,4EAA4E;AAC5E;IACE,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAClC,CAAC;AAED;;;GAGG;AACH;IACE,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAChD,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAA;IACrC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,iBAAiB,CAAA;IACzE,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAA;AACH,CAAC;AAED;;;GAGG;AACH;IACE,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC/C,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAA;IACrC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,iBAAiB,CAAA;IACzE,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"networkConfig.js","sourceRoot":"","sources":["../../../src/services/networkConfig.ts"],"names":[],"mappings":";;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACzB,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACxE,CAAC;AAED,iEAAiE;AACjE,yBAAgC,KAAY;IAC1C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,2CAA2C,CAAA;QACpD,KAAK,MAAM;YACT,OAAO,mDAAmD,CAAA;QAC5D,KAAK,KAAK;YACR,OAAO,+CAA+C,CAAA;QACxD,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;IACpB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,GAAG,EAAE,CAAA;IAC7C,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,kGAAkG;AAClG;IACE,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAA;AACnC,CAAC;AAED,4EAA4E;AAC5E;IACE,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAClC,CAAC;AAED;;;GAGG;AACH;IACE,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAChD,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAA;IACrC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,iBAAiB,CAAA;IACzE,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAA;AACH,CAAC;AAED;;;GAGG;AACH;IACE,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC/C,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAA;IACrC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,iBAAiB,CAAA;IACzE,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAA;AACH,CAAC;AAED,wGAAwG;AACxG;IACE,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAA;AACtC,CAAC;AAED;;;GAGG;AACH;IACE,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACnD,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAA;IACrC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,iBAAiB,CAAA;IACzE,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAA;AACH,CAAC"}
@@ -13,11 +13,17 @@ export default class SdkWhatsOnChain implements ChainTracker {
13
13
  protected readonly requestTimeoutMsecs: number;
14
14
  /**
15
15
  * Constructs an instance of the WhatsOnChain ChainTracker.
16
+ * `tstn` and `regtest` have no WhatsOnChain service, so every request made for them is refused.
16
17
  *
17
- * @param {'main' | 'test' | 'stn'} network - The BSV network to use when calling the WhatsOnChain API.
18
+ * @param {'main' | 'test' | 'stn' | 'ttn' | 'tstn' | 'regtest'} network - The BSV network to use when calling the WhatsOnChain API.
18
19
  * @param {WhatsOnChainConfig} config - Configuration options for the WhatsOnChain ChainTracker.
19
20
  */
20
- constructor(network?: 'main' | 'test' | 'stn' | 'ttn' | 'tstn', config?: LocalWhatsOnChainConfig);
21
+ constructor(network?: 'main' | 'test' | 'stn' | 'ttn' | 'tstn' | 'regtest', config?: LocalWhatsOnChainConfig);
22
+ /**
23
+ * False for networks with no WhatsOnChain service (tstn, regtest). Every request made by
24
+ * such an instance is refused.
25
+ */
26
+ get isAvailable(): boolean;
21
27
  protected request<T, Data = unknown>(url: string, options: HttpClientRequestOptions<Data>): Promise<HttpClientResponse<T>>;
22
28
  isValidRootForHeight(root: string, height: number): Promise<boolean>;
23
29
  currentHeight(): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"SdkWhatsOnChain.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/SdkWhatsOnChain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAWjB,KAAK,uBAAuB,GAAG,kBAAkB,GAAG;IAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAyCpF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,YAAY;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IACzC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IAE9C;;;;;OAKG;IACH,YAAY,OAAO,GAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAe,EAAE,MAAM,GAAE,uBAA4B,EAsC3G;IAED,UAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,EACvC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAIhC;IAEK,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BzE;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAmBrC;IAED,SAAS,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUjD;CACF"}
1
+ {"version":3,"file":"SdkWhatsOnChain.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/SdkWhatsOnChain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAWjB,KAAK,uBAAuB,GAAG,kBAAkB,GAAG;IAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAyCpF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,YAAY;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IACzC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IAE9C;;;;;;OAMG;IACH,YACE,OAAO,GAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAkB,EACtE,MAAM,GAAE,uBAA4B,EAuCrC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,UAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,EACvC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAOhC;IAEK,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BzE;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAmBrC;IAED,SAAS,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUjD;CACF"}
@@ -49,12 +49,13 @@ class SdkWhatsOnChain {
49
49
  requestTimeoutMsecs;
50
50
  /**
51
51
  * Constructs an instance of the WhatsOnChain ChainTracker.
52
+ * `tstn` and `regtest` have no WhatsOnChain service, so every request made for them is refused.
52
53
  *
53
- * @param {'main' | 'test' | 'stn'} network - The BSV network to use when calling the WhatsOnChain API.
54
+ * @param {'main' | 'test' | 'stn' | 'ttn' | 'tstn' | 'regtest'} network - The BSV network to use when calling the WhatsOnChain API.
54
55
  * @param {WhatsOnChainConfig} config - Configuration options for the WhatsOnChain ChainTracker.
55
56
  */
56
57
  constructor(network = 'main', config = {}) {
57
- if (!['main', 'test', 'stn', 'ttn', 'tstn'].includes(network)) {
58
+ if (!['main', 'test', 'stn', 'ttn', 'tstn', 'regtest'].includes(network)) {
58
59
  throw new Error('WhatsOnChain network is invalid.');
59
60
  }
60
61
  const properties = plainDataProperties(config, 'WhatsOnChain config');
@@ -77,10 +78,10 @@ class SdkWhatsOnChain {
77
78
  if (network === 'ttn') {
78
79
  this.URL = 'https://api.woc-ttn.bsvblockchain.tech/v1/bsv/test';
79
80
  }
80
- else if (network === 'tstn') {
81
- // tstn has no WhatsOnChain / explorer service. The instance is constructed for
82
- // interface completeness but is not registered as a Services provider, so this URL
83
- // is never used for requests.
81
+ else if (network === 'tstn' || network === 'regtest') {
82
+ // tstn and regtest have no WhatsOnChain / explorer service. The instance is constructed for
83
+ // interface completeness but is not registered as a Services provider, and `request`
84
+ // refuses to send anything for it, so a relative URL can never reach the page's origin.
84
85
  this.URL = '';
85
86
  }
86
87
  else {
@@ -90,7 +91,17 @@ class SdkWhatsOnChain {
90
91
  this.apiKey = apiKey ?? '';
91
92
  this.requestTimeoutMsecs = requestTimeoutMsecs;
92
93
  }
94
+ /**
95
+ * False for networks with no WhatsOnChain service (tstn, regtest). Every request made by
96
+ * such an instance is refused.
97
+ */
98
+ get isAvailable() {
99
+ return this.URL !== '';
100
+ }
93
101
  async request(url, options) {
102
+ if (!this.isAvailable) {
103
+ throw new Error(`WhatsOnChain has no service for network '${this.network}'.`);
104
+ }
94
105
  const timeoutSignal = AbortSignal.timeout(this.requestTimeoutMsecs);
95
106
  const signal = options.signal == null ? timeoutSignal : AbortSignal.any([options.signal, timeoutSignal]);
96
107
  return await this.httpClient.request(url, { ...options, signal });