@bopen-io/wallet-toolbox 2.15.0-bopen.2 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +183 -0
- package/README.md +127 -25
- package/docs/client.md +312 -154
- package/docs/monitor.md +2 -2
- package/docs/no-send-expiry.md +7 -2
- package/docs/services.md +143 -60
- package/docs/wallet.md +208 -117
- package/out/src/CWIStyleWalletManager.d.ts +36 -5
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
- package/out/src/CWIStyleWalletManager.js +356 -60
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +8 -3
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts +3 -0
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
- package/out/src/WalletAuthenticationManager.js +86 -3
- package/out/src/WalletAuthenticationManager.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts +63 -9
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +213 -49
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/monitor/Monitor.js +1 -1
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/monitorValidation.d.ts +2 -1
- package/out/src/monitor/monitorValidation.d.ts.map +1 -1
- package/out/src/monitor/monitorValidation.js +2 -2
- package/out/src/monitor/monitorValidation.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +2 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
- package/out/src/sdk/WERR_errors.d.ts +4 -0
- package/out/src/sdk/WERR_errors.d.ts.map +1 -1
- package/out/src/sdk/WERR_errors.js +4 -0
- package/out/src/sdk/WERR_errors.js.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.js +23 -2
- package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +11 -0
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/sdk/types.d.ts +12 -1
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js +19 -2
- package/out/src/sdk/types.js.map +1 -1
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +5 -3
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.js +2 -2
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +2 -2
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +3 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +3 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +2 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +2 -2
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +6 -6
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +2 -2
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +2 -2
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +1 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -3
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +13 -9
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +2 -2
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +2 -2
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +23 -5
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +58 -16
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +6 -3
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +18 -6
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/networkConfig.d.ts +7 -0
- package/out/src/services/networkConfig.d.ts.map +1 -1
- package/out/src/services/networkConfig.js +25 -2
- package/out/src/services/networkConfig.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js +17 -6
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/services/validateMerklePathResult.d.ts +4 -3
- package/out/src/services/validateMerklePathResult.d.ts.map +1 -1
- package/out/src/services/validateMerklePathResult.js +6 -6
- package/out/src/services/validateMerklePathResult.js.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js +3 -2
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
- package/out/src/signer/methods/createAction.d.ts +32 -1
- package/out/src/signer/methods/createAction.d.ts.map +1 -1
- package/out/src/signer/methods/createAction.js +56 -1
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +1 -1
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/signAction.js +8 -1
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/storage/StorageIdb.js +4 -4
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +6 -2
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +114 -0
- package/out/src/storage/StorageKnex.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +5 -0
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +84 -0
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +7 -3
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts +5 -0
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +13 -6
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts +6 -0
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +10 -3
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +8 -1
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +106 -42
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.js +1 -1
- package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
- package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
- package/out/src/storage/methods/noSendExpiry.js +14 -4
- package/out/src/storage/methods/noSendExpiry.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +15 -5
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageServer.js +12 -1
- package/out/src/storage/remoting/StorageServer.js.map +1 -1
- package/out/src/storage/remoting/syncChunkBinary.d.ts +10 -0
- package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -1
- package/out/src/storage/remoting/syncChunkBinary.js +15 -11
- package/out/src/storage/remoting/syncChunkBinary.js.map +1 -1
- package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +26 -4
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/src/storage/sync/liveSyncGuards.d.ts +11 -0
- package/out/src/storage/sync/liveSyncGuards.d.ts.map +1 -0
- package/out/src/storage/sync/liveSyncGuards.js +22 -0
- package/out/src/storage/sync/liveSyncGuards.js.map +1 -0
- package/out/src/utility/actionOutputAuthorizations.d.ts +10 -0
- package/out/src/utility/actionOutputAuthorizations.d.ts.map +1 -0
- package/out/src/utility/actionOutputAuthorizations.js +25 -0
- package/out/src/utility/actionOutputAuthorizations.js.map +1 -0
- package/out/src/utility/index.all.d.ts +1 -0
- package/out/src/utility/index.all.d.ts.map +1 -1
- package/out/src/utility/index.all.js +1 -0
- package/out/src/utility/index.all.js.map +1 -1
- package/out/src/utility/index.client.d.ts +1 -0
- package/out/src/utility/index.client.d.ts.map +1 -1
- package/out/src/utility/index.client.js +1 -0
- package/out/src/utility/index.client.js.map +1 -1
- package/out/src/utility/numericTotalOutputs.d.ts +7 -0
- package/out/src/utility/numericTotalOutputs.d.ts.map +1 -0
- package/out/src/utility/numericTotalOutputs.js +15 -0
- package/out/src/utility/numericTotalOutputs.js.map +1 -0
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +2 -0
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/package.json +18 -22
|
@@ -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
|
|
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
|
-
|
|
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(
|
|
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
|
|
33
|
-
* chains remain opt-in. Arcade is registered as the
|
|
34
|
-
* Pass an empty string to explicitly disable the
|
|
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;
|
|
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
|
|
118
|
-
arcUrl:
|
|
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
|
|
135
|
-
//
|
|
136
|
-
// mainnet/testnet provider sets
|
|
137
|
-
|
|
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":"
|
|
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;
|
|
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":"
|
|
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
|
|
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
|
|
82
|
-
// interface completeness but is not registered as a Services provider,
|
|
83
|
-
//
|
|
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 });
|