@steerprotocol/sdk 1.19.15 → 1.19.16

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 (114) hide show
  1. package/README.md +281 -11
  2. package/dist/cjs/base/VaultClient.js +95 -1
  3. package/dist/cjs/base/VaultClient.js.map +1 -1
  4. package/dist/cjs/base/vault/single-asset/calculateLimitPrice.js +231 -0
  5. package/dist/cjs/base/vault/single-asset/calculateLimitPrice.js.map +1 -0
  6. package/dist/cjs/base/vault/single-asset/calculateSwapAmount.js +68 -0
  7. package/dist/cjs/base/vault/single-asset/calculateSwapAmount.js.map +1 -0
  8. package/dist/cjs/base/vault/single-asset/estimateLpTokens.js +355 -0
  9. package/dist/cjs/base/vault/single-asset/estimateLpTokens.js.map +1 -0
  10. package/dist/cjs/base/vault/single-asset/index.js +109 -0
  11. package/dist/cjs/base/vault/single-asset/index.js.map +1 -0
  12. package/dist/cjs/base/vault/single-asset/simulateSwap.js +291 -0
  13. package/dist/cjs/base/vault/single-asset/simulateSwap.js.map +1 -0
  14. package/dist/cjs/base/vault/single-asset/singleAssetDeposit.js +324 -0
  15. package/dist/cjs/base/vault/single-asset/singleAssetDeposit.js.map +1 -0
  16. package/dist/cjs/base/vault/single-asset/types.js +15 -0
  17. package/dist/cjs/base/vault/single-asset/types.js.map +1 -0
  18. package/dist/cjs/base/vault/utils.js +229 -18
  19. package/dist/cjs/base/vault/utils.js.map +1 -1
  20. package/dist/cjs/const/abis/index.js +3 -0
  21. package/dist/cjs/const/abis/index.js.map +1 -1
  22. package/dist/cjs/const/abis/quoter.js +248 -0
  23. package/dist/cjs/const/abis/quoter.js.map +1 -0
  24. package/dist/cjs/const/abis/singleTokenDeposit.js +925 -0
  25. package/dist/cjs/const/abis/singleTokenDeposit.js.map +1 -0
  26. package/dist/cjs/const/amm/configs/protocols/uniswap.js +15 -0
  27. package/dist/cjs/const/amm/configs/protocols/uniswap.js.map +1 -1
  28. package/dist/cjs/const/deployments/abis.js +277 -0
  29. package/dist/cjs/const/deployments/abis.js.map +1 -1
  30. package/dist/cjs/const/deployments/polygon.js +8 -0
  31. package/dist/cjs/const/deployments/polygon.js.map +1 -1
  32. package/dist/cjs/const/index.js +6 -5
  33. package/dist/cjs/const/index.js.map +1 -1
  34. package/dist/cjs/const/network.js.map +1 -1
  35. package/dist/cjs/const/quoter.js +38 -0
  36. package/dist/cjs/const/quoter.js.map +1 -0
  37. package/dist/cjs/index.js +1 -0
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/esm/base/VaultClient.js +81 -1
  40. package/dist/esm/base/VaultClient.js.map +1 -1
  41. package/dist/esm/base/vault/single-asset/calculateLimitPrice.js +224 -0
  42. package/dist/esm/base/vault/single-asset/calculateLimitPrice.js.map +1 -0
  43. package/dist/esm/base/vault/single-asset/calculateSwapAmount.js +65 -0
  44. package/dist/esm/base/vault/single-asset/calculateSwapAmount.js.map +1 -0
  45. package/dist/esm/base/vault/single-asset/estimateLpTokens.js +350 -0
  46. package/dist/esm/base/vault/single-asset/estimateLpTokens.js.map +1 -0
  47. package/dist/esm/base/vault/single-asset/index.js +83 -0
  48. package/dist/esm/base/vault/single-asset/index.js.map +1 -0
  49. package/dist/esm/base/vault/single-asset/simulateSwap.js +285 -0
  50. package/dist/esm/base/vault/single-asset/simulateSwap.js.map +1 -0
  51. package/dist/esm/base/vault/single-asset/singleAssetDeposit.js +320 -0
  52. package/dist/esm/base/vault/single-asset/singleAssetDeposit.js.map +1 -0
  53. package/dist/esm/base/vault/single-asset/types.js +12 -0
  54. package/dist/esm/base/vault/single-asset/types.js.map +1 -0
  55. package/dist/esm/base/vault/utils.js +226 -18
  56. package/dist/esm/base/vault/utils.js.map +1 -1
  57. package/dist/esm/const/abis/index.js +3 -0
  58. package/dist/esm/const/abis/index.js.map +1 -1
  59. package/dist/esm/const/abis/quoter.js +245 -0
  60. package/dist/esm/const/abis/quoter.js.map +1 -0
  61. package/dist/esm/const/abis/singleTokenDeposit.js +922 -0
  62. package/dist/esm/const/abis/singleTokenDeposit.js.map +1 -0
  63. package/dist/esm/const/amm/configs/protocols/uniswap.js +15 -0
  64. package/dist/esm/const/amm/configs/protocols/uniswap.js.map +1 -1
  65. package/dist/esm/const/deployments/abis.js +277 -0
  66. package/dist/esm/const/deployments/abis.js.map +1 -1
  67. package/dist/esm/const/deployments/polygon.js +8 -0
  68. package/dist/esm/const/deployments/polygon.js.map +1 -1
  69. package/dist/esm/const/index.js +6 -5
  70. package/dist/esm/const/index.js.map +1 -1
  71. package/dist/esm/const/network.js.map +1 -1
  72. package/dist/esm/const/quoter.js +34 -0
  73. package/dist/esm/const/quoter.js.map +1 -0
  74. package/dist/esm/index.js +1 -0
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/types/base/VaultClient.d.ts +136 -4
  77. package/dist/types/base/VaultClient.d.ts.map +1 -1
  78. package/dist/types/base/vault/single-asset/calculateLimitPrice.d.ts +59 -0
  79. package/dist/types/base/vault/single-asset/calculateLimitPrice.d.ts.map +1 -0
  80. package/dist/types/base/vault/single-asset/calculateSwapAmount.d.ts +30 -0
  81. package/dist/types/base/vault/single-asset/calculateSwapAmount.d.ts.map +1 -0
  82. package/dist/types/base/vault/single-asset/estimateLpTokens.d.ts +61 -0
  83. package/dist/types/base/vault/single-asset/estimateLpTokens.d.ts.map +1 -0
  84. package/dist/types/base/vault/single-asset/index.d.ts +80 -0
  85. package/dist/types/base/vault/single-asset/index.d.ts.map +1 -0
  86. package/dist/types/base/vault/single-asset/simulateSwap.d.ts +119 -0
  87. package/dist/types/base/vault/single-asset/simulateSwap.d.ts.map +1 -0
  88. package/dist/types/base/vault/single-asset/singleAssetDeposit.d.ts +141 -0
  89. package/dist/types/base/vault/single-asset/singleAssetDeposit.d.ts.map +1 -0
  90. package/dist/types/base/vault/single-asset/types.d.ts +167 -0
  91. package/dist/types/base/vault/single-asset/types.d.ts.map +1 -0
  92. package/dist/types/base/vault/utils.d.ts +95 -0
  93. package/dist/types/base/vault/utils.d.ts.map +1 -1
  94. package/dist/types/const/abis/index.d.ts +3 -0
  95. package/dist/types/const/abis/index.d.ts.map +1 -1
  96. package/dist/types/const/abis/quoter.d.ts +206 -0
  97. package/dist/types/const/abis/quoter.d.ts.map +1 -0
  98. package/dist/types/const/abis/singleTokenDeposit.d.ts +47 -0
  99. package/dist/types/const/abis/singleTokenDeposit.d.ts.map +1 -0
  100. package/dist/types/const/amm/configs/protocols/uniswap.d.ts.map +1 -1
  101. package/dist/types/const/deployments/abis.d.ts +215 -0
  102. package/dist/types/const/deployments/abis.d.ts.map +1 -1
  103. package/dist/types/const/deployments/polygon.d.ts.map +1 -1
  104. package/dist/types/const/index.d.ts +6 -5
  105. package/dist/types/const/index.d.ts.map +1 -1
  106. package/dist/types/const/network.d.ts +2 -0
  107. package/dist/types/const/network.d.ts.map +1 -1
  108. package/dist/types/const/quoter.d.ts +17 -0
  109. package/dist/types/const/quoter.d.ts.map +1 -0
  110. package/dist/types/index.d.ts +1 -0
  111. package/dist/types/index.d.ts.map +1 -1
  112. package/dist/types/types.d.ts +3 -0
  113. package/dist/types/types.d.ts.map +1 -1
  114. package/package.json +1 -1
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getQuoterAddress = getQuoterAddress;
4
+ exports.getQuoterAddressByChainId = getQuoterAddressByChainId;
5
+ const chain_1 = require("./chain");
6
+ const amm_1 = require("./amm");
7
+ /**
8
+ * Get the Quoter contract address for a given chain
9
+ * @param chain - The chain to get the Quoter address for
10
+ * @returns The Quoter contract address
11
+ * @throws Error if no Quoter address is available for the chain
12
+ */
13
+ function getQuoterAddress(chain) {
14
+ const ammConfig = (0, amm_1.getAmmConfig)('');
15
+ // TO-DO just uniswap right now
16
+ const address = ammConfig.Uniswap?.QuoterV2Address?.[chain];
17
+ if (!address || address === '0x0000000000000000000000000000000000000000') {
18
+ throw new Error(`No Uniswap V3 Quoter contract available for chain: ${chain}`);
19
+ }
20
+ return address;
21
+ }
22
+ /**
23
+ * Get the Quoter contract address for a given chain ID
24
+ * @param chainId - The chain ID to get the Quoter address for
25
+ * @returns The Quoter contract address
26
+ * @throws Error if no Quoter address is available for the chain ID
27
+ */
28
+ function getQuoterAddressByChainId(chainId) {
29
+ // Find the chain enum value that matches the chainId
30
+ const chainEntry = Object.entries(chain_1.ChainId).find(([, id]) => id === chainId);
31
+ if (!chainEntry) {
32
+ throw new Error(`Unsupported chain ID: ${chainId}`);
33
+ }
34
+ const [chainName] = chainEntry;
35
+ const chain = chainName;
36
+ return getQuoterAddress(chain);
37
+ }
38
+ //# sourceMappingURL=quoter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quoter.js","sourceRoot":"","sources":["../../../src/const/quoter.ts"],"names":[],"mappings":";;AAYA,4CAYC;AAQD,8DAYC;AA3CD,mCAAyC;AACzC,+BAAqC;AAIrC;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,KAAY;IAE3C,MAAM,SAAS,GAAG,IAAA,kBAAY,EAAC,EAAE,CAAC,CAAC;IACnC,+BAA+B;IAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;IAG5D,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,4CAA4C,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,OAAkB,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,OAAe;IACvD,qDAAqD;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,eAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAE5E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;IAC/B,MAAM,KAAK,GAAG,SAAkB,CAAC;IAEjC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -21,6 +21,7 @@ __exportStar(require("./types"), exports);
21
21
  __exportStar(require("./base/VaultClient"), exports);
22
22
  __exportStar(require("./base/SubgraphClient"), exports);
23
23
  __exportStar(require("./base/StakingClient"), exports);
24
+ __exportStar(require("./base/vault/single-asset"), exports);
24
25
  var PoolClient_1 = require("./base/PoolClient");
25
26
  Object.defineProperty(exports, "PoolClient", { enumerable: true, get: function () { return PoolClient_1.PoolClient; } });
26
27
  __exportStar(require("./const"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,2CAAyB;AACzB,0CAAwB;AACxB,qDAAmC;AACnC,wDAAsC;AACtC,uDAAqC;AAErC,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,0CAAwB;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,2CAAyB;AACzB,0CAAwB;AACxB,qDAAmC;AACnC,wDAAsC;AACtC,uDAAqC;AACrC,4DAA0C;AAE1C,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,0CAAwB;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG"}
@@ -1,9 +1,11 @@
1
1
  import { createClient } from '@steerprotocol/api-sdk';
2
- import { abis } from '../const/deployments/abis';
3
2
  import { getApiUrl } from '../const/api';
3
+ import { abis } from '../const/deployments/abis';
4
4
  import { SubgraphClient } from './SubgraphClient';
5
5
  import { VaultDepositClient } from './vault/deposit';
6
+ import { SingleAssetDepositClient } from './vault/single-asset';
6
7
  import { VaultWithdrawClient } from './vault/withdraw';
8
+ export * from "./vault/single-asset";
7
9
  const VAULT_ABI = abis.QuickSwapUniv3MultiPositionLiquidityManager;
8
10
  /**
9
11
  * Client for interacting with Steer Protocol's Vault system.
@@ -88,6 +90,7 @@ export class VaultClient extends SubgraphClient {
88
90
  this.walletClient = walletClient;
89
91
  this.depositClient = new VaultDepositClient(publicClient, walletClient);
90
92
  this.withdrawClient = new VaultWithdrawClient(publicClient, walletClient);
93
+ this.singleAssetDepositClient = new SingleAssetDepositClient(publicClient, walletClient);
91
94
  }
92
95
  /**
93
96
  * Gets vaults with pagination support
@@ -800,5 +803,82 @@ export class VaultClient extends SubgraphClient {
800
803
  async getCorrespondingTokenAmount(vaultAddress, amount, zeroForOne) {
801
804
  return this.depositClient.getCorrespondingTokenAmount(vaultAddress, amount, zeroForOne);
802
805
  }
806
+ // Single-Asset Deposit Methods
807
+ /**
808
+ * Previews a single-asset deposit by running all simulation steps
809
+ * This allows users to see the expected outcome before executing the transaction
810
+ *
811
+ * @param params - Single-asset deposit parameters
812
+ * @param poolAddress - Address of the pool (must be provided separately)
813
+ * @returns Promise resolving to the complete deposit preview
814
+ *
815
+ * @example
816
+ * ```typescript
817
+ * const preview = await vaultClient.previewSingleAssetDeposit({
818
+ * assets: parseEther('100'),
819
+ * receiver: userAddress,
820
+ * vault: vaultAddress,
821
+ * isToken0: true,
822
+ * depositSlippagePercent: 5n,
823
+ * swapSlippageBP: 500,
824
+ * ammType: AMMType.UniswapV3,
825
+ * singleAssetDepositContract: contractAddress
826
+ * }, poolAddress);
827
+ *
828
+ * if (preview.success) {
829
+ * console.log('Expected LP tokens:', preview.data.lpEstimation.lpTokens);
830
+ * console.log('Swap amount:', preview.data.swapAmount);
831
+ * }
832
+ * ```
833
+ */
834
+ async previewSingleAssetDeposit(params, poolAddress) {
835
+ return this.singleAssetDepositClient.previewDeposit(params, poolAddress);
836
+ }
837
+ /**
838
+ * Executes a single-asset deposit transaction
839
+ *
840
+ * @param params - Single-asset deposit parameters
841
+ * @returns Promise resolving to the transaction hash
842
+ *
843
+ * @example
844
+ * ```typescript
845
+ * const result = await vaultClient.singleAssetDeposit({
846
+ * assets: parseEther('100'),
847
+ * receiver: userAddress,
848
+ * vault: vaultAddress,
849
+ * isToken0: true,
850
+ * depositSlippagePercent: 5n,
851
+ * swapSlippageBP: 500,
852
+ * ammType: AMMType.UniswapV3,
853
+ * singleAssetDepositContract: contractAddress
854
+ * });
855
+ *
856
+ * if (result.success) {
857
+ * console.log('Transaction hash:', result.data);
858
+ * }
859
+ * ```
860
+ */
861
+ async singleAssetDeposit(params) {
862
+ return this.singleAssetDepositClient.deposit(params);
863
+ }
864
+ /**
865
+ * Prepares a single-asset deposit transaction without executing it
866
+ * Useful for batching transactions or custom execution logic
867
+ *
868
+ * @param params - Single-asset deposit parameters
869
+ * @returns Promise resolving to the prepared transaction data
870
+ */
871
+ async prepareSingleAssetDepositTx(params) {
872
+ return this.singleAssetDepositClient.prepareDepositTx(params);
873
+ }
874
+ /**
875
+ * Validates single-asset deposit parameters
876
+ *
877
+ * @param params - Parameters to validate
878
+ * @throws Error if parameters are invalid
879
+ */
880
+ validateSingleAssetDepositParams(params) {
881
+ return this.singleAssetDepositClient.validateDepositParams(params);
882
+ }
803
883
  }
804
884
  //# sourceMappingURL=VaultClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VaultClient.js","sourceRoot":"","sources":["../../../src/base/VaultClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VaultClient.js","sourceRoot":"","sources":["../../../src/base/VaultClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,224 @@
1
+ import { Decimal } from 'decimal.js';
2
+ import { erc20Abi } from '../../../const/abis/erc20';
3
+ import { getPoolPrice, getPoolState, getPoolStateWithPrice } from '../utils';
4
+ import { AMMType } from './types';
5
+ /**
6
+ * Configure Decimal.js for high precision calculations
7
+ */
8
+ Decimal.config({
9
+ precision: 50, // High precision for financial calculations
10
+ rounding: Decimal.ROUND_DOWN // Conservative rounding for safety
11
+ });
12
+ /**
13
+ * Constants matching the Solidity contract using Decimal.js
14
+ */
15
+ const BASIS_POINTS = new Decimal(10000);
16
+ const Q96 = new Decimal(2).pow(96);
17
+ const Q192 = Q96.mul(Q96);
18
+ const Q128 = new Decimal(2).pow(128);
19
+ const Q64 = new Decimal(2).pow(64);
20
+ const UINT128_MAX = new Decimal(2).pow(128).sub(1);
21
+ /**
22
+ * High-precision multiplication and division using Decimal.js
23
+ * Equivalent to Solidity's FullMath.mulDiv
24
+ */
25
+ function mulDiv(a, b, denominator) {
26
+ return a.mul(b).div(denominator);
27
+ }
28
+ /**
29
+ * High-precision square root using Decimal.js
30
+ */
31
+ function sqrt(value) {
32
+ if (value.isZero())
33
+ return new Decimal(0);
34
+ return value.sqrt();
35
+ }
36
+ /**
37
+ * Convert BigInt to Decimal for calculations
38
+ */
39
+ export function bigintToDecimal(value) {
40
+ return new Decimal(value.toString());
41
+ }
42
+ /**
43
+ * Convert Decimal back to BigInt for return values
44
+ * Uses toFixed(0) to get full decimal representation without scientific notation
45
+ */
46
+ export function decimalToBigint(value) {
47
+ // Use toFixed(0) to get full integer representation without scientific notation
48
+ const stringValue = value.floor().toFixed(0);
49
+ return BigInt(stringValue);
50
+ }
51
+ /**
52
+ * Get quote from sqrtRatioX96 using high-precision Decimal arithmetic
53
+ * Equivalent to Solidity's getQuoteFromSqrtRatioX96
54
+ * @param sqrtRatioX96 The sqrt ratio for which to compute the quote
55
+ * @param baseAmount Amount of base token
56
+ * @param baseToken Address of base token
57
+ * @param quoteToken Address of quote token
58
+ * @returns The quote amount as Decimal
59
+ */
60
+ export function getQuoteFromSqrtRatioX96(sqrtRatioX96, baseAmount, baseToken, quoteToken) {
61
+ // Calculate quoteAmount with better precision if it doesn't overflow when multiplied by itself
62
+ if (sqrtRatioX96.lte(UINT128_MAX)) {
63
+ const ratioX192 = sqrtRatioX96.mul(sqrtRatioX96);
64
+ return baseToken < quoteToken
65
+ ? mulDiv(ratioX192, baseAmount, Q192)
66
+ : mulDiv(Q192, baseAmount, ratioX192);
67
+ }
68
+ else {
69
+ const ratioX128 = mulDiv(sqrtRatioX96, sqrtRatioX96, Q64);
70
+ return baseToken < quoteToken
71
+ ? mulDiv(ratioX128, baseAmount, Q128)
72
+ : mulDiv(Q128, baseAmount, ratioX128);
73
+ }
74
+ }
75
+ /**
76
+ * Applies slippage protection to sqrtPriceX96 based on swap direction using high-precision arithmetic
77
+ * Equivalent to Solidity's applySlippageProtection function
78
+ * @param sqrtPriceX96 The current square root price
79
+ * @param slippageBP Slippage protection in basis points (e.g., 300 = 3%)
80
+ * @param zeroForOne True if swapping token0 for token1
81
+ * @param token0 Address of token0
82
+ * @param token1 Address of token1
83
+ * @param publicClient Viem public client for reading token decimals
84
+ * @returns The price limit with slippage protection as Decimal
85
+ */
86
+ async function applySlippageProtection(sqrtPriceX96, slippageBP, zeroForOne, token0, token1, publicClient) {
87
+ // Get current price: how much token1 per 1 unit of token0
88
+ const decimals0 = await publicClient.readContract({
89
+ address: token0,
90
+ abi: erc20Abi,
91
+ functionName: 'decimals'
92
+ });
93
+ const baseAmount = new Decimal(10).pow(decimals0);
94
+ const currentQuote = getQuoteFromSqrtRatioX96(sqrtPriceX96, baseAmount, token0, token1);
95
+ let adjustedQuote;
96
+ if (zeroForOne) {
97
+ // Swapping token0 for token1
98
+ // We want to ensure we don't get less than expected token1
99
+ // So we set a minimum acceptable rate (decrease the quote)
100
+ adjustedQuote = mulDiv(currentQuote, BASIS_POINTS.sub(slippageBP), BASIS_POINTS);
101
+ }
102
+ else {
103
+ // Swapping token1 for token0
104
+ // We want to ensure we don't pay more than expected token1
105
+ // So we set a maximum acceptable rate (increase the quote)
106
+ adjustedQuote = mulDiv(currentQuote, BASIS_POINTS.add(slippageBP), BASIS_POINTS);
107
+ }
108
+ if (adjustedQuote.isZero()) {
109
+ throw new Error('AdjustedQuoteCalculationFailed');
110
+ }
111
+ // Convert adjusted quote back to sqrtPriceX96
112
+ // This is the reverse of getQuoteFromSqrtRatioX96
113
+ let adjustedRatioX192;
114
+ if (token0 < token1) {
115
+ // ratioX192 = (adjustedQuote * 2^192) / baseAmount
116
+ adjustedRatioX192 = mulDiv(adjustedQuote, Q192, baseAmount);
117
+ }
118
+ else {
119
+ // ratioX192 = (baseAmount * 2^192) / adjustedQuote
120
+ adjustedRatioX192 = mulDiv(baseAmount, Q192, adjustedQuote);
121
+ }
122
+ return sqrt(adjustedRatioX192);
123
+ }
124
+ /**
125
+ * Calculates the sqrt price limit for slippage protection during swaps using high-precision arithmetic
126
+ *
127
+ * @param publicClient - Viem public client for blockchain reads
128
+ * @param params - Parameters for limit price calculation
129
+ * @returns Promise resolving to the calculated sqrt price limit
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * const result = await calculateLimitPrice(publicClient, {
134
+ * pool: '0x...',
135
+ * slippageBP: 500, // 5% slippage
136
+ * zeroForOne: true,
137
+ * ammType: AMMType.UniswapV3,
138
+ * token0: '0x...',
139
+ * token1: '0x...'
140
+ * });
141
+ *
142
+ * if (result.success) {
143
+ * console.log('Sqrt price limit:', result.data);
144
+ * }
145
+ * ```
146
+ */
147
+ export async function calculateLimitPrice(publicClient, params) {
148
+ try {
149
+ // Get current pool state from slot0
150
+ const slot0Data = await getPoolState(publicClient, {
151
+ poolAddress: params.pool,
152
+ isAlgebraPool: params.ammType === AMMType.Algebra,
153
+ isAlgebraIntegralPool: params.ammType === AMMType.AlgebraIntegral,
154
+ isAlgebraDirectionPool: params.ammType === AMMType.AlgebraDirectional,
155
+ isPoolSharkPool: false // PoolShark not defined in AMMType enum
156
+ });
157
+ if (!slot0Data.success || !slot0Data.data) {
158
+ throw new Error(slot0Data.error || 'Failed to get pool state');
159
+ }
160
+ const sqrtPriceX96BigInt = getPoolPrice(slot0Data.data, {
161
+ isAlgebraPool: params.ammType === AMMType.Algebra,
162
+ isAlgebraIntegralPool: params.ammType === AMMType.AlgebraIntegral,
163
+ isPoolSharkPool: false // PoolShark not defined in AMMType enum
164
+ });
165
+ if (!sqrtPriceX96BigInt) {
166
+ throw new Error('Failed to extract pool price');
167
+ }
168
+ // Convert to Decimal for high-precision calculations
169
+ const sqrtPriceX96 = bigintToDecimal(sqrtPriceX96BigInt);
170
+ const slippageBP = new Decimal(params.slippageBP);
171
+ // Apply slippage protection using high-precision arithmetic
172
+ const limitSqrtPriceX96Decimal = await applySlippageProtection(sqrtPriceX96, slippageBP, params.zeroForOne, params.token0, params.token1, publicClient);
173
+ return {
174
+ data: decimalToBigint(limitSqrtPriceX96Decimal),
175
+ status: 200,
176
+ success: true
177
+ };
178
+ }
179
+ catch (error) {
180
+ return {
181
+ data: null,
182
+ status: 500,
183
+ success: false,
184
+ error: error instanceof Error ? error.message : 'Failed to calculate limit price'
185
+ };
186
+ }
187
+ }
188
+ /**
189
+ * Gets the current pool state from slot0
190
+ * Currently supports UniswapV3 only
191
+ *
192
+ * @param publicClient - Viem public client for blockchain reads
193
+ * @param poolAddress - Address of the pool
194
+ * @param ammType - Type of AMM
195
+ * @returns Promise resolving to the pool slot0 data
196
+ */
197
+ export async function getPoolSlot0(publicClient, poolAddress, ammType) {
198
+ try {
199
+ const poolState = await getPoolStateWithPrice(publicClient, {
200
+ poolAddress,
201
+ isAlgebraPool: ammType === AMMType.Algebra,
202
+ isAlgebraIntegralPool: ammType === AMMType.AlgebraIntegral,
203
+ isAlgebraDirectionPool: ammType === AMMType.AlgebraDirectional,
204
+ isPoolSharkPool: false // PoolShark not defined in AMMType enum
205
+ });
206
+ if (!poolState.success || !poolState.data) {
207
+ throw new Error(poolState.error || 'Failed to get pool state');
208
+ }
209
+ return {
210
+ data: poolState.data.state,
211
+ status: 200,
212
+ success: true
213
+ };
214
+ }
215
+ catch (error) {
216
+ return {
217
+ data: null,
218
+ status: 500,
219
+ success: false,
220
+ error: error instanceof Error ? error.message : 'Failed to get pool slot0 data'
221
+ };
222
+ }
223
+ }
224
+ //# sourceMappingURL=calculateLimitPrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateLimitPrice.js","sourceRoot":"","sources":["../../../../../src/base/vault/single-asset/calculateLimitPrice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { singleTokenDepositAbi } from '../../../const/abis/singleTokenDeposit';
2
+ import { getContractAddressByChainIdAndContractName } from '../../../const';
3
+ /**
4
+ * Calculates the amount that needs to be swapped for a single-asset deposit
5
+ * This function calls the smart contract's calculateSwapAmount function
6
+ *
7
+ * @param publicClient - Viem public client for blockchain reads
8
+ * @param params - Parameters for swap amount calculation
9
+ * @returns Promise resolving to swap amount and current sqrt price
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const result = await calculateSwapAmount(publicClient, {
14
+ * depositAmount: parseEther('100'),
15
+ * isToken0: true,
16
+ * vault: '0x...',
17
+ * pool: '0x...',
18
+ * ammType: AMMType.UniswapV3,
19
+ * singleAssetDepositContract: '0x...'
20
+ * });
21
+ *
22
+ * if (result.success) {
23
+ * console.log('Swap amount:', result.data.swapAmount);
24
+ * console.log('Current sqrt price:', result.data.sqrtPrice);
25
+ * }
26
+ * ```
27
+ */
28
+ export async function calculateSwapAmount(publicClient, params) {
29
+ try {
30
+ // Call the smart contract's calculateSwapAmount function
31
+ const chainId = await publicClient.getChainId();
32
+ const singleAssentDeposit = params.singleAssetDepositContract || getContractAddressByChainIdAndContractName(chainId, 'SingleAssetDeposit');
33
+ const result = await publicClient.readContract({
34
+ address: singleAssentDeposit,
35
+ abi: singleTokenDepositAbi,
36
+ functionName: 'calculateSwapAmount',
37
+ args: [
38
+ params.depositAmount,
39
+ params.isToken0,
40
+ params.vault,
41
+ params.pool,
42
+ params.ammType
43
+ ]
44
+ });
45
+ // The contract returns [swapAmount, sqrtPrice]
46
+ const [swapAmount, sqrtPrice] = result;
47
+ return {
48
+ data: {
49
+ swapAmount,
50
+ sqrtPrice
51
+ },
52
+ status: 200,
53
+ success: true
54
+ };
55
+ }
56
+ catch (error) {
57
+ return {
58
+ data: null,
59
+ status: 500,
60
+ success: false,
61
+ error: error instanceof Error ? error.message : 'Failed to calculate swap amount'
62
+ };
63
+ }
64
+ }
65
+ //# sourceMappingURL=calculateSwapAmount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateSwapAmount.js","sourceRoot":"","sources":["../../../../../src/base/vault/single-asset/calculateSwapAmount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,OAAO,EAAE,0CAA0C,EAAE,MAAM,gBAAgB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAA0B,EAC1B,MAAiC;IAEjC,IAAI,CAAC;QACH,yDAAyD;QAEzD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,mBAAmB,GAAG,MAAM,CAAC,0BAA0B,IAAI,0CAA0C,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;QAE1I,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;YAC7C,OAAO,EAAE,mBAAmB;YAC5B,GAAG,EAAE,qBAAqB;YAC1B,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE;gBACJ,MAAM,CAAC,aAAa;gBACpB,MAAM,CAAC,QAAQ;gBACf,MAAM,CAAC,KAAK;gBACZ,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,OAAO;aACf;SACF,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAA0B,CAAC;QAE3D,OAAO;YACL,IAAI,EAAE;gBACJ,UAAU;gBACV,SAAS;aACV;YACD,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;SAClF,CAAC;IACJ,CAAC;AACH,CAAC"}