@clober/v2-sdk 1.0.0-rc.47 → 1.0.0-rc.48

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.
@@ -11,7 +11,28 @@ const build_transaction_1 = require("../../utils/build-transaction");
11
11
  const addresses_1 = require("../../constants/chain-configs/addresses");
12
12
  const minter_abi_1 = require("../../constants/abis/rebalancer/minter-abi");
13
13
  const math_1 = require("../../utils/math");
14
- const addLiquidity = async ({ chainId, userAddress, token0, token1, salt, amount0, amount1, options, }) => {
14
+ const order_id_1 = require("../../entities/open-order/utils/order-id");
15
+ const utils_1 = require("../../utils");
16
+ const getBestQuote = async ({ quotes, tokenIn, tokenOut, amountIn, slippageLimitPercent, gasPrice, userAddress, }) => {
17
+ const results = (await Promise.allSettled((quotes ?? []).map(async (quote) => quote(tokenIn, amountIn, tokenOut, slippageLimitPercent, gasPrice, userAddress))))
18
+ .map((result) => (result.status === 'fulfilled' ? result.value : undefined))
19
+ .filter((quote) => quote !== undefined && quote.amountOut > 0n)
20
+ .sort((a, b) => Number(b.amountOut - a.amountOut));
21
+ if (results.length === 0) {
22
+ throw new Error('No quotes available');
23
+ }
24
+ if (results[0].amountOut <= 0n) {
25
+ throw new Error('No valid quotes found');
26
+ }
27
+ if (results[0].transaction === undefined) {
28
+ throw new Error('No transaction found for the best quote');
29
+ }
30
+ return {
31
+ amountOut: results[0].amountOut,
32
+ transaction: results[0].transaction,
33
+ };
34
+ };
35
+ const addLiquidity = async ({ chainId, userAddress, token0, token1, salt, amount0, amount1, quotes, options, }) => {
15
36
  const publicClient = (0, viem_1.createPublicClient)({
16
37
  chain: chain_1.CHAIN_MAP[chainId],
17
38
  transport: options?.rpcUrl ? (0, viem_1.http)(options.rpcUrl) : (0, viem_1.http)(),
@@ -39,7 +60,7 @@ const addLiquidity = async ({ chainId, userAddress, token0, token1, salt, amount
39
60
  (0, viem_1.parseUnits)(amount1 ?? '0', pool.currencyA.decimals),
40
61
  (0, viem_1.parseUnits)(amount0 ?? '0', pool.currencyB.decimals),
41
62
  ];
42
- const [amountA, amountB] = [amountAOrigin, amountBOrigin];
63
+ let [amountA, amountB] = [amountAOrigin, amountBOrigin];
43
64
  const tokenAPermitParams = (0, viem_1.isAddressEqual)(pool.currencyA.address, (0, viem_1.getAddress)(token0))
44
65
  ? options?.token0PermitParams ?? permit_1.EMPTY_ERC20_PERMIT_PARAMS
45
66
  : options?.token1PermitParams ?? permit_1.EMPTY_ERC20_PERMIT_PARAMS;
@@ -58,29 +79,64 @@ const addLiquidity = async ({ chainId, userAddress, token0, token1, salt, amount
58
79
  data: '0x',
59
80
  };
60
81
  if (!disableSwap) {
61
- const swapAmountA = (0, viem_1.parseUnits)('1', pool.currencyA.decimals);
62
- let swapAmountB = -1n;
63
- if (options && options.token0Price && options.token1Price) {
64
- const tokenAPrice = (0, viem_1.isAddressEqual)(pool.currencyA.address, (0, viem_1.getAddress)(token0))
65
- ? options.token0Price
66
- : options.token1Price;
67
- const tokenBPrice = (0, viem_1.isAddressEqual)(pool.currencyA.address, (0, viem_1.getAddress)(token0))
68
- ? options.token1Price
69
- : options.token0Price;
70
- swapAmountB = (0, mint_1.getQuoteAmountFromPrices)(swapAmountA, tokenAPrice, tokenBPrice, pool.currencyA.decimals, pool.currencyB.decimals);
82
+ if (!((0, viem_1.isAddressEqual)(pool.currencyA.address, pool.market.quote.address) &&
83
+ (0, viem_1.isAddressEqual)(pool.currencyB.address, pool.market.base.address))) {
84
+ throw new Error('Cannot add liquidity to a pool with the same quote and base currencies');
85
+ }
86
+ let tokenAPrice = pool.orderListA.length > 0
87
+ ? Number((0, utils_1.formatPrice)((0, utils_1.toPrice)((0, order_id_1.fromOrderId)(BigInt(pool.orderListA[0])).tick), pool.market.quote.decimals, pool.market.base.decimals))
88
+ : 0;
89
+ let tokenBPrice = pool.orderListB.length > 0
90
+ ? Number((0, utils_1.formatPrice)((0, utils_1.toPrice)((0, utils_1.invertTick)((0, order_id_1.fromOrderId)(BigInt(pool.orderListB[0])).tick)), pool.market.quote.decimals, pool.market.base.decimals))
91
+ : 0;
92
+ if (tokenAPrice === 0 && tokenBPrice === 0) {
93
+ throw new Error('No orders in the pool, cannot add liquidity');
71
94
  }
72
- else {
73
- throw new Error('external aggregator is not supported yet');
95
+ else if (tokenAPrice === 0 && tokenBPrice > 0) {
96
+ tokenAPrice = tokenBPrice;
74
97
  }
98
+ else if (tokenAPrice > 0 && tokenBPrice === 0) {
99
+ tokenBPrice = tokenAPrice;
100
+ }
101
+ const price = (tokenAPrice + tokenBPrice) / 2;
102
+ const swapAmountA = (0, viem_1.parseUnits)('1', pool.currencyA.decimals);
103
+ const swapAmountB = (0, mint_1.getQuoteAmountFromPrices)(swapAmountA, 1, price, pool.currencyA.decimals, pool.currencyB.decimals);
75
104
  if (swapAmountB === -1n) {
76
105
  throw new Error('Failed to fetch quote');
77
106
  }
78
107
  const { deltaA, deltaB } = (0, mint_1.getIdealDelta)(amountA, amountB, pool.liquidityA, pool.liquidityB, swapAmountA, swapAmountB);
108
+ const gasPrice = await publicClient.getGasPrice();
79
109
  if (deltaA < 0n) {
80
- throw new Error('external aggregator is not supported yet: deltaA < 0');
110
+ swapParams.inCurrency = pool.currencyA.address;
111
+ swapParams.amount = -deltaA;
112
+ const { amountOut: actualDeltaB, transaction } = await getBestQuote({
113
+ quotes: quotes ?? [],
114
+ tokenIn: pool.currencyA,
115
+ tokenOut: pool.currencyB,
116
+ amountIn: swapParams.amount,
117
+ slippageLimitPercent,
118
+ gasPrice,
119
+ userAddress: addresses_1.CONTRACT_ADDRESSES[chainId].Minter,
120
+ });
121
+ swapParams.data = transaction.data;
122
+ amountA += deltaA;
123
+ amountB += actualDeltaB;
81
124
  }
82
125
  else if (deltaB < 0n) {
83
- throw new Error('external aggregator is not supported yet: deltaB < 0');
126
+ swapParams.inCurrency = pool.currencyB.address;
127
+ swapParams.amount = -deltaB;
128
+ const { amountOut: actualDeltaA, transaction } = await getBestQuote({
129
+ quotes: quotes ?? [],
130
+ tokenIn: pool.currencyB,
131
+ tokenOut: pool.currencyA,
132
+ amountIn: swapParams.amount,
133
+ slippageLimitPercent,
134
+ gasPrice,
135
+ userAddress: addresses_1.CONTRACT_ADDRESSES[chainId].Minter,
136
+ });
137
+ swapParams.data = transaction.data;
138
+ amountA += actualDeltaA;
139
+ amountB += deltaB;
84
140
  }
85
141
  }
86
142
  const { mintAmount, inAmountA, inAmountB } = (0, mint_1.getExpectedMintResult)(pool.totalSupply, pool.liquidityA, pool.liquidityB, amountA, amountB, pool.currencyA, pool.currencyB);
@@ -1 +1 @@
1
- {"version":3,"file":"mint.js","sourceRoot":"","sources":["../../../../src/calls/pool/mint.ts"],"names":[],"mappings":";;;AAAA,+BAQa;AAEb,+DAA0E;AAQ1E,mDAAoD;AACpD,mDAAkE;AAClE,yDAIuC;AACvC,+CAAiD;AACjD,qEAAgE;AAChE,uEAA4E;AAC5E,2EAAuE;AACvE,2CAAsC;AAE/B,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,OAAO,EACP,OAAO,GAmBR,EAOE,EAAE;IACH,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,GAAE;KAC3D,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,IAAI,EACJ,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CACnC,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC;;;;;uBAKG,OAAO;uBACP,MAAM;uBACN,MAAM;;;KAGxB,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,IAAA,qBAAc,EACnD,IAAI,CAAC,SAAS,CAAC,OAAO,EACtB,IAAA,iBAAU,EAAC,MAAM,CAAC,CACnB;QACC,CAAC,CAAC;YACE,IAAA,iBAAU,EAAC,OAAO,IAAI,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACnD,IAAA,iBAAU,EAAC,OAAO,IAAI,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACpD;QACH,CAAC,CAAC;YACE,IAAA,iBAAU,EAAC,OAAO,IAAI,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACnD,IAAA,iBAAU,EAAC,OAAO,IAAI,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACpD,CAAA;IACL,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;IACzD,MAAM,kBAAkB,GAAG,IAAA,qBAAc,EACvC,IAAI,CAAC,SAAS,CAAC,OAAO,EACtB,IAAA,iBAAU,EAAC,MAAM,CAAC,CACnB;QACC,CAAC,CAAC,OAAO,EAAE,kBAAkB,IAAI,kCAAyB;QAC1D,CAAC,CAAC,OAAO,EAAE,kBAAkB,IAAI,kCAAyB,CAAA;IAC5D,MAAM,kBAAkB,GAAG,IAAA,qBAAc,EACvC,IAAI,CAAC,SAAS,CAAC,OAAO,EACtB,IAAA,iBAAU,EAAC,MAAM,CAAC,CACnB;QACC,CAAC,CAAC,OAAO,EAAE,kBAAkB,IAAI,kCAAyB;QAC1D,CAAC,CAAC,OAAO,EAAE,kBAAkB,IAAI,kCAAyB,CAAA;IAC5D,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACpD,IACE,IAAI,CAAC,WAAW,KAAK,EAAE;QACvB,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,EAClD,CAAC;QACD,WAAW,GAAG,IAAI,CAAA;IACpB,CAAC;IACD,MAAM,oBAAoB,GAAG,OAAO,EAAE,QAAQ,IAAI,GAAG,CAAA;IAErD,MAAM,UAAU,GAIZ;QACF,UAAU,EAAE,kBAAW;QACvB,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,IAAI;KACX,CAAA;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAajB,MAAM,WAAW,GAAG,IAAA,iBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC5D,IAAI,WAAW,GAAG,CAAC,EAAE,CAAA;QACrB,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAA,qBAAc,EAChC,IAAI,CAAC,SAAS,CAAC,OAAO,EACtB,IAAA,iBAAU,EAAC,MAAM,CAAC,CACnB;gBACC,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAA;YACvB,MAAM,WAAW,GAAG,IAAA,qBAAc,EAChC,IAAI,CAAC,SAAS,CAAC,OAAO,EACtB,IAAA,iBAAU,EAAC,MAAM,CAAC,CACnB;gBACC,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAA;YACvB,WAAW,GAAG,IAAA,+BAAwB,EACpC,WAAW,EACX,WAAW,EACX,WAAW,EACX,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAA;QACH,CAAC;aAAM,CAAC;YAUN,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,WAAW,KAAK,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,oBAAa,EACtC,OAAO,EACP,OAAO,EACP,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,WAAW,EACX,WAAW,CACZ,CAAA;QAED,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAgBzE,CAAC;aAAM,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAkBzE,CAAC;IACH,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAA,4BAAqB,EAChE,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,OAAO,EACP,OAAO,EACP,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CACf,CAAA;IAED,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,OAAO;YACL,WAAW,EAAE,SAAS;YACtB,MAAM,EAAE;gBACN,SAAS,EAAE;oBACT,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,IAAI;iBAChB;gBACD,SAAS,EAAE;oBACT,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,IAAI;iBAChB;gBACD,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI,CAAC,UAAU;oBACzB,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,KAAK;iBACjB;aACF;SACF,CAAA;IACH,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,qBAAY,EAAC,UAAU,EAAE,GAAG,GAAG,oBAAoB,CAAC,CAAA;IAE1E,MAAM,WAAW,GAAG,MAAM,IAAA,oCAAgB,EACxC,YAAY,EACZ;QACE,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;QACzB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,8BAAkB,CAAC,OAAO,CAAE,CAAC,MAAM;QAC5C,GAAG,EAAE,uBAAU;QACf,YAAY,EAAE,MAAM;QACpB,IAAI,EAAE;YACJ,IAAI,CAAC,GAAG;YACR,aAAa;YACb,aAAa;YACb,aAAa;YACb;gBACE,YAAY,EAAE,kBAAkB,CAAC,YAAY;gBAC7C,SAAS,EAAE,kBAAkB,CAAC,SAAS;aACxC;YACD;gBACE,YAAY,EAAE,kBAAkB,CAAC,YAAY;gBAC7C,SAAS,EAAE,kBAAkB,CAAC,SAAS;aACxC;YACD,UAAU;SACX;QACD,KAAK,EAAE,IAAA,qBAAc,EAAC,MAAM,EAAE,kBAAW,CAAC;YACxC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAA,qBAAc,EAAC,MAAM,EAAE,kBAAW,CAAC;gBACnC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,SAAS;KAChB,EACD,OAAO,EAAE,QAAQ,CAClB,CAAA;IAED,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAA;IAC3C,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAA;IAC3C,MAAM,qBAAqB,GAAG,aAAa,GAAG,eAAe,CAAA;IAC7D,MAAM,qBAAqB,GAAG,aAAa,GAAG,eAAe,CAAA;IAE7D,OAAO;QACL,WAAW;QACX,MAAM,EAAE;YACN,SAAS,EAAE;gBACT,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,MAAM,EAAE,IAAA,kBAAW,EACjB,IAAA,UAAG,EAAC,qBAAqB,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CACxB;gBACD,SAAS,EAAE,qBAAqB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;aACrD;YACD,SAAS,EAAE;gBACT,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,MAAM,EAAE,IAAA,kBAAW,EACjB,IAAA,UAAG,EAAC,qBAAqB,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CACxB;gBACD,SAAS,EAAE,qBAAqB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;aACrD;YACD,UAAU,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,MAAM,EAAE,IAAA,kBAAW,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACzD,SAAS,EAAE,KAAK;aACjB;SACF;KACF,CAAA;AACH,CAAC,CAAA;AA3SY,QAAA,YAAY,gBA2SxB"}
1
+ {"version":3,"file":"mint.js","sourceRoot":"","sources":["../../../../src/calls/pool/mint.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ exports.CONTRACT_ADDRESSES = {
40
40
  BookViewer: (0, viem_1.getAddress)('0x3e22d091F90ae759733B7CB06a6f7b440d84a425'),
41
41
  Rebalancer: (0, viem_1.getAddress)('0x6d8fa3025b6d6604309Ca257563CcA358c0CF1AA'),
42
42
  Strategy: (0, viem_1.getAddress)('0x9eE708876804F9416B3C1a1aad0c016dee9DD804'),
43
- Minter: (0, viem_1.getAddress)('0xAF9Ca76F6BB5bd2B18964A14Fc095455E2C2a099'),
43
+ Minter: (0, viem_1.getAddress)('0x56B40a9517223f111441E58E865eBb3FB3898f42'),
44
44
  Operator: (0, viem_1.getAddress)('0x4BB54bB9a42Fe787D1D1A2AAcF91C70b02e5553E'),
45
45
  Wrapped6909Factory: (0, viem_1.getAddress)('0x9050b0A12D92b8ba7369ecc87BcD04643Fa0CfDB'),
46
46
  },
@@ -8,7 +8,28 @@ import { buildTransaction } from '../../utils/build-transaction';
8
8
  import { CONTRACT_ADDRESSES } from '../../constants/chain-configs/addresses';
9
9
  import { MINTER_ABI } from '../../constants/abis/rebalancer/minter-abi';
10
10
  import { abs } from '../../utils/math';
11
- export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt, amount0, amount1, options, }) => {
11
+ import { fromOrderId } from '../../entities/open-order/utils/order-id';
12
+ import { formatPrice, invertTick, toPrice } from '../../utils';
13
+ const getBestQuote = async ({ quotes, tokenIn, tokenOut, amountIn, slippageLimitPercent, gasPrice, userAddress, }) => {
14
+ const results = (await Promise.allSettled((quotes ?? []).map(async (quote) => quote(tokenIn, amountIn, tokenOut, slippageLimitPercent, gasPrice, userAddress))))
15
+ .map((result) => (result.status === 'fulfilled' ? result.value : undefined))
16
+ .filter((quote) => quote !== undefined && quote.amountOut > 0n)
17
+ .sort((a, b) => Number(b.amountOut - a.amountOut));
18
+ if (results.length === 0) {
19
+ throw new Error('No quotes available');
20
+ }
21
+ if (results[0].amountOut <= 0n) {
22
+ throw new Error('No valid quotes found');
23
+ }
24
+ if (results[0].transaction === undefined) {
25
+ throw new Error('No transaction found for the best quote');
26
+ }
27
+ return {
28
+ amountOut: results[0].amountOut,
29
+ transaction: results[0].transaction,
30
+ };
31
+ };
32
+ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt, amount0, amount1, quotes, options, }) => {
12
33
  const publicClient = createPublicClient({
13
34
  chain: CHAIN_MAP[chainId],
14
35
  transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
@@ -36,7 +57,7 @@ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt,
36
57
  parseUnits(amount1 ?? '0', pool.currencyA.decimals),
37
58
  parseUnits(amount0 ?? '0', pool.currencyB.decimals),
38
59
  ];
39
- const [amountA, amountB] = [amountAOrigin, amountBOrigin];
60
+ let [amountA, amountB] = [amountAOrigin, amountBOrigin];
40
61
  const tokenAPermitParams = isAddressEqual(pool.currencyA.address, getAddress(token0))
41
62
  ? options?.token0PermitParams ?? EMPTY_ERC20_PERMIT_PARAMS
42
63
  : options?.token1PermitParams ?? EMPTY_ERC20_PERMIT_PARAMS;
@@ -55,82 +76,64 @@ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt,
55
76
  data: '0x',
56
77
  };
57
78
  if (!disableSwap) {
58
- // const currencyBPerCurrencyA = options?.testnetPrice
59
- // ? isAddressEqual(
60
- // getQuoteToken({
61
- // chainId,
62
- // token0,
63
- // token1,
64
- // }),
65
- // pool.currencyA.address,
66
- // )
67
- // ? 1 / Number(options.testnetPrice)
68
- // : Number(options.testnetPrice)
69
- // : undefined
70
- const swapAmountA = parseUnits('1', pool.currencyA.decimals);
71
- let swapAmountB = -1n;
72
- if (options && options.token0Price && options.token1Price) {
73
- const tokenAPrice = isAddressEqual(pool.currencyA.address, getAddress(token0))
74
- ? options.token0Price
75
- : options.token1Price;
76
- const tokenBPrice = isAddressEqual(pool.currencyA.address, getAddress(token0))
77
- ? options.token1Price
78
- : options.token0Price;
79
- swapAmountB = getQuoteAmountFromPrices(swapAmountA, tokenAPrice, tokenBPrice, pool.currencyA.decimals, pool.currencyB.decimals);
79
+ if (!(isAddressEqual(pool.currencyA.address, pool.market.quote.address) &&
80
+ isAddressEqual(pool.currencyB.address, pool.market.base.address))) {
81
+ throw new Error('Cannot add liquidity to a pool with the same quote and base currencies');
82
+ }
83
+ let tokenAPrice = pool.orderListA.length > 0
84
+ ? Number(formatPrice(toPrice(fromOrderId(BigInt(pool.orderListA[0])).tick), pool.market.quote.decimals, pool.market.base.decimals))
85
+ : 0;
86
+ let tokenBPrice = pool.orderListB.length > 0
87
+ ? Number(formatPrice(toPrice(invertTick(fromOrderId(BigInt(pool.orderListB[0])).tick)), pool.market.quote.decimals, pool.market.base.decimals))
88
+ : 0;
89
+ if (tokenAPrice === 0 && tokenBPrice === 0) {
90
+ throw new Error('No orders in the pool, cannot add liquidity');
80
91
  }
81
- else {
82
- // ;({ amountOut: swapAmountB } = await fetchOdosQuote({
83
- // chainId,
84
- // amountIn: swapAmountA,
85
- // tokenIn: pool.currencyA,
86
- // tokenOut: pool.currencyB,
87
- // slippageLimitPercent: 1,
88
- // userAddress: CONTRACT_ADDRESSES[chainId]!.Minter,
89
- // testnetPrice: currencyBPerCurrencyA,
90
- // }))
91
- throw new Error('external aggregator is not supported yet');
92
+ else if (tokenAPrice === 0 && tokenBPrice > 0) {
93
+ tokenAPrice = tokenBPrice;
92
94
  }
95
+ else if (tokenAPrice > 0 && tokenBPrice === 0) {
96
+ tokenBPrice = tokenAPrice;
97
+ }
98
+ const price = (tokenAPrice + tokenBPrice) / 2;
99
+ const swapAmountA = parseUnits('1', pool.currencyA.decimals);
100
+ const swapAmountB = getQuoteAmountFromPrices(swapAmountA, 1, price, pool.currencyA.decimals, pool.currencyB.decimals);
93
101
  if (swapAmountB === -1n) {
94
102
  throw new Error('Failed to fetch quote');
95
103
  }
96
104
  const { deltaA, deltaB } = getIdealDelta(amountA, amountB, pool.liquidityA, pool.liquidityB, swapAmountA, swapAmountB);
105
+ const gasPrice = await publicClient.getGasPrice();
97
106
  if (deltaA < 0n) {
98
- throw new Error('external aggregator is not supported yet: deltaA < 0');
99
- // swapParams.inCurrency = pool.currencyA.address
100
- // swapParams.amount = -deltaA
101
- // const { amountOut: actualDeltaB, data: calldata } =
102
- // await fetchOdosCallData({
103
- // chainId,
104
- // amountIn: swapParams.amount,
105
- // tokenIn: pool.currencyA,
106
- // tokenOut: pool.currencyB,
107
- // slippageLimitPercent,
108
- // userAddress: CONTRACT_ADDRESSES[chainId]!.Minter,
109
- // testnetPrice: currencyBPerCurrencyA,
110
- // })
111
- // swapParams.data = calldata
112
- // amountA += deltaA
113
- // amountB += actualDeltaB
107
+ swapParams.inCurrency = pool.currencyA.address;
108
+ swapParams.amount = -deltaA;
109
+ const { amountOut: actualDeltaB, transaction } = await getBestQuote({
110
+ quotes: quotes ?? [],
111
+ tokenIn: pool.currencyA,
112
+ tokenOut: pool.currencyB,
113
+ amountIn: swapParams.amount,
114
+ slippageLimitPercent,
115
+ gasPrice,
116
+ userAddress: CONTRACT_ADDRESSES[chainId].Minter,
117
+ });
118
+ swapParams.data = transaction.data;
119
+ amountA += deltaA;
120
+ amountB += actualDeltaB;
114
121
  }
115
122
  else if (deltaB < 0n) {
116
- throw new Error('external aggregator is not supported yet: deltaB < 0');
117
- // swapParams.inCurrency = pool.currencyB.address
118
- // swapParams.amount = -deltaB
119
- // const { amountOut: actualDeltaA, data: calldata } =
120
- // await fetchOdosCallData({
121
- // chainId,
122
- // amountIn: swapParams.amount,
123
- // tokenIn: pool.currencyB,
124
- // tokenOut: pool.currencyA,
125
- // slippageLimitPercent,
126
- // userAddress: CONTRACT_ADDRESSES[chainId]!.Minter,
127
- // testnetPrice: currencyBPerCurrencyA
128
- // ? 1 / currencyBPerCurrencyA
129
- // : undefined,
130
- // })
131
- // swapParams.data = calldata
132
- // amountA += actualDeltaA
133
- // amountB += deltaB
123
+ swapParams.inCurrency = pool.currencyB.address;
124
+ swapParams.amount = -deltaB;
125
+ const { amountOut: actualDeltaA, transaction } = await getBestQuote({
126
+ quotes: quotes ?? [],
127
+ tokenIn: pool.currencyB,
128
+ tokenOut: pool.currencyA,
129
+ amountIn: swapParams.amount,
130
+ slippageLimitPercent,
131
+ gasPrice,
132
+ userAddress: CONTRACT_ADDRESSES[chainId].Minter,
133
+ });
134
+ swapParams.data = transaction.data;
135
+ amountA += actualDeltaA;
136
+ amountB += deltaB;
134
137
  }
135
138
  }
136
139
  const { mintAmount, inAmountA, inAmountB } = getExpectedMintResult(pool.totalSupply, pool.liquidityA, pool.liquidityB, amountA, amountB, pool.currencyA, pool.currencyB);
@@ -1 +1 @@
1
- {"version":3,"file":"mint.js","sourceRoot":"","sources":["../../../../src/calls/pool/mint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mint.js","sourceRoot":"","sources":["../../../../src/calls/pool/mint.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export const CONTRACT_ADDRESSES = {
46
46
  BookViewer: getAddress('0x3e22d091F90ae759733B7CB06a6f7b440d84a425'),
47
47
  Rebalancer: getAddress('0x6d8fa3025b6d6604309Ca257563CcA358c0CF1AA'),
48
48
  Strategy: getAddress('0x9eE708876804F9416B3C1a1aad0c016dee9DD804'),
49
- Minter: getAddress('0xAF9Ca76F6BB5bd2B18964A14Fc095455E2C2a099'),
49
+ Minter: getAddress('0x56B40a9517223f111441E58E865eBb3FB3898f42'),
50
50
  Operator: getAddress('0x4BB54bB9a42Fe787D1D1A2AAcF91C70b02e5553E'),
51
51
  Wrapped6909Factory: getAddress('0x9050b0A12D92b8ba7369ecc87BcD04643Fa0CfDB'),
52
52
  },