@flashnet/sdk 0.3.12-rc.2 → 0.3.12-rc.4

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 (38) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +3 -0
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/src/client/FlashnetClient.d.ts +40 -19
  6. package/dist/cjs/src/client/FlashnetClient.d.ts.map +1 -1
  7. package/dist/cjs/src/client/FlashnetClient.js +144 -228
  8. package/dist/cjs/src/client/FlashnetClient.js.map +1 -1
  9. package/dist/cjs/src/types/index.d.ts +5 -5
  10. package/dist/cjs/src/types/index.d.ts.map +1 -1
  11. package/dist/cjs/src/types/index.js.map +1 -1
  12. package/dist/cjs/src/utils/index.d.ts +1 -0
  13. package/dist/cjs/src/utils/index.d.ts.map +1 -1
  14. package/dist/cjs/src/utils/index.js +2 -0
  15. package/dist/cjs/src/utils/index.js.map +1 -1
  16. package/dist/cjs/src/utils/tokenAddress.d.ts +28 -0
  17. package/dist/cjs/src/utils/tokenAddress.d.ts.map +1 -1
  18. package/dist/cjs/src/utils/tokenAddress.js +65 -0
  19. package/dist/cjs/src/utils/tokenAddress.js.map +1 -1
  20. package/dist/esm/index.d.ts +1 -1
  21. package/dist/esm/index.d.ts.map +1 -1
  22. package/dist/esm/index.js +1 -1
  23. package/dist/esm/src/client/FlashnetClient.d.ts +40 -19
  24. package/dist/esm/src/client/FlashnetClient.d.ts.map +1 -1
  25. package/dist/esm/src/client/FlashnetClient.js +144 -228
  26. package/dist/esm/src/client/FlashnetClient.js.map +1 -1
  27. package/dist/esm/src/types/index.d.ts +5 -5
  28. package/dist/esm/src/types/index.d.ts.map +1 -1
  29. package/dist/esm/src/types/index.js.map +1 -1
  30. package/dist/esm/src/utils/index.d.ts +1 -0
  31. package/dist/esm/src/utils/index.d.ts.map +1 -1
  32. package/dist/esm/src/utils/index.js +2 -0
  33. package/dist/esm/src/utils/index.js.map +1 -1
  34. package/dist/esm/src/utils/tokenAddress.d.ts +28 -0
  35. package/dist/esm/src/utils/tokenAddress.d.ts.map +1 -1
  36. package/dist/esm/src/utils/tokenAddress.js +63 -1
  37. package/dist/esm/src/utils/tokenAddress.js.map +1 -1
  38. package/package.json +1 -1
@@ -250,14 +250,27 @@ class FlashnetClient {
250
250
  /**
251
251
  * Check if wallet has sufficient balance for an operation
252
252
  */
253
- async checkBalance(requirements) {
254
- const balance = await this.getBalance();
253
+ async checkBalance(params) {
254
+ const balance = params.walletBalance ?? (await this.getBalance());
255
+ // Check balance
256
+ const requirements = {
257
+ tokens: new Map(),
258
+ };
259
+ for (const balance of params.balancesToCheck) {
260
+ if (balance.assetAddress === index$1.BTC_ASSET_PUBKEY) {
261
+ requirements.btc = BigInt(balance.amount);
262
+ }
263
+ else {
264
+ requirements.tokens?.set(balance.assetAddress, BigInt(balance.amount));
265
+ }
266
+ }
255
267
  // Check BTC balance
256
268
  if (requirements.btc && balance.balance < requirements.btc) {
257
- return {
258
- sufficient: false,
259
- message: `Insufficient BTC balance. Required: ${requirements.btc} sats, Available: ${balance.balance} sats`,
260
- };
269
+ throw new Error([
270
+ params.errorPrefix ?? "",
271
+ `Insufficient BTC balance. `,
272
+ `Required: ${requirements.btc} sats, Available: ${balance.balance} sats`,
273
+ ].join(""));
261
274
  }
262
275
  // Check token balances
263
276
  if (requirements.tokens) {
@@ -268,14 +281,14 @@ class FlashnetClient {
268
281
  balance.tokenBalances.get(hrKey);
269
282
  const available = effectiveTokenBalance?.balance ?? 0n;
270
283
  if (available < requiredAmount) {
271
- return {
272
- sufficient: false,
273
- message: `Insufficient token balance for ${tokenPubkey}. Required: ${requiredAmount}, Available: ${available}`,
274
- };
284
+ throw new Error([
285
+ params.errorPrefix ?? "",
286
+ `Insufficient token balance for ${tokenPubkey}. `,
287
+ `Required: ${requiredAmount}, Available: ${available}`,
288
+ ].join(""));
275
289
  }
276
290
  }
277
291
  }
278
- return { sufficient: true };
279
292
  }
280
293
  // ===== Pool Operations =====
281
294
  /**
@@ -314,26 +327,19 @@ class FlashnetClient {
314
327
  await this.ensureInitialized();
315
328
  // Check if we need to add initial liquidity
316
329
  if (params.initialLiquidity) {
317
- const requirements = {
318
- tokens: new Map(),
319
- };
320
- if (params.assetAAddress === index$1.BTC_ASSET_PUBKEY) {
321
- requirements.btc = params.initialLiquidity.assetAAmount;
322
- }
323
- else {
324
- requirements.tokens?.set(params.assetAAddress, params.initialLiquidity.assetAAmount);
325
- }
326
- if (params.assetBAddress === index$1.BTC_ASSET_PUBKEY) {
327
- requirements.btc =
328
- (requirements.btc || 0n) + params.initialLiquidity.assetBAmount;
329
- }
330
- else {
331
- requirements.tokens?.set(params.assetBAddress, params.initialLiquidity.assetBAmount);
332
- }
333
- const balanceCheck = await this.checkBalance(requirements);
334
- if (!balanceCheck.sufficient) {
335
- throw new Error(`Insufficient balance for initial liquidity: ${balanceCheck.message}`);
336
- }
330
+ await this.checkBalance({
331
+ balancesToCheck: [
332
+ {
333
+ assetAddress: params.assetAAddress,
334
+ amount: params.initialLiquidity.assetAAmount,
335
+ },
336
+ {
337
+ assetAddress: params.assetBAddress,
338
+ amount: params.initialLiquidity.assetBAmount,
339
+ },
340
+ ],
341
+ errorPrefix: "Insufficient balance for initial liquidity: ",
342
+ });
337
343
  }
338
344
  // Generate intent
339
345
  const nonce = index$2.generateNonce();
@@ -369,31 +375,10 @@ class FlashnetClient {
369
375
  /**
370
376
  * Create a single-sided pool with automatic initial deposit
371
377
  *
372
- * This method creates a single-sided pool and automatically handles the initial deposit.
378
+ * This method creates a single-sided pool and by default automatically handles the initial deposit.
373
379
  * The initial reserve amount will be transferred to the pool and confirmed.
374
380
  */
375
381
  async createSingleSidedPool(params) {
376
- const createResponse = await this.createSingleSidedPoolNoInitialDeposit(params);
377
- try {
378
- const assetATransferId = await createResponse.transferInitialDeposit();
379
- const confirmResponse = await this.confirmInitialDeposit(createResponse.poolId, assetATransferId);
380
- if (!confirmResponse.confirmed) {
381
- throw new Error(`Failed to confirm initial deposit: ${confirmResponse.message}`);
382
- }
383
- }
384
- catch (error) {
385
- // If initial deposit fails, we should inform the user
386
- throw new Error(`Pool created with ID ${createResponse.poolId}, but initial deposit failed: ${error instanceof Error ? error.message : String(error)}`);
387
- }
388
- return createResponse;
389
- }
390
- /**
391
- * Create a single-sided pool without automatic initial deposit
392
- *
393
- * This method creates a single-sided pool.
394
- * The initial reserve amount will be transferred to the pool and confirmed.
395
- */
396
- async createSingleSidedPoolNoInitialDeposit(params) {
397
382
  await this.ensureInitialized();
398
383
  // check that assetAPctSoldAtGraduation is between 0 and 100 - no decimals
399
384
  if (params.assetAPctSoldAtGraduation < 0 ||
@@ -403,20 +388,15 @@ class FlashnetClient {
403
388
  if (!params.hostNamespace && params.totalHostFeeRateBps < 10) {
404
389
  throw new Error(`Host fee must be greater than 10 bps when no host namespace is provided`);
405
390
  }
406
- // Check balance for initial reserve
407
- const requirements = {
408
- tokens: new Map(),
409
- };
410
- if (params.assetAAddress === index$1.BTC_ASSET_PUBKEY) {
411
- requirements.btc = BigInt(params.assetAInitialReserve);
412
- }
413
- else {
414
- requirements.tokens?.set(params.assetAAddress, BigInt(params.assetAInitialReserve));
415
- }
416
- const balanceCheck = await this.checkBalance(requirements);
417
- if (!balanceCheck.sufficient) {
418
- throw new Error(`Insufficient balance for pool creation: ${balanceCheck.message}`);
419
- }
391
+ await this.checkBalance({
392
+ balancesToCheck: [
393
+ {
394
+ assetAddress: params.assetAInitialReserve,
395
+ amount: params.assetAInitialReserve,
396
+ },
397
+ ],
398
+ errorPrefix: "Insufficient balance for pool creation: ",
399
+ });
420
400
  // Generate intent
421
401
  const nonce = index$2.generateNonce();
422
402
  const intentMessage = intents.generatePoolInitializationIntentMessage({
@@ -447,32 +427,30 @@ class FlashnetClient {
447
427
  signature: Buffer.from(signature).toString("hex"),
448
428
  };
449
429
  const createResponse = await this.typedApi.createSingleSidedPool(request);
450
- const poolId = createResponse.poolId;
451
- const transferInitialDeposit = async () => {
430
+ if (params.disableInitialDeposit) {
431
+ return createResponse;
432
+ }
433
+ try {
452
434
  // Transfer initial reserve to the pool using new address encoding
453
435
  const lpSparkAddress = sparkAddress.encodeSparkAddressNew({
454
- identityPublicKey: poolId,
436
+ identityPublicKey: createResponse.poolId,
455
437
  network: this.sparkNetwork,
456
438
  });
457
- if (params.assetAAddress === index$1.BTC_ASSET_PUBKEY) {
458
- const transfer = await this._wallet.transfer({
459
- amountSats: Number(params.assetAInitialReserve),
460
- receiverSparkAddress: lpSparkAddress,
461
- });
462
- return transfer.id;
463
- }
464
- else {
465
- return await this._wallet.transferTokens({
466
- tokenIdentifier: this.toHumanReadableTokenIdentifier(params.assetAAddress),
467
- tokenAmount: BigInt(params.assetAInitialReserve),
468
- receiverSparkAddress: lpSparkAddress,
469
- });
439
+ const assetATransferId = await this.transferAsset({
440
+ receiverSparkAddress: lpSparkAddress,
441
+ assetAddress: params.assetAAddress,
442
+ amount: params.assetAInitialReserve,
443
+ });
444
+ const confirmResponse = await this.confirmInitialDeposit(createResponse.poolId, assetATransferId);
445
+ if (!confirmResponse.confirmed) {
446
+ throw new Error(`Failed to confirm initial deposit: ${confirmResponse.message}`);
470
447
  }
471
- };
472
- return {
473
- ...createResponse,
474
- transferInitialDeposit,
475
- };
448
+ }
449
+ catch (error) {
450
+ // If initial deposit fails, we should inform the user
451
+ throw new Error(`Pool created with ID ${createResponse.poolId}, but initial deposit failed: ${error instanceof Error ? error.message : String(error)}`);
452
+ }
453
+ return createResponse;
476
454
  }
477
455
  /**
478
456
  * Confirm initial deposit for single-sided pool
@@ -513,46 +491,30 @@ class FlashnetClient {
513
491
  */
514
492
  async executeSwap(params) {
515
493
  await this.ensureInitialized();
516
- // Check balance
517
- const requirements = {
518
- tokens: new Map(),
519
- };
520
- if (params.assetInAddress === index$1.BTC_ASSET_PUBKEY) {
521
- requirements.btc = BigInt(params.amountIn);
522
- }
523
- else {
524
- requirements.tokens?.set(params.assetInAddress, BigInt(params.amountIn));
525
- }
526
- const balanceCheck = await this.checkBalance(requirements);
527
- if (!balanceCheck.sufficient) {
528
- throw new Error(`Insufficient balance for swap: ${balanceCheck.message}`);
529
- }
530
494
  // Transfer assets to pool using new address encoding
531
495
  const lpSparkAddress = sparkAddress.encodeSparkAddressNew({
532
496
  identityPublicKey: params.poolId,
533
497
  network: this.sparkNetwork,
534
498
  });
535
- let transferId;
536
- if (params.assetInAddress === index$1.BTC_ASSET_PUBKEY) {
537
- const transfer = await this._wallet.transfer({
538
- amountSats: Number(params.amountIn),
539
- receiverSparkAddress: lpSparkAddress,
540
- });
541
- transferId = transfer.id;
542
- }
543
- else {
544
- transferId = await this._wallet.transferTokens({
545
- tokenIdentifier: this.toHumanReadableTokenIdentifier(params.assetInAddress),
546
- tokenAmount: BigInt(params.amountIn),
547
- receiverSparkAddress: lpSparkAddress,
548
- });
549
- }
499
+ const transferId = await this.transferAsset({
500
+ receiverSparkAddress: lpSparkAddress,
501
+ assetAddress: params.assetInAddress,
502
+ amount: params.amountIn,
503
+ }, "Insufficient balance for swap: ");
504
+ const response = await this.executeSwapIntent({
505
+ ...params,
506
+ transferId,
507
+ });
508
+ return response;
509
+ }
510
+ async executeSwapIntent(params) {
511
+ await this.ensureInitialized();
550
512
  // Generate swap intent
551
513
  const nonce = index$2.generateNonce();
552
514
  const intentMessage = intents.generatePoolSwapIntentMessage({
553
515
  userPublicKey: this.publicKey,
554
516
  lpIdentityPublicKey: params.poolId,
555
- assetInSparkTransferId: transferId,
517
+ assetInSparkTransferId: params.transferId,
556
518
  assetInTokenPublicKey: this.toHexTokenIdentifier(params.assetInAddress),
557
519
  assetOutTokenPublicKey: this.toHexTokenIdentifier(params.assetOutAddress),
558
520
  amountIn: params.amountIn.toString(),
@@ -572,7 +534,7 @@ class FlashnetClient {
572
534
  amountIn: params.amountIn.toString(),
573
535
  maxSlippageBps: params.maxSlippageBps?.toString(),
574
536
  minAmountOut: params.minAmountOut,
575
- assetInSparkTransferId: transferId,
537
+ assetInSparkTransferId: params.transferId,
576
538
  totalIntegratorFeeRateBps: params.integratorFeeRateBps?.toString() || "0",
577
539
  integratorPublicKey: params.integratorPublicKey || "",
578
540
  nonce,
@@ -601,20 +563,6 @@ class FlashnetClient {
601
563
  */
602
564
  async executeRouteSwap(params) {
603
565
  await this.ensureInitialized();
604
- // Check balance for initial asset
605
- const requirements = {
606
- tokens: new Map(),
607
- };
608
- if (params.initialAssetAddress === index$1.BTC_ASSET_PUBKEY) {
609
- requirements.btc = BigInt(params.inputAmount);
610
- }
611
- else {
612
- requirements.tokens?.set(params.initialAssetAddress, BigInt(params.inputAmount));
613
- }
614
- const balanceCheck = await this.checkBalance(requirements);
615
- if (!balanceCheck.sufficient) {
616
- throw new Error(`Insufficient balance for route swap: ${balanceCheck.message}`);
617
- }
618
566
  // Validate hops array
619
567
  if (!params.hops.length) {
620
568
  throw new Error("Route swap requires at least one hop");
@@ -628,21 +576,11 @@ class FlashnetClient {
628
576
  identityPublicKey: firstPoolId,
629
577
  network: this.sparkNetwork,
630
578
  });
631
- let initialTransferId;
632
- if (params.initialAssetAddress === index$1.BTC_ASSET_PUBKEY) {
633
- const transfer = await this._wallet.transfer({
634
- amountSats: Number(params.inputAmount),
635
- receiverSparkAddress: lpSparkAddress,
636
- });
637
- initialTransferId = transfer.id;
638
- }
639
- else {
640
- initialTransferId = await this._wallet.transferTokens({
641
- tokenIdentifier: this.toHumanReadableTokenIdentifier(params.initialAssetAddress),
642
- tokenAmount: BigInt(params.inputAmount),
643
- receiverSparkAddress: lpSparkAddress,
644
- });
645
- }
579
+ const initialTransferId = await this.transferAsset({
580
+ receiverSparkAddress: lpSparkAddress,
581
+ assetAddress: params.initialAssetAddress,
582
+ amount: params.inputAmount,
583
+ }, "Insufficient balance for route swap: ");
646
584
  // Prepare hops for validation
647
585
  const hops = params.hops.map((hop) => ({
648
586
  lpIdentityPublicKey: hop.poolId,
@@ -721,63 +659,23 @@ class FlashnetClient {
721
659
  await this.ensureInitialized();
722
660
  // Get pool details to know which assets we're dealing with
723
661
  const pool = await this.getPool(params.poolId);
724
- // Check balance
725
- const requirements = {
726
- tokens: new Map(),
727
- };
728
- if (pool.assetAAddress === index$1.BTC_ASSET_PUBKEY) {
729
- requirements.btc = BigInt(params.assetAAmount);
730
- }
731
- else {
732
- requirements.tokens?.set(pool.assetAAddress, BigInt(params.assetAAmount));
733
- }
734
- if (pool.assetBAddress === index$1.BTC_ASSET_PUBKEY) {
735
- requirements.btc = (requirements.btc || 0n) + BigInt(params.assetBAmount);
736
- }
737
- else {
738
- requirements.tokens?.set(pool.assetBAddress, BigInt(params.assetBAmount));
739
- }
740
- const balanceCheck = await this.checkBalance(requirements);
741
- if (!balanceCheck.sufficient) {
742
- throw new Error(`Insufficient balance for adding liquidity: ${balanceCheck.message}`);
743
- }
744
662
  // Transfer assets to pool using new address encoding
745
663
  const lpSparkAddress = sparkAddress.encodeSparkAddressNew({
746
664
  identityPublicKey: params.poolId,
747
665
  network: this.sparkNetwork,
748
666
  });
749
- // Transfer asset A
750
- let assetATransferId;
751
- if (pool.assetAAddress === index$1.BTC_ASSET_PUBKEY) {
752
- const transfer = await this._wallet.transfer({
753
- amountSats: Number(params.assetAAmount),
667
+ const [assetATransferId, assetBTransferId] = await this.transferAssets([
668
+ {
754
669
  receiverSparkAddress: lpSparkAddress,
755
- });
756
- assetATransferId = transfer.id;
757
- }
758
- else {
759
- assetATransferId = await this._wallet.transferTokens({
760
- tokenIdentifier: this.toHumanReadableTokenIdentifier(pool.assetAAddress),
761
- tokenAmount: BigInt(params.assetAAmount),
670
+ assetAddress: pool.assetAAddress,
671
+ amount: params.assetAAmount,
672
+ },
673
+ {
762
674
  receiverSparkAddress: lpSparkAddress,
763
- });
764
- }
765
- // Transfer asset B
766
- let assetBTransferId;
767
- if (pool.assetBAddress === index$1.BTC_ASSET_PUBKEY) {
768
- const transfer = await this._wallet.transfer({
769
- amountSats: Number(params.assetBAmount),
770
- receiverSparkAddress: lpSparkAddress,
771
- });
772
- assetBTransferId = transfer.id;
773
- }
774
- else {
775
- assetBTransferId = await this._wallet.transferTokens({
776
- tokenIdentifier: this.toHumanReadableTokenIdentifier(pool.assetBAddress),
777
- tokenAmount: BigInt(params.assetBAmount),
778
- receiverSparkAddress: lpSparkAddress,
779
- });
780
- }
675
+ assetAddress: pool.assetBAddress,
676
+ amount: params.assetBAmount,
677
+ },
678
+ ], "Insufficient balance for adding liquidity: ");
781
679
  // Generate add liquidity intent
782
680
  const nonce = index$2.generateNonce();
783
681
  const intentMessage = intents.generateAddLiquidityIntentMessage({
@@ -1046,6 +944,44 @@ class FlashnetClient {
1046
944
  return this.typedApi.ping();
1047
945
  }
1048
946
  // ===== Helper Methods =====
947
+ /**
948
+ * Performs asset transfer using generalized asset address for both BTC and tokens.
949
+ */
950
+ async transferAsset(recipient, checkBalanceErrorPrefix) {
951
+ const transferIds = await this.transferAssets([recipient], checkBalanceErrorPrefix);
952
+ return transferIds[0];
953
+ }
954
+ /**
955
+ * Performs asset transfers using generalized asset addresses for both BTC and tokens.
956
+ * Supports optional generic to hardcode recipients length so output list can be typed with same length.
957
+ */
958
+ async transferAssets(recipients, checkBalanceErrorPrefix) {
959
+ if (checkBalanceErrorPrefix) {
960
+ await this.checkBalance({
961
+ balancesToCheck: recipients,
962
+ errorPrefix: checkBalanceErrorPrefix,
963
+ });
964
+ }
965
+ const transferIds = [];
966
+ for (const recipient of recipients) {
967
+ if (recipient.assetAddress === index$1.BTC_ASSET_PUBKEY) {
968
+ const transfer = await this._wallet.transfer({
969
+ amountSats: Number(recipient.amount),
970
+ receiverSparkAddress: recipient.receiverSparkAddress,
971
+ });
972
+ transferIds.push(transfer.id);
973
+ }
974
+ else {
975
+ const transferId = await this._wallet.transferTokens({
976
+ tokenIdentifier: this.toHumanReadableTokenIdentifier(recipient.assetAddress),
977
+ tokenAmount: BigInt(recipient.amount),
978
+ receiverSparkAddress: recipient.receiverSparkAddress,
979
+ });
980
+ transferIds.push(transferId);
981
+ }
982
+ }
983
+ return transferIds;
984
+ }
1049
985
  /**
1050
986
  * Helper method to add initial liquidity after pool creation
1051
987
  */
@@ -1054,38 +990,18 @@ class FlashnetClient {
1054
990
  identityPublicKey: poolId,
1055
991
  network: this.sparkNetwork,
1056
992
  });
1057
- // Transfer asset A
1058
- let assetATransferId;
1059
- if (assetAAddress === index$1.BTC_ASSET_PUBKEY) {
1060
- const transfer = await this._wallet.transfer({
1061
- amountSats: Number(assetAAmount),
1062
- receiverSparkAddress: lpSparkAddress,
1063
- });
1064
- assetATransferId = transfer.id;
1065
- }
1066
- else {
1067
- assetATransferId = await this._wallet.transferTokens({
1068
- tokenIdentifier: this.toHumanReadableTokenIdentifier(assetAAddress),
1069
- tokenAmount: BigInt(assetAAmount),
993
+ const [assetATransferId, assetBTransferId] = await this.transferAssets([
994
+ {
1070
995
  receiverSparkAddress: lpSparkAddress,
1071
- });
1072
- }
1073
- // Transfer asset B
1074
- let assetBTransferId;
1075
- if (assetBAddress === index$1.BTC_ASSET_PUBKEY) {
1076
- const transfer = await this._wallet.transfer({
1077
- amountSats: Number(assetBAmount),
996
+ assetAddress: assetAAddress,
997
+ amount: assetAAmount,
998
+ },
999
+ {
1078
1000
  receiverSparkAddress: lpSparkAddress,
1079
- });
1080
- assetBTransferId = transfer.id;
1081
- }
1082
- else {
1083
- assetBTransferId = await this._wallet.transferTokens({
1084
- tokenIdentifier: this.toHumanReadableTokenIdentifier(assetBAddress),
1085
- tokenAmount: BigInt(assetBAmount),
1086
- receiverSparkAddress: lpSparkAddress,
1087
- });
1088
- }
1001
+ assetAddress: assetBAddress,
1002
+ amount: assetBAmount,
1003
+ },
1004
+ ]);
1089
1005
  // Add liquidity
1090
1006
  const nonce = index$2.generateNonce();
1091
1007
  const intentMessage = intents.generateAddLiquidityIntentMessage({
@@ -1 +1 @@
1
- {"version":3,"file":"FlashnetClient.js","sources":["../../../../../../src/client/FlashnetClient.ts"],"sourcesContent":[null],"names":["getSparkNetworkFromLegacy","getClientEnvironmentFromLegacy","Network","getClientEnvironmentName","resolveClientNetworkConfig","getClientNetworkConfig","ApiClient","TypedAmmApi","AuthManager","getSparkNetworkFromAddress","createWalletSigner","BTC_ASSET_PUBKEY","encodeSparkHumanReadableTokenIdentifier","decodeSparkHumanReadableTokenIdentifier","tokenAddress","generateNonce","generateConstantProductPoolInitializationIntentMessage","generatePoolInitializationIntentMessage","encodeSparkAddressNew","generatePoolConfirmInitialDepositIntentMessage","generatePoolSwapIntentMessage","generateRouteSwapIntentMessage","generateAddLiquidityIntentMessage","compareDecimalStrings","generateRemoveLiquidityIntentMessage","generateRegisterHostIntentMessage","generateWithdrawHostFeesIntentMessage","generateWithdrawIntegratorFeesIntentMessage"],"mappings":"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"}
1
+ {"version":3,"file":"FlashnetClient.js","sources":["../../../../../../src/client/FlashnetClient.ts"],"sourcesContent":[null],"names":["getSparkNetworkFromLegacy","getClientEnvironmentFromLegacy","Network","getClientEnvironmentName","resolveClientNetworkConfig","getClientNetworkConfig","ApiClient","TypedAmmApi","AuthManager","getSparkNetworkFromAddress","createWalletSigner","BTC_ASSET_PUBKEY","encodeSparkHumanReadableTokenIdentifier","decodeSparkHumanReadableTokenIdentifier","tokenAddress","generateNonce","generateConstantProductPoolInitializationIntentMessage","generatePoolInitializationIntentMessage","encodeSparkAddressNew","generatePoolConfirmInitialDepositIntentMessage","generatePoolSwapIntentMessage","generateRouteSwapIntentMessage","generateAddLiquidityIntentMessage","compareDecimalStrings","generateRemoveLiquidityIntentMessage","generateRegisterHostIntentMessage","generateWithdrawHostFeesIntentMessage","generateWithdrawIntegratorFeesIntentMessage"],"mappings":"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"}