@mento-protocol/mento-sdk 3.0.0-beta.17 → 3.0.0-beta.18
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.
- package/dist/core/abis/activePool.d.ts +2 -0
- package/dist/core/abis/activePool.d.ts.map +1 -0
- package/dist/core/abis/activePool.js +14 -0
- package/dist/core/abis/activePool.js.map +1 -0
- package/dist/core/abis/addressesRegistry.d.ts +2 -0
- package/dist/core/abis/addressesRegistry.d.ts.map +1 -0
- package/dist/core/abis/addressesRegistry.js +26 -0
- package/dist/core/abis/addressesRegistry.js.map +1 -0
- package/dist/core/abis/borrowerOperations.d.ts +9 -0
- package/dist/core/abis/borrowerOperations.d.ts.map +1 -0
- package/dist/core/abis/borrowerOperations.js +89 -0
- package/dist/core/abis/borrowerOperations.js.map +1 -0
- package/dist/core/abis/hintHelpers.d.ts +2 -0
- package/dist/core/abis/hintHelpers.d.ts.map +1 -0
- package/dist/core/abis/hintHelpers.js +14 -0
- package/dist/core/abis/hintHelpers.js.map +1 -0
- package/dist/core/abis/index.d.ts +10 -0
- package/dist/core/abis/index.d.ts.map +1 -1
- package/dist/core/abis/index.js +10 -0
- package/dist/core/abis/index.js.map +1 -1
- package/dist/core/abis/multiTroveGetter.d.ts +8 -0
- package/dist/core/abis/multiTroveGetter.d.ts.map +1 -0
- package/dist/core/abis/multiTroveGetter.js +15 -0
- package/dist/core/abis/multiTroveGetter.js.map +1 -0
- package/dist/core/abis/priceFeed.d.ts +7 -0
- package/dist/core/abis/priceFeed.d.ts.map +1 -0
- package/dist/core/abis/priceFeed.js +16 -0
- package/dist/core/abis/priceFeed.js.map +1 -0
- package/dist/core/abis/sortedTroves.d.ts +2 -0
- package/dist/core/abis/sortedTroves.d.ts.map +1 -0
- package/dist/core/abis/sortedTroves.js +15 -0
- package/dist/core/abis/sortedTroves.js.map +1 -0
- package/dist/core/abis/systemParams.d.ts +2 -0
- package/dist/core/abis/systemParams.d.ts.map +1 -0
- package/dist/core/abis/systemParams.js +14 -0
- package/dist/core/abis/systemParams.js.map +1 -0
- package/dist/core/abis/troveManager.d.ts +2 -0
- package/dist/core/abis/troveManager.d.ts.map +1 -0
- package/dist/core/abis/troveManager.js +27 -0
- package/dist/core/abis/troveManager.js.map +1 -0
- package/dist/core/abis/troveNFT.d.ts +2 -0
- package/dist/core/abis/troveNFT.d.ts.map +1 -0
- package/dist/core/abis/troveNFT.js +9 -0
- package/dist/core/abis/troveNFT.js.map +1 -0
- package/dist/core/constants/borrowConstants.d.ts +10 -0
- package/dist/core/constants/borrowConstants.d.ts.map +1 -0
- package/dist/core/constants/borrowConstants.js +16 -0
- package/dist/core/constants/borrowConstants.js.map +1 -0
- package/dist/core/constants/borrowRegistries.d.ts +7 -0
- package/dist/core/constants/borrowRegistries.d.ts.map +1 -0
- package/dist/core/constants/borrowRegistries.js +31 -0
- package/dist/core/constants/borrowRegistries.js.map +1 -0
- package/dist/core/constants/index.d.ts +2 -0
- package/dist/core/constants/index.d.ts.map +1 -1
- package/dist/core/constants/index.js +2 -0
- package/dist/core/constants/index.js.map +1 -1
- package/dist/core/types/borrow.d.ts +87 -0
- package/dist/core/types/borrow.d.ts.map +1 -0
- package/dist/core/types/borrow.js +3 -0
- package/dist/core/types/borrow.js.map +1 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +1 -0
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/liquidity.d.ts +10 -10
- package/dist/core/types/liquidity.d.ts.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -5
- package/dist/index.js.map +1 -1
- package/dist/services/borrow/BorrowService.d.ts +54 -0
- package/dist/services/borrow/BorrowService.d.ts.map +1 -0
- package/dist/services/borrow/BorrowService.js +129 -0
- package/dist/services/borrow/BorrowService.js.map +1 -0
- package/dist/services/borrow/borrowHelpers.d.ts +4 -0
- package/dist/services/borrow/borrowHelpers.d.ts.map +1 -0
- package/dist/services/borrow/borrowHelpers.js +13 -0
- package/dist/services/borrow/borrowHelpers.js.map +1 -0
- package/dist/services/borrow/borrowMath.d.ts +13 -0
- package/dist/services/borrow/borrowMath.d.ts.map +1 -0
- package/dist/services/borrow/borrowMath.js +129 -0
- package/dist/services/borrow/borrowMath.js.map +1 -0
- package/dist/services/borrow/index.d.ts +2 -0
- package/dist/services/borrow/index.d.ts.map +1 -0
- package/dist/services/borrow/index.js +18 -0
- package/dist/services/borrow/index.js.map +1 -0
- package/dist/services/borrow/internal/borrowApprovalService.d.ts +14 -0
- package/dist/services/borrow/internal/borrowApprovalService.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowApprovalService.js +53 -0
- package/dist/services/borrow/internal/borrowApprovalService.js.map +1 -0
- package/dist/services/borrow/internal/borrowContextStore.d.ts +11 -0
- package/dist/services/borrow/internal/borrowContextStore.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowContextStore.js +40 -0
- package/dist/services/borrow/internal/borrowContextStore.js.map +1 -0
- package/dist/services/borrow/internal/borrowErc20.d.ts +5 -0
- package/dist/services/borrow/internal/borrowErc20.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowErc20.js +43 -0
- package/dist/services/borrow/internal/borrowErc20.js.map +1 -0
- package/dist/services/borrow/internal/borrowHints.d.ts +7 -0
- package/dist/services/borrow/internal/borrowHints.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowHints.js +31 -0
- package/dist/services/borrow/internal/borrowHints.js.map +1 -0
- package/dist/services/borrow/internal/borrowPositionParser.d.ts +4 -0
- package/dist/services/borrow/internal/borrowPositionParser.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowPositionParser.js +87 -0
- package/dist/services/borrow/internal/borrowPositionParser.js.map +1 -0
- package/dist/services/borrow/internal/borrowReadService.d.ts +28 -0
- package/dist/services/borrow/internal/borrowReadService.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowReadService.js +218 -0
- package/dist/services/borrow/internal/borrowReadService.js.map +1 -0
- package/dist/services/borrow/internal/borrowRegistryReader.d.ts +5 -0
- package/dist/services/borrow/internal/borrowRegistryReader.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowRegistryReader.js +96 -0
- package/dist/services/borrow/internal/borrowRegistryReader.js.map +1 -0
- package/dist/services/borrow/internal/borrowTransactionService.d.ts +23 -0
- package/dist/services/borrow/internal/borrowTransactionService.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowTransactionService.js +276 -0
- package/dist/services/borrow/internal/borrowTransactionService.js.map +1 -0
- package/dist/services/borrow/internal/borrowTypes.d.ts +15 -0
- package/dist/services/borrow/internal/borrowTypes.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowTypes.js +3 -0
- package/dist/services/borrow/internal/borrowTypes.js.map +1 -0
- package/dist/services/borrow/internal/borrowValidation.d.ts +13 -0
- package/dist/services/borrow/internal/borrowValidation.d.ts.map +1 -0
- package/dist/services/borrow/internal/borrowValidation.js +96 -0
- package/dist/services/borrow/internal/borrowValidation.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/liquidity/LiquidityService.d.ts +10 -10
- package/dist/services/liquidity/LiquidityService.js +10 -10
- package/dist/services/liquidity/basicLiquidity.d.ts.map +1 -1
- package/dist/services/liquidity/basicLiquidity.js +6 -8
- package/dist/services/liquidity/basicLiquidity.js.map +1 -1
- package/dist/services/liquidity/liquidityHelpers.d.ts +1 -2
- package/dist/services/liquidity/liquidityHelpers.d.ts.map +1 -1
- package/dist/services/liquidity/liquidityHelpers.js +0 -4
- package/dist/services/liquidity/liquidityHelpers.js.map +1 -1
- package/dist/services/liquidity/zapHelpers.d.ts +9 -4
- package/dist/services/liquidity/zapHelpers.d.ts.map +1 -1
- package/dist/services/liquidity/zapHelpers.js +9 -4
- package/dist/services/liquidity/zapHelpers.js.map +1 -1
- package/dist/services/liquidity/zapIn.d.ts.map +1 -1
- package/dist/services/liquidity/zapIn.js +13 -9
- package/dist/services/liquidity/zapIn.js.map +1 -1
- package/dist/services/liquidity/zapOut.d.ts.map +1 -1
- package/dist/services/liquidity/zapOut.js +6 -4
- package/dist/services/liquidity/zapOut.js.map +1 -1
- package/dist/services/pools/PoolService.d.ts +13 -0
- package/dist/services/pools/PoolService.d.ts.map +1 -1
- package/dist/services/pools/PoolService.js +20 -2
- package/dist/services/pools/PoolService.js.map +1 -1
- package/dist/services/quotes/QuoteService.js.map +1 -1
- package/dist/services/swap/SwapService.d.ts +5 -5
- package/dist/services/swap/SwapService.d.ts.map +1 -1
- package/dist/services/swap/SwapService.js +7 -6
- package/dist/services/swap/SwapService.js.map +1 -1
- package/dist/utils/deadline.d.ts +21 -0
- package/dist/utils/deadline.d.ts.map +1 -0
- package/dist/utils/deadline.js +26 -0
- package/dist/utils/deadline.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/pathEncoder.d.ts +5 -0
- package/dist/utils/pathEncoder.d.ts.map +1 -1
- package/dist/utils/pathEncoder.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,7 +21,7 @@ class LiquidityService {
|
|
|
21
21
|
* @param amountB - Amount of second token
|
|
22
22
|
* @param recipient - Address to receive LP tokens
|
|
23
23
|
* @param owner - Address that owns the input tokens (for checking allowances)
|
|
24
|
-
* @param options - Slippage tolerance and
|
|
24
|
+
* @param options - Slippage tolerance and deadline
|
|
25
25
|
* @returns Transaction with approvals (if needed) and add liquidity call
|
|
26
26
|
*/
|
|
27
27
|
async buildAddLiquidityTransaction(poolAddress, tokenA, amountA, tokenB, amountB, recipient, owner, options) {
|
|
@@ -36,7 +36,7 @@ class LiquidityService {
|
|
|
36
36
|
* @param tokenB - Second token address
|
|
37
37
|
* @param amountB - Amount of second token
|
|
38
38
|
* @param recipient - Address to receive LP tokens
|
|
39
|
-
* @param options - Slippage tolerance and
|
|
39
|
+
* @param options - Slippage tolerance and deadline
|
|
40
40
|
* @returns Transaction details with encoded call data
|
|
41
41
|
*/
|
|
42
42
|
async buildAddLiquidityParams(poolAddress, tokenA, amountA, tokenB, amountB, recipient, options) {
|
|
@@ -48,7 +48,7 @@ class LiquidityService {
|
|
|
48
48
|
* @param liquidity - Amount of LP tokens to burn
|
|
49
49
|
* @param recipient - Address to receive the underlying tokens
|
|
50
50
|
* @param owner - Address that owns the LP tokens (for checking allowance)
|
|
51
|
-
* @param options - Slippage tolerance and
|
|
51
|
+
* @param options - Slippage tolerance and deadline
|
|
52
52
|
* @returns Transaction with approval (if needed) and remove liquidity call
|
|
53
53
|
*/
|
|
54
54
|
async buildRemoveLiquidityTransaction(poolAddress, liquidity, recipient, owner, options) {
|
|
@@ -60,7 +60,7 @@ class LiquidityService {
|
|
|
60
60
|
* @param poolAddress - FPMM pool address
|
|
61
61
|
* @param liquidity - Amount of LP tokens to burn
|
|
62
62
|
* @param recipient - Address to receive the underlying tokens
|
|
63
|
-
* @param options - Slippage tolerance and
|
|
63
|
+
* @param options - Slippage tolerance and deadline
|
|
64
64
|
* @returns Transaction details with encoded call data
|
|
65
65
|
*/
|
|
66
66
|
async buildRemoveLiquidityParams(poolAddress, liquidity, recipient, options) {
|
|
@@ -107,7 +107,7 @@ class LiquidityService {
|
|
|
107
107
|
* @param amountInSplit - How to split input between pool tokens (0-1, e.g., 0.5 for 50/50)
|
|
108
108
|
* @param recipient - Address to receive LP tokens
|
|
109
109
|
* @param owner - Address that owns the input token
|
|
110
|
-
* @param options - Slippage tolerance and
|
|
110
|
+
* @param options - Slippage tolerance and deadline
|
|
111
111
|
* @returns Transaction with approval (if needed) and zap in call
|
|
112
112
|
*/
|
|
113
113
|
async buildZapInTransaction(poolAddress, tokenIn, amountIn, amountInSplit, recipient, owner, options) {
|
|
@@ -121,7 +121,7 @@ class LiquidityService {
|
|
|
121
121
|
* @param amountIn - Total input amount
|
|
122
122
|
* @param amountInSplit - Split ratio (0-1)
|
|
123
123
|
* @param recipient - Address to receive LP tokens
|
|
124
|
-
* @param options - Slippage tolerance and
|
|
124
|
+
* @param options - Slippage tolerance and deadline
|
|
125
125
|
* @returns Transaction details with encoded call data and routing information
|
|
126
126
|
*/
|
|
127
127
|
async buildZapInParams(poolAddress, tokenIn, amountIn, amountInSplit, recipient, options) {
|
|
@@ -135,7 +135,7 @@ class LiquidityService {
|
|
|
135
135
|
* @param liquidity - Amount of LP tokens to burn
|
|
136
136
|
* @param recipient - Address to receive output tokens
|
|
137
137
|
* @param owner - Address that owns the LP tokens
|
|
138
|
-
* @param options - Slippage tolerance and
|
|
138
|
+
* @param options - Slippage tolerance and deadline
|
|
139
139
|
* @returns Transaction with approval (if needed) and zap out call
|
|
140
140
|
*/
|
|
141
141
|
async buildZapOutTransaction(poolAddress, tokenOut, liquidity, recipient, owner, options) {
|
|
@@ -148,7 +148,7 @@ class LiquidityService {
|
|
|
148
148
|
* @param tokenOut - Output token address
|
|
149
149
|
* @param liquidity - Amount of LP tokens to burn
|
|
150
150
|
* @param recipient - Address to receive output tokens
|
|
151
|
-
* @param options - Slippage tolerance and
|
|
151
|
+
* @param options - Slippage tolerance and deadline
|
|
152
152
|
* @returns Transaction details with encoded call data and routing information
|
|
153
153
|
*/
|
|
154
154
|
async buildZapOutParams(poolAddress, tokenOut, liquidity, recipient, options) {
|
|
@@ -161,7 +161,7 @@ class LiquidityService {
|
|
|
161
161
|
* @param tokenIn - Input token address
|
|
162
162
|
* @param amountIn - Total input amount
|
|
163
163
|
* @param amountInSplit - Split ratio (0-1)
|
|
164
|
-
* @param options - Slippage tolerance and
|
|
164
|
+
* @param options - Slippage tolerance and deadline
|
|
165
165
|
* @returns Expected LP tokens and minimum amounts for both pool tokens
|
|
166
166
|
*/
|
|
167
167
|
async quoteZapIn(poolAddress, tokenIn, amountIn, amountInSplit, options) {
|
|
@@ -173,7 +173,7 @@ class LiquidityService {
|
|
|
173
173
|
* @param poolAddress - FPMM pool address
|
|
174
174
|
* @param tokenOut - Output token address
|
|
175
175
|
* @param liquidity - Amount of LP tokens to burn
|
|
176
|
-
* @param options - Slippage tolerance and
|
|
176
|
+
* @param options - Slippage tolerance and deadline
|
|
177
177
|
* @returns Expected output amount and minimum amounts after slippage
|
|
178
178
|
*/
|
|
179
179
|
async quoteZapOut(poolAddress, tokenOut, liquidity, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basicLiquidity.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/basicLiquidity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAsB,MAAM,MAAM,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,cAAc,EACf,MAAM,kBAAkB,CAAA;AAuCzB,wBAAsB,oCAAoC,CACxD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAiClC;AAED,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"basicLiquidity.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/basicLiquidity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAsB,MAAM,MAAM,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,cAAc,EACf,MAAM,kBAAkB,CAAA;AAuCzB,wBAAsB,oCAAoC,CACxD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAiClC;AAED,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAmC9B;AAED,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAkB5B;AAED,wBAAsB,uCAAuC,CAC3D,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,0BAA0B,CAAC,CAuBrC;AAED,wBAAsB,kCAAkC,CACtD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,sBAAsB,CAAC,CA6BjC;AAED,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAc/B;AAED,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CAgCzB"}
|
|
@@ -54,9 +54,8 @@ async function buildAddLiquidityParamsInternal(publicClient, chainId, poolServic
|
|
|
54
54
|
const quote = await quoteAddLiquidityInternal(publicClient, chainId, poolService, poolAddress, tokenA, amountA, tokenB, amountB);
|
|
55
55
|
const amountAMin = (0, liquidityHelpers_1.calculateMinAmount)(quote.amountA, options.slippageTolerance);
|
|
56
56
|
const amountBMin = (0, liquidityHelpers_1.calculateMinAmount)(quote.amountB, options.slippageTolerance);
|
|
57
|
-
const deadline = (0, liquidityHelpers_1.getDeadline)(options);
|
|
58
57
|
const routerAddress = (0, constants_1.getContractAddress)(chainId, 'Router');
|
|
59
|
-
const data = encodeAddLiquidityCall(tokenA, tokenB, amountA, amountB, amountAMin, amountBMin, recipient, deadline);
|
|
58
|
+
const data = encodeAddLiquidityCall(tokenA, tokenB, amountA, amountB, amountAMin, amountBMin, recipient, options.deadline);
|
|
60
59
|
return {
|
|
61
60
|
params: {
|
|
62
61
|
to: routerAddress,
|
|
@@ -72,8 +71,8 @@ async function buildAddLiquidityParamsInternal(publicClient, chainId, poolServic
|
|
|
72
71
|
amountBDesired: amountB,
|
|
73
72
|
amountAMin,
|
|
74
73
|
amountBMin,
|
|
75
|
-
|
|
76
|
-
deadline,
|
|
74
|
+
estimatedMinLiquidity: quote.liquidity,
|
|
75
|
+
deadline: options.deadline,
|
|
77
76
|
};
|
|
78
77
|
}
|
|
79
78
|
async function quoteAddLiquidityInternal(publicClient, chainId, poolService, poolAddress, tokenA, amountA, tokenB, amountB) {
|
|
@@ -110,9 +109,8 @@ async function buildRemoveLiquidityParamsInternal(publicClient, chainId, poolSer
|
|
|
110
109
|
const quote = await quoteRemoveLiquidityInternal(publicClient, chainId, poolService, poolAddress, liquidity);
|
|
111
110
|
const amount0Min = (0, liquidityHelpers_1.calculateMinAmount)(quote.amount0, options.slippageTolerance);
|
|
112
111
|
const amount1Min = (0, liquidityHelpers_1.calculateMinAmount)(quote.amount1, options.slippageTolerance);
|
|
113
|
-
const deadline = (0, liquidityHelpers_1.getDeadline)(options);
|
|
114
112
|
const routerAddress = (0, constants_1.getContractAddress)(chainId, 'Router');
|
|
115
|
-
const data = encodeRemoveLiquidityCall(token0, token1, liquidity, amount0Min, amount1Min, recipient, deadline);
|
|
113
|
+
const data = encodeRemoveLiquidityCall(token0, token1, liquidity, amount0Min, amount1Min, recipient, options.deadline);
|
|
116
114
|
return {
|
|
117
115
|
params: {
|
|
118
116
|
to: routerAddress,
|
|
@@ -127,7 +125,7 @@ async function buildRemoveLiquidityParamsInternal(publicClient, chainId, poolSer
|
|
|
127
125
|
amount1Min,
|
|
128
126
|
expectedAmount0: quote.amount0,
|
|
129
127
|
expectedAmount1: quote.amount1,
|
|
130
|
-
deadline,
|
|
128
|
+
deadline: options.deadline,
|
|
131
129
|
};
|
|
132
130
|
}
|
|
133
131
|
async function quoteRemoveLiquidityInternal(publicClient, chainId, poolService, poolAddress, liquidity) {
|
|
@@ -161,7 +159,7 @@ async function getLPTokenBalanceInternal(publicClient, poolService, poolAddress,
|
|
|
161
159
|
args: [],
|
|
162
160
|
}),
|
|
163
161
|
]);
|
|
164
|
-
const sharePercent = totalSupply > 0n ?
|
|
162
|
+
const sharePercent = totalSupply > 0n ? Number((balance * 10000n) / totalSupply) / 100 : 0;
|
|
165
163
|
return {
|
|
166
164
|
poolAddress,
|
|
167
165
|
balance,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basicLiquidity.js","sourceRoot":"","sources":["../../../src/services/liquidity/basicLiquidity.ts"],"names":[],"mappings":";;AAkDA,oFA6CC;AAED,
|
|
1
|
+
{"version":3,"file":"basicLiquidity.js","sourceRoot":"","sources":["../../../src/services/liquidity/basicLiquidity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address, PublicClient } from 'viem';
|
|
2
2
|
import { PoolService } from '../pools';
|
|
3
|
-
import { CallParams
|
|
3
|
+
import { CallParams } from '../../core/types';
|
|
4
4
|
export declare function buildApprovalParams(chainId: number, token: Address, amount: bigint): CallParams;
|
|
5
5
|
export declare function getAllowance(publicClient: PublicClient, token: Address, owner: Address, chainId: number): Promise<bigint>;
|
|
6
6
|
export declare function calculateMinAmount(amount: bigint, slippageTolerance: number): bigint;
|
|
@@ -10,5 +10,4 @@ export declare function getPoolInfo(poolService: PoolService, poolAddress: strin
|
|
|
10
10
|
factoryAddr: Address;
|
|
11
11
|
}>;
|
|
12
12
|
export declare function validatePoolTokens(poolToken0: Address, poolToken1: Address, tokenA: string, tokenB: string): void;
|
|
13
|
-
export declare function getDeadline(options: LiquidityOptions): bigint;
|
|
14
13
|
//# sourceMappingURL=liquidityHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquidityHelpers.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/liquidityHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAsB,MAAM,MAAM,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,UAAU,EAAY,
|
|
1
|
+
{"version":3,"file":"liquidityHelpers.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/liquidityHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAsB,MAAM,MAAM,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,UAAU,EAAY,MAAM,kBAAkB,CAAA;AAKvD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAQ/F;AAED,wBAAsB,YAAY,CAChC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAWpF;AAED,wBAAsB,WAAW,CAC/B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IACT,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;CACrB,CAAC,CAmBD;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,IAAI,CAoBN"}
|
|
@@ -5,7 +5,6 @@ exports.getAllowance = getAllowance;
|
|
|
5
5
|
exports.calculateMinAmount = calculateMinAmount;
|
|
6
6
|
exports.getPoolInfo = getPoolInfo;
|
|
7
7
|
exports.validatePoolTokens = validatePoolTokens;
|
|
8
|
-
exports.getDeadline = getDeadline;
|
|
9
8
|
const viem_1 = require("viem");
|
|
10
9
|
const types_1 = require("../../core/types");
|
|
11
10
|
const abis_1 = require("../../core/abis");
|
|
@@ -72,7 +71,4 @@ function validatePoolTokens(poolToken0, poolToken1, tokenA, tokenB) {
|
|
|
72
71
|
throw new Error('tokenA and tokenB must be different');
|
|
73
72
|
}
|
|
74
73
|
}
|
|
75
|
-
function getDeadline(options) {
|
|
76
|
-
return options.deadline ?? BigInt(Math.floor(Date.now() / 1000) + 20 * 60);
|
|
77
|
-
}
|
|
78
74
|
//# sourceMappingURL=liquidityHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquidityHelpers.js","sourceRoot":"","sources":["../../../src/services/liquidity/liquidityHelpers.ts"],"names":[],"mappings":";;AAOA,kDAQC;AAED,oCAaC;AAED,gDAWC;AAED,kCA0BC;AAED,gDAyBC;
|
|
1
|
+
{"version":3,"file":"liquidityHelpers.js","sourceRoot":"","sources":["../../../src/services/liquidity/liquidityHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,14 +48,19 @@ export declare function splitAmount(amountIn: bigint, splitRatio: number): {
|
|
|
48
48
|
amountB: bigint;
|
|
49
49
|
};
|
|
50
50
|
/**
|
|
51
|
-
* Estimates LP tokens from zap in amounts
|
|
51
|
+
* Estimates minimum LP tokens from zap in amounts.
|
|
52
52
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
53
|
+
* This is a conservative lower-bound estimate. The inputs are slippage-adjusted
|
|
54
|
+
* minimums, not expected amounts. Actual LP tokens minted on-chain may be higher
|
|
55
|
+
* because the router uses balanceOf(address(this)) after swaps, which can exceed
|
|
56
|
+
* the pre-calculated minimums.
|
|
57
|
+
*
|
|
58
|
+
* @param amountOutA - Minimum amount of token0 after swap (slippage-adjusted)
|
|
59
|
+
* @param amountOutB - Minimum amount of token1 after swap (slippage-adjusted)
|
|
55
60
|
* @param reserve0 - Current reserve of token0 in pool
|
|
56
61
|
* @param reserve1 - Current reserve of token1 in pool
|
|
57
62
|
* @param totalSupply - Total LP token supply
|
|
58
|
-
* @returns
|
|
63
|
+
* @returns Conservative estimate of minimum LP tokens to be minted
|
|
59
64
|
*/
|
|
60
65
|
export declare function estimateLiquidityFromZapIn(amountOutA: bigint, amountOutB: bigint, reserve0: bigint, reserve1: bigint, totalSupply: bigint): bigint;
|
|
61
66
|
//# sourceMappingURL=zapHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zapHelpers.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/zapHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,MAAM,MAAM,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAmB,WAAW,
|
|
1
|
+
{"version":3,"file":"zapHelpers.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/zapHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,MAAM,MAAM,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAmB,WAAW,EAAwB,MAAM,yBAAyB,CAAA;AAI5F;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,EAAE,OAAO,GACjB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,EAAE,WAAW,EAAE,GACrB,MAAM,CAMR;AAID;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAiB7D;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAiB7D;AAID;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAStG;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAYR"}
|
|
@@ -96,14 +96,19 @@ function splitAmount(amountIn, splitRatio) {
|
|
|
96
96
|
return { amountA, amountB };
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
|
-
* Estimates LP tokens from zap in amounts
|
|
99
|
+
* Estimates minimum LP tokens from zap in amounts.
|
|
100
100
|
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
101
|
+
* This is a conservative lower-bound estimate. The inputs are slippage-adjusted
|
|
102
|
+
* minimums, not expected amounts. Actual LP tokens minted on-chain may be higher
|
|
103
|
+
* because the router uses balanceOf(address(this)) after swaps, which can exceed
|
|
104
|
+
* the pre-calculated minimums.
|
|
105
|
+
*
|
|
106
|
+
* @param amountOutA - Minimum amount of token0 after swap (slippage-adjusted)
|
|
107
|
+
* @param amountOutB - Minimum amount of token1 after swap (slippage-adjusted)
|
|
103
108
|
* @param reserve0 - Current reserve of token0 in pool
|
|
104
109
|
* @param reserve1 - Current reserve of token1 in pool
|
|
105
110
|
* @param totalSupply - Total LP token supply
|
|
106
|
-
* @returns
|
|
111
|
+
* @returns Conservative estimate of minimum LP tokens to be minted
|
|
107
112
|
*/
|
|
108
113
|
function estimateLiquidityFromZapIn(amountOutA, amountOutB, reserve0, reserve1, totalSupply) {
|
|
109
114
|
if (totalSupply === 0n) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zapHelpers.js","sourceRoot":"","sources":["../../../src/services/liquidity/zapHelpers.ts"],"names":[],"mappings":";;AAWA,0CAcC;AAKD,4CAYC;AAaD,0CAsBC;AAWD,4CAsBC;AAWD,kCASC;
|
|
1
|
+
{"version":3,"file":"zapHelpers.js","sourceRoot":"","sources":["../../../src/services/liquidity/zapHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zapIn.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/zapIn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAEjB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"zapIn.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/zapIn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAEjB,MAAM,kBAAkB,CAAA;AAezB;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA4B3B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,CAAC,CAyEvB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CA0CrB"}
|
|
@@ -47,9 +47,11 @@ async function buildZapInParamsInternal(publicClient, chainId, poolService, rout
|
|
|
47
47
|
functionName: 'generateZapInParams',
|
|
48
48
|
args: [token0, token1, factoryAddr, amountInA, amountInB, routesA, routesB],
|
|
49
49
|
}));
|
|
50
|
-
// Apply
|
|
50
|
+
// Apply slippage to all minimum amounts
|
|
51
51
|
const finalAmountAMin = (0, liquidityHelpers_1.calculateMinAmount)(amountAMin, options.slippageTolerance);
|
|
52
52
|
const finalAmountBMin = (0, liquidityHelpers_1.calculateMinAmount)(amountBMin, options.slippageTolerance);
|
|
53
|
+
const finalAmountOutMinA = (0, liquidityHelpers_1.calculateMinAmount)(amountOutMinA, options.slippageTolerance);
|
|
54
|
+
const finalAmountOutMinB = (0, liquidityHelpers_1.calculateMinAmount)(amountOutMinB, options.slippageTolerance);
|
|
53
55
|
// Estimate expected liquidity
|
|
54
56
|
const poolDetails = await poolService.getPoolDetails(poolAddress);
|
|
55
57
|
const totalSupply = (await publicClient.readContract({
|
|
@@ -58,15 +60,15 @@ async function buildZapInParamsInternal(publicClient, chainId, poolService, rout
|
|
|
58
60
|
functionName: 'totalSupply',
|
|
59
61
|
args: [],
|
|
60
62
|
}));
|
|
61
|
-
const expectedLiquidity = (0, zapHelpers_1.estimateLiquidityFromZapIn)(
|
|
63
|
+
const expectedLiquidity = (0, zapHelpers_1.estimateLiquidityFromZapIn)(finalAmountOutMinA, finalAmountOutMinB, poolDetails.reserve0, poolDetails.reserve1, totalSupply);
|
|
62
64
|
const zapParams = {
|
|
63
65
|
tokenA: token0,
|
|
64
66
|
tokenB: token1,
|
|
65
67
|
factory: factoryAddr,
|
|
66
68
|
amountAMin: finalAmountAMin,
|
|
67
69
|
amountBMin: finalAmountBMin,
|
|
68
|
-
amountOutMinA,
|
|
69
|
-
amountOutMinB,
|
|
70
|
+
amountOutMinA: finalAmountOutMinA,
|
|
71
|
+
amountOutMinB: finalAmountOutMinB,
|
|
70
72
|
};
|
|
71
73
|
const data = (0, zapHelpers_1.encodeZapInCall)(tokenIn, amountInA, amountInB, zapParams, routesA, routesB, recipient);
|
|
72
74
|
return {
|
|
@@ -83,7 +85,7 @@ async function buildZapInParamsInternal(publicClient, chainId, poolService, rout
|
|
|
83
85
|
routesA,
|
|
84
86
|
routesB,
|
|
85
87
|
zapParams,
|
|
86
|
-
expectedLiquidity,
|
|
88
|
+
estimatedMinLiquidity: expectedLiquidity,
|
|
87
89
|
};
|
|
88
90
|
}
|
|
89
91
|
/**
|
|
@@ -109,13 +111,15 @@ async function quoteZapInInternal(publicClient, chainId, poolService, routeServi
|
|
|
109
111
|
functionName: 'totalSupply',
|
|
110
112
|
args: [],
|
|
111
113
|
}));
|
|
112
|
-
const
|
|
114
|
+
const finalAmountOutMinA = (0, liquidityHelpers_1.calculateMinAmount)(amountOutMinA, options.slippageTolerance);
|
|
115
|
+
const finalAmountOutMinB = (0, liquidityHelpers_1.calculateMinAmount)(amountOutMinB, options.slippageTolerance);
|
|
116
|
+
const expectedLiquidity = (0, zapHelpers_1.estimateLiquidityFromZapIn)(finalAmountOutMinA, finalAmountOutMinB, poolDetails.reserve0, poolDetails.reserve1, totalSupply);
|
|
113
117
|
return {
|
|
114
|
-
amountOutMinA,
|
|
115
|
-
amountOutMinB,
|
|
118
|
+
amountOutMinA: finalAmountOutMinA,
|
|
119
|
+
amountOutMinB: finalAmountOutMinB,
|
|
116
120
|
amountAMin: (0, liquidityHelpers_1.calculateMinAmount)(amountAMin, options.slippageTolerance),
|
|
117
121
|
amountBMin: (0, liquidityHelpers_1.calculateMinAmount)(amountBMin, options.slippageTolerance),
|
|
118
|
-
expectedLiquidity,
|
|
122
|
+
estimatedMinLiquidity: expectedLiquidity,
|
|
119
123
|
};
|
|
120
124
|
}
|
|
121
125
|
//# sourceMappingURL=zapIn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zapIn.js","sourceRoot":"","sources":["../../../src/services/liquidity/zapIn.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"zapIn.js","sourceRoot":"","sources":["../../../src/services/liquidity/zapIn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zapOut.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/zapOut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,iBAAiB,EAElB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"zapOut.d.ts","sourceRoot":"","sources":["../../../src/services/liquidity/zapOut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,iBAAiB,EAElB,MAAM,kBAAkB,CAAA;AAUzB;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CA2B5B;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,CAAC,CAoDxB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,CA2BtB"}
|
|
@@ -72,7 +72,7 @@ async function buildZapOutParamsInternal(publicClient, chainId, poolService, rou
|
|
|
72
72
|
routesA,
|
|
73
73
|
routesB,
|
|
74
74
|
zapParams,
|
|
75
|
-
|
|
75
|
+
estimatedMinTokenOut: finalAmountOutMinA + finalAmountOutMinB,
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
@@ -91,12 +91,14 @@ async function quoteZapOutInternal(publicClient, chainId, poolService, routeServ
|
|
|
91
91
|
functionName: 'generateZapOutParams',
|
|
92
92
|
args: [token0, token1, factoryAddr, liquidity, routesA, routesB],
|
|
93
93
|
}));
|
|
94
|
+
const finalAmountOutFromA = (0, liquidityHelpers_1.calculateMinAmount)(amountOutMinA, options.slippageTolerance);
|
|
95
|
+
const finalAmountOutFromB = (0, liquidityHelpers_1.calculateMinAmount)(amountOutMinB, options.slippageTolerance);
|
|
94
96
|
return {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
+
amountOutFromA: finalAmountOutFromA,
|
|
98
|
+
amountOutFromB: finalAmountOutFromB,
|
|
97
99
|
amountAMin: (0, liquidityHelpers_1.calculateMinAmount)(amountAMin, options.slippageTolerance),
|
|
98
100
|
amountBMin: (0, liquidityHelpers_1.calculateMinAmount)(amountBMin, options.slippageTolerance),
|
|
99
|
-
|
|
101
|
+
estimatedMinTokenOut: finalAmountOutFromA + finalAmountOutFromB,
|
|
100
102
|
};
|
|
101
103
|
}
|
|
102
104
|
//# sourceMappingURL=zapOut.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zapOut.js","sourceRoot":"","sources":["../../../src/services/liquidity/zapOut.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"zapOut.js","sourceRoot":"","sources":["../../../src/services/liquidity/zapOut.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Pool, PoolDetails } from '../../core/types';
|
|
2
2
|
import { PublicClient } from 'viem';
|
|
3
|
+
/**
|
|
4
|
+
* Result of pool discovery including any warnings from failed factories
|
|
5
|
+
*/
|
|
6
|
+
export interface PoolDiscoveryResult {
|
|
7
|
+
pools: Pool[];
|
|
8
|
+
warnings: string[];
|
|
9
|
+
}
|
|
3
10
|
/**
|
|
4
11
|
* Service for discovering liquidity pools in the Mento protocol.
|
|
5
12
|
* Aggregates pools from multiple factory contracts (FPMM and VirtualPool).
|
|
@@ -8,7 +15,13 @@ export declare class PoolService {
|
|
|
8
15
|
private publicClient;
|
|
9
16
|
private chainId;
|
|
10
17
|
private poolsCache;
|
|
18
|
+
private discoveryWarnings;
|
|
11
19
|
constructor(publicClient: PublicClient, chainId: number);
|
|
20
|
+
/**
|
|
21
|
+
* Returns any warnings from the last pool discovery operation.
|
|
22
|
+
* Useful for debugging when some factories fail but others succeed.
|
|
23
|
+
*/
|
|
24
|
+
getDiscoveryWarnings(): string[];
|
|
12
25
|
/**
|
|
13
26
|
* Fetches all pools available in the protocol from both FPMM and Virtual pool factories
|
|
14
27
|
* Results are cached in memory for the service instance lifetime
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoolService.d.ts","sourceRoot":"","sources":["../../../src/services/pools/PoolService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAInC;;;GAGG;AACH,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"PoolService.d.ts","sourceRoot":"","sources":["../../../src/services/pools/PoolService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAInC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,WAAW;IAIV,OAAO,CAAC,YAAY;IAAgB,OAAO,CAAC,OAAO;IAH/D,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,iBAAiB,CAAe;gBAEpB,YAAY,EAAE,YAAY,EAAU,OAAO,EAAE,MAAM;IAEvE;;;OAGG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAIhC;;;;;;;;;;;;OAYG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IA2CjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAc7D"}
|
|
@@ -13,6 +13,14 @@ class PoolService {
|
|
|
13
13
|
this.publicClient = publicClient;
|
|
14
14
|
this.chainId = chainId;
|
|
15
15
|
this.poolsCache = null;
|
|
16
|
+
this.discoveryWarnings = [];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Returns any warnings from the last pool discovery operation.
|
|
20
|
+
* Useful for debugging when some factories fail but others succeed.
|
|
21
|
+
*/
|
|
22
|
+
getDiscoveryWarnings() {
|
|
23
|
+
return [...this.discoveryWarnings];
|
|
16
24
|
}
|
|
17
25
|
/**
|
|
18
26
|
* Fetches all pools available in the protocol from both FPMM and Virtual pool factories
|
|
@@ -35,16 +43,26 @@ class PoolService {
|
|
|
35
43
|
// for dynamic factory discovery. For now we will use
|
|
36
44
|
// the hardcoded factory addresses for the chain for v1.
|
|
37
45
|
const pools = [];
|
|
46
|
+
const warnings = [];
|
|
38
47
|
try {
|
|
39
48
|
const fpmmPools = await (0, poolDiscovery_1.fetchFPMMPools)(this.publicClient, this.chainId);
|
|
40
49
|
pools.push(...fpmmPools);
|
|
41
50
|
}
|
|
42
|
-
catch {
|
|
51
|
+
catch (error) {
|
|
52
|
+
const message = `Failed to fetch FPMM pools: ${error instanceof Error ? error.message : String(error)}`;
|
|
53
|
+
console.warn(`[PoolService] ${message}`);
|
|
54
|
+
warnings.push(message);
|
|
55
|
+
}
|
|
43
56
|
try {
|
|
44
57
|
const virtualPools = await (0, poolDiscovery_1.fetchVirtualPools)(this.publicClient, this.chainId);
|
|
45
58
|
pools.push(...virtualPools);
|
|
46
59
|
}
|
|
47
|
-
catch {
|
|
60
|
+
catch (error) {
|
|
61
|
+
const message = `Failed to fetch Virtual pools: ${error instanceof Error ? error.message : String(error)}`;
|
|
62
|
+
console.warn(`[PoolService] ${message}`);
|
|
63
|
+
warnings.push(message);
|
|
64
|
+
}
|
|
65
|
+
this.discoveryWarnings = warnings;
|
|
48
66
|
// Only throw if NO pools were discovered from any factory
|
|
49
67
|
if (pools.length === 0) {
|
|
50
68
|
throw new Error('Failed to discover any pools from any factory. ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoolService.js","sourceRoot":"","sources":["../../../src/services/pools/PoolService.ts"],"names":[],"mappings":";;;AAAA,4CAA8D;AAE9D,mDAAmE;AACnE,+CAA6E;
|
|
1
|
+
{"version":3,"file":"PoolService.js","sourceRoot":"","sources":["../../../src/services/pools/PoolService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteService.js","sourceRoot":"","sources":["../../../src/services/quotes/QuoteService.ts"],"names":[],"mappings":";;;AAGA,0CAA4C;AAC5C,oDAAkE;AAClE,8CAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"QuoteService.js","sourceRoot":"","sources":["../../../src/services/quotes/QuoteService.ts"],"names":[],"mappings":";;;AAGA,0CAA4C;AAC5C,oDAAkE;AAClE,8CAAuD;AACvD,yDAA+E;AAC/E,uDAAwD;AAExD,MAAM,oBAAoB,GAAG,YAAY,CAAA;AAEzC;;;GAGG;AACH,MAAa,YAAY;IACvB,YACU,YAA0B,EAC1B,OAAe,EACf,YAA0B;QAF1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,YAAO,GAAP,OAAO,CAAQ;QACf,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,KAAa;QACnF,0BAA0B;QAC1B,IAAA,4BAAe,EAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACnC,IAAA,4BAAe,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAErC,wEAAwE;QACxE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,CAAC;QAED,yDAAyD;QACzD,MAAM,YAAY,GAAG,IAAA,6BAAe,EAAC,KAAK,CAAC,IAAI,EAAE,OAAkB,EAAE,QAAmB,CAAC,CAAA;QACzF,MAAM,aAAa,GAAG,IAAA,8BAAkB,EAAC,IAAI,CAAC,OAAkB,EAAE,QAAQ,CAAC,CAAA;QAE3E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBACpD,OAAO,EAAE,aAA8B;gBACvC,GAAG,EAAE,iBAAU;gBACf,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAoC,CAAC;aACvD,CAAC,CAAa,CAAA;YAEf,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,4BAAmB,EAAE,CAAA;YACjC,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF;AAzED,oCAyEC"}
|
|
@@ -12,10 +12,10 @@ export interface SwapOptions {
|
|
|
12
12
|
*/
|
|
13
13
|
slippageTolerance: number;
|
|
14
14
|
/**
|
|
15
|
-
* Unix timestamp after which the transaction will revert
|
|
16
|
-
*
|
|
15
|
+
* Unix timestamp after which the transaction will revert.
|
|
16
|
+
* Use `deadlineFromMinutes()` for convenience.
|
|
17
17
|
*/
|
|
18
|
-
deadline
|
|
18
|
+
deadline: bigint;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Detailed swap parameters including decoded values for transparency
|
|
@@ -94,7 +94,7 @@ export declare class SwapService {
|
|
|
94
94
|
* parseUnits('100', 18),
|
|
95
95
|
* '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', // recipient
|
|
96
96
|
* '0x123...', // owner
|
|
97
|
-
* { slippageTolerance: 0.5 }
|
|
97
|
+
* { slippageTolerance: 0.5, deadline: deadlineFromMinutes(5) }
|
|
98
98
|
* )
|
|
99
99
|
*
|
|
100
100
|
* // Execute approval if needed
|
|
@@ -126,7 +126,7 @@ export declare class SwapService {
|
|
|
126
126
|
* '0x471EcE3750Da237f93B8E339c536989b8978a438', // CELO
|
|
127
127
|
* parseUnits('100', 18),
|
|
128
128
|
* '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', // recipient
|
|
129
|
-
* { slippageTolerance: 0.5 }
|
|
129
|
+
* { slippageTolerance: 0.5, deadline: deadlineFromMinutes(5) }
|
|
130
130
|
* )
|
|
131
131
|
*
|
|
132
132
|
* // Execute with any wallet (assumes approval already granted)
|