@arkade-os/sdk 0.4.44 → 0.4.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/dist/adapters/expo.cjs +4 -4
- package/dist/adapters/expo.d.cts +2 -2
- package/dist/adapters/expo.d.ts +2 -2
- package/dist/adapters/expo.js +2 -2
- package/dist/adapters/indexedDB.cjs +3 -3
- package/dist/adapters/indexedDB.js +2 -2
- package/dist/{ark-I8jfe5VE.d.cts → ark-C-PjOngm.d.cts} +89 -1
- package/dist/{ark-I8jfe5VE.d.ts → ark-C-PjOngm.d.ts} +89 -1
- package/dist/{asyncStorageTaskQueue-Dap7qUlF.d.cts → asyncStorageTaskQueue-BmBPvTyh.d.cts} +2 -2
- package/dist/{asyncStorageTaskQueue-BtSOVZFn.d.ts → asyncStorageTaskQueue-CHpI3moJ.d.ts} +2 -2
- package/dist/{chunk-V7WIZR2B.js → chunk-BOA4SHCD.js} +3 -3
- package/dist/{chunk-V7WIZR2B.js.map → chunk-BOA4SHCD.js.map} +1 -1
- package/dist/{chunk-X37EKDIH.cjs → chunk-HZ7VIN7P.cjs} +11 -11
- package/dist/{chunk-X37EKDIH.cjs.map → chunk-HZ7VIN7P.cjs.map} +1 -1
- package/dist/{chunk-RJ6XVCX4.cjs → chunk-OFQGANH2.cjs} +7 -7
- package/dist/{chunk-RJ6XVCX4.cjs.map → chunk-OFQGANH2.cjs.map} +1 -1
- package/dist/{chunk-LCQQPOIT.js → chunk-QZ6HZZZK.js} +3 -3
- package/dist/{chunk-LCQQPOIT.js.map → chunk-QZ6HZZZK.js.map} +1 -1
- package/dist/{chunk-XIVCG6EP.cjs → chunk-SRCWBFSZ.cjs} +1000 -322
- package/dist/chunk-SRCWBFSZ.cjs.map +1 -0
- package/dist/{chunk-FMI2GKYO.js → chunk-TGRJ5WAX.js} +919 -243
- package/dist/chunk-TGRJ5WAX.js.map +1 -0
- package/dist/{chunk-UBYY2TPK.cjs → chunk-UHOHLN3C.cjs} +119 -69
- package/dist/chunk-UHOHLN3C.cjs.map +1 -0
- package/dist/{chunk-LJ35HPJW.js → chunk-YBQV7XBC.js} +119 -70
- package/dist/chunk-YBQV7XBC.js.map +1 -0
- package/dist/contracts/handlers/index.d.cts +3 -3
- package/dist/contracts/handlers/index.d.ts +3 -3
- package/dist/{delegate-CgjVjYOP.d.ts → delegate-BKNqva1j.d.ts} +1 -1
- package/dist/{delegate-BRqbh2fW.d.cts → delegate-DOEobYwH.d.cts} +1 -1
- package/dist/{index-DHuXlDEg.d.cts → index-BlW4I30l.d.cts} +2 -2
- package/dist/{index-DvWNB_rl.d.ts → index-Cm2fGeox.d.ts} +2 -2
- package/dist/index.cjs +141 -129
- package/dist/index.d.cts +45 -20
- package/dist/index.d.ts +45 -20
- package/dist/index.js +2 -2
- package/dist/repositories/realm/index.cjs +17 -17
- package/dist/repositories/realm/index.d.cts +2 -2
- package/dist/repositories/realm/index.d.ts +2 -2
- package/dist/repositories/realm/index.js +3 -3
- package/dist/repositories/sqlite/index.cjs +16 -16
- package/dist/repositories/sqlite/index.d.cts +2 -2
- package/dist/repositories/sqlite/index.d.ts +2 -2
- package/dist/repositories/sqlite/index.js +3 -3
- package/dist/{taskRunner-Bptw9UMa.d.ts → taskRunner-BngWSFMi.d.ts} +2 -2
- package/dist/{taskRunner-CeFxKhSH.d.cts → taskRunner-DOiyRuJa.d.cts} +2 -2
- package/dist/wallet/expo/background.cjs +12 -12
- package/dist/wallet/expo/background.d.cts +3 -3
- package/dist/wallet/expo/background.d.ts +3 -3
- package/dist/wallet/expo/background.js +4 -4
- package/dist/wallet/expo/index.cjs +21 -12
- package/dist/wallet/expo/index.cjs.map +1 -1
- package/dist/wallet/expo/index.d.cts +11 -4
- package/dist/wallet/expo/index.d.ts +11 -4
- package/dist/wallet/expo/index.js +12 -3
- package/dist/wallet/expo/index.js.map +1 -1
- package/dist/{wallet-BsqRU8KM.d.cts → wallet-B3awP1Nj.d.ts} +105 -3
- package/dist/{wallet-D9z7wssl.d.ts → wallet-DBjumS42.d.cts} +105 -3
- package/dist/worker/expo/index.cjs +7 -7
- package/dist/worker/expo/index.d.cts +4 -4
- package/dist/worker/expo/index.d.ts +4 -4
- package/dist/worker/expo/index.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-FMI2GKYO.js.map +0 -1
- package/dist/chunk-LJ35HPJW.js.map +0 -1
- package/dist/chunk-UBYY2TPK.cjs.map +0 -1
- package/dist/chunk-XIVCG6EP.cjs.map +0 -1
|
@@ -124,6 +124,59 @@ function checkKeyIncludes(key, arkPsbtFieldKey) {
|
|
|
124
124
|
return base.hex.encode(new Uint8Array([key.type, ...key.key])).includes(expected);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
+
// package.json
|
|
128
|
+
var version = "0.4.45";
|
|
129
|
+
|
|
130
|
+
// src/utils/fetch.ts
|
|
131
|
+
var buildVersion = "0.9.9";
|
|
132
|
+
var sdkVersion = `ts-sdk/${version}`;
|
|
133
|
+
var FetchError = class extends Error {
|
|
134
|
+
/** The request URL that failed, when derivable from the `fetch` input. */
|
|
135
|
+
url;
|
|
136
|
+
/** The HTTP method of the failed request (defaults to `"GET"`). */
|
|
137
|
+
method;
|
|
138
|
+
constructor(message, options) {
|
|
139
|
+
super(message, { cause: options.cause });
|
|
140
|
+
this.name = "FetchError";
|
|
141
|
+
this.url = options.url;
|
|
142
|
+
this.method = options.method;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
function baseFetch(input, init) {
|
|
146
|
+
if (typeof globalThis.fetch !== "function") {
|
|
147
|
+
throw new Error("Fetch API is not available in this environment.");
|
|
148
|
+
}
|
|
149
|
+
return globalThis.fetch(input, init).catch((cause) => {
|
|
150
|
+
const { url, method } = describeRequest(input, init);
|
|
151
|
+
throw new FetchError(`Network request failed: ${method} ${url}`, { url, method, cause });
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
function fetch(input, init) {
|
|
155
|
+
const headers = new Headers(init?.headers);
|
|
156
|
+
headers.set("X-Build-Version", buildVersion);
|
|
157
|
+
headers.set("X-SDK-VERSION", sdkVersion);
|
|
158
|
+
return baseFetch(input, { ...init, headers });
|
|
159
|
+
}
|
|
160
|
+
function describeRequest(input, init) {
|
|
161
|
+
let url;
|
|
162
|
+
if (typeof input === "string") {
|
|
163
|
+
url = input;
|
|
164
|
+
} else if (input instanceof URL) {
|
|
165
|
+
url = input.href;
|
|
166
|
+
} else {
|
|
167
|
+
url = input.url;
|
|
168
|
+
}
|
|
169
|
+
let method;
|
|
170
|
+
if (init?.method !== void 0) {
|
|
171
|
+
method = init.method;
|
|
172
|
+
} else if (input instanceof Request) {
|
|
173
|
+
method = input.method;
|
|
174
|
+
} else {
|
|
175
|
+
method = "GET";
|
|
176
|
+
}
|
|
177
|
+
return { url, method };
|
|
178
|
+
}
|
|
179
|
+
|
|
127
180
|
// src/providers/errors.ts
|
|
128
181
|
var ArkError = class extends Error {
|
|
129
182
|
constructor(code, message, name, metadata) {
|
|
@@ -134,6 +187,28 @@ var ArkError = class extends Error {
|
|
|
134
187
|
this.metadata = metadata;
|
|
135
188
|
}
|
|
136
189
|
};
|
|
190
|
+
var ProviderUnavailableError = class extends Error {
|
|
191
|
+
/** Always `true`: this error type only ever wraps retryable conditions. */
|
|
192
|
+
retryable = true;
|
|
193
|
+
constructor(message, options) {
|
|
194
|
+
super(message, { cause: options?.cause });
|
|
195
|
+
this.name = "ProviderUnavailableError";
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
function throwIfHttpUnavailable(response, kind, body) {
|
|
199
|
+
if (body !== void 0 && maybeArkError(new Error(body))) return;
|
|
200
|
+
if (response.status === 429 || response.status >= 500) {
|
|
201
|
+
throw new ProviderUnavailableError(
|
|
202
|
+
`${kind} unavailable: ${response.status} ${response.statusText}`
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function toProviderUnavailable(err, kind) {
|
|
207
|
+
if (err instanceof FetchError) {
|
|
208
|
+
return new ProviderUnavailableError(`${kind} request failed`, { cause: err });
|
|
209
|
+
}
|
|
210
|
+
return err;
|
|
211
|
+
}
|
|
137
212
|
function maybeArkError(error) {
|
|
138
213
|
try {
|
|
139
214
|
if (!(error instanceof Error)) return void 0;
|
|
@@ -350,59 +425,6 @@ function prepareCoinAsIntentProofInput(coin) {
|
|
|
350
425
|
};
|
|
351
426
|
}
|
|
352
427
|
|
|
353
|
-
// package.json
|
|
354
|
-
var version = "0.4.44";
|
|
355
|
-
|
|
356
|
-
// src/utils/fetch.ts
|
|
357
|
-
var buildVersion = "0.9.9";
|
|
358
|
-
var sdkVersion = `ts-sdk/${version}`;
|
|
359
|
-
var FetchError = class extends Error {
|
|
360
|
-
/** The request URL that failed, when derivable from the `fetch` input. */
|
|
361
|
-
url;
|
|
362
|
-
/** The HTTP method of the failed request (defaults to `"GET"`). */
|
|
363
|
-
method;
|
|
364
|
-
constructor(message, options) {
|
|
365
|
-
super(message, { cause: options.cause });
|
|
366
|
-
this.name = "FetchError";
|
|
367
|
-
this.url = options.url;
|
|
368
|
-
this.method = options.method;
|
|
369
|
-
}
|
|
370
|
-
};
|
|
371
|
-
function baseFetch(input, init) {
|
|
372
|
-
if (typeof globalThis.fetch !== "function") {
|
|
373
|
-
throw new Error("Fetch API is not available in this environment.");
|
|
374
|
-
}
|
|
375
|
-
return globalThis.fetch(input, init).catch((cause) => {
|
|
376
|
-
const { url, method } = describeRequest(input, init);
|
|
377
|
-
throw new FetchError(`Network request failed: ${method} ${url}`, { url, method, cause });
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
function fetch(input, init) {
|
|
381
|
-
const headers = new Headers(init?.headers);
|
|
382
|
-
headers.set("X-Build-Version", buildVersion);
|
|
383
|
-
headers.set("X-SDK-VERSION", sdkVersion);
|
|
384
|
-
return baseFetch(input, { ...init, headers });
|
|
385
|
-
}
|
|
386
|
-
function describeRequest(input, init) {
|
|
387
|
-
let url;
|
|
388
|
-
if (typeof input === "string") {
|
|
389
|
-
url = input;
|
|
390
|
-
} else if (input instanceof URL) {
|
|
391
|
-
url = input.href;
|
|
392
|
-
} else {
|
|
393
|
-
url = input.url;
|
|
394
|
-
}
|
|
395
|
-
let method;
|
|
396
|
-
if (init?.method !== void 0) {
|
|
397
|
-
method = init.method;
|
|
398
|
-
} else if (input instanceof Request) {
|
|
399
|
-
method = input.method;
|
|
400
|
-
} else {
|
|
401
|
-
method = "GET";
|
|
402
|
-
}
|
|
403
|
-
return { url, method };
|
|
404
|
-
}
|
|
405
|
-
|
|
406
428
|
// src/providers/utils.ts
|
|
407
429
|
function createAbortError() {
|
|
408
430
|
const error = new Error("EventSource closed");
|
|
@@ -570,16 +592,24 @@ var RestArkProvider = class {
|
|
|
570
592
|
...init.headers
|
|
571
593
|
};
|
|
572
594
|
if (digest) headers["X-Digest"] = digest;
|
|
573
|
-
|
|
595
|
+
let response;
|
|
596
|
+
try {
|
|
597
|
+
response = await fetch(url, { ...init, headers });
|
|
598
|
+
} catch (err) {
|
|
599
|
+
throw toProviderUnavailable(err, "arkade");
|
|
600
|
+
}
|
|
574
601
|
if (response.ok) return response;
|
|
575
602
|
let body;
|
|
576
603
|
try {
|
|
577
604
|
body = await response.clone().text();
|
|
578
605
|
} catch (e) {
|
|
579
606
|
console.warn("authedFetch could not read response body for digest check", e);
|
|
607
|
+
throwIfHttpUnavailable(response, "arkade");
|
|
580
608
|
return response;
|
|
581
609
|
}
|
|
582
|
-
|
|
610
|
+
const arkError = maybeArkError(new Error(body));
|
|
611
|
+
if (!arkError) throwIfHttpUnavailable(response, "arkade");
|
|
612
|
+
if (arkError?.name !== "DIGEST_MISMATCH") return response;
|
|
583
613
|
this._digest = "";
|
|
584
614
|
const info = await this.getInfo();
|
|
585
615
|
this.emitServerInfoChanged(info);
|
|
@@ -592,6 +622,7 @@ var RestArkProvider = class {
|
|
|
592
622
|
const response = await fetch(url);
|
|
593
623
|
if (!response.ok) {
|
|
594
624
|
const errorText = await response.text();
|
|
625
|
+
throwIfHttpUnavailable(response, "arkade", errorText);
|
|
595
626
|
handleError(errorText, `Failed to get server info: ${response.statusText}`);
|
|
596
627
|
}
|
|
597
628
|
const fromServer = await response.json();
|
|
@@ -2315,6 +2346,24 @@ var Packet = class _Packet {
|
|
|
2315
2346
|
return packet;
|
|
2316
2347
|
}
|
|
2317
2348
|
};
|
|
2349
|
+
async function indexerFetch(input, init) {
|
|
2350
|
+
let res;
|
|
2351
|
+
try {
|
|
2352
|
+
res = await baseFetch(input, init);
|
|
2353
|
+
} catch (err) {
|
|
2354
|
+
throw toProviderUnavailable(err, "indexer");
|
|
2355
|
+
}
|
|
2356
|
+
if (!res.ok) {
|
|
2357
|
+
let body;
|
|
2358
|
+
try {
|
|
2359
|
+
body = await res.clone().text();
|
|
2360
|
+
} catch {
|
|
2361
|
+
body = void 0;
|
|
2362
|
+
}
|
|
2363
|
+
throwIfHttpUnavailable(res, "indexer", body);
|
|
2364
|
+
}
|
|
2365
|
+
return res;
|
|
2366
|
+
}
|
|
2318
2367
|
var IndexerTxType = /* @__PURE__ */ ((IndexerTxType2) => {
|
|
2319
2368
|
IndexerTxType2[IndexerTxType2["INDEXER_TX_TYPE_UNSPECIFIED"] = 0] = "INDEXER_TX_TYPE_UNSPECIFIED";
|
|
2320
2369
|
IndexerTxType2[IndexerTxType2["INDEXER_TX_TYPE_RECEIVED"] = 1] = "INDEXER_TX_TYPE_RECEIVED";
|
|
@@ -2344,7 +2393,7 @@ var RestIndexerProvider = class {
|
|
|
2344
2393
|
if (params.toString()) {
|
|
2345
2394
|
url += "?" + params.toString();
|
|
2346
2395
|
}
|
|
2347
|
-
const res = await
|
|
2396
|
+
const res = await indexerFetch(url);
|
|
2348
2397
|
if (!res.ok) {
|
|
2349
2398
|
throw new Error(`Failed to fetch vtxo tree: ${res.statusText}`);
|
|
2350
2399
|
}
|
|
@@ -2370,7 +2419,7 @@ var RestIndexerProvider = class {
|
|
|
2370
2419
|
if (params.toString()) {
|
|
2371
2420
|
url += "?" + params.toString();
|
|
2372
2421
|
}
|
|
2373
|
-
const res = await
|
|
2422
|
+
const res = await indexerFetch(url);
|
|
2374
2423
|
if (!res.ok) {
|
|
2375
2424
|
throw new Error(`Failed to fetch vtxo tree leaves: ${res.statusText}`);
|
|
2376
2425
|
}
|
|
@@ -2382,7 +2431,7 @@ var RestIndexerProvider = class {
|
|
|
2382
2431
|
}
|
|
2383
2432
|
async getBatchSweepTransactions(batchOutpoint) {
|
|
2384
2433
|
const url = `${this.serverUrl}/v1/indexer/batch/${batchOutpoint.txid}/${batchOutpoint.vout}/sweepTxs`;
|
|
2385
|
-
const res = await
|
|
2434
|
+
const res = await indexerFetch(url);
|
|
2386
2435
|
if (!res.ok) {
|
|
2387
2436
|
throw new Error(`Failed to fetch batch sweep transactions: ${res.statusText}`);
|
|
2388
2437
|
}
|
|
@@ -2394,7 +2443,7 @@ var RestIndexerProvider = class {
|
|
|
2394
2443
|
}
|
|
2395
2444
|
async getCommitmentTx(txid) {
|
|
2396
2445
|
const url = `${this.serverUrl}/v1/indexer/commitmentTx/${txid}`;
|
|
2397
|
-
const res = await
|
|
2446
|
+
const res = await indexerFetch(url);
|
|
2398
2447
|
if (!res.ok) {
|
|
2399
2448
|
throw new Error(`Failed to fetch commitment tx: ${res.statusText}`);
|
|
2400
2449
|
}
|
|
@@ -2415,7 +2464,7 @@ var RestIndexerProvider = class {
|
|
|
2415
2464
|
if (params.toString()) {
|
|
2416
2465
|
url += "?" + params.toString();
|
|
2417
2466
|
}
|
|
2418
|
-
const res = await
|
|
2467
|
+
const res = await indexerFetch(url);
|
|
2419
2468
|
if (!res.ok) {
|
|
2420
2469
|
throw new Error(`Failed to fetch commitment tx connectors: ${res.statusText}`);
|
|
2421
2470
|
}
|
|
@@ -2441,7 +2490,7 @@ var RestIndexerProvider = class {
|
|
|
2441
2490
|
if (params.toString()) {
|
|
2442
2491
|
url += "?" + params.toString();
|
|
2443
2492
|
}
|
|
2444
|
-
const res = await
|
|
2493
|
+
const res = await indexerFetch(url);
|
|
2445
2494
|
if (!res.ok) {
|
|
2446
2495
|
throw new Error(`Failed to fetch commitment tx forfeitTxs: ${res.statusText}`);
|
|
2447
2496
|
}
|
|
@@ -2524,7 +2573,7 @@ var RestIndexerProvider = class {
|
|
|
2524
2573
|
if (params.toString()) {
|
|
2525
2574
|
url += "?" + params.toString();
|
|
2526
2575
|
}
|
|
2527
|
-
const res = await
|
|
2576
|
+
const res = await indexerFetch(url);
|
|
2528
2577
|
if (!res.ok) {
|
|
2529
2578
|
throw new Error(`Failed to fetch virtual txs: ${res.statusText}`);
|
|
2530
2579
|
}
|
|
@@ -2545,7 +2594,7 @@ var RestIndexerProvider = class {
|
|
|
2545
2594
|
if (params.toString()) {
|
|
2546
2595
|
url += "?" + params.toString();
|
|
2547
2596
|
}
|
|
2548
|
-
const res = await
|
|
2597
|
+
const res = await indexerFetch(url);
|
|
2549
2598
|
if (!res.ok) {
|
|
2550
2599
|
throw new Error(`Failed to fetch vtxo chain: ${res.statusText}`);
|
|
2551
2600
|
}
|
|
@@ -2604,7 +2653,7 @@ var RestIndexerProvider = class {
|
|
|
2604
2653
|
if (params.toString()) {
|
|
2605
2654
|
url += "?" + params.toString();
|
|
2606
2655
|
}
|
|
2607
|
-
const res = await
|
|
2656
|
+
const res = await indexerFetch(url);
|
|
2608
2657
|
if (!res.ok) {
|
|
2609
2658
|
throw new Error(`Failed to fetch vtxos: ${res.statusText}`);
|
|
2610
2659
|
}
|
|
@@ -2619,7 +2668,7 @@ var RestIndexerProvider = class {
|
|
|
2619
2668
|
}
|
|
2620
2669
|
async getAssetDetails(assetId) {
|
|
2621
2670
|
const url = `${this.serverUrl}/v1/indexer/asset/${encodeURIComponent(assetId)}`;
|
|
2622
|
-
const res = await
|
|
2671
|
+
const res = await indexerFetch(url);
|
|
2623
2672
|
if (!res.ok) {
|
|
2624
2673
|
throw new Error(`Failed to fetch asset details: ${res.statusText}`);
|
|
2625
2674
|
}
|
|
@@ -2637,7 +2686,7 @@ var RestIndexerProvider = class {
|
|
|
2637
2686
|
}
|
|
2638
2687
|
async subscribeForScripts(scripts, subscriptionId) {
|
|
2639
2688
|
const url = `${this.serverUrl}/v1/indexer/script/subscribe`;
|
|
2640
|
-
const res = await
|
|
2689
|
+
const res = await indexerFetch(url, {
|
|
2641
2690
|
headers: {
|
|
2642
2691
|
"Content-Type": "application/json"
|
|
2643
2692
|
},
|
|
@@ -2654,7 +2703,7 @@ var RestIndexerProvider = class {
|
|
|
2654
2703
|
}
|
|
2655
2704
|
async unsubscribeForScripts(subscriptionId, scripts) {
|
|
2656
2705
|
const url = `${this.serverUrl}/v1/indexer/script/unsubscribe`;
|
|
2657
|
-
const res = await
|
|
2706
|
+
const res = await indexerFetch(url, {
|
|
2658
2707
|
headers: {
|
|
2659
2708
|
"Content-Type": "application/json"
|
|
2660
2709
|
},
|
|
@@ -2827,6 +2876,7 @@ exports.IndexerTxType = IndexerTxType;
|
|
|
2827
2876
|
exports.Metadata = Metadata;
|
|
2828
2877
|
exports.OP_RETURN_EMPTY_PKSCRIPT = OP_RETURN_EMPTY_PKSCRIPT;
|
|
2829
2878
|
exports.Packet = Packet;
|
|
2879
|
+
exports.ProviderUnavailableError = ProviderUnavailableError;
|
|
2830
2880
|
exports.RestArkProvider = RestArkProvider;
|
|
2831
2881
|
exports.RestIndexerProvider = RestIndexerProvider;
|
|
2832
2882
|
exports.SettlementEventType = SettlementEventType;
|
|
@@ -2844,5 +2894,5 @@ exports.isFetchTimeoutError = isFetchTimeoutError;
|
|
|
2844
2894
|
exports.maybeArkError = maybeArkError;
|
|
2845
2895
|
exports.sdkVersion = sdkVersion;
|
|
2846
2896
|
exports.setArkPsbtField = setArkPsbtField;
|
|
2847
|
-
//# sourceMappingURL=chunk-
|
|
2848
|
-
//# sourceMappingURL=chunk-
|
|
2897
|
+
//# sourceMappingURL=chunk-UHOHLN3C.cjs.map
|
|
2898
|
+
//# sourceMappingURL=chunk-UHOHLN3C.cjs.map
|