@buildonspark/spark-sdk 0.2.2 → 0.2.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{chunk-TM6CHQXC.js → chunk-3SEOTO43.js} +1 -1
  3. package/dist/{chunk-2ENZX6LT.js → chunk-AAZWSPUK.js} +84 -8
  4. package/dist/{chunk-4JD4HIAN.js → chunk-G4MSZ6DE.js} +299 -1
  5. package/dist/{chunk-2TUM3R6C.js → chunk-PLLJIZC3.js} +51 -17
  6. package/dist/{chunk-S2AL73MZ.js → chunk-PTRXJS7Q.js} +1 -1
  7. package/dist/debug.cjs +427 -22
  8. package/dist/debug.d.cts +4 -4
  9. package/dist/debug.d.ts +4 -4
  10. package/dist/debug.js +4 -4
  11. package/dist/index.cjs +427 -22
  12. package/dist/index.d.cts +4 -4
  13. package/dist/index.d.ts +4 -4
  14. package/dist/index.js +5 -5
  15. package/dist/index.node.cjs +427 -22
  16. package/dist/index.node.d.cts +7 -5
  17. package/dist/index.node.d.ts +7 -5
  18. package/dist/index.node.js +4 -4
  19. package/dist/native/index.cjs +427 -22
  20. package/dist/native/index.d.cts +53 -10
  21. package/dist/native/index.d.ts +53 -10
  22. package/dist/native/index.js +427 -22
  23. package/dist/proto/lrc20.d.cts +1 -1
  24. package/dist/proto/lrc20.d.ts +1 -1
  25. package/dist/proto/lrc20.js +1 -1
  26. package/dist/proto/spark.cjs +84 -8
  27. package/dist/proto/spark.d.cts +1 -1
  28. package/dist/proto/spark.d.ts +1 -1
  29. package/dist/proto/spark.js +1 -1
  30. package/dist/proto/spark_token.cjs +301 -0
  31. package/dist/proto/spark_token.d.cts +35 -2
  32. package/dist/proto/spark_token.d.ts +35 -2
  33. package/dist/proto/spark_token.js +8 -2
  34. package/dist/{sdk-types-DJ2ve9YY.d.cts → sdk-types-CB9HrW5O.d.cts} +1 -1
  35. package/dist/{sdk-types-DCIVdKUT.d.ts → sdk-types-CkRNraXT.d.ts} +1 -1
  36. package/dist/{spark-BUOx3U7Q.d.cts → spark-B_7nZx6T.d.cts} +112 -10
  37. package/dist/{spark-BUOx3U7Q.d.ts → spark-B_7nZx6T.d.ts} +112 -10
  38. package/dist/{spark-wallet-B_96y9BS.d.ts → spark-wallet-CxcGPXRB.d.ts} +7 -3
  39. package/dist/{spark-wallet-CHwKQYJu.d.cts → spark-wallet-DJJm19BP.d.cts} +7 -3
  40. package/dist/tests/test-utils.cjs +380 -9
  41. package/dist/tests/test-utils.d.cts +3 -3
  42. package/dist/tests/test-utils.d.ts +3 -3
  43. package/dist/tests/test-utils.js +5 -5
  44. package/dist/types/index.cjs +84 -8
  45. package/dist/types/index.d.cts +2 -2
  46. package/dist/types/index.d.ts +2 -2
  47. package/dist/types/index.js +2 -2
  48. package/dist/{xchain-address-DLbW1iDh.d.ts → xchain-address-Bh9w1SeC.d.ts} +2 -2
  49. package/dist/{xchain-address-D5MIHCDL.d.cts → xchain-address-SZ7dkVUE.d.cts} +2 -2
  50. package/package.json +1 -1
  51. package/src/proto/spark.ts +172 -16
  52. package/src/proto/spark_token.ts +369 -0
  53. package/src/services/token-transactions.ts +6 -2
  54. package/src/spark-wallet/spark-wallet.ts +55 -14
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @buildonspark/spark-sdk
2
2
 
3
+ ## 0.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - -leaf key improvements
8
+ -token improvements
9
+
3
10
  ## 0.2.2
4
11
 
5
12
  ### Patch Changes
@@ -2,7 +2,7 @@ import {
2
2
  Network,
3
3
  TransferStatus,
4
4
  TransferType
5
- } from "./chunk-2ENZX6LT.js";
5
+ } from "./chunk-AAZWSPUK.js";
6
6
 
7
7
  // src/types/sdk-types.ts
8
8
  import { bytesToHex } from "@noble/curves/abstract/utils";
@@ -14831,14 +14831,6 @@ var SparkServiceDefinition = {
14831
14831
  responseStream: false,
14832
14832
  options: {}
14833
14833
  },
14834
- create_tree_v2: {
14835
- name: "create_tree_v2",
14836
- requestType: CreateTreeRequest,
14837
- requestStream: false,
14838
- responseType: CreateTreeResponse,
14839
- responseStream: false,
14840
- options: {}
14841
- },
14842
14834
  get_signing_operator_list: {
14843
14835
  name: "get_signing_operator_list",
14844
14836
  requestType: Empty,
@@ -15005,6 +14997,90 @@ var SparkServiceDefinition = {
15005
14997
  responseType: ExitSingleNodeTreesResponse,
15006
14998
  responseStream: false,
15007
14999
  options: {}
15000
+ },
15001
+ /**
15002
+ * The following endpoints enforce inclusion of Direct Transactions used
15003
+ * for unilateral exits
15004
+ */
15005
+ create_tree_v2: {
15006
+ name: "create_tree_v2",
15007
+ requestType: CreateTreeRequest,
15008
+ requestStream: false,
15009
+ responseType: CreateTreeResponse,
15010
+ responseStream: false,
15011
+ options: {}
15012
+ },
15013
+ cooperative_exit_v2: {
15014
+ name: "cooperative_exit_v2",
15015
+ requestType: CooperativeExitRequest,
15016
+ requestStream: false,
15017
+ responseType: CooperativeExitResponse,
15018
+ responseStream: false,
15019
+ options: {}
15020
+ },
15021
+ extend_leaf_v2: {
15022
+ name: "extend_leaf_v2",
15023
+ requestType: ExtendLeafRequest,
15024
+ requestStream: false,
15025
+ responseType: ExtendLeafResponse,
15026
+ responseStream: false,
15027
+ options: {}
15028
+ },
15029
+ claim_transfer_sign_refunds_v2: {
15030
+ name: "claim_transfer_sign_refunds_v2",
15031
+ requestType: ClaimTransferSignRefundsRequest,
15032
+ requestStream: false,
15033
+ responseType: ClaimTransferSignRefundsResponse,
15034
+ responseStream: false,
15035
+ options: {}
15036
+ },
15037
+ finalize_node_signatures_v2: {
15038
+ name: "finalize_node_signatures_v2",
15039
+ requestType: FinalizeNodeSignaturesRequest,
15040
+ requestStream: false,
15041
+ responseType: FinalizeNodeSignaturesResponse,
15042
+ responseStream: false,
15043
+ options: {}
15044
+ },
15045
+ initiate_preimage_swap_v2: {
15046
+ name: "initiate_preimage_swap_v2",
15047
+ requestType: InitiatePreimageSwapRequest,
15048
+ requestStream: false,
15049
+ responseType: InitiatePreimageSwapResponse,
15050
+ responseStream: false,
15051
+ options: {}
15052
+ },
15053
+ start_leaf_swap_v2: {
15054
+ name: "start_leaf_swap_v2",
15055
+ requestType: StartTransferRequest,
15056
+ requestStream: false,
15057
+ responseType: StartTransferResponse,
15058
+ responseStream: false,
15059
+ options: {}
15060
+ },
15061
+ counter_leaf_swap_v2: {
15062
+ name: "counter_leaf_swap_v2",
15063
+ requestType: CounterLeafSwapRequest,
15064
+ requestStream: false,
15065
+ responseType: CounterLeafSwapResponse,
15066
+ responseStream: false,
15067
+ options: {}
15068
+ },
15069
+ start_transfer_v2: {
15070
+ name: "start_transfer_v2",
15071
+ requestType: StartTransferRequest,
15072
+ requestStream: false,
15073
+ responseType: StartTransferResponse,
15074
+ responseStream: false,
15075
+ options: {}
15076
+ },
15077
+ refresh_timelock_v2: {
15078
+ name: "refresh_timelock_v2",
15079
+ requestType: RefreshTimelockRequest,
15080
+ requestStream: false,
15081
+ responseType: RefreshTimelockResponse,
15082
+ responseStream: false,
15083
+ options: {}
15008
15084
  }
15009
15085
  }
15010
15086
  };
@@ -3,7 +3,7 @@ import {
3
3
  Timestamp,
4
4
  networkFromJSON,
5
5
  networkToJSON
6
- } from "./chunk-2ENZX6LT.js";
6
+ } from "./chunk-AAZWSPUK.js";
7
7
 
8
8
  // src/proto/spark_token.ts
9
9
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
@@ -2249,6 +2249,293 @@ var TokenTransactionWithStatus = {
2249
2249
  return message;
2250
2250
  }
2251
2251
  };
2252
+ function createBaseFreezeTokensPayload() {
2253
+ return {
2254
+ version: 0,
2255
+ ownerPublicKey: new Uint8Array(0),
2256
+ tokenPublicKey: void 0,
2257
+ tokenIdentifier: void 0,
2258
+ issuerProvidedTimestamp: 0,
2259
+ operatorIdentityPublicKey: new Uint8Array(0),
2260
+ shouldUnfreeze: false
2261
+ };
2262
+ }
2263
+ var FreezeTokensPayload = {
2264
+ encode(message, writer = new BinaryWriter()) {
2265
+ if (message.version !== 0) {
2266
+ writer.uint32(8).uint32(message.version);
2267
+ }
2268
+ if (message.ownerPublicKey.length !== 0) {
2269
+ writer.uint32(18).bytes(message.ownerPublicKey);
2270
+ }
2271
+ if (message.tokenPublicKey !== void 0) {
2272
+ writer.uint32(26).bytes(message.tokenPublicKey);
2273
+ }
2274
+ if (message.tokenIdentifier !== void 0) {
2275
+ writer.uint32(34).bytes(message.tokenIdentifier);
2276
+ }
2277
+ if (message.issuerProvidedTimestamp !== 0) {
2278
+ writer.uint32(40).uint64(message.issuerProvidedTimestamp);
2279
+ }
2280
+ if (message.operatorIdentityPublicKey.length !== 0) {
2281
+ writer.uint32(50).bytes(message.operatorIdentityPublicKey);
2282
+ }
2283
+ if (message.shouldUnfreeze !== false) {
2284
+ writer.uint32(56).bool(message.shouldUnfreeze);
2285
+ }
2286
+ return writer;
2287
+ },
2288
+ decode(input, length) {
2289
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
2290
+ const end = length === void 0 ? reader.len : reader.pos + length;
2291
+ const message = createBaseFreezeTokensPayload();
2292
+ while (reader.pos < end) {
2293
+ const tag = reader.uint32();
2294
+ switch (tag >>> 3) {
2295
+ case 1: {
2296
+ if (tag !== 8) {
2297
+ break;
2298
+ }
2299
+ message.version = reader.uint32();
2300
+ continue;
2301
+ }
2302
+ case 2: {
2303
+ if (tag !== 18) {
2304
+ break;
2305
+ }
2306
+ message.ownerPublicKey = reader.bytes();
2307
+ continue;
2308
+ }
2309
+ case 3: {
2310
+ if (tag !== 26) {
2311
+ break;
2312
+ }
2313
+ message.tokenPublicKey = reader.bytes();
2314
+ continue;
2315
+ }
2316
+ case 4: {
2317
+ if (tag !== 34) {
2318
+ break;
2319
+ }
2320
+ message.tokenIdentifier = reader.bytes();
2321
+ continue;
2322
+ }
2323
+ case 5: {
2324
+ if (tag !== 40) {
2325
+ break;
2326
+ }
2327
+ message.issuerProvidedTimestamp = longToNumber(reader.uint64());
2328
+ continue;
2329
+ }
2330
+ case 6: {
2331
+ if (tag !== 50) {
2332
+ break;
2333
+ }
2334
+ message.operatorIdentityPublicKey = reader.bytes();
2335
+ continue;
2336
+ }
2337
+ case 7: {
2338
+ if (tag !== 56) {
2339
+ break;
2340
+ }
2341
+ message.shouldUnfreeze = reader.bool();
2342
+ continue;
2343
+ }
2344
+ }
2345
+ if ((tag & 7) === 4 || tag === 0) {
2346
+ break;
2347
+ }
2348
+ reader.skip(tag & 7);
2349
+ }
2350
+ return message;
2351
+ },
2352
+ fromJSON(object) {
2353
+ return {
2354
+ version: isSet(object.version) ? globalThis.Number(object.version) : 0,
2355
+ ownerPublicKey: isSet(object.ownerPublicKey) ? bytesFromBase64(object.ownerPublicKey) : new Uint8Array(0),
2356
+ tokenPublicKey: isSet(object.tokenPublicKey) ? bytesFromBase64(object.tokenPublicKey) : void 0,
2357
+ tokenIdentifier: isSet(object.tokenIdentifier) ? bytesFromBase64(object.tokenIdentifier) : void 0,
2358
+ issuerProvidedTimestamp: isSet(object.issuerProvidedTimestamp) ? globalThis.Number(object.issuerProvidedTimestamp) : 0,
2359
+ operatorIdentityPublicKey: isSet(object.operatorIdentityPublicKey) ? bytesFromBase64(object.operatorIdentityPublicKey) : new Uint8Array(0),
2360
+ shouldUnfreeze: isSet(object.shouldUnfreeze) ? globalThis.Boolean(object.shouldUnfreeze) : false
2361
+ };
2362
+ },
2363
+ toJSON(message) {
2364
+ const obj = {};
2365
+ if (message.version !== 0) {
2366
+ obj.version = Math.round(message.version);
2367
+ }
2368
+ if (message.ownerPublicKey.length !== 0) {
2369
+ obj.ownerPublicKey = base64FromBytes(message.ownerPublicKey);
2370
+ }
2371
+ if (message.tokenPublicKey !== void 0) {
2372
+ obj.tokenPublicKey = base64FromBytes(message.tokenPublicKey);
2373
+ }
2374
+ if (message.tokenIdentifier !== void 0) {
2375
+ obj.tokenIdentifier = base64FromBytes(message.tokenIdentifier);
2376
+ }
2377
+ if (message.issuerProvidedTimestamp !== 0) {
2378
+ obj.issuerProvidedTimestamp = Math.round(message.issuerProvidedTimestamp);
2379
+ }
2380
+ if (message.operatorIdentityPublicKey.length !== 0) {
2381
+ obj.operatorIdentityPublicKey = base64FromBytes(message.operatorIdentityPublicKey);
2382
+ }
2383
+ if (message.shouldUnfreeze !== false) {
2384
+ obj.shouldUnfreeze = message.shouldUnfreeze;
2385
+ }
2386
+ return obj;
2387
+ },
2388
+ create(base) {
2389
+ return FreezeTokensPayload.fromPartial(base ?? {});
2390
+ },
2391
+ fromPartial(object) {
2392
+ const message = createBaseFreezeTokensPayload();
2393
+ message.version = object.version ?? 0;
2394
+ message.ownerPublicKey = object.ownerPublicKey ?? new Uint8Array(0);
2395
+ message.tokenPublicKey = object.tokenPublicKey ?? void 0;
2396
+ message.tokenIdentifier = object.tokenIdentifier ?? void 0;
2397
+ message.issuerProvidedTimestamp = object.issuerProvidedTimestamp ?? 0;
2398
+ message.operatorIdentityPublicKey = object.operatorIdentityPublicKey ?? new Uint8Array(0);
2399
+ message.shouldUnfreeze = object.shouldUnfreeze ?? false;
2400
+ return message;
2401
+ }
2402
+ };
2403
+ function createBaseFreezeTokensRequest() {
2404
+ return { freezeTokensPayload: void 0, issuerSignature: new Uint8Array(0) };
2405
+ }
2406
+ var FreezeTokensRequest = {
2407
+ encode(message, writer = new BinaryWriter()) {
2408
+ if (message.freezeTokensPayload !== void 0) {
2409
+ FreezeTokensPayload.encode(message.freezeTokensPayload, writer.uint32(10).fork()).join();
2410
+ }
2411
+ if (message.issuerSignature.length !== 0) {
2412
+ writer.uint32(18).bytes(message.issuerSignature);
2413
+ }
2414
+ return writer;
2415
+ },
2416
+ decode(input, length) {
2417
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
2418
+ const end = length === void 0 ? reader.len : reader.pos + length;
2419
+ const message = createBaseFreezeTokensRequest();
2420
+ while (reader.pos < end) {
2421
+ const tag = reader.uint32();
2422
+ switch (tag >>> 3) {
2423
+ case 1: {
2424
+ if (tag !== 10) {
2425
+ break;
2426
+ }
2427
+ message.freezeTokensPayload = FreezeTokensPayload.decode(reader, reader.uint32());
2428
+ continue;
2429
+ }
2430
+ case 2: {
2431
+ if (tag !== 18) {
2432
+ break;
2433
+ }
2434
+ message.issuerSignature = reader.bytes();
2435
+ continue;
2436
+ }
2437
+ }
2438
+ if ((tag & 7) === 4 || tag === 0) {
2439
+ break;
2440
+ }
2441
+ reader.skip(tag & 7);
2442
+ }
2443
+ return message;
2444
+ },
2445
+ fromJSON(object) {
2446
+ return {
2447
+ freezeTokensPayload: isSet(object.freezeTokensPayload) ? FreezeTokensPayload.fromJSON(object.freezeTokensPayload) : void 0,
2448
+ issuerSignature: isSet(object.issuerSignature) ? bytesFromBase64(object.issuerSignature) : new Uint8Array(0)
2449
+ };
2450
+ },
2451
+ toJSON(message) {
2452
+ const obj = {};
2453
+ if (message.freezeTokensPayload !== void 0) {
2454
+ obj.freezeTokensPayload = FreezeTokensPayload.toJSON(message.freezeTokensPayload);
2455
+ }
2456
+ if (message.issuerSignature.length !== 0) {
2457
+ obj.issuerSignature = base64FromBytes(message.issuerSignature);
2458
+ }
2459
+ return obj;
2460
+ },
2461
+ create(base) {
2462
+ return FreezeTokensRequest.fromPartial(base ?? {});
2463
+ },
2464
+ fromPartial(object) {
2465
+ const message = createBaseFreezeTokensRequest();
2466
+ message.freezeTokensPayload = object.freezeTokensPayload !== void 0 && object.freezeTokensPayload !== null ? FreezeTokensPayload.fromPartial(object.freezeTokensPayload) : void 0;
2467
+ message.issuerSignature = object.issuerSignature ?? new Uint8Array(0);
2468
+ return message;
2469
+ }
2470
+ };
2471
+ function createBaseFreezeTokensResponse() {
2472
+ return { impactedOutputIds: [], impactedTokenAmount: new Uint8Array(0) };
2473
+ }
2474
+ var FreezeTokensResponse = {
2475
+ encode(message, writer = new BinaryWriter()) {
2476
+ for (const v of message.impactedOutputIds) {
2477
+ writer.uint32(10).string(v);
2478
+ }
2479
+ if (message.impactedTokenAmount.length !== 0) {
2480
+ writer.uint32(18).bytes(message.impactedTokenAmount);
2481
+ }
2482
+ return writer;
2483
+ },
2484
+ decode(input, length) {
2485
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
2486
+ const end = length === void 0 ? reader.len : reader.pos + length;
2487
+ const message = createBaseFreezeTokensResponse();
2488
+ while (reader.pos < end) {
2489
+ const tag = reader.uint32();
2490
+ switch (tag >>> 3) {
2491
+ case 1: {
2492
+ if (tag !== 10) {
2493
+ break;
2494
+ }
2495
+ message.impactedOutputIds.push(reader.string());
2496
+ continue;
2497
+ }
2498
+ case 2: {
2499
+ if (tag !== 18) {
2500
+ break;
2501
+ }
2502
+ message.impactedTokenAmount = reader.bytes();
2503
+ continue;
2504
+ }
2505
+ }
2506
+ if ((tag & 7) === 4 || tag === 0) {
2507
+ break;
2508
+ }
2509
+ reader.skip(tag & 7);
2510
+ }
2511
+ return message;
2512
+ },
2513
+ fromJSON(object) {
2514
+ return {
2515
+ impactedOutputIds: globalThis.Array.isArray(object?.impactedOutputIds) ? object.impactedOutputIds.map((e) => globalThis.String(e)) : [],
2516
+ impactedTokenAmount: isSet(object.impactedTokenAmount) ? bytesFromBase64(object.impactedTokenAmount) : new Uint8Array(0)
2517
+ };
2518
+ },
2519
+ toJSON(message) {
2520
+ const obj = {};
2521
+ if (message.impactedOutputIds?.length) {
2522
+ obj.impactedOutputIds = message.impactedOutputIds;
2523
+ }
2524
+ if (message.impactedTokenAmount.length !== 0) {
2525
+ obj.impactedTokenAmount = base64FromBytes(message.impactedTokenAmount);
2526
+ }
2527
+ return obj;
2528
+ },
2529
+ create(base) {
2530
+ return FreezeTokensResponse.fromPartial(base ?? {});
2531
+ },
2532
+ fromPartial(object) {
2533
+ const message = createBaseFreezeTokensResponse();
2534
+ message.impactedOutputIds = object.impactedOutputIds?.map((e) => e) || [];
2535
+ message.impactedTokenAmount = object.impactedTokenAmount ?? new Uint8Array(0);
2536
+ return message;
2537
+ }
2538
+ };
2252
2539
  var SparkTokenServiceDefinition = {
2253
2540
  name: "SparkTokenService",
2254
2541
  fullName: "spark_token.SparkTokenService",
@@ -2300,6 +2587,14 @@ var SparkTokenServiceDefinition = {
2300
2587
  responseType: QueryTokenOutputsResponse,
2301
2588
  responseStream: false,
2302
2589
  options: {}
2590
+ },
2591
+ freeze_tokens: {
2592
+ name: "freeze_tokens",
2593
+ requestType: FreezeTokensRequest,
2594
+ requestStream: false,
2595
+ responseType: FreezeTokensResponse,
2596
+ responseStream: false,
2597
+ options: {}
2303
2598
  }
2304
2599
  }
2305
2600
  };
@@ -2390,5 +2685,8 @@ export {
2390
2685
  SpentTokenOutputMetadata,
2391
2686
  TokenTransactionConfirmationMetadata,
2392
2687
  TokenTransactionWithStatus,
2688
+ FreezeTokensPayload,
2689
+ FreezeTokensRequest,
2690
+ FreezeTokensResponse,
2393
2691
  SparkTokenServiceDefinition
2394
2692
  };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SparkTokenServiceDefinition
3
- } from "./chunk-4JD4HIAN.js";
3
+ } from "./chunk-G4MSZ6DE.js";
4
4
  import {
5
5
  mapTransferToWalletTransfer,
6
6
  mapTreeNodeToWalletLeaf
7
- } from "./chunk-TM6CHQXC.js";
7
+ } from "./chunk-3SEOTO43.js";
8
8
  import {
9
9
  BitcoinNetwork_default,
10
10
  ClaimStaticDepositRequestType_default,
@@ -30,7 +30,7 @@ import {
30
30
  SparkServiceDefinition,
31
31
  TreeNode,
32
32
  networkToJSON
33
- } from "./chunk-2ENZX6LT.js";
33
+ } from "./chunk-AAZWSPUK.js";
34
34
  import {
35
35
  Buffer,
36
36
  __export
@@ -577,7 +577,7 @@ import * as ecies from "eciesjs";
577
577
  import { isNode } from "@lightsparkdev/core";
578
578
  var isReactNative = typeof navigator !== "undefined" && navigator.product === "ReactNative";
579
579
  var isBun = globalThis.Bun !== void 0;
580
- var packageVersion = true ? "0.2.2" : "unknown";
580
+ var packageVersion = true ? "0.2.3" : "unknown";
581
581
  var baseEnvStr = "unknown";
582
582
  if (isBun) {
583
583
  const bunVersion = "version" in globalThis.Bun ? globalThis.Bun.version : "unknown-version";
@@ -5763,7 +5763,9 @@ var TokenTransactionService = class {
5763
5763
  issuerPublicKeys,
5764
5764
  tokenTransactionHashes,
5765
5765
  tokenIdentifiers,
5766
- outputIds
5766
+ outputIds,
5767
+ pageSize,
5768
+ offset
5767
5769
  } = params;
5768
5770
  const tokenClient = await this.connectionManager.createSparkTokenClient(
5769
5771
  this.config.getCoordinatorAddress()
@@ -5774,8 +5776,8 @@ var TokenTransactionService = class {
5774
5776
  tokenIdentifiers: tokenIdentifiers?.map(hexToBytes6),
5775
5777
  tokenTransactionHashes: tokenTransactionHashes?.map(hexToBytes6),
5776
5778
  outputIds: outputIds || [],
5777
- limit: 100,
5778
- offset: 0
5779
+ limit: pageSize,
5780
+ offset
5779
5781
  };
5780
5782
  try {
5781
5783
  const response = await tokenClient.query_token_transactions(queryParams);
@@ -10116,11 +10118,24 @@ var SparkWallet = class _SparkWallet extends EventEmitter {
10116
10118
  }
10117
10119
  }
10118
10120
  }
10119
- const verifyKey = (pubkey1, pubkey2, verifyingKey) => {
10120
- return equalBytes5(addPublicKeys(pubkey1, pubkey2), verifyingKey);
10121
- };
10122
- for (const [id, leaf] of Object.entries(leaves.nodes)) {
10123
- if (!verifyKey(
10121
+ const availableLeaves = Object.entries(leaves.nodes).filter(
10122
+ ([_, node]) => node.status === "AVAILABLE"
10123
+ );
10124
+ for (const [id, leaf] of availableLeaves) {
10125
+ if (leaf.parentNodeId && leaf.status === "AVAILABLE" && this.verifyKey(
10126
+ await this.config.signer.getPublicKeyFromDerivation({
10127
+ type: "leaf" /* LEAF */,
10128
+ path: leaf.parentNodeId
10129
+ }),
10130
+ leaf.signingKeyshare?.publicKey ?? new Uint8Array(),
10131
+ leaf.verifyingPublicKey
10132
+ )) {
10133
+ this.transferLeavesToSelf([leaf], {
10134
+ type: "leaf" /* LEAF */,
10135
+ path: leaf.parentNodeId
10136
+ });
10137
+ leavesToIgnore.add(id);
10138
+ } else if (!this.verifyKey(
10124
10139
  await this.config.signer.getPublicKeyFromDerivation({
10125
10140
  type: "leaf" /* LEAF */,
10126
10141
  path: leaf.id
@@ -10131,9 +10146,23 @@ var SparkWallet = class _SparkWallet extends EventEmitter {
10131
10146
  leavesToIgnore.add(id);
10132
10147
  }
10133
10148
  }
10134
- return Object.entries(leaves.nodes).filter(
10135
- ([_, node]) => node.status === "AVAILABLE" && !leavesToIgnore.has(node.id)
10136
- ).map(([_, node]) => node);
10149
+ return availableLeaves.filter(([_, node]) => !leavesToIgnore.has(node.id)).map(([_, node]) => node);
10150
+ }
10151
+ async checkExtendLeaves(leaves) {
10152
+ await this.withLeaves(async () => {
10153
+ for (const leaf of leaves) {
10154
+ if (!leaf.parentNodeId && leaf.status === "AVAILABLE") {
10155
+ const res = await this.transferService.extendTimelock(leaf);
10156
+ await this.transferLeavesToSelf(res.nodes, {
10157
+ type: "leaf" /* LEAF */,
10158
+ path: leaf.id
10159
+ });
10160
+ }
10161
+ }
10162
+ });
10163
+ }
10164
+ verifyKey(pubkey1, pubkey2, verifyingKey) {
10165
+ return equalBytes5(addPublicKeys(pubkey1, pubkey2), verifyingKey);
10137
10166
  }
10138
10167
  async selectLeaves(targetAmounts) {
10139
10168
  if (targetAmounts.length === 0) {
@@ -10272,6 +10301,7 @@ var SparkWallet = class _SparkWallet extends EventEmitter {
10272
10301
  leaves = await this.checkRefreshTimelockNodes(leaves);
10273
10302
  leaves = await this.checkExtendTimeLockNodes(leaves);
10274
10303
  this.leaves = leaves;
10304
+ this.checkExtendLeaves(leaves);
10275
10305
  this.optimizeLeaves().catch((e) => {
10276
10306
  console.error("Failed to optimize leaves", e);
10277
10307
  });
@@ -12432,14 +12462,18 @@ var SparkWallet = class _SparkWallet extends EventEmitter {
12432
12462
  issuerPublicKeys,
12433
12463
  tokenTransactionHashes,
12434
12464
  tokenIdentifiers,
12435
- outputIds
12465
+ outputIds,
12466
+ pageSize = 100,
12467
+ offset = 0
12436
12468
  }) {
12437
12469
  return this.tokenTransactionService.queryTokenTransactions({
12438
12470
  ownerPublicKeys,
12439
12471
  issuerPublicKeys,
12440
12472
  tokenTransactionHashes,
12441
12473
  tokenIdentifiers,
12442
- outputIds
12474
+ outputIds,
12475
+ pageSize,
12476
+ offset
12443
12477
  });
12444
12478
  }
12445
12479
  async getTokenL1Address() {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  setCrypto
3
- } from "./chunk-2TUM3R6C.js";
3
+ } from "./chunk-PLLJIZC3.js";
4
4
 
5
5
  // src/index.ts
6
6
  var cryptoImpl = typeof window !== "undefined" && window.crypto ? window.crypto : typeof global !== "undefined" && global.crypto ? global.crypto : null;