@flashnet/sdk 0.3.12-rc.cars → 0.3.13

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 (55) hide show
  1. package/dist/cjs/index.d.ts +3 -2
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +21 -18
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/src/api/typed-endpoints.d.ts +6 -0
  6. package/dist/cjs/src/api/typed-endpoints.d.ts.map +1 -1
  7. package/dist/cjs/src/api/typed-endpoints.js +9 -0
  8. package/dist/cjs/src/api/typed-endpoints.js.map +1 -1
  9. package/dist/cjs/src/api/validation.d.ts +67 -2
  10. package/dist/cjs/src/api/validation.d.ts.map +1 -1
  11. package/dist/cjs/src/api/validation.js +24 -2
  12. package/dist/cjs/src/api/validation.js.map +1 -1
  13. package/dist/cjs/src/client/FlashnetClient.d.ts +16 -7
  14. package/dist/cjs/src/client/FlashnetClient.d.ts.map +1 -1
  15. package/dist/cjs/src/client/FlashnetClient.js +109 -51
  16. package/dist/cjs/src/client/FlashnetClient.js.map +1 -1
  17. package/dist/cjs/src/types/index.d.ts +67 -22
  18. package/dist/cjs/src/types/index.d.ts.map +1 -1
  19. package/dist/cjs/src/types/index.js +63 -0
  20. package/dist/cjs/src/types/index.js.map +1 -1
  21. package/dist/cjs/src/utils/index.d.ts.map +1 -1
  22. package/dist/cjs/src/utils/index.js +1 -0
  23. package/dist/cjs/src/utils/index.js.map +1 -1
  24. package/dist/cjs/src/utils/intents.d.ts +11 -2
  25. package/dist/cjs/src/utils/intents.d.ts.map +1 -1
  26. package/dist/cjs/src/utils/intents.js +19 -6
  27. package/dist/cjs/src/utils/intents.js.map +1 -1
  28. package/dist/esm/index.d.ts +3 -2
  29. package/dist/esm/index.d.ts.map +1 -1
  30. package/dist/esm/index.js +3 -2
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/src/api/typed-endpoints.d.ts +6 -0
  33. package/dist/esm/src/api/typed-endpoints.d.ts.map +1 -1
  34. package/dist/esm/src/api/typed-endpoints.js +9 -0
  35. package/dist/esm/src/api/typed-endpoints.js.map +1 -1
  36. package/dist/esm/src/api/validation.d.ts +67 -2
  37. package/dist/esm/src/api/validation.d.ts.map +1 -1
  38. package/dist/esm/src/api/validation.js +24 -3
  39. package/dist/esm/src/api/validation.js.map +1 -1
  40. package/dist/esm/src/client/FlashnetClient.d.ts +16 -7
  41. package/dist/esm/src/client/FlashnetClient.d.ts.map +1 -1
  42. package/dist/esm/src/client/FlashnetClient.js +110 -52
  43. package/dist/esm/src/client/FlashnetClient.js.map +1 -1
  44. package/dist/esm/src/types/index.d.ts +67 -22
  45. package/dist/esm/src/types/index.d.ts.map +1 -1
  46. package/dist/esm/src/types/index.js +62 -1
  47. package/dist/esm/src/types/index.js.map +1 -1
  48. package/dist/esm/src/utils/index.d.ts.map +1 -1
  49. package/dist/esm/src/utils/index.js +2 -1
  50. package/dist/esm/src/utils/index.js.map +1 -1
  51. package/dist/esm/src/utils/intents.d.ts +11 -2
  52. package/dist/esm/src/utils/intents.d.ts.map +1 -1
  53. package/dist/esm/src/utils/intents.js +19 -7
  54. package/dist/esm/src/utils/intents.js.map +1 -1
  55. package/package.json +1 -1
@@ -251,7 +251,7 @@ class FlashnetClient {
251
251
  * Check if wallet has sufficient balance for an operation
252
252
  */
253
253
  async checkBalance(params) {
254
- const balance = params.walletBalance ?? (await this.getBalance());
254
+ const balance = await this.getBalance();
255
255
  // Check balance
256
256
  const requirements = {
257
257
  tokens: new Map(),
@@ -341,10 +341,11 @@ class FlashnetClient {
341
341
  errorPrefix: "Insufficient balance for initial liquidity: ",
342
342
  });
343
343
  }
344
+ const poolOwnerPublicKey = params.poolOwnerPublicKey ?? this.publicKey;
344
345
  // Generate intent
345
346
  const nonce = index$2.generateNonce();
346
347
  const intentMessage = intents.generateConstantProductPoolInitializationIntentMessage({
347
- poolOwnerPublicKey: this.publicKey,
348
+ poolOwnerPublicKey,
348
349
  assetAAddress: this.toHexTokenIdentifier(params.assetAAddress),
349
350
  assetBAddress: this.toHexTokenIdentifier(params.assetBAddress),
350
351
  lpFeeRateBps: params.lpFeeRateBps.toString(),
@@ -356,7 +357,7 @@ class FlashnetClient {
356
357
  const signature = await this._wallet.config.signer.signMessageWithIdentityKey(messageHash, true);
357
358
  // Create pool
358
359
  const request = {
359
- poolOwnerPublicKey: this.publicKey,
360
+ poolOwnerPublicKey,
360
361
  assetAAddress: this.toHexTokenIdentifier(params.assetAAddress),
361
362
  assetBAddress: this.toHexTokenIdentifier(params.assetBAddress),
362
363
  lpFeeRateBps: params.lpFeeRateBps.toString(),
@@ -386,9 +387,8 @@ class FlashnetClient {
386
387
  * @returns An object containing `virtualReserveA`, `virtualReserveB`, and `threshold`.
387
388
  */
388
389
  static calculateVirtualReserves(params) {
389
- const supply = Number(params.initialTokenSupply);
390
- const targetB = Number(params.targetRaise);
391
- const lpFrac = 1.0;
390
+ const supply = Number(String(params.initialTokenSupply).replace(/_/g, ""));
391
+ const targetB = Number(String(params.targetRaise).replace(/_/g, ""));
392
392
  // Validate inputs
393
393
  if (supply <= 0) {
394
394
  throw new Error("Initial token supply must be positive");
@@ -396,28 +396,35 @@ class FlashnetClient {
396
396
  if (targetB <= 0) {
397
397
  throw new Error("Target raise must be positive");
398
398
  }
399
- const MIN_GRADUATION_THRESHOLD_PCT = 20;
400
- const MAX_GRADUATION_THRESHOLD_PCT = 95;
401
399
  // Validate graduation threshold is a positive whole number
402
400
  if (!Number.isInteger(params.graduationThresholdPct) ||
403
401
  params.graduationThresholdPct <= 0) {
404
402
  throw new Error("Graduation threshold percentage must be a positive whole number");
405
403
  }
406
- if (params.graduationThresholdPct < MIN_GRADUATION_THRESHOLD_PCT ||
407
- params.graduationThresholdPct > MAX_GRADUATION_THRESHOLD_PCT) {
408
- throw new Error(`Graduation threshold percentage must be between ${MIN_GRADUATION_THRESHOLD_PCT} and ${MAX_GRADUATION_THRESHOLD_PCT}`);
409
- }
410
- // Calculate graduation parameters
411
- const f = params.graduationThresholdPct / 100;
412
- const g = lpFrac;
413
- // Check feasibility: f - g*(1-f) > 0
414
- const denom = f - g * (1 - f);
415
- if (denom <= 0) {
416
- throw new Error(`Invalid configuration: graduation threshold ${f * 100}% with LP fraction ${g} is infeasible. Need f > g/(1+g)`);
404
+ const graduationThresholdPct = BigInt(params.graduationThresholdPct);
405
+ // Check feasibility: f - g*(1-f) > 0 where f is graduationThresholdPct/100 and g is 1
406
+ const MIN_GRADUATION_THRESHOLD_PCT = 50n;
407
+ const MAX_GRADUATION_THRESHOLD_PCT = 95n;
408
+ if (graduationThresholdPct <= MIN_GRADUATION_THRESHOLD_PCT ||
409
+ graduationThresholdPct > MAX_GRADUATION_THRESHOLD_PCT) {
410
+ throw new Error(`Graduation threshold percentage must be greater than ${MIN_GRADUATION_THRESHOLD_PCT} ` +
411
+ `and not greater than ${MAX_GRADUATION_THRESHOLD_PCT}`);
417
412
  }
413
+ // f is graduationThresholdPct / 100n
414
+ // denom is (2n * graduationThresholdPct / 100n) - 1n
415
+ // (2n * graduationThresholdPct - 100n) / 100n
416
+ // 1/denom is 100n / (2n * graduationThresholdPct - 100n)
418
417
  // Calculate virtual reserves and round down to integers
419
- const virtualA = Math.floor((supply * f * f) / denom);
420
- const virtualB = Math.floor((targetB * g * (1 - f)) / denom);
418
+ // virtualA is (supply * f * f) / denom
419
+ const virtualANumerator = BigInt(supply) * graduationThresholdPct * graduationThresholdPct;
420
+ const virtualADenominator = 200n * graduationThresholdPct - 10000n;
421
+ const virtualARemainder = virtualANumerator % virtualADenominator;
422
+ const virtualA = (virtualANumerator - virtualARemainder) / virtualADenominator;
423
+ // virtualB is (targetB * g * (1 - f)) / denom
424
+ const virtualBNumerator = BigInt(targetB) * (100n - graduationThresholdPct);
425
+ const virtualBDenominator = 2n * graduationThresholdPct - 100n;
426
+ const virtualBRemainder = virtualBNumerator % virtualBDenominator;
427
+ const virtualB = (virtualBNumerator - virtualBRemainder) / virtualBDenominator;
421
428
  return {
422
429
  virtualReserveA: virtualA,
423
430
  virtualReserveB: virtualB,
@@ -442,22 +449,23 @@ class FlashnetClient {
442
449
  await this.checkBalance({
443
450
  balancesToCheck: [
444
451
  {
445
- assetAddress: params.assetAInitialReserve,
452
+ assetAddress: params.assetAAddress,
446
453
  amount: clippedAssetAInitialReserve,
447
454
  },
448
455
  ],
449
456
  errorPrefix: "Insufficient balance for pool creation: ",
450
457
  });
458
+ const poolOwnerPublicKey = params.poolOwnerPublicKey ?? this.publicKey;
451
459
  // Generate intent
452
460
  const nonce = index$2.generateNonce();
453
461
  const intentMessage = intents.generatePoolInitializationIntentMessage({
454
- poolOwnerPublicKey: this.publicKey,
462
+ poolOwnerPublicKey,
455
463
  assetAAddress: this.toHexTokenIdentifier(params.assetAAddress),
456
464
  assetBAddress: this.toHexTokenIdentifier(params.assetBAddress),
457
465
  assetAInitialReserve: clippedAssetAInitialReserve,
458
466
  virtualReserveA: clippedVirtualReserveA,
459
467
  virtualReserveB: clippedVirtualReserveB,
460
- threshold: params.threshold,
468
+ threshold: params.threshold.toString(),
461
469
  lpFeeRateBps: params.lpFeeRateBps.toString(),
462
470
  totalHostFeeRateBps: params.totalHostFeeRateBps.toString(),
463
471
  nonce,
@@ -466,13 +474,13 @@ class FlashnetClient {
466
474
  const signature = await this._wallet.config.signer.signMessageWithIdentityKey(messageHash, true);
467
475
  // Create pool
468
476
  const request = {
469
- poolOwnerPublicKey: this.publicKey,
477
+ poolOwnerPublicKey,
470
478
  assetAAddress: this.toHexTokenIdentifier(params.assetAAddress),
471
479
  assetBAddress: this.toHexTokenIdentifier(params.assetBAddress),
472
480
  assetAInitialReserve: clippedAssetAInitialReserve,
473
481
  virtualReserveA: clippedVirtualReserveA,
474
482
  virtualReserveB: clippedVirtualReserveB,
475
- threshold: params.threshold,
483
+ threshold: params.threshold.toString(),
476
484
  lpFeeRateBps: params.lpFeeRateBps.toString(),
477
485
  totalHostFeeRateBps: params.totalHostFeeRateBps.toString(),
478
486
  hostNamespace: params.hostNamespace,
@@ -483,25 +491,46 @@ class FlashnetClient {
483
491
  if (params.disableInitialDeposit) {
484
492
  return createResponse;
485
493
  }
486
- try {
487
- // Transfer initial reserve to the pool using new address encoding
488
- const lpSparkAddress = sparkAddress.encodeSparkAddressNew({
489
- identityPublicKey: createResponse.poolId,
490
- network: this.sparkNetwork,
494
+ // Encode pool ID as Spark address for transfers
495
+ const poolSparkAddress = sparkAddress.encodeSparkAddressNew({
496
+ identityPublicKey: createResponse.poolId,
497
+ network: this.sparkNetwork,
498
+ });
499
+ let assetATransferId;
500
+ if (params.assetAAddress === index$1.BTC_ASSET_PUBKEY) {
501
+ const transfer = await this._wallet.transfer({
502
+ amountSats: Number(clippedAssetAInitialReserve),
503
+ receiverSparkAddress: poolSparkAddress,
491
504
  });
492
- const assetATransferId = await this.transferAsset({
493
- receiverSparkAddress: lpSparkAddress,
494
- assetAddress: params.assetAAddress,
495
- amount: clippedAssetAInitialReserve,
505
+ assetATransferId = transfer.id;
506
+ }
507
+ else {
508
+ assetATransferId = await this._wallet.transferTokens({
509
+ tokenIdentifier: this.toHumanReadableTokenIdentifier(params.assetAAddress),
510
+ tokenAmount: BigInt(clippedAssetAInitialReserve),
511
+ receiverSparkAddress: poolSparkAddress,
496
512
  });
497
- const confirmResponse = await this.confirmInitialDeposit(createResponse.poolId, assetATransferId);
498
- if (!confirmResponse.confirmed) {
499
- throw new Error(`Failed to confirm initial deposit: ${confirmResponse.message}`);
500
- }
501
513
  }
502
- catch (error) {
503
- // If initial deposit fails, we should inform the user
504
- throw new Error(`Pool created with ID ${createResponse.poolId}, but initial deposit failed: ${error instanceof Error ? error.message : String(error)}`);
514
+ // Confirm the initial deposit
515
+ const confirmNonce = index$2.generateNonce();
516
+ const confirmIntentMessage = intents.generatePoolConfirmInitialDepositIntentMessage({
517
+ poolOwnerPublicKey: this.publicKey,
518
+ lpIdentityPublicKey: createResponse.poolId,
519
+ assetASparkTransferId: assetATransferId,
520
+ nonce: confirmNonce,
521
+ });
522
+ const confirmMessageHash = new Uint8Array(await crypto.subtle.digest("SHA-256", confirmIntentMessage));
523
+ const confirmSignature = await this._wallet.config.signer.signMessageWithIdentityKey(confirmMessageHash, true);
524
+ const confirmRequest = {
525
+ poolId: createResponse.poolId,
526
+ assetASparkTransferId: assetATransferId,
527
+ nonce: confirmNonce,
528
+ signature: Buffer.from(confirmSignature).toString("hex"),
529
+ poolOwnerPublicKey: this.publicKey,
530
+ };
531
+ const confirmResponse = await this.typedApi.confirmInitialDeposit(confirmRequest);
532
+ if (!confirmResponse.confirmed) {
533
+ throw new Error(`Failed to confirm initial deposit: ${confirmResponse.message}`);
505
534
  }
506
535
  return createResponse;
507
536
  }
@@ -511,11 +540,11 @@ class FlashnetClient {
511
540
  * Note: This is typically handled automatically by createSingleSidedPool().
512
541
  * Use this method only if you need to manually confirm a deposit (e.g., after a failed attempt).
513
542
  */
514
- async confirmInitialDeposit(poolId, assetASparkTransferId) {
543
+ async confirmInitialDeposit(poolId, assetASparkTransferId, poolOwnerPublicKey) {
515
544
  await this.ensureInitialized();
516
545
  const nonce = index$2.generateNonce();
517
546
  const intentMessage = intents.generatePoolConfirmInitialDepositIntentMessage({
518
- poolOwnerPublicKey: this.publicKey,
547
+ poolOwnerPublicKey: poolOwnerPublicKey ?? this.publicKey,
519
548
  lpIdentityPublicKey: poolId,
520
549
  assetASparkTransferId,
521
550
  nonce,
@@ -527,7 +556,7 @@ class FlashnetClient {
527
556
  assetASparkTransferId,
528
557
  nonce,
529
558
  signature: Buffer.from(signature).toString("hex"),
530
- poolOwnerPublicKey: this.publicKey,
559
+ poolOwnerPublicKey: poolOwnerPublicKey ?? this.publicKey,
531
560
  };
532
561
  return this.typedApi.confirmInitialDeposit(request);
533
562
  }
@@ -568,8 +597,8 @@ class FlashnetClient {
568
597
  userPublicKey: this.publicKey,
569
598
  lpIdentityPublicKey: params.poolId,
570
599
  assetInSparkTransferId: params.transferId,
571
- assetInTokenPublicKey: this.toHexTokenIdentifier(params.assetInAddress),
572
- assetOutTokenPublicKey: this.toHexTokenIdentifier(params.assetOutAddress),
600
+ assetInAddress: this.toHexTokenIdentifier(params.assetInAddress),
601
+ assetOutAddress: this.toHexTokenIdentifier(params.assetOutAddress),
573
602
  amountIn: params.amountIn.toString(),
574
603
  maxSlippageBps: params.maxSlippageBps.toString(),
575
604
  minAmountOut: params.minAmountOut,
@@ -637,8 +666,8 @@ class FlashnetClient {
637
666
  // Prepare hops for validation
638
667
  const hops = params.hops.map((hop) => ({
639
668
  lpIdentityPublicKey: hop.poolId,
640
- inputAssetPublicKey: this.toHexTokenIdentifier(hop.assetInAddress),
641
- outputAssetPublicKey: this.toHexTokenIdentifier(hop.assetOutAddress),
669
+ assetInAddress: this.toHexTokenIdentifier(hop.assetInAddress),
670
+ assetOutAddress: this.toHexTokenIdentifier(hop.assetOutAddress),
642
671
  hopIntegratorFeeRateBps: hop.hopIntegratorFeeRateBps !== undefined &&
643
672
  hop.hopIntegratorFeeRateBps !== null
644
673
  ? hop.hopIntegratorFeeRateBps.toString()
@@ -660,8 +689,8 @@ class FlashnetClient {
660
689
  userPublicKey: this.publicKey,
661
690
  hops: hops.map((hop) => ({
662
691
  lpIdentityPublicKey: hop.lpIdentityPublicKey,
663
- inputAssetPublicKey: hop.inputAssetPublicKey,
664
- outputAssetPublicKey: hop.outputAssetPublicKey,
692
+ assetInAddress: hop.assetInAddress,
693
+ assetOutAddress: hop.assetOutAddress,
665
694
  hopIntegratorFeeRateBps: hop.hopIntegratorFeeRateBps,
666
695
  })),
667
696
  initialSparkTransferId: initialTransferId,
@@ -1088,6 +1117,35 @@ class FlashnetClient {
1088
1117
  const user = userPublicKey || this.publicKey;
1089
1118
  return this.typedApi.getUserSwaps(user, query);
1090
1119
  }
1120
+ // ===== Clawback =====
1121
+ /**
1122
+ * Request clawback of a stuck inbound transfer to an LP wallet
1123
+ */
1124
+ async clawback(params) {
1125
+ await this.ensureInitialized();
1126
+ const nonce = index$2.generateNonce();
1127
+ const intentMessage = intents.generateClawbackIntentMessage({
1128
+ senderPublicKey: this.publicKey,
1129
+ sparkTransferId: params.sparkTransferId,
1130
+ lpIdentityPublicKey: params.lpIdentityPublicKey,
1131
+ nonce,
1132
+ });
1133
+ const messageHash = new Uint8Array(await crypto.subtle.digest("SHA-256", intentMessage));
1134
+ const signature = await this._wallet.config.signer.signMessageWithIdentityKey(messageHash, true);
1135
+ const request = {
1136
+ senderPublicKey: this.publicKey,
1137
+ sparkTransferId: params.sparkTransferId,
1138
+ lpIdentityPublicKey: params.lpIdentityPublicKey,
1139
+ nonce,
1140
+ signature: Buffer.from(signature).toString("hex"),
1141
+ };
1142
+ const response = await this.typedApi.clawback(request);
1143
+ if (!response.accepted) {
1144
+ const errorMessage = response.error || "Clawback request was rejected";
1145
+ throw new Error(errorMessage);
1146
+ }
1147
+ return response;
1148
+ }
1091
1149
  // ===== Token Address Operations =====
1092
1150
  /**
1093
1151
  * Encode a token identifier into a human-readable token address using the client's Spark network
@@ -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","generateCreateEscrowIntentMessage","generateFundEscrowIntentMessage","generateClaimEscrowIntentMessage"],"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","generateCreateEscrowIntentMessage","generateFundEscrowIntentMessage","generateClaimEscrowIntentMessage","generateClawbackIntentMessage"],"mappings":"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"}
@@ -171,13 +171,9 @@ export interface WithdrawHostFeesResponse {
171
171
  accepted: boolean;
172
172
  assetAWithdrawn?: string;
173
173
  assetBWithdrawn?: string;
174
- transferIds?: WithdrawalTransferIds;
174
+ transferId?: string;
175
175
  error?: string;
176
176
  }
177
- export interface WithdrawalTransferIds {
178
- assetA?: string;
179
- assetB?: string;
180
- }
181
177
  export interface GetPoolHostFeesRequest {
182
178
  hostNamespace: string;
183
179
  poolId: string;
@@ -202,7 +198,7 @@ export interface WithdrawIntegratorFeesResponse {
202
198
  accepted: boolean;
203
199
  assetAWithdrawn?: string;
204
200
  assetBWithdrawn?: string;
205
- transferIds?: WithdrawalTransferIds;
201
+ transferId?: string;
206
202
  error?: string;
207
203
  }
208
204
  export interface CreateConstantProductPoolRequest {
@@ -619,8 +615,8 @@ export interface Token {
619
615
  }
620
616
  export interface ValidateAmmInitializeSingleSidedPoolData {
621
617
  poolOwnerPublicKey: string;
622
- assetATokenPublicKey: string;
623
- assetBTokenPublicKey: string;
618
+ assetAAddress: string;
619
+ assetBAddress: string;
624
620
  assetAInitialReserve: string;
625
621
  virtualReserveA: string;
626
622
  virtualReserveB: string;
@@ -631,8 +627,8 @@ export interface ValidateAmmInitializeSingleSidedPoolData {
631
627
  }
632
628
  export interface ValidateAmmInitializeConstantProductPoolData {
633
629
  poolOwnerPublicKey: string;
634
- assetATokenPublicKey: string;
635
- assetBTokenPublicKey: string;
630
+ assetAAddress: string;
631
+ assetBAddress: string;
636
632
  totalHostFeeRateBps: string;
637
633
  lpFeeRateBps: string;
638
634
  nonce: string;
@@ -647,8 +643,8 @@ export interface ValidateAmmSwapData {
647
643
  userPublicKey: string;
648
644
  lpIdentityPublicKey: string;
649
645
  assetInSparkTransferId: string;
650
- assetInTokenPublicKey: string;
651
- assetOutTokenPublicKey: string;
646
+ assetInAddress: string;
647
+ assetOutAddress: string;
652
648
  amountIn: string;
653
649
  minAmountOut: string;
654
650
  maxSlippageBps: string;
@@ -707,8 +703,8 @@ export interface ValidateAmmWithdrawHostFeesData {
707
703
  }
708
704
  export interface RouteHopValidation {
709
705
  lpIdentityPublicKey: string;
710
- inputAssetPublicKey: string;
711
- outputAssetPublicKey: string;
706
+ assetInAddress: string;
707
+ assetOutAddress: string;
712
708
  hopIntegratorFeeRateBps?: string | null;
713
709
  }
714
710
  export interface ValidateRouteSwapData {
@@ -721,12 +717,26 @@ export interface ValidateRouteSwapData {
721
717
  nonce: string;
722
718
  defaultIntegratorFeeRateBps?: string;
723
719
  }
720
+ /** @deprecated Use assetAAddress instead */
721
+ export type AssetATokenPublicKey = string;
722
+ /** @deprecated Use assetBAddress instead */
723
+ export type AssetBTokenPublicKey = string;
724
+ /** @deprecated Use assetInAddress instead */
725
+ export type AssetInTokenPublicKey = string;
726
+ /** @deprecated Use assetOutAddress instead */
727
+ export type AssetOutTokenPublicKey = string;
724
728
  export interface ValidateAmmWithdrawIntegratorFeesData {
725
729
  integratorPublicKey: string;
726
730
  lpIdentityPublicKey: string;
727
731
  assetBAmount?: string;
728
732
  nonce: string;
729
733
  }
734
+ export interface ValidateClawbackData {
735
+ senderPublicKey: string;
736
+ sparkTransferId: string;
737
+ lpIdentityPublicKey: string;
738
+ nonce: string;
739
+ }
730
740
  export interface GetHostFeesRequest {
731
741
  hostNamespace: string;
732
742
  }
@@ -883,29 +893,29 @@ export interface EscrowRecipientInput {
883
893
  */
884
894
  export type Condition = LogicCondition | TimeCondition | AmmStateCondition;
885
895
  interface LogicCondition {
886
- conditionType: 'and' | 'or';
896
+ conditionType: "and" | "or";
887
897
  data: {
888
898
  conditions: Condition[];
889
899
  };
890
900
  }
891
901
  interface TimeCondition {
892
- conditionType: 'time';
902
+ conditionType: "time";
893
903
  data: {
894
- comparison: 'after' | 'before';
904
+ comparison: "after" | "before";
895
905
  timestamp: string;
896
906
  };
897
907
  }
898
908
  interface AmmStateCondition {
899
- conditionType: 'amm_state';
909
+ conditionType: "amm_state";
900
910
  data: {
901
911
  ammId: string;
902
912
  stateCheck: {
903
- type: 'minimum_reserve';
904
- asset: 'A' | 'B';
913
+ type: "minimum_reserve";
914
+ asset: "A" | "B";
905
915
  min: string;
906
916
  } | {
907
- type: 'phase';
908
- phase: 'double_sided';
917
+ type: "phase";
918
+ phase: "double_sided";
909
919
  };
910
920
  };
911
921
  }
@@ -941,6 +951,13 @@ export interface FundEscrowRequest {
941
951
  nonce: string;
942
952
  signature: string;
943
953
  }
954
+ export interface ClawbackRequest {
955
+ senderPublicKey: string;
956
+ sparkTransferId: string;
957
+ lpIdentityPublicKey: string;
958
+ nonce: string;
959
+ signature: string;
960
+ }
944
961
  /**
945
962
  * Response after successfully funding an escrow contract.
946
963
  */
@@ -1004,5 +1021,33 @@ export interface EscrowState {
1004
1021
  updatedAt: string;
1005
1022
  totalClaimed: string;
1006
1023
  }
1024
+ export interface ClawbackResponse {
1025
+ requestId: string;
1026
+ accepted: boolean;
1027
+ internalRequestId: string;
1028
+ sparkStatusTrackingId: string;
1029
+ error?: string;
1030
+ }
1031
+ /**
1032
+ * Validation result interface for client-side validations
1033
+ */
1034
+ export interface ValidationResult {
1035
+ isValid: boolean;
1036
+ error?: string;
1037
+ }
1038
+ /**
1039
+ * Validates that a single-sided pool threshold is within acceptable range (20%-90% of initial reserve)
1040
+ * @param threshold - Amount of asset A that must be sold to graduate to constant product
1041
+ * @param assetAInitialReserve - Initial reserve amount for asset A
1042
+ * @returns Validation result with error message if invalid
1043
+ */
1044
+ export declare function validateSingleSidedPoolThreshold(threshold: string, assetAInitialReserve: string): ValidationResult;
1045
+ /**
1046
+ * Calculates the percentage that a threshold represents of the initial reserve
1047
+ * @param threshold - Amount of asset A that must be sold
1048
+ * @param assetAInitialReserve - Initial reserve amount for asset A
1049
+ * @returns Percentage as a number (e.g., 25.5 for 25.5%)
1050
+ */
1051
+ export declare function calculateThresholdPercentage(threshold: string, assetAInitialReserve: string): number;
1007
1052
  export {};
1008
1053
  //# sourceMappingURL=index.d.ts.map