@arkade-os/sdk 0.4.44 → 0.4.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +35 -0
  2. package/dist/adapters/expo.cjs +5 -5
  3. package/dist/adapters/expo.d.cts +2 -2
  4. package/dist/adapters/expo.d.ts +2 -2
  5. package/dist/adapters/expo.js +3 -3
  6. package/dist/adapters/indexedDB.cjs +5 -5
  7. package/dist/adapters/indexedDB.js +4 -4
  8. package/dist/{ark-I8jfe5VE.d.cts → ark-C9ognsOV.d.cts} +94 -2
  9. package/dist/{ark-I8jfe5VE.d.ts → ark-C9ognsOV.d.ts} +94 -2
  10. package/dist/{asyncStorageTaskQueue-BtSOVZFn.d.ts → asyncStorageTaskQueue-BAKZ5cS5.d.ts} +2 -2
  11. package/dist/{asyncStorageTaskQueue-Dap7qUlF.d.cts → asyncStorageTaskQueue-CmBYVlxw.d.cts} +2 -2
  12. package/dist/{chunk-32YKLQPS.cjs → chunk-4KXOCVXP.cjs} +32 -29
  13. package/dist/chunk-4KXOCVXP.cjs.map +1 -0
  14. package/dist/{chunk-RJ6XVCX4.cjs → chunk-6TQJOD72.cjs} +7 -7
  15. package/dist/{chunk-RJ6XVCX4.cjs.map → chunk-6TQJOD72.cjs.map} +1 -1
  16. package/dist/{chunk-UBYY2TPK.cjs → chunk-7IYIFMF4.cjs} +178 -79
  17. package/dist/chunk-7IYIFMF4.cjs.map +1 -0
  18. package/dist/{chunk-LJ35HPJW.js → chunk-CWJ7ZCP7.js} +171 -75
  19. package/dist/chunk-CWJ7ZCP7.js.map +1 -0
  20. package/dist/{chunk-XIVCG6EP.cjs → chunk-D46YDM36.cjs} +1173 -425
  21. package/dist/chunk-D46YDM36.cjs.map +1 -0
  22. package/dist/{chunk-BE5MUB7T.js → chunk-FWG4TSPN.js} +7 -2
  23. package/dist/chunk-FWG4TSPN.js.map +1 -0
  24. package/dist/{chunk-V7WIZR2B.js → chunk-JTCQ6QXQ.js} +4 -4
  25. package/dist/{chunk-V7WIZR2B.js.map → chunk-JTCQ6QXQ.js.map} +1 -1
  26. package/dist/{chunk-HXDZ2QTW.cjs → chunk-MQB5H4X5.cjs} +7 -2
  27. package/dist/chunk-MQB5H4X5.cjs.map +1 -0
  28. package/dist/{chunk-FMI2GKYO.js → chunk-P6VBP3CT.js} +977 -231
  29. package/dist/chunk-P6VBP3CT.js.map +1 -0
  30. package/dist/{chunk-YNEDJTX2.js → chunk-QKC2T54O.js} +6 -3
  31. package/dist/chunk-QKC2T54O.js.map +1 -0
  32. package/dist/{chunk-LCQQPOIT.js → chunk-R2SVAM5Q.js} +3 -3
  33. package/dist/{chunk-LCQQPOIT.js.map → chunk-R2SVAM5Q.js.map} +1 -1
  34. package/dist/{chunk-X37EKDIH.cjs → chunk-SOXGAA52.cjs} +14 -14
  35. package/dist/{chunk-X37EKDIH.cjs.map → chunk-SOXGAA52.cjs.map} +1 -1
  36. package/dist/contracts/handlers/index.cjs +7 -7
  37. package/dist/contracts/handlers/index.d.cts +3 -3
  38. package/dist/contracts/handlers/index.d.ts +3 -3
  39. package/dist/contracts/handlers/index.js +2 -2
  40. package/dist/{delegate-BRqbh2fW.d.cts → delegate-DVEgyRwI.d.cts} +1 -1
  41. package/dist/{delegate-CgjVjYOP.d.ts → delegate-aOd5qINr.d.ts} +1 -1
  42. package/dist/{index-DvWNB_rl.d.ts → index-CPzL4tqg.d.ts} +2 -2
  43. package/dist/{index-DHuXlDEg.d.cts → index-D8vmtWWO.d.cts} +2 -2
  44. package/dist/index.cjs +176 -156
  45. package/dist/index.d.cts +45 -20
  46. package/dist/index.d.ts +45 -20
  47. package/dist/index.js +4 -4
  48. package/dist/repositories/realm/index.cjs +23 -19
  49. package/dist/repositories/realm/index.cjs.map +1 -1
  50. package/dist/repositories/realm/index.d.cts +2 -2
  51. package/dist/repositories/realm/index.d.ts +2 -2
  52. package/dist/repositories/realm/index.js +9 -5
  53. package/dist/repositories/realm/index.js.map +1 -1
  54. package/dist/repositories/sqlite/index.cjs +22 -18
  55. package/dist/repositories/sqlite/index.cjs.map +1 -1
  56. package/dist/repositories/sqlite/index.d.cts +2 -2
  57. package/dist/repositories/sqlite/index.d.ts +2 -2
  58. package/dist/repositories/sqlite/index.js +9 -5
  59. package/dist/repositories/sqlite/index.js.map +1 -1
  60. package/dist/{taskRunner-Bptw9UMa.d.ts → taskRunner-B48-V-Pb.d.ts} +2 -2
  61. package/dist/{taskRunner-CeFxKhSH.d.cts → taskRunner-nNecmQ2C.d.cts} +2 -2
  62. package/dist/wallet/expo/background.cjs +14 -14
  63. package/dist/wallet/expo/background.d.cts +3 -3
  64. package/dist/wallet/expo/background.d.ts +3 -3
  65. package/dist/wallet/expo/background.js +6 -6
  66. package/dist/wallet/expo/index.cjs +27 -14
  67. package/dist/wallet/expo/index.cjs.map +1 -1
  68. package/dist/wallet/expo/index.d.cts +11 -4
  69. package/dist/wallet/expo/index.d.ts +11 -4
  70. package/dist/wallet/expo/index.js +18 -5
  71. package/dist/wallet/expo/index.js.map +1 -1
  72. package/dist/{wallet-BsqRU8KM.d.cts → wallet-BUg3D4WJ.d.cts} +139 -3
  73. package/dist/{wallet-D9z7wssl.d.ts → wallet-DM0oShTu.d.ts} +139 -3
  74. package/dist/worker/expo/index.cjs +10 -9
  75. package/dist/worker/expo/index.cjs.map +1 -1
  76. package/dist/worker/expo/index.d.cts +4 -4
  77. package/dist/worker/expo/index.d.ts +4 -4
  78. package/dist/worker/expo/index.js +6 -5
  79. package/dist/worker/expo/index.js.map +1 -1
  80. package/package.json +2 -2
  81. package/dist/chunk-32YKLQPS.cjs.map +0 -1
  82. package/dist/chunk-BE5MUB7T.js.map +0 -1
  83. package/dist/chunk-FMI2GKYO.js.map +0 -1
  84. package/dist/chunk-HXDZ2QTW.cjs.map +0 -1
  85. package/dist/chunk-LJ35HPJW.js.map +0 -1
  86. package/dist/chunk-UBYY2TPK.cjs.map +0 -1
  87. package/dist/chunk-XIVCG6EP.cjs.map +0 -1
  88. package/dist/chunk-YNEDJTX2.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { VtxoScript, getSequence, sequenceToTimelock, DEFAULT_ARKADE_SERVER_URL } from './chunk-BE5MUB7T.js';
1
+ import { VtxoScript, getSequence, sequenceToTimelock, DEFAULT_ARKADE_SERVER_URL } from './chunk-FWG4TSPN.js';
2
2
  import { __export } from './chunk-NSBPE2FW.js';
3
3
  import { OP, Script, SigHash, RawWitness, Transaction as Transaction$1, ScriptNum } from '@scure/btc-signer';
4
4
  import { hex } from '@scure/base';
@@ -122,6 +122,59 @@ function checkKeyIncludes(key, arkPsbtFieldKey) {
122
122
  return hex.encode(new Uint8Array([key.type, ...key.key])).includes(expected);
123
123
  }
124
124
 
125
+ // package.json
126
+ var version = "0.4.46";
127
+
128
+ // src/utils/fetch.ts
129
+ var buildVersion = "0.9.9";
130
+ var sdkVersion = `ts-sdk/${version}`;
131
+ var FetchError = class extends Error {
132
+ /** The request URL that failed, when derivable from the `fetch` input. */
133
+ url;
134
+ /** The HTTP method of the failed request (defaults to `"GET"`). */
135
+ method;
136
+ constructor(message, options) {
137
+ super(message, { cause: options.cause });
138
+ this.name = "FetchError";
139
+ this.url = options.url;
140
+ this.method = options.method;
141
+ }
142
+ };
143
+ function baseFetch(input, init) {
144
+ if (typeof globalThis.fetch !== "function") {
145
+ throw new Error("Fetch API is not available in this environment.");
146
+ }
147
+ return globalThis.fetch(input, init).catch((cause) => {
148
+ const { url, method } = describeRequest(input, init);
149
+ throw new FetchError(`Network request failed: ${method} ${url}`, { url, method, cause });
150
+ });
151
+ }
152
+ function fetch(input, init) {
153
+ const headers = new Headers(init?.headers);
154
+ headers.set("X-Build-Version", buildVersion);
155
+ headers.set("X-SDK-VERSION", sdkVersion);
156
+ return baseFetch(input, { ...init, headers });
157
+ }
158
+ function describeRequest(input, init) {
159
+ let url;
160
+ if (typeof input === "string") {
161
+ url = input;
162
+ } else if (input instanceof URL) {
163
+ url = input.href;
164
+ } else {
165
+ url = input.url;
166
+ }
167
+ let method;
168
+ if (init?.method !== void 0) {
169
+ method = init.method;
170
+ } else if (input instanceof Request) {
171
+ method = input.method;
172
+ } else {
173
+ method = "GET";
174
+ }
175
+ return { url, method };
176
+ }
177
+
125
178
  // src/providers/errors.ts
126
179
  var ArkError = class extends Error {
127
180
  constructor(code, message, name, metadata) {
@@ -131,7 +184,52 @@ var ArkError = class extends Error {
131
184
  this.name = name;
132
185
  this.metadata = metadata;
133
186
  }
187
+ code;
188
+ message;
189
+ name;
190
+ metadata;
191
+ };
192
+ var ArkErrorName = {
193
+ DIGEST_MISMATCH: "DIGEST_MISMATCH",
194
+ VTXO_ALREADY_SPENT: "VTXO_ALREADY_SPENT",
195
+ INVALID_TX_FILTER: "INVALID_TX_FILTER",
196
+ TX_FILTERS_LIMIT_EXCEEDED: "TX_FILTERS_LIMIT_EXCEEDED",
197
+ /**
198
+ * A CLTV closure was spent before its absolute locktime matured. Raised only by
199
+ * `submitTx` (never `finalizeTx`), with metadata
200
+ * `{ locktime, current_locktime, type: "height" | "time" }`.
201
+ *
202
+ * Self-healing, so defer and retry rather than fail: the server matures a
203
+ * seconds-locktime against the **chain tip block's timestamp**, not its wall clock,
204
+ * so a spend attempted promptly at maturity is rejected until a later block lands.
205
+ */
206
+ FORFEIT_CLOSURE_LOCKED: "FORFEIT_CLOSURE_LOCKED"
207
+ };
208
+ function isArkError(error, name) {
209
+ return error instanceof ArkError && (name === void 0 || error.name === name);
210
+ }
211
+ var ProviderUnavailableError = class extends Error {
212
+ /** Always `true`: this error type only ever wraps retryable conditions. */
213
+ retryable = true;
214
+ constructor(message, options) {
215
+ super(message, { cause: options?.cause });
216
+ this.name = "ProviderUnavailableError";
217
+ }
134
218
  };
219
+ function throwIfHttpUnavailable(response, kind, body) {
220
+ if (body !== void 0 && maybeArkError(new Error(body))) return;
221
+ if (response.status === 429 || response.status >= 500) {
222
+ throw new ProviderUnavailableError(
223
+ `${kind} unavailable: ${response.status} ${response.statusText}`
224
+ );
225
+ }
226
+ }
227
+ function toProviderUnavailable(err, kind) {
228
+ if (err instanceof FetchError) {
229
+ return new ProviderUnavailableError(`${kind} request failed`, { cause: err });
230
+ }
231
+ return err;
232
+ }
135
233
  function maybeArkError(error) {
136
234
  try {
137
235
  if (!(error instanceof Error)) return void 0;
@@ -348,59 +446,6 @@ function prepareCoinAsIntentProofInput(coin) {
348
446
  };
349
447
  }
350
448
 
351
- // package.json
352
- var version = "0.4.44";
353
-
354
- // src/utils/fetch.ts
355
- var buildVersion = "0.9.9";
356
- var sdkVersion = `ts-sdk/${version}`;
357
- var FetchError = class extends Error {
358
- /** The request URL that failed, when derivable from the `fetch` input. */
359
- url;
360
- /** The HTTP method of the failed request (defaults to `"GET"`). */
361
- method;
362
- constructor(message, options) {
363
- super(message, { cause: options.cause });
364
- this.name = "FetchError";
365
- this.url = options.url;
366
- this.method = options.method;
367
- }
368
- };
369
- function baseFetch(input, init) {
370
- if (typeof globalThis.fetch !== "function") {
371
- throw new Error("Fetch API is not available in this environment.");
372
- }
373
- return globalThis.fetch(input, init).catch((cause) => {
374
- const { url, method } = describeRequest(input, init);
375
- throw new FetchError(`Network request failed: ${method} ${url}`, { url, method, cause });
376
- });
377
- }
378
- function fetch(input, init) {
379
- const headers = new Headers(init?.headers);
380
- headers.set("X-Build-Version", buildVersion);
381
- headers.set("X-SDK-VERSION", sdkVersion);
382
- return baseFetch(input, { ...init, headers });
383
- }
384
- function describeRequest(input, init) {
385
- let url;
386
- if (typeof input === "string") {
387
- url = input;
388
- } else if (input instanceof URL) {
389
- url = input.href;
390
- } else {
391
- url = input.url;
392
- }
393
- let method;
394
- if (init?.method !== void 0) {
395
- method = init.method;
396
- } else if (input instanceof Request) {
397
- method = input.method;
398
- } else {
399
- method = "GET";
400
- }
401
- return { url, method };
402
- }
403
-
404
449
  // src/providers/utils.ts
405
450
  function createAbortError() {
406
451
  const error = new Error("EventSource closed");
@@ -524,6 +569,7 @@ var RestArkProvider = class {
524
569
  constructor(serverUrl = DEFAULT_ARKADE_SERVER_URL) {
525
570
  this.serverUrl = serverUrl;
526
571
  }
572
+ serverUrl;
527
573
  /**
528
574
  * Last server-info digest seen (from {@link getInfo}). Sent as `X-Digest`
529
575
  * on outgoing requests so arkd can reject a client whose cached info is
@@ -568,16 +614,24 @@ var RestArkProvider = class {
568
614
  ...init.headers
569
615
  };
570
616
  if (digest) headers["X-Digest"] = digest;
571
- const response = await fetch(url, { ...init, headers });
617
+ let response;
618
+ try {
619
+ response = await fetch(url, { ...init, headers });
620
+ } catch (err) {
621
+ throw toProviderUnavailable(err, "arkade");
622
+ }
572
623
  if (response.ok) return response;
573
624
  let body;
574
625
  try {
575
626
  body = await response.clone().text();
576
627
  } catch (e) {
577
628
  console.warn("authedFetch could not read response body for digest check", e);
629
+ throwIfHttpUnavailable(response, "arkade");
578
630
  return response;
579
631
  }
580
- if (maybeArkError(new Error(body))?.name !== "DIGEST_MISMATCH") return response;
632
+ const arkError = maybeArkError(new Error(body));
633
+ if (!arkError) throwIfHttpUnavailable(response, "arkade");
634
+ if (!isArkError(arkError, ArkErrorName.DIGEST_MISMATCH)) return response;
581
635
  this._digest = "";
582
636
  const info = await this.getInfo();
583
637
  this.emitServerInfoChanged(info);
@@ -590,6 +644,7 @@ var RestArkProvider = class {
590
644
  const response = await fetch(url);
591
645
  if (!response.ok) {
592
646
  const errorText = await response.text();
647
+ throwIfHttpUnavailable(response, "arkade", errorText);
593
648
  handleError(errorText, `Failed to get server info: ${response.statusText}`);
594
649
  }
595
650
  const fromServer = await response.json();
@@ -1238,6 +1293,8 @@ var AssetId = class _AssetId {
1238
1293
  this.txid = txid;
1239
1294
  this.groupIndex = groupIndex;
1240
1295
  }
1296
+ txid;
1297
+ groupIndex;
1241
1298
  /**
1242
1299
  * Create an asset id from a genesis transaction id and group index.
1243
1300
  *
@@ -1369,6 +1426,7 @@ var AssetRef = class _AssetRef {
1369
1426
  constructor(ref) {
1370
1427
  this.ref = ref;
1371
1428
  }
1429
+ ref;
1372
1430
  /** Reference type discriminator. */
1373
1431
  get type() {
1374
1432
  return this.ref.type;
@@ -1497,6 +1555,7 @@ var AssetInput = class _AssetInput {
1497
1555
  constructor(input) {
1498
1556
  this.input = input;
1499
1557
  }
1558
+ input;
1500
1559
  /** Gets the transaction input index for an asset input, e.g. 0 */
1501
1560
  get vin() {
1502
1561
  return this.input.vin;
@@ -1627,6 +1686,7 @@ var AssetInputs = class _AssetInputs {
1627
1686
  constructor(inputs) {
1628
1687
  this.inputs = inputs;
1629
1688
  }
1689
+ inputs;
1630
1690
  /** Create a validated list of asset inputs. */
1631
1691
  static create(inputs) {
1632
1692
  const list = new _AssetInputs(inputs);
@@ -1699,6 +1759,8 @@ var AssetOutput = class _AssetOutput {
1699
1759
  this.vout = vout;
1700
1760
  this.amount = amount;
1701
1761
  }
1762
+ vout;
1763
+ amount;
1702
1764
  // 0x01 means local output, there is only 1 local output type currently
1703
1765
  // however we serialize it for future upgrades
1704
1766
  static TYPE_LOCAL = 1;
@@ -1779,6 +1841,7 @@ var AssetOutputs = class _AssetOutputs {
1779
1841
  constructor(outputs) {
1780
1842
  this.outputs = outputs;
1781
1843
  }
1844
+ outputs;
1782
1845
  /** Create a validated list of asset outputs. */
1783
1846
  static create(outputs) {
1784
1847
  const list = new _AssetOutputs(outputs);
@@ -1848,6 +1911,8 @@ var Metadata = class _Metadata {
1848
1911
  this.key = key;
1849
1912
  this.value = value;
1850
1913
  }
1914
+ key;
1915
+ value;
1851
1916
  /** Create a metadata entry from raw key and value bytes. */
1852
1917
  static create(key, value) {
1853
1918
  const md = new _Metadata(key, value);
@@ -1925,6 +1990,7 @@ var MetadataList = class _MetadataList {
1925
1990
  constructor(items) {
1926
1991
  this.items = items;
1927
1992
  }
1993
+ items;
1928
1994
  static ARK_LEAF_TAG = "ArkadeAssetLeaf";
1929
1995
  static ARK_BRANCH_TAG = "ArkadeAssetBranch";
1930
1996
  static ARK_LEAF_VERSION = 0;
@@ -2018,6 +2084,10 @@ var AssetGroup = class _AssetGroup {
2018
2084
  this.outputs = outputs;
2019
2085
  this.metadataList = new MetadataList(metadata);
2020
2086
  }
2087
+ assetId;
2088
+ controlAsset;
2089
+ inputs;
2090
+ outputs;
2021
2091
  metadataList;
2022
2092
  /**
2023
2093
  * Create and validate an asset group.
@@ -2214,6 +2284,7 @@ var Packet = class _Packet {
2214
2284
  constructor(groups) {
2215
2285
  this.groups = groups;
2216
2286
  }
2287
+ groups;
2217
2288
  /** PACKET_TYPE is the 1-byte TLV type tag used in the Extension envelope. */
2218
2289
  static PACKET_TYPE = 0;
2219
2290
  /** Create a validated asset packet from a list of asset groups. */
@@ -2313,6 +2384,24 @@ var Packet = class _Packet {
2313
2384
  return packet;
2314
2385
  }
2315
2386
  };
2387
+ async function indexerFetch(input, init) {
2388
+ let res;
2389
+ try {
2390
+ res = await baseFetch(input, init);
2391
+ } catch (err) {
2392
+ throw toProviderUnavailable(err, "indexer");
2393
+ }
2394
+ if (!res.ok) {
2395
+ let body;
2396
+ try {
2397
+ body = await res.clone().text();
2398
+ } catch {
2399
+ body = void 0;
2400
+ }
2401
+ throwIfHttpUnavailable(res, "indexer", body);
2402
+ }
2403
+ return res;
2404
+ }
2316
2405
  var IndexerTxType = /* @__PURE__ */ ((IndexerTxType2) => {
2317
2406
  IndexerTxType2[IndexerTxType2["INDEXER_TX_TYPE_UNSPECIFIED"] = 0] = "INDEXER_TX_TYPE_UNSPECIFIED";
2318
2407
  IndexerTxType2[IndexerTxType2["INDEXER_TX_TYPE_RECEIVED"] = 1] = "INDEXER_TX_TYPE_RECEIVED";
@@ -2331,6 +2420,7 @@ var RestIndexerProvider = class {
2331
2420
  constructor(serverUrl = DEFAULT_ARKADE_SERVER_URL) {
2332
2421
  this.serverUrl = serverUrl;
2333
2422
  }
2423
+ serverUrl;
2334
2424
  async getVtxoTree(batchOutpoint, opts) {
2335
2425
  let url = `${this.serverUrl}/v1/indexer/batch/${batchOutpoint.txid}/${batchOutpoint.vout}/tree`;
2336
2426
  const params = new URLSearchParams();
@@ -2342,7 +2432,7 @@ var RestIndexerProvider = class {
2342
2432
  if (params.toString()) {
2343
2433
  url += "?" + params.toString();
2344
2434
  }
2345
- const res = await baseFetch(url);
2435
+ const res = await indexerFetch(url);
2346
2436
  if (!res.ok) {
2347
2437
  throw new Error(`Failed to fetch vtxo tree: ${res.statusText}`);
2348
2438
  }
@@ -2368,7 +2458,7 @@ var RestIndexerProvider = class {
2368
2458
  if (params.toString()) {
2369
2459
  url += "?" + params.toString();
2370
2460
  }
2371
- const res = await baseFetch(url);
2461
+ const res = await indexerFetch(url);
2372
2462
  if (!res.ok) {
2373
2463
  throw new Error(`Failed to fetch vtxo tree leaves: ${res.statusText}`);
2374
2464
  }
@@ -2380,7 +2470,7 @@ var RestIndexerProvider = class {
2380
2470
  }
2381
2471
  async getBatchSweepTransactions(batchOutpoint) {
2382
2472
  const url = `${this.serverUrl}/v1/indexer/batch/${batchOutpoint.txid}/${batchOutpoint.vout}/sweepTxs`;
2383
- const res = await baseFetch(url);
2473
+ const res = await indexerFetch(url);
2384
2474
  if (!res.ok) {
2385
2475
  throw new Error(`Failed to fetch batch sweep transactions: ${res.statusText}`);
2386
2476
  }
@@ -2392,7 +2482,7 @@ var RestIndexerProvider = class {
2392
2482
  }
2393
2483
  async getCommitmentTx(txid) {
2394
2484
  const url = `${this.serverUrl}/v1/indexer/commitmentTx/${txid}`;
2395
- const res = await baseFetch(url);
2485
+ const res = await indexerFetch(url);
2396
2486
  if (!res.ok) {
2397
2487
  throw new Error(`Failed to fetch commitment tx: ${res.statusText}`);
2398
2488
  }
@@ -2413,7 +2503,7 @@ var RestIndexerProvider = class {
2413
2503
  if (params.toString()) {
2414
2504
  url += "?" + params.toString();
2415
2505
  }
2416
- const res = await baseFetch(url);
2506
+ const res = await indexerFetch(url);
2417
2507
  if (!res.ok) {
2418
2508
  throw new Error(`Failed to fetch commitment tx connectors: ${res.statusText}`);
2419
2509
  }
@@ -2439,7 +2529,7 @@ var RestIndexerProvider = class {
2439
2529
  if (params.toString()) {
2440
2530
  url += "?" + params.toString();
2441
2531
  }
2442
- const res = await baseFetch(url);
2532
+ const res = await indexerFetch(url);
2443
2533
  if (!res.ok) {
2444
2534
  throw new Error(`Failed to fetch commitment tx forfeitTxs: ${res.statusText}`);
2445
2535
  }
@@ -2522,7 +2612,7 @@ var RestIndexerProvider = class {
2522
2612
  if (params.toString()) {
2523
2613
  url += "?" + params.toString();
2524
2614
  }
2525
- const res = await baseFetch(url);
2615
+ const res = await indexerFetch(url);
2526
2616
  if (!res.ok) {
2527
2617
  throw new Error(`Failed to fetch virtual txs: ${res.statusText}`);
2528
2618
  }
@@ -2543,7 +2633,7 @@ var RestIndexerProvider = class {
2543
2633
  if (params.toString()) {
2544
2634
  url += "?" + params.toString();
2545
2635
  }
2546
- const res = await baseFetch(url);
2636
+ const res = await indexerFetch(url);
2547
2637
  if (!res.ok) {
2548
2638
  throw new Error(`Failed to fetch vtxo chain: ${res.statusText}`);
2549
2639
  }
@@ -2562,12 +2652,16 @@ var RestIndexerProvider = class {
2562
2652
  if (!hasScripts && !hasOutpoints) {
2563
2653
  throw new Error("Either scripts or outpoints must be provided");
2564
2654
  }
2565
- const filterCount = [opts?.spendableOnly, opts?.spentOnly, opts?.recoverableOnly].filter(
2566
- Boolean
2567
- ).length;
2655
+ const filterCount = [
2656
+ opts?.spendableOnly,
2657
+ opts?.spentOnly,
2658
+ opts?.recoverableOnly,
2659
+ opts?.pendingOnly,
2660
+ opts?.renewableOnly
2661
+ ].filter(Boolean).length;
2568
2662
  if (filterCount > 1) {
2569
2663
  throw new Error(
2570
- "spendableOnly, spentOnly, and recoverableOnly are mutually exclusive options"
2664
+ "spendableOnly, spentOnly, recoverableOnly, pendingOnly, and renewableOnly are mutually exclusive options"
2571
2665
  );
2572
2666
  }
2573
2667
  if (opts?.after !== void 0 && opts?.before !== void 0 && opts.after !== 0 && opts.before !== 0 && opts.before <= opts.after) {
@@ -2593,6 +2687,8 @@ var RestIndexerProvider = class {
2593
2687
  params.append("recoverableOnly", opts.recoverableOnly.toString());
2594
2688
  if (opts.pendingOnly !== void 0)
2595
2689
  params.append("pendingOnly", opts.pendingOnly.toString());
2690
+ if (opts.renewableOnly !== void 0)
2691
+ params.append("renewableOnly", opts.renewableOnly.toString());
2596
2692
  if (opts.after !== void 0) params.append("after", opts.after.toString());
2597
2693
  if (opts.before !== void 0) params.append("before", opts.before.toString());
2598
2694
  if (opts.pageIndex !== void 0)
@@ -2602,7 +2698,7 @@ var RestIndexerProvider = class {
2602
2698
  if (params.toString()) {
2603
2699
  url += "?" + params.toString();
2604
2700
  }
2605
- const res = await baseFetch(url);
2701
+ const res = await indexerFetch(url);
2606
2702
  if (!res.ok) {
2607
2703
  throw new Error(`Failed to fetch vtxos: ${res.statusText}`);
2608
2704
  }
@@ -2617,7 +2713,7 @@ var RestIndexerProvider = class {
2617
2713
  }
2618
2714
  async getAssetDetails(assetId) {
2619
2715
  const url = `${this.serverUrl}/v1/indexer/asset/${encodeURIComponent(assetId)}`;
2620
- const res = await baseFetch(url);
2716
+ const res = await indexerFetch(url);
2621
2717
  if (!res.ok) {
2622
2718
  throw new Error(`Failed to fetch asset details: ${res.statusText}`);
2623
2719
  }
@@ -2635,7 +2731,7 @@ var RestIndexerProvider = class {
2635
2731
  }
2636
2732
  async subscribeForScripts(scripts, subscriptionId) {
2637
2733
  const url = `${this.serverUrl}/v1/indexer/script/subscribe`;
2638
- const res = await baseFetch(url, {
2734
+ const res = await indexerFetch(url, {
2639
2735
  headers: {
2640
2736
  "Content-Type": "application/json"
2641
2737
  },
@@ -2652,7 +2748,7 @@ var RestIndexerProvider = class {
2652
2748
  }
2653
2749
  async unsubscribeForScripts(subscriptionId, scripts) {
2654
2750
  const url = `${this.serverUrl}/v1/indexer/script/unsubscribe`;
2655
- const res = await baseFetch(url, {
2751
+ const res = await indexerFetch(url, {
2656
2752
  headers: {
2657
2753
  "Content-Type": "application/json"
2658
2754
  },
@@ -2807,6 +2903,6 @@ var Response;
2807
2903
  Response2.isGetAssetResponse = isGetAssetResponse;
2808
2904
  })(Response || (Response = {}));
2809
2905
 
2810
- export { ArkError, ArkPsbtFieldKey, ArkPsbtFieldKeyType, AssetGroup, AssetId, AssetInput, AssetOutput, AssetRef, BufferReader, ChainTxType, ConditionWitness, CosignerPublicKey, DigestMismatchError, FetchError, IndexerTxType, Intent, Metadata, OP_RETURN_EMPTY_PKSCRIPT, Packet, RestArkProvider, RestIndexerProvider, SettlementEventType, Transaction, VtxoTaprootTree, VtxoTreeExpiry, asset_exports, baseFetch, buildVersion, craftToSpendTx, fetch, getArkPsbtFields, isEventSourceError, isFetchTimeoutError, maybeArkError, sdkVersion, setArkPsbtField };
2811
- //# sourceMappingURL=chunk-LJ35HPJW.js.map
2812
- //# sourceMappingURL=chunk-LJ35HPJW.js.map
2906
+ export { ArkError, ArkErrorName, ArkPsbtFieldKey, ArkPsbtFieldKeyType, AssetGroup, AssetId, AssetInput, AssetOutput, AssetRef, BufferReader, ChainTxType, ConditionWitness, CosignerPublicKey, DigestMismatchError, FetchError, IndexerTxType, Intent, Metadata, OP_RETURN_EMPTY_PKSCRIPT, Packet, ProviderUnavailableError, RestArkProvider, RestIndexerProvider, SettlementEventType, Transaction, VtxoTaprootTree, VtxoTreeExpiry, asset_exports, baseFetch, buildVersion, craftToSpendTx, fetch, getArkPsbtFields, isArkError, isEventSourceError, isFetchTimeoutError, maybeArkError, sdkVersion, setArkPsbtField };
2907
+ //# sourceMappingURL=chunk-CWJ7ZCP7.js.map
2908
+ //# sourceMappingURL=chunk-CWJ7ZCP7.js.map