@flashnet/sdk 0.3.12-rc.3 → 0.3.12-rc.5

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 (56) 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/api/typed-endpoints.d.ts +23 -2
  6. package/dist/cjs/src/api/typed-endpoints.d.ts.map +1 -1
  7. package/dist/cjs/src/api/typed-endpoints.js +33 -3
  8. package/dist/cjs/src/api/typed-endpoints.js.map +1 -1
  9. package/dist/cjs/src/client/FlashnetClient.d.ts +76 -5
  10. package/dist/cjs/src/client/FlashnetClient.d.ts.map +1 -1
  11. package/dist/cjs/src/client/FlashnetClient.js +214 -19
  12. package/dist/cjs/src/client/FlashnetClient.js.map +1 -1
  13. package/dist/cjs/src/types/index.d.ts +225 -14
  14. package/dist/cjs/src/types/index.d.ts.map +1 -1
  15. package/dist/cjs/src/types/index.js +38 -0
  16. package/dist/cjs/src/types/index.js.map +1 -1
  17. package/dist/cjs/src/utils/index.d.ts +1 -0
  18. package/dist/cjs/src/utils/index.d.ts.map +1 -1
  19. package/dist/cjs/src/utils/index.js +2 -0
  20. package/dist/cjs/src/utils/index.js.map +1 -1
  21. package/dist/cjs/src/utils/intents.d.ts +40 -5
  22. package/dist/cjs/src/utils/intents.d.ts.map +1 -1
  23. package/dist/cjs/src/utils/intents.js +60 -11
  24. package/dist/cjs/src/utils/intents.js.map +1 -1
  25. package/dist/cjs/src/utils/tokenAddress.d.ts +28 -0
  26. package/dist/cjs/src/utils/tokenAddress.d.ts.map +1 -1
  27. package/dist/cjs/src/utils/tokenAddress.js +65 -0
  28. package/dist/cjs/src/utils/tokenAddress.js.map +1 -1
  29. package/dist/esm/index.d.ts +1 -1
  30. package/dist/esm/index.d.ts.map +1 -1
  31. package/dist/esm/index.js +1 -1
  32. package/dist/esm/src/api/typed-endpoints.d.ts +23 -2
  33. package/dist/esm/src/api/typed-endpoints.d.ts.map +1 -1
  34. package/dist/esm/src/api/typed-endpoints.js +33 -3
  35. package/dist/esm/src/api/typed-endpoints.js.map +1 -1
  36. package/dist/esm/src/client/FlashnetClient.d.ts +76 -5
  37. package/dist/esm/src/client/FlashnetClient.d.ts.map +1 -1
  38. package/dist/esm/src/client/FlashnetClient.js +215 -20
  39. package/dist/esm/src/client/FlashnetClient.js.map +1 -1
  40. package/dist/esm/src/types/index.d.ts +225 -14
  41. package/dist/esm/src/types/index.d.ts.map +1 -1
  42. package/dist/esm/src/types/index.js +39 -1
  43. package/dist/esm/src/types/index.js.map +1 -1
  44. package/dist/esm/src/utils/index.d.ts +1 -0
  45. package/dist/esm/src/utils/index.d.ts.map +1 -1
  46. package/dist/esm/src/utils/index.js +2 -0
  47. package/dist/esm/src/utils/index.js.map +1 -1
  48. package/dist/esm/src/utils/intents.d.ts +40 -5
  49. package/dist/esm/src/utils/intents.d.ts.map +1 -1
  50. package/dist/esm/src/utils/intents.js +58 -12
  51. package/dist/esm/src/utils/intents.js.map +1 -1
  52. package/dist/esm/src/utils/tokenAddress.d.ts +28 -0
  53. package/dist/esm/src/utils/tokenAddress.d.ts.map +1 -1
  54. package/dist/esm/src/utils/tokenAddress.js +63 -1
  55. package/dist/esm/src/utils/tokenAddress.js.map +1 -1
  56. package/package.json +1 -1
@@ -368,10 +368,62 @@ class FlashnetClient {
368
368
  const response = await this.typedApi.createConstantProductPool(request);
369
369
  // Add initial liquidity if specified
370
370
  if (params.initialLiquidity && response.poolId) {
371
- await this.addInitialLiquidity(response.poolId, params.assetAAddress, params.assetBAddress, params.initialLiquidity.assetAAmount.toString(), params.initialLiquidity.assetBAmount.toString());
371
+ await this.addInitialLiquidity(response.poolId, params.assetAAddress, params.assetBAddress, params.initialLiquidity.assetAAmount.toString(), params.initialLiquidity.assetBAmount.toString(), params.initialLiquidity.assetAMinAmountIn.toString(), params.initialLiquidity.assetBMinAmountIn.toString());
372
372
  }
373
373
  return response;
374
374
  }
375
+ /**
376
+ * Calculates virtual reserves for a bonding curve AMM.
377
+ *
378
+ * This helper function calculates the initial virtual reserves (`v_A^0`, `v_B^0`)
379
+ * based on the bonding curve parameters. These virtual reserves ensure smooth
380
+ * pricing and price continuity during graduation to the double-sided phase.
381
+ *
382
+ * @param params - The parameters for the calculation.
383
+ * @param params.initialTokenSupply - The initial supply of Asset A (tokens to be sold).
384
+ * @param params.graduationThresholdPct - The percentage of tokens that need to be sold for graduation (20-95%).
385
+ * @param params.targetRaise - The target amount of Asset B to raise at graduation.
386
+ * @returns An object containing `virtualReserveA`, `virtualReserveB`, and `threshold`.
387
+ */
388
+ static calculateVirtualReserves(params) {
389
+ const supply = Number(params.initialTokenSupply);
390
+ const targetB = Number(params.targetRaise);
391
+ const lpFrac = 1.0;
392
+ // Validate inputs
393
+ if (supply <= 0) {
394
+ throw new Error("Initial token supply must be positive");
395
+ }
396
+ if (targetB <= 0) {
397
+ throw new Error("Target raise must be positive");
398
+ }
399
+ const MIN_GRADUATION_THRESHOLD_PCT = 20;
400
+ const MAX_GRADUATION_THRESHOLD_PCT = 95;
401
+ // Validate graduation threshold is a positive whole number
402
+ if (!Number.isInteger(params.graduationThresholdPct) ||
403
+ params.graduationThresholdPct <= 0) {
404
+ throw new Error("Graduation threshold percentage must be a positive whole number");
405
+ }
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)`);
417
+ }
418
+ // 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);
421
+ return {
422
+ virtualReserveA: virtualA,
423
+ virtualReserveB: virtualB,
424
+ threshold: params.graduationThresholdPct,
425
+ };
426
+ }
375
427
  /**
376
428
  * Create a single-sided pool with automatic initial deposit
377
429
  *
@@ -380,19 +432,18 @@ class FlashnetClient {
380
432
  */
381
433
  async createSingleSidedPool(params) {
382
434
  await this.ensureInitialized();
383
- // check that assetAPctSoldAtGraduation is between 0 and 100 - no decimals
384
- if (params.assetAPctSoldAtGraduation < 0 ||
385
- params.assetAPctSoldAtGraduation > 100) {
386
- throw new Error(`assetAPctSoldAtGraduation must be between 0 and 100`);
387
- }
388
435
  if (!params.hostNamespace && params.totalHostFeeRateBps < 10) {
389
436
  throw new Error(`Host fee must be greater than 10 bps when no host namespace is provided`);
390
437
  }
438
+ // Clip decimals off reserves before any operations
439
+ const clippedAssetAInitialReserve = Math.floor(Number(params.assetAInitialReserve)).toString();
440
+ const clippedVirtualReserveA = Math.floor(Number(params.virtualReserveA)).toString();
441
+ const clippedVirtualReserveB = Math.floor(Number(params.virtualReserveB)).toString();
391
442
  await this.checkBalance({
392
443
  balancesToCheck: [
393
444
  {
394
445
  assetAddress: params.assetAInitialReserve,
395
- amount: params.assetAInitialReserve,
446
+ amount: clippedAssetAInitialReserve,
396
447
  },
397
448
  ],
398
449
  errorPrefix: "Insufficient balance for pool creation: ",
@@ -403,9 +454,10 @@ class FlashnetClient {
403
454
  poolOwnerPublicKey: this.publicKey,
404
455
  assetAAddress: this.toHexTokenIdentifier(params.assetAAddress),
405
456
  assetBAddress: this.toHexTokenIdentifier(params.assetBAddress),
406
- assetAInitialReserve: params.assetAInitialReserve,
407
- graduationThresholdPct: params.assetAPctSoldAtGraduation.toString(),
408
- targetBRaisedAtGraduation: params.targetBRaisedAtGraduation,
457
+ assetAInitialReserve: clippedAssetAInitialReserve,
458
+ virtualReserveA: clippedVirtualReserveA,
459
+ virtualReserveB: clippedVirtualReserveB,
460
+ threshold: params.threshold,
409
461
  lpFeeRateBps: params.lpFeeRateBps.toString(),
410
462
  totalHostFeeRateBps: params.totalHostFeeRateBps.toString(),
411
463
  nonce,
@@ -417,9 +469,10 @@ class FlashnetClient {
417
469
  poolOwnerPublicKey: this.publicKey,
418
470
  assetAAddress: this.toHexTokenIdentifier(params.assetAAddress),
419
471
  assetBAddress: this.toHexTokenIdentifier(params.assetBAddress),
420
- assetAInitialReserve: params.assetAInitialReserve,
421
- graduationThresholdPct: params.assetAPctSoldAtGraduation,
422
- targetBRaisedAtGraduation: params.targetBRaisedAtGraduation,
472
+ assetAInitialReserve: clippedAssetAInitialReserve,
473
+ virtualReserveA: clippedVirtualReserveA,
474
+ virtualReserveB: clippedVirtualReserveB,
475
+ threshold: params.threshold,
423
476
  lpFeeRateBps: params.lpFeeRateBps.toString(),
424
477
  totalHostFeeRateBps: params.totalHostFeeRateBps.toString(),
425
478
  hostNamespace: params.hostNamespace,
@@ -439,7 +492,7 @@ class FlashnetClient {
439
492
  const assetATransferId = await this.transferAsset({
440
493
  receiverSparkAddress: lpSparkAddress,
441
494
  assetAddress: params.assetAAddress,
442
- amount: params.assetAInitialReserve,
495
+ amount: clippedAssetAInitialReserve,
443
496
  });
444
497
  const confirmResponse = await this.confirmInitialDeposit(createResponse.poolId, assetATransferId);
445
498
  if (!confirmResponse.confirmed) {
@@ -685,6 +738,8 @@ class FlashnetClient {
685
738
  assetBSparkTransferId: assetBTransferId,
686
739
  assetAAmount: params.assetAAmount.toString(),
687
740
  assetBAmount: params.assetBAmount.toString(),
741
+ assetAMinAmountIn: params.assetAMinAmountIn.toString(),
742
+ assetBMinAmountIn: params.assetBMinAmountIn.toString(),
688
743
  nonce,
689
744
  });
690
745
  // Sign intent
@@ -697,6 +752,8 @@ class FlashnetClient {
697
752
  assetBSparkTransferId: assetBTransferId,
698
753
  assetAAmountToAdd: params.assetAAmount.toString(),
699
754
  assetBAmountToAdd: params.assetBAmount.toString(),
755
+ assetAMinAmountIn: params.assetAMinAmountIn.toString(),
756
+ assetBMinAmountIn: params.assetBMinAmountIn.toString(),
700
757
  nonce,
701
758
  signature: Buffer.from(signature).toString("hex"),
702
759
  };
@@ -806,7 +863,6 @@ class FlashnetClient {
806
863
  const intentMessage = intents.generateWithdrawHostFeesIntentMessage({
807
864
  hostPublicKey: this.publicKey,
808
865
  lpIdentityPublicKey: params.lpIdentityPublicKey,
809
- assetAAmount: params.assetAAmount,
810
866
  assetBAmount: params.assetBAmount,
811
867
  nonce,
812
868
  });
@@ -815,7 +871,6 @@ class FlashnetClient {
815
871
  const signature = await this._wallet.config.signer.signMessageWithIdentityKey(messageHash, true);
816
872
  const request = {
817
873
  lpIdentityPublicKey: params.lpIdentityPublicKey,
818
- assetAAmount: params.assetAAmount,
819
874
  assetBAmount: params.assetBAmount,
820
875
  nonce,
821
876
  signature: Buffer.from(signature).toString("hex"),
@@ -847,7 +902,6 @@ class FlashnetClient {
847
902
  const intentMessage = intents.generateWithdrawIntegratorFeesIntentMessage({
848
903
  integratorPublicKey: this.publicKey,
849
904
  lpIdentityPublicKey: params.lpIdentityPublicKey,
850
- assetAAmount: params.assetAAmount,
851
905
  assetBAmount: params.assetBAmount,
852
906
  nonce,
853
907
  });
@@ -857,7 +911,6 @@ class FlashnetClient {
857
911
  const request = {
858
912
  integratorPublicKey: this.publicKey,
859
913
  lpIdentityPublicKey: params.lpIdentityPublicKey,
860
- assetAAmount: params.assetAAmount,
861
914
  assetBAmount: params.assetBAmount,
862
915
  nonce,
863
916
  signature: Buffer.from(signature).toString("hex"),
@@ -877,6 +930,144 @@ class FlashnetClient {
877
930
  await this.ensureInitialized();
878
931
  return this.typedApi.getIntegratorFees();
879
932
  }
933
+ // ===== Escrow Operations =====
934
+ /**
935
+ * Creates a new escrow contract.
936
+ * This is the first step in a two-step process: create, then fund.
937
+ * @param params Parameters to create the escrow.
938
+ * @returns The escrow creation response, including the ID and deposit address.
939
+ */
940
+ async createEscrow(params) {
941
+ await this.ensureInitialized();
942
+ const nonce = index$2.generateNonce();
943
+ // The intent message requires a different structure for recipients and conditions
944
+ const intentRecipients = params.recipients.map((r) => ({
945
+ recipientId: r.id,
946
+ amount: r.amount,
947
+ hasClaimed: false, // Default value for creation
948
+ }));
949
+ const intentMessage = intents.generateCreateEscrowIntentMessage({
950
+ creatorPublicKey: this.publicKey,
951
+ assetId: params.assetId,
952
+ assetAmount: params.assetAmount,
953
+ recipients: intentRecipients,
954
+ claimConditions: params.claimConditions, // Assuming API `Condition` is compatible
955
+ abandonHost: params.abandonHost,
956
+ abandonConditions: params.abandonConditions || undefined,
957
+ nonce,
958
+ });
959
+ const messageHash = new Uint8Array(await crypto.subtle.digest("SHA-256", intentMessage));
960
+ const signature = await this._wallet.config.signer.signMessageWithIdentityKey(messageHash, true);
961
+ const request = {
962
+ creatorPublicKey: this.publicKey,
963
+ assetId: params.assetId,
964
+ assetAmount: params.assetAmount,
965
+ recipients: params.recipients,
966
+ claimConditions: params.claimConditions,
967
+ abandonHost: params.abandonHost,
968
+ abandonConditions: params.abandonConditions,
969
+ nonce,
970
+ signature: Buffer.from(signature).toString("hex"),
971
+ };
972
+ const createResponse = await this.typedApi.createEscrow(request);
973
+ const autoFund = params.autoFund !== false;
974
+ if (!autoFund) {
975
+ return createResponse;
976
+ }
977
+ // Auto-fund the escrow
978
+ return this.fundEscrow({
979
+ escrowId: createResponse.escrowId,
980
+ depositAddress: createResponse.depositAddress,
981
+ assetId: params.assetId,
982
+ assetAmount: params.assetAmount,
983
+ });
984
+ }
985
+ /**
986
+ * Funds an escrow contract to activate it.
987
+ * This handles the asset transfer and confirmation in one step.
988
+ * @param params Parameters to fund the escrow, including asset details and deposit address.
989
+ * @returns The funding confirmation response.
990
+ */
991
+ async fundEscrow(params) {
992
+ await this.ensureInitialized();
993
+ // 1. Balance check
994
+ await this.checkBalance({
995
+ balancesToCheck: [
996
+ { assetAddress: params.assetId, amount: params.assetAmount },
997
+ ],
998
+ errorPrefix: "Insufficient balance to fund escrow: ",
999
+ });
1000
+ // 2. Perform transfer
1001
+ const escrowSparkAddress = sparkAddress.encodeSparkAddressNew({
1002
+ identityPublicKey: params.depositAddress,
1003
+ network: this.sparkNetwork,
1004
+ });
1005
+ let sparkTransferId;
1006
+ if (params.assetId === index$1.BTC_ASSET_PUBKEY) {
1007
+ const transfer = await this._wallet.transfer({
1008
+ amountSats: Number(params.assetAmount),
1009
+ receiverSparkAddress: escrowSparkAddress,
1010
+ });
1011
+ sparkTransferId = transfer.id;
1012
+ }
1013
+ else {
1014
+ sparkTransferId = await this._wallet.transferTokens({
1015
+ tokenIdentifier: this.toHumanReadableTokenIdentifier(params.assetId),
1016
+ tokenAmount: BigInt(params.assetAmount),
1017
+ receiverSparkAddress: escrowSparkAddress,
1018
+ });
1019
+ }
1020
+ // 3. Generate intent, sign, and call API
1021
+ const nonce = index$2.generateNonce();
1022
+ const intentMessage = intents.generateFundEscrowIntentMessage({
1023
+ escrowId: params.escrowId,
1024
+ creatorPublicKey: this.publicKey,
1025
+ sparkTransferId,
1026
+ nonce,
1027
+ });
1028
+ const messageHash = new Uint8Array(await crypto.subtle.digest("SHA-256", intentMessage));
1029
+ const signature = await this._wallet.config.signer.signMessageWithIdentityKey(messageHash, true);
1030
+ const request = {
1031
+ escrowId: params.escrowId,
1032
+ sparkTransferId,
1033
+ nonce,
1034
+ signature: Buffer.from(signature).toString("hex"),
1035
+ };
1036
+ return this.typedApi.fundEscrow(request);
1037
+ }
1038
+ /**
1039
+ * Claims funds from an active escrow contract.
1040
+ * The caller must be a valid recipient and all claim conditions must be met.
1041
+ * @param params Parameters for the claim.
1042
+ * @returns The claim processing response.
1043
+ */
1044
+ async claimEscrow(params) {
1045
+ await this.ensureInitialized();
1046
+ const nonce = index$2.generateNonce();
1047
+ const intentMessage = intents.generateClaimEscrowIntentMessage({
1048
+ escrowId: params.escrowId,
1049
+ recipientPublicKey: this.publicKey,
1050
+ nonce,
1051
+ });
1052
+ const messageHash = new Uint8Array(await crypto.subtle.digest("SHA-256", intentMessage));
1053
+ const signature = await this._wallet.config.signer.signMessageWithIdentityKey(messageHash, true);
1054
+ const request = {
1055
+ escrowId: params.escrowId,
1056
+ nonce,
1057
+ signature: Buffer.from(signature).toString("hex"),
1058
+ };
1059
+ return this.typedApi.claimEscrow(request);
1060
+ }
1061
+ /**
1062
+ * Retrieves the current state of an escrow contract.
1063
+ * This is a read-only operation and does not require authentication.
1064
+ * @param escrowId The unique identifier of the escrow.
1065
+ * @returns The full state of the escrow.
1066
+ */
1067
+ async getEscrow(escrowId) {
1068
+ await this.ensureInitialized();
1069
+ return this.typedApi.getEscrow(escrowId);
1070
+ }
880
1071
  // ===== Swap History =====
881
1072
  /**
882
1073
  * Get swaps for a specific pool
@@ -985,7 +1176,7 @@ class FlashnetClient {
985
1176
  /**
986
1177
  * Helper method to add initial liquidity after pool creation
987
1178
  */
988
- async addInitialLiquidity(poolId, assetAAddress, assetBAddress, assetAAmount, assetBAmount) {
1179
+ async addInitialLiquidity(poolId, assetAAddress, assetBAddress, assetAAmount, assetBAmount, assetAMinAmountIn, assetBMinAmountIn) {
989
1180
  const lpSparkAddress = sparkAddress.encodeSparkAddressNew({
990
1181
  identityPublicKey: poolId,
991
1182
  network: this.sparkNetwork,
@@ -1011,6 +1202,8 @@ class FlashnetClient {
1011
1202
  assetBSparkTransferId: assetBTransferId,
1012
1203
  assetAAmount: assetAAmount.toString(),
1013
1204
  assetBAmount: assetBAmount.toString(),
1205
+ assetAMinAmountIn: assetAMinAmountIn.toString(),
1206
+ assetBMinAmountIn: assetBMinAmountIn.toString(),
1014
1207
  nonce,
1015
1208
  });
1016
1209
  const messageHash = new Uint8Array(await crypto.subtle.digest("SHA-256", intentMessage));
@@ -1022,6 +1215,8 @@ class FlashnetClient {
1022
1215
  assetBSparkTransferId: assetBTransferId,
1023
1216
  assetAAmountToAdd: assetAAmount.toString(),
1024
1217
  assetBAmountToAdd: assetBAmount.toString(),
1218
+ assetAMinAmountIn: assetAMinAmountIn.toString(),
1219
+ assetBMinAmountIn: assetBMinAmountIn.toString(),
1025
1220
  nonce,
1026
1221
  signature: Buffer.from(signature).toString("hex"),
1027
1222
  };
@@ -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","generateCreateEscrowIntentMessage","generateFundEscrowIntentMessage","generateClaimEscrowIntentMessage"],"mappings":"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"}