@bsv/wallet-toolbox-mobile 2.3.2 → 2.3.3
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/out/src/monitor/Monitor.d.ts +3 -4
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +1 -1
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.d.ts +5 -3
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +42 -55
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +23 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/services/Services.d.ts +3 -0
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +20 -1
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +29 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +52 -0
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +228 -0
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +24 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +55 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +13 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +45 -7
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.js +2 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +8 -0
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +53 -10
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +19 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +49 -2
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/ARC.d.ts +4 -0
- package/out/src/services/providers/ARC.d.ts.map +1 -1
- package/out/src/services/providers/ARC.js +65 -4
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/ArcSSEClient.d.ts +1 -0
- package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
- package/out/src/services/providers/ArcSSEClient.js +12 -9
- package/out/src/services/providers/ArcSSEClient.js.map +1 -1
- package/out/src/services/providers/Arcade.d.ts +72 -0
- package/out/src/services/providers/Arcade.d.ts.map +1 -0
- package/out/src/services/providers/Arcade.js +299 -0
- package/out/src/services/providers/Arcade.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LiveIngestorChaintracksSSE = void 0;
|
|
4
|
+
const LiveIngestorBase_1 = require("./LiveIngestorBase");
|
|
5
|
+
/**
|
|
6
|
+
* Adapts a remote Chaintracks event stream, such as Arcade/go-chaintracks
|
|
7
|
+
* `/chaintracks/v2/tip/stream`, into the local Chaintracks live-ingestor API.
|
|
8
|
+
*/
|
|
9
|
+
class LiveIngestorChaintracksSSE extends LiveIngestorBase_1.LiveIngestorBase {
|
|
10
|
+
options;
|
|
11
|
+
static createLiveIngestorChaintracksSSEOptions(chain, chaintracks) {
|
|
12
|
+
return {
|
|
13
|
+
...LiveIngestorBase_1.LiveIngestorBase.createLiveIngestorBaseOptions(chain),
|
|
14
|
+
chaintracks
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
subscriptionId;
|
|
18
|
+
stopped = false;
|
|
19
|
+
resolveStopped;
|
|
20
|
+
constructor(options) {
|
|
21
|
+
super(options);
|
|
22
|
+
this.options = options;
|
|
23
|
+
}
|
|
24
|
+
async getHeaderByHash(hash) {
|
|
25
|
+
return await this.options.chaintracks.findHeaderForBlockHash(hash);
|
|
26
|
+
}
|
|
27
|
+
async startListening(liveHeaders) {
|
|
28
|
+
this.stopped = false;
|
|
29
|
+
this.subscriptionId = await this.options.chaintracks.subscribeHeaders(header => {
|
|
30
|
+
if (!this.stopped)
|
|
31
|
+
liveHeaders.push(header);
|
|
32
|
+
});
|
|
33
|
+
await new Promise(resolve => {
|
|
34
|
+
this.resolveStopped = resolve;
|
|
35
|
+
if (this.stopped)
|
|
36
|
+
resolve();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
stopListening() {
|
|
40
|
+
this.stopped = true;
|
|
41
|
+
const subscriptionId = this.subscriptionId;
|
|
42
|
+
this.subscriptionId = undefined;
|
|
43
|
+
if (subscriptionId != null) {
|
|
44
|
+
this.options.chaintracks.unsubscribe(subscriptionId).catch(e => {
|
|
45
|
+
this.log(`LiveIngestorChaintracksSSE unsubscribe failed: ${e}`);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
this.resolveStopped?.();
|
|
49
|
+
}
|
|
50
|
+
async shutdown() {
|
|
51
|
+
this.stopListening();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.LiveIngestorChaintracksSSE = LiveIngestorChaintracksSSE;
|
|
55
|
+
//# sourceMappingURL=LiveIngestorChaintracksSSE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveIngestorChaintracksSSE.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.ts"],"names":[],"mappings":";;;AAGA,yDAA8E;AAM9E;;;GAGG;AACH,MAAa,0BAA2B,SAAQ,mCAAgB;IAehC;IAd9B,MAAM,CAAC,uCAAuC,CAC5C,KAAY,EACZ,WAAiC;QAEjC,OAAO;YACL,GAAG,mCAAgB,CAAC,6BAA6B,CAAC,KAAK,CAAC;YACxD,WAAW;SACZ,CAAA;IACH,CAAC;IAEO,cAAc,CAAS;IACvB,OAAO,GAAG,KAAK,CAAA;IACf,cAAc,CAAa;IAEnC,YAA8B,OAA0C;QACtE,KAAK,CAAC,OAAO,CAAC,CAAA;QADc,YAAO,GAAP,OAAO,CAAmC;IAExE,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,IAAY;QACjC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,WAA0B;QAC9C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAC7E,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAChC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAA;YAC7B,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QAC1C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC7D,IAAI,CAAC,GAAG,CAAC,kDAAkD,CAAC,EAAE,CAAC,CAAA;YACjE,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,EAAE,CAAA;IACzB,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACrB,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;CACF;AAjDD,gEAiDC"}
|
|
@@ -33,6 +33,14 @@ export interface LiveIngestorWhatsOnChainOptions extends LiveIngestorBaseOptions
|
|
|
33
33
|
* How long chainInfo is considered still valid before updating (msecs).
|
|
34
34
|
*/
|
|
35
35
|
chainInfoMsecs: number;
|
|
36
|
+
/**
|
|
37
|
+
* Initial delay before retrying a failed polling request.
|
|
38
|
+
*/
|
|
39
|
+
retryWait?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Maximum delay before retrying repeated failed polling requests.
|
|
42
|
+
*/
|
|
43
|
+
retryWaitMax?: number;
|
|
36
44
|
}
|
|
37
45
|
/**
|
|
38
46
|
* Reports new headers by polling periodically.
|
|
@@ -40,11 +48,16 @@ export interface LiveIngestorWhatsOnChainOptions extends LiveIngestorBaseOptions
|
|
|
40
48
|
export declare class LiveIngestorWhatsOnChainPoll extends LiveIngestorBase {
|
|
41
49
|
static createLiveIngestorWhatsOnChainOptions(chain: Chain): LiveIngestorWhatsOnChainOptions;
|
|
42
50
|
idleWait: number;
|
|
51
|
+
retryWait: number;
|
|
52
|
+
retryWaitMax: number;
|
|
43
53
|
woc: WhatsOnChainServices;
|
|
44
54
|
done: boolean;
|
|
45
55
|
constructor(options: LiveIngestorWhatsOnChainOptions);
|
|
46
56
|
getHeaderByHash(hash: string): Promise<BlockHeader | undefined>;
|
|
47
57
|
startListening(liveHeaders: BlockHeader[]): Promise<void>;
|
|
58
|
+
private getRetryWaitMsecs;
|
|
59
|
+
private errorMessage;
|
|
60
|
+
private waitUnlessStopped;
|
|
48
61
|
stopListening(): void;
|
|
49
62
|
shutdown(): Promise<void>;
|
|
50
63
|
}
|
package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveIngestorWhatsOnChainPoll.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAG5B,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"LiveIngestorWhatsOnChainPoll.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAG5B,MAAM,wBAAwB,CAAA;AAG/B,MAAM,WAAW,+BAAgC,SAAQ,uBAAuB,EAAE,2BAA2B;IAC3G;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAA;IACZ;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,gBAAgB;IAChE,MAAM,CAAC,qCAAqC,CAAE,KAAK,EAAE,KAAK,GAAG,+BAA+B;IAW5F,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,oBAAoB,CAAA;IACzB,IAAI,EAAE,OAAO,CAAQ;gBAER,OAAO,EAAE,+BAA+B;IAQ/C,eAAe,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAKhE,cAAc,CAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgChE,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,YAAY;YAMN,iBAAiB;IAS/B,aAAa,IAAK,IAAI;IAIP,QAAQ,IAAK,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -4,6 +4,7 @@ exports.LiveIngestorWhatsOnChainPoll = void 0;
|
|
|
4
4
|
const utilityHelpers_1 = require("../../../../utility/utilityHelpers");
|
|
5
5
|
const LiveIngestorBase_1 = require("./LiveIngestorBase");
|
|
6
6
|
const WhatsOnChainServices_1 = require("./WhatsOnChainServices");
|
|
7
|
+
const ChaintracksFetch_1 = require("../util/ChaintracksFetch");
|
|
7
8
|
/**
|
|
8
9
|
* Reports new headers by polling periodically.
|
|
9
10
|
*/
|
|
@@ -12,16 +13,22 @@ class LiveIngestorWhatsOnChainPoll extends LiveIngestorBase_1.LiveIngestorBase {
|
|
|
12
13
|
const options = {
|
|
13
14
|
...WhatsOnChainServices_1.WhatsOnChainServices.createWhatsOnChainServicesOptions(chain),
|
|
14
15
|
...LiveIngestorBase_1.LiveIngestorBase.createLiveIngestorBaseOptions(chain),
|
|
15
|
-
idleWait: 100000
|
|
16
|
+
idleWait: 100000,
|
|
17
|
+
retryWait: 5000,
|
|
18
|
+
retryWaitMax: 120000
|
|
16
19
|
};
|
|
17
20
|
return options;
|
|
18
21
|
}
|
|
19
22
|
idleWait;
|
|
23
|
+
retryWait;
|
|
24
|
+
retryWaitMax;
|
|
20
25
|
woc;
|
|
21
26
|
done = false;
|
|
22
27
|
constructor(options) {
|
|
23
28
|
super(options);
|
|
24
|
-
this.idleWait = options.idleWait
|
|
29
|
+
this.idleWait = options.idleWait ?? 100000;
|
|
30
|
+
this.retryWait = options.retryWait ?? 5000;
|
|
31
|
+
this.retryWaitMax = options.retryWaitMax ?? 120000;
|
|
25
32
|
this.woc = new WhatsOnChainServices_1.WhatsOnChainServices(options);
|
|
26
33
|
}
|
|
27
34
|
async getHeaderByHash(hash) {
|
|
@@ -31,21 +38,52 @@ class LiveIngestorWhatsOnChainPoll extends LiveIngestorBase_1.LiveIngestorBase {
|
|
|
31
38
|
async startListening(liveHeaders) {
|
|
32
39
|
this.done = false;
|
|
33
40
|
let lastHeaders = [];
|
|
41
|
+
let failureCount = 0;
|
|
34
42
|
while (!this.done) {
|
|
35
|
-
|
|
43
|
+
let headers;
|
|
44
|
+
try {
|
|
45
|
+
headers = await this.woc.getHeaders();
|
|
46
|
+
failureCount = 0;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
failureCount++;
|
|
50
|
+
const retryMsecs = this.getRetryWaitMsecs(error, failureCount);
|
|
51
|
+
this.log(`LiveIngestorWhatsOnChainPoll getHeaders failed attempt=${failureCount} retryMsecs=${retryMsecs} error=${this.errorMessage(error)}`);
|
|
52
|
+
await this.waitUnlessStopped(retryMsecs);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
36
55
|
const newHeaders = headers.filter(h => !lastHeaders.some(lh => lh.hash === h.hash));
|
|
37
56
|
for (const h of newHeaders) {
|
|
38
57
|
const bh = (0, WhatsOnChainServices_1.wocGetHeadersHeaderToBlockHeader)(h);
|
|
39
58
|
liveHeaders.unshift(bh);
|
|
40
59
|
}
|
|
41
60
|
lastHeaders = headers;
|
|
42
|
-
|
|
43
|
-
// Only wait a second at a time so we notice `done` sooner...
|
|
44
|
-
await (0, utilityHelpers_1.wait)(1000);
|
|
45
|
-
}
|
|
61
|
+
await this.waitUnlessStopped(60 * 1000);
|
|
46
62
|
}
|
|
47
63
|
this.log('LiveIngestorWhatsOnChainPoll stopped');
|
|
48
64
|
}
|
|
65
|
+
getRetryWaitMsecs(error, failureCount) {
|
|
66
|
+
if (error instanceof ChaintracksFetch_1.ChaintracksFetchError && error.retryAfterMsecs != null) {
|
|
67
|
+
return Math.min(Math.max(error.retryAfterMsecs, 0), this.retryWaitMax);
|
|
68
|
+
}
|
|
69
|
+
const multiplier = Math.min(2 ** (failureCount - 1), 16);
|
|
70
|
+
return Math.min(this.retryWait * multiplier, this.retryWaitMax);
|
|
71
|
+
}
|
|
72
|
+
errorMessage(error) {
|
|
73
|
+
if (error instanceof ChaintracksFetch_1.ChaintracksFetchError)
|
|
74
|
+
return `${error.status} ${error.statusText}: ${error.message}`;
|
|
75
|
+
if (error instanceof Error)
|
|
76
|
+
return error.message;
|
|
77
|
+
return String(error);
|
|
78
|
+
}
|
|
79
|
+
async waitUnlessStopped(msecs) {
|
|
80
|
+
let remaining = msecs;
|
|
81
|
+
while (remaining > 0 && !this.done) {
|
|
82
|
+
const chunk = Math.min(1000, remaining);
|
|
83
|
+
await (0, utilityHelpers_1.wait)(chunk);
|
|
84
|
+
remaining -= chunk;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
49
87
|
stopListening() {
|
|
50
88
|
this.done = true;
|
|
51
89
|
}
|
package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveIngestorWhatsOnChainPoll.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts"],"names":[],"mappings":";;;AACA,uEAAyD;AACzD,yDAA8E;AAC9E,iEAK+B;
|
|
1
|
+
{"version":3,"file":"LiveIngestorWhatsOnChainPoll.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts"],"names":[],"mappings":";;;AACA,uEAAyD;AACzD,yDAA8E;AAC9E,iEAK+B;AAC/B,+DAAgE;AA4ChE;;GAEG;AACH,MAAa,4BAA6B,SAAQ,mCAAgB;IAChE,MAAM,CAAC,qCAAqC,CAAE,KAAY;QACxD,MAAM,OAAO,GAAoC;YAC/C,GAAG,2CAAoB,CAAC,iCAAiC,CAAC,KAAK,CAAC;YAChE,GAAG,mCAAgB,CAAC,6BAA6B,CAAC,KAAK,CAAC;YACxD,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,MAAM;SACrB,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,QAAQ,CAAQ;IAChB,SAAS,CAAQ;IACjB,YAAY,CAAQ;IACpB,GAAG,CAAsB;IACzB,IAAI,GAAY,KAAK,CAAA;IAErB,YAAa,OAAwC;QACnD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAA;QAC1C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAA;QAClD,IAAI,CAAC,GAAG,GAAG,IAAI,2CAAoB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,IAAY;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QACnD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,WAA0B;QAC9C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACjB,IAAI,WAAW,GAA0B,EAAE,CAAA;QAC3C,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,OAA8B,CAAA;YAClC,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAA;gBACrC,YAAY,GAAG,CAAC,CAAA;YAClB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,YAAY,EAAE,CAAA;gBACd,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;gBAC9D,IAAI,CAAC,GAAG,CAAC,0DAA0D,YAAY,eAAe,UAAU,UAAU,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC7I,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;gBACxC,SAAQ;YACV,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YAEnF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,EAAE,GAAG,IAAA,uDAAgC,EAAC,CAAC,CAAC,CAAA;gBAC9C,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACzB,CAAC;YAED,WAAW,GAAG,OAAO,CAAA;YAErB,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QACzC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IAClD,CAAC;IAEO,iBAAiB,CAAE,KAAc,EAAE,YAAoB;QAC7D,IAAI,KAAK,YAAY,wCAAqB,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IACjE,CAAC;IAEO,YAAY,CAAE,KAAc;QAClC,IAAI,KAAK,YAAY,wCAAqB;YAAE,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CAAA;QAC1G,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAA;QAChD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAE,KAAa;QAC5C,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;YACvC,MAAM,IAAA,qBAAI,EAAC,KAAK,CAAC,CAAA;YACjB,SAAS,IAAI,KAAK,CAAA;QACpB,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACrB,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;CACF;AA7FD,oEA6FC"}
|
|
@@ -9,12 +9,14 @@ export * from './Api/LiveIngestorApi';
|
|
|
9
9
|
export * from './Api/BlockHeaderApi';
|
|
10
10
|
export * from './Chaintracks';
|
|
11
11
|
export * from './ChaintracksServiceClient';
|
|
12
|
+
export * from './GoChaintracksServiceClient';
|
|
12
13
|
export * from './Ingest/BulkIngestorBase';
|
|
13
14
|
export * from './Ingest/LiveIngestorBase';
|
|
14
15
|
export * from './Ingest/BulkIngestorCDN';
|
|
15
16
|
export * from './Ingest/BulkIngestorCDNBabbage';
|
|
16
17
|
export * from './Ingest/BulkIngestorWhatsOnChainCdn';
|
|
17
18
|
export * from './Ingest/LiveIngestorWhatsOnChainPoll';
|
|
19
|
+
export * from './Ingest/LiveIngestorChaintracksSSE';
|
|
18
20
|
export * from './Ingest/WhatsOnChainServices';
|
|
19
21
|
export * from './Storage/BulkStorageBase';
|
|
20
22
|
export * from './Storage/ChaintracksStorageBase';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mobile.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/index.mobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.mobile.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/index.mobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAE5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AAEzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,qCAAqC,CAAA;AACnD,cAAc,+BAA+B,CAAA;AAE7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAE/C,cAAc,uCAAuC,CAAA;AACrD,cAAc,yBAAyB,CAAA;AAEvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,6BAA6B,CAAA"}
|
|
@@ -47,12 +47,14 @@ __exportStar(require("./Api/LiveIngestorApi"), exports);
|
|
|
47
47
|
__exportStar(require("./Api/BlockHeaderApi"), exports);
|
|
48
48
|
__exportStar(require("./Chaintracks"), exports);
|
|
49
49
|
__exportStar(require("./ChaintracksServiceClient"), exports);
|
|
50
|
+
__exportStar(require("./GoChaintracksServiceClient"), exports);
|
|
50
51
|
__exportStar(require("./Ingest/BulkIngestorBase"), exports);
|
|
51
52
|
__exportStar(require("./Ingest/LiveIngestorBase"), exports);
|
|
52
53
|
__exportStar(require("./Ingest/BulkIngestorCDN"), exports);
|
|
53
54
|
__exportStar(require("./Ingest/BulkIngestorCDNBabbage"), exports);
|
|
54
55
|
__exportStar(require("./Ingest/BulkIngestorWhatsOnChainCdn"), exports);
|
|
55
56
|
__exportStar(require("./Ingest/LiveIngestorWhatsOnChainPoll"), exports);
|
|
57
|
+
__exportStar(require("./Ingest/LiveIngestorChaintracksSSE"), exports);
|
|
56
58
|
__exportStar(require("./Ingest/WhatsOnChainServices"), exports);
|
|
57
59
|
__exportStar(require("./Storage/BulkStorageBase"), exports);
|
|
58
60
|
__exportStar(require("./Storage/ChaintracksStorageBase"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mobile.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/index.mobile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uDAAoC;AACpC,yDAAsC;AACtC,4DAAyC;AACzC,8DAA2C;AAC3C,uDAAoC;AACpC,wDAAqC;AACrC,wDAAqC;AACrC,uDAAoC;AAEpC,gDAA6B;AAC7B,6DAA0C;
|
|
1
|
+
{"version":3,"file":"index.mobile.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/index.mobile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uDAAoC;AACpC,yDAAsC;AACtC,4DAAyC;AACzC,8DAA2C;AAC3C,uDAAoC;AACpC,wDAAqC;AACrC,wDAAqC;AACrC,uDAAoC;AAEpC,gDAA6B;AAC7B,6DAA0C;AAC1C,+DAA4C;AAE5C,4DAAyC;AACzC,4DAAyC;AAEzC,2DAAwC;AACxC,kEAA+C;AAC/C,uEAAoD;AACpD,wEAAqD;AACrD,sEAAmD;AACnD,gEAA6C;AAE7C,4DAAyC;AACzC,mEAAgD;AAChD,mEAAgD;AAChD,kEAA+C;AAE/C,wEAAqD;AACrD,0DAAuC;AAEvC,yDAAsC;AACtC,qDAAkC;AAClC,6DAA0C;AAC1C,0DAAuC;AAEvC,qEAAoD"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { HttpClient } from '@bsv/sdk';
|
|
2
2
|
import { ChaintracksFetchApi } from '../Api/ChaintracksFetchApi';
|
|
3
|
+
export declare class ChaintracksFetchError extends Error {
|
|
4
|
+
readonly url: string;
|
|
5
|
+
readonly status: number;
|
|
6
|
+
readonly statusText: string;
|
|
7
|
+
readonly retryAfterMsecs?: number | undefined;
|
|
8
|
+
constructor(message: string, url: string, status: number, statusText: string, retryAfterMsecs?: number | undefined);
|
|
9
|
+
get retryable(): boolean;
|
|
10
|
+
}
|
|
3
11
|
/**
|
|
4
12
|
* This class implements the ChaintracksFetchApi
|
|
5
13
|
* using the @bsv/sdk `defaultHttpClient`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChaintracksFetch.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"ChaintracksFetch.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAMhE,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,MAAM;aACd,UAAU,EAAE,MAAM;aAClB,eAAe,CAAC,EAAE,MAAM;gBAJxC,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,YAAA;IAM1C,IAAI,SAAS,IAAK,OAAO,CAExB;CACF;AAqCD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,UAAU,EAAE,UAAU,CAAsB;IAEtC,QAAQ,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB3C,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB3C,QAAQ,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;CAQpD"}
|
|
@@ -1,8 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChaintracksFetch = void 0;
|
|
3
|
+
exports.ChaintracksFetch = exports.ChaintracksFetchError = void 0;
|
|
4
4
|
const sdk_1 = require("@bsv/sdk");
|
|
5
5
|
const utilityHelpers_1 = require("../../../../utility/utilityHelpers");
|
|
6
|
+
const MAX_RETRIES = 3;
|
|
7
|
+
const DEFAULT_RETRY_MSECS = 1000;
|
|
8
|
+
class ChaintracksFetchError extends Error {
|
|
9
|
+
url;
|
|
10
|
+
status;
|
|
11
|
+
statusText;
|
|
12
|
+
retryAfterMsecs;
|
|
13
|
+
constructor(message, url, status, statusText, retryAfterMsecs) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.url = url;
|
|
16
|
+
this.status = status;
|
|
17
|
+
this.statusText = statusText;
|
|
18
|
+
this.retryAfterMsecs = retryAfterMsecs;
|
|
19
|
+
this.name = 'ChaintracksFetchError';
|
|
20
|
+
}
|
|
21
|
+
get retryable() {
|
|
22
|
+
return isRetryableHttpStatus(this.status);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ChaintracksFetchError = ChaintracksFetchError;
|
|
26
|
+
function isRetryableHttpStatus(status) {
|
|
27
|
+
return status === 408 || status === 429 || status >= 500;
|
|
28
|
+
}
|
|
29
|
+
function retryAfterMsecs(response) {
|
|
30
|
+
const retryAfter = response.headers.get('retry-after');
|
|
31
|
+
if (retryAfter == null || retryAfter === '')
|
|
32
|
+
return undefined;
|
|
33
|
+
const seconds = Number(retryAfter);
|
|
34
|
+
if (Number.isFinite(seconds) && seconds >= 0)
|
|
35
|
+
return seconds * 1000;
|
|
36
|
+
const dateMsecs = Date.parse(retryAfter);
|
|
37
|
+
if (!Number.isFinite(dateMsecs))
|
|
38
|
+
return undefined;
|
|
39
|
+
return Math.max(0, dateMsecs - Date.now());
|
|
40
|
+
}
|
|
41
|
+
function retryWaitMsecs(retry, retryAfter) {
|
|
42
|
+
return Math.min(retryAfter ?? DEFAULT_RETRY_MSECS * (retry + 1), 2 * 60 * 1000);
|
|
43
|
+
}
|
|
44
|
+
async function waitIfRetryable(response, retry) {
|
|
45
|
+
if (!isRetryableHttpStatus(response.status) || retry >= MAX_RETRIES)
|
|
46
|
+
return false;
|
|
47
|
+
await (0, utilityHelpers_1.wait)(retryWaitMsecs(retry, retryAfterMsecs(response)));
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
function fetchError(url, response, kind) {
|
|
51
|
+
const retryAfter = retryAfterMsecs(response);
|
|
52
|
+
return new ChaintracksFetchError(`Failed to ${kind} from ${url}: ${response.status} ${response.statusText}`, url, response.status, response.statusText, retryAfter);
|
|
53
|
+
}
|
|
6
54
|
/**
|
|
7
55
|
* This class implements the ChaintracksFetchApi
|
|
8
56
|
* using the @bsv/sdk `defaultHttpClient`.
|
|
@@ -18,12 +66,9 @@ class ChaintracksFetch {
|
|
|
18
66
|
}
|
|
19
67
|
});
|
|
20
68
|
if (!response.ok) {
|
|
21
|
-
if (response
|
|
22
|
-
// WhatsOnChain rate limits requests, so backoff and retry
|
|
23
|
-
await (0, utilityHelpers_1.wait)(1000 * (retry + 1));
|
|
69
|
+
if (await waitIfRetryable(response, retry))
|
|
24
70
|
continue;
|
|
25
|
-
|
|
26
|
-
throw new Error(`Failed to download from ${url}: ${response.statusText}`);
|
|
71
|
+
throw fetchError(url, response, 'download');
|
|
27
72
|
}
|
|
28
73
|
const data = await response.arrayBuffer();
|
|
29
74
|
return new Uint8Array(data);
|
|
@@ -40,11 +85,9 @@ class ChaintracksFetch {
|
|
|
40
85
|
for (let retry = 0;; retry++) {
|
|
41
86
|
const response = await fetch(url, requestJsonOptions);
|
|
42
87
|
if (!response.ok) {
|
|
43
|
-
if (response
|
|
44
|
-
await (0, utilityHelpers_1.wait)(1000 * (retry + 1));
|
|
88
|
+
if (await waitIfRetryable(response, retry))
|
|
45
89
|
continue;
|
|
46
|
-
|
|
47
|
-
throw new Error(`Failed to fetch JSON from ${url}: ${response.statusText}`);
|
|
90
|
+
throw fetchError(url, response, 'fetch JSON');
|
|
48
91
|
}
|
|
49
92
|
json = (await response.json());
|
|
50
93
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChaintracksFetch.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts"],"names":[],"mappings":";;;AAAA,kCAAwD;AAExD,uEAAyD;AAEzD
|
|
1
|
+
{"version":3,"file":"ChaintracksFetch.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,25 @@
|
|
|
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
|
-
export declare function createDefaultWalletServicesOptions(chain: Chain, arcCallbackUrl?: string, arcCallbackToken?: string, taalArcApiKey?: string, gorillaPoolArcApiKey?: string, bitailsApiKey?: string, deploymentId?: string, chaintracks?: ChaintracksClientApi
|
|
4
|
+
export declare function createDefaultWalletServicesOptions(chain: Chain, arcCallbackUrl?: string, arcCallbackToken?: string, taalArcApiKey?: string, gorillaPoolArcApiKey?: string, bitailsApiKey?: string, deploymentId?: string, chaintracks?: ChaintracksClientApi,
|
|
5
|
+
/**
|
|
6
|
+
* Optional Arcade endpoint. When provided (or when a default exists for the chain via
|
|
7
|
+
* `arcadeDefaultUrl`), Arcade is registered as the primary broadcaster ahead of ARC.
|
|
8
|
+
* Pass an empty string to explicitly disable the per-chain default.
|
|
9
|
+
*/
|
|
10
|
+
arcadeUrl?: string,
|
|
11
|
+
/** Server-level API key (Bearer) for the Arcade endpoint, if it requires auth. */
|
|
12
|
+
arcadeApiKey?: string,
|
|
13
|
+
/**
|
|
14
|
+
* Stable SSE callback token. Must match the Monitor's `callbackToken` so Arcade routes
|
|
15
|
+
* each broadcast transaction's status events to this wallet's `/events` subscription.
|
|
16
|
+
*/
|
|
17
|
+
arcadeCallbackToken?: string): WalletServicesOptions;
|
|
18
|
+
/**
|
|
19
|
+
* Default Arcade (bsv-blockchain/arcade) endpoint per chain.
|
|
20
|
+
* Returns undefined when no public default is known for the chain (e.g. testnet not yet deployed).
|
|
21
|
+
*/
|
|
22
|
+
export declare function arcadeDefaultUrl(chain: Chain): string | undefined;
|
|
5
23
|
export declare function arcDefaultUrl(chain: Chain): string;
|
|
6
24
|
export declare function arcGorillaPoolUrl(chain: Chain): string | undefined;
|
|
7
25
|
//# sourceMappingURL=createDefaultWalletServicesOptions.d.ts.map
|
|
@@ -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;AAG1F,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,KAAK,EACZ,cAAc,CAAC,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,MAAM,EACtB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,oBAAoB,
|
|
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,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,KAAK,EACZ,cAAc,CAAC,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,MAAM,EACtB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,oBAAoB;AAClC;;;;GAIG;AACH,SAAS,CAAC,EAAE,MAAM;AAClB,kFAAkF;AAClF,YAAY,CAAC,EAAE,MAAM;AACrB;;;GAGG;AACH,mBAAmB,CAAC,EAAE,MAAM,GAC3B,qBAAqB,CAiFvB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAYlE;AAED,wBAAgB,aAAa,CAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAWnD;AAED,wBAAgB,iBAAiB,CAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAEnE"}
|
|
@@ -1,18 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createDefaultWalletServicesOptions = createDefaultWalletServicesOptions;
|
|
4
|
+
exports.arcadeDefaultUrl = arcadeDefaultUrl;
|
|
4
5
|
exports.arcDefaultUrl = arcDefaultUrl;
|
|
5
6
|
exports.arcGorillaPoolUrl = arcGorillaPoolUrl;
|
|
6
7
|
const utilityHelpers_1 = require("../utility/utilityHelpers");
|
|
7
8
|
const ChaintracksServiceClient_1 = require("./chaintracker/chaintracks/ChaintracksServiceClient");
|
|
8
|
-
function createDefaultWalletServicesOptions(chain, arcCallbackUrl, arcCallbackToken, taalArcApiKey, gorillaPoolArcApiKey, bitailsApiKey, deploymentId, chaintracks
|
|
9
|
+
function createDefaultWalletServicesOptions(chain, arcCallbackUrl, arcCallbackToken, taalArcApiKey, gorillaPoolArcApiKey, bitailsApiKey, deploymentId, chaintracks,
|
|
10
|
+
/**
|
|
11
|
+
* Optional Arcade endpoint. When provided (or when a default exists for the chain via
|
|
12
|
+
* `arcadeDefaultUrl`), Arcade is registered as the primary broadcaster ahead of ARC.
|
|
13
|
+
* Pass an empty string to explicitly disable the per-chain default.
|
|
14
|
+
*/
|
|
15
|
+
arcadeUrl,
|
|
16
|
+
/** Server-level API key (Bearer) for the Arcade endpoint, if it requires auth. */
|
|
17
|
+
arcadeApiKey,
|
|
18
|
+
/**
|
|
19
|
+
* Stable SSE callback token. Must match the Monitor's `callbackToken` so Arcade routes
|
|
20
|
+
* each broadcast transaction's status events to this wallet's `/events` subscription.
|
|
21
|
+
*/
|
|
22
|
+
arcadeCallbackToken) {
|
|
9
23
|
if (chain === 'mock') {
|
|
10
24
|
throw new Error('createDefaultWalletServicesOptions does not support \'mock\' chain. Use MockServices directly.');
|
|
11
25
|
}
|
|
12
26
|
deploymentId ||= `wallet-toolbox-${(0, utilityHelpers_1.randomBytesHex)(16)}`;
|
|
13
27
|
// const chaintracksUrl = `https://npm-registry.babbage.systems:${chain === 'main' ? 8084 : 8083}`
|
|
14
28
|
const chaintracksUrl = chain === 'ttn'
|
|
15
|
-
? 'https://arcade-v2-ttn-us-1.bsvblockchain.tech/chaintracks/'
|
|
29
|
+
? 'https://arcade-v2-ttn-us-1.bsvblockchain.tech/chaintracks/v1'
|
|
16
30
|
: `https://${chain}net-chaintracks.babbage.systems`;
|
|
17
31
|
// The mainnet endpoint is always used since these are fiat exchange rates,
|
|
18
32
|
// independent of the chain being used.
|
|
@@ -62,8 +76,41 @@ function createDefaultWalletServicesOptions(chain, arcCallbackUrl, arcCallbackTo
|
|
|
62
76
|
},
|
|
63
77
|
bitailsApiKey
|
|
64
78
|
};
|
|
79
|
+
// Arcade (bsv-blockchain/arcade) primary broadcaster.
|
|
80
|
+
// Opt-in: enabled only when an explicit `arcadeUrl` is provided. Callers can pass
|
|
81
|
+
// `arcadeDefaultUrl(chain)` to use the known per-chain endpoint. Kept opt-in (rather
|
|
82
|
+
// than defaulted on) so existing consumers' broadcaster set is unchanged until the
|
|
83
|
+
// Arcade path has been validated end-to-end; flipping the default is a one-line change.
|
|
84
|
+
const resolvedArcadeUrl = arcadeUrl;
|
|
85
|
+
if (resolvedArcadeUrl != null && resolvedArcadeUrl !== '') {
|
|
86
|
+
o.arcadeUrl = resolvedArcadeUrl;
|
|
87
|
+
o.arcadeConfig = {
|
|
88
|
+
apiKey: arcadeApiKey ?? undefined,
|
|
89
|
+
deploymentId,
|
|
90
|
+
// SSE (pull) flow: token scopes the /events subscription; no webhook callbackUrl
|
|
91
|
+
// (Arcade rejects private/loopback URLs). Must match Monitor.options.callbackToken.
|
|
92
|
+
callbackToken: arcadeCallbackToken ?? arcCallbackToken ?? undefined
|
|
93
|
+
};
|
|
94
|
+
}
|
|
65
95
|
return o;
|
|
66
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Default Arcade (bsv-blockchain/arcade) endpoint per chain.
|
|
99
|
+
* Returns undefined when no public default is known for the chain (e.g. testnet not yet deployed).
|
|
100
|
+
*/
|
|
101
|
+
function arcadeDefaultUrl(chain) {
|
|
102
|
+
switch (chain) {
|
|
103
|
+
case 'main':
|
|
104
|
+
return 'https://arcade-v2-us-1.bsvblockchain.tech';
|
|
105
|
+
case 'ttn':
|
|
106
|
+
return 'https://arcade-v2-ttn-us-1.bsvblockchain.tech';
|
|
107
|
+
case 'test':
|
|
108
|
+
// No public testnet Arcade endpoint deployed yet.
|
|
109
|
+
return undefined;
|
|
110
|
+
case 'mock':
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
67
114
|
function arcDefaultUrl(chain) {
|
|
68
115
|
switch (chain) {
|
|
69
116
|
case 'main':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,10 @@ export interface ArcConfig {
|
|
|
15
15
|
/** additional headers to be attached to all tx submissions. */
|
|
16
16
|
headers?: Record<string, string>;
|
|
17
17
|
}
|
|
18
|
+
export declare function isArcAcceptedTxStatus(txStatus: string | undefined): boolean;
|
|
19
|
+
export declare function isArcDoubleSpendTxStatus(txStatus: string | undefined): boolean;
|
|
20
|
+
export declare function isArcInvalidTxStatus(txStatus: string | undefined): boolean;
|
|
21
|
+
export declare function isArcServiceErrorStatus(status: number | undefined, detail?: string): boolean;
|
|
18
22
|
/**
|
|
19
23
|
* Represents an ARC transaction broadcaster.
|
|
20
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ARC.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/ARC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAIJ,SAAS,EACT,UAAU,EAIX,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAA4B,MAAM,qCAAqC,CAAA;AAKnH,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,0HAA0H;IAC1H,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+HAA+H;IAC/H,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;
|
|
1
|
+
{"version":3,"file":"ARC.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/ARC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAIJ,SAAS,EACT,UAAU,EAIX,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAA4B,MAAM,qCAAqC,CAAA;AAKnH,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,0HAA0H;IAC1H,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+HAA+H;IAC/H,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AA4BD,wBAAgB,qBAAqB,CAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE5E;AAED,wBAAgB,wBAAwB,CAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE/E;AAED,wBAAgB,oBAAoB,CAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAY7F;AAED;;GAEG;AACH,qBAAa,GAAG;IACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IAEvC;;;;;OAKG;gBACU,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM;IAC3D;;;;;OAKG;gBACU,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAuBxD;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;;;;;;;;;;;OAYG;IACG,SAAS,CAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA4GlF;;;;;;;;;OASG;IACG,QAAQ,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAyErE;;;;OAIG;IACG,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAU3D;AASD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB"}
|