@clober/v2-sdk 1.0.0-rc.6 → 1.0.0-rc.60

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 (261) hide show
  1. package/dist/cjs/calls/index.js +6 -3
  2. package/dist/cjs/calls/index.js.map +1 -1
  3. package/dist/cjs/calls/market/limit.js +5 -0
  4. package/dist/cjs/calls/market/limit.js.map +1 -1
  5. package/dist/cjs/calls/market/make.js +160 -0
  6. package/dist/cjs/calls/market/make.js.map +1 -0
  7. package/dist/cjs/calls/pool/burn.js +5 -5
  8. package/dist/cjs/calls/pool/market-making/adjust.js +2 -2
  9. package/dist/cjs/calls/pool/market-making/pause.js +2 -2
  10. package/dist/cjs/calls/pool/market-making/refill.js +2 -2
  11. package/dist/cjs/calls/pool/market-making/resume.js +2 -2
  12. package/dist/cjs/calls/pool/mint.js +111 -21
  13. package/dist/cjs/calls/pool/mint.js.map +1 -1
  14. package/dist/cjs/calls/pool/open.js +2 -2
  15. package/dist/cjs/calls/pool/open.js.map +1 -1
  16. package/dist/cjs/calls/pool/wrap.js +97 -0
  17. package/dist/cjs/calls/pool/wrap.js.map +1 -0
  18. package/dist/cjs/constants/abis/core/book-manager-abi.js +28 -0
  19. package/dist/cjs/constants/abis/core/book-manager-abi.js.map +1 -1
  20. package/dist/cjs/constants/abis/core/controller-abi.js +24 -1
  21. package/dist/cjs/constants/abis/core/controller-abi.js.map +1 -1
  22. package/dist/cjs/constants/abis/core/params-abi.js +77 -0
  23. package/dist/cjs/constants/abis/core/params-abi.js.map +1 -0
  24. package/dist/cjs/constants/abis/rebalancer/wrapped-6909-factory-abi.js +107 -0
  25. package/dist/cjs/constants/abis/rebalancer/wrapped-6909-factory-abi.js.map +1 -0
  26. package/dist/cjs/constants/chain-configs/addresses.js +37 -22
  27. package/dist/cjs/constants/chain-configs/addresses.js.map +1 -1
  28. package/dist/cjs/constants/chain-configs/chain.js +5 -2
  29. package/dist/cjs/constants/chain-configs/chain.js.map +1 -1
  30. package/dist/cjs/constants/chain-configs/currency.js +115 -23
  31. package/dist/cjs/constants/chain-configs/currency.js.map +1 -1
  32. package/dist/cjs/constants/chain-configs/fee.js +4 -2
  33. package/dist/cjs/constants/chain-configs/fee.js.map +1 -1
  34. package/dist/cjs/constants/chain-configs/subgraph.js +3 -2
  35. package/dist/cjs/constants/chain-configs/subgraph.js.map +1 -1
  36. package/dist/cjs/constants/networks/giwa-sepolia.js +41 -0
  37. package/dist/cjs/constants/networks/giwa-sepolia.js.map +1 -0
  38. package/dist/cjs/constants/networks/test-chain.js +1 -24
  39. package/dist/cjs/constants/networks/test-chain.js.map +1 -1
  40. package/dist/cjs/entities/analytics/apis/index.js +102 -24
  41. package/dist/cjs/entities/analytics/apis/index.js.map +1 -1
  42. package/dist/cjs/entities/book/apis/index.js +10 -5
  43. package/dist/cjs/entities/book/apis/index.js.map +1 -1
  44. package/dist/cjs/entities/currency/apis/total-supply.js +3 -6
  45. package/dist/cjs/entities/currency/apis/total-supply.js.map +1 -1
  46. package/dist/cjs/entities/market/apis/index.js +3 -3
  47. package/dist/cjs/entities/market/apis/index.js.map +1 -1
  48. package/dist/cjs/entities/market/apis/snapshot.js +234 -80
  49. package/dist/cjs/entities/market/apis/snapshot.js.map +1 -1
  50. package/dist/cjs/entities/market/utils/market-id.js +1 -1
  51. package/dist/cjs/entities/market/utils/market-id.js.map +1 -1
  52. package/dist/cjs/entities/open-order/utils/order-id.js +6 -1
  53. package/dist/cjs/entities/open-order/utils/order-id.js.map +1 -1
  54. package/dist/cjs/entities/pool/apis/index.js +11 -1
  55. package/dist/cjs/entities/pool/apis/index.js.map +1 -1
  56. package/dist/cjs/entities/pool/apis/snapshot.js +28 -23
  57. package/dist/cjs/entities/pool/apis/snapshot.js.map +1 -1
  58. package/dist/cjs/entities/pool/model.js +28 -7
  59. package/dist/cjs/entities/pool/model.js.map +1 -1
  60. package/dist/cjs/entities/swap/apis/index.js +48 -0
  61. package/dist/cjs/entities/swap/apis/index.js.map +1 -0
  62. package/dist/cjs/entities/swap/types.js +3 -0
  63. package/dist/cjs/entities/swap/types.js.map +1 -0
  64. package/dist/cjs/index.js +8 -0
  65. package/dist/cjs/index.js.map +1 -1
  66. package/dist/cjs/types/index.js.map +1 -1
  67. package/dist/cjs/utils/bigint.js +4 -1
  68. package/dist/cjs/utils/bigint.js.map +1 -1
  69. package/dist/cjs/views/analytics.js +9 -1
  70. package/dist/cjs/views/analytics.js.map +1 -1
  71. package/dist/cjs/views/currency.js +5 -1
  72. package/dist/cjs/views/currency.js.map +1 -1
  73. package/dist/cjs/views/index.js +9 -1
  74. package/dist/cjs/views/index.js.map +1 -1
  75. package/dist/cjs/views/market/chart-log.js +2 -2
  76. package/dist/cjs/views/market/index.js +4 -2
  77. package/dist/cjs/views/market/index.js.map +1 -1
  78. package/dist/cjs/views/market/parse.js +22 -0
  79. package/dist/cjs/views/market/parse.js.map +1 -0
  80. package/dist/cjs/views/market/snapshot.js.map +1 -1
  81. package/dist/cjs/views/pool/index.js +16 -1
  82. package/dist/cjs/views/pool/index.js.map +1 -1
  83. package/dist/cjs/views/subgraph.js +12 -2
  84. package/dist/cjs/views/subgraph.js.map +1 -1
  85. package/dist/cjs/views/trade.js +15 -0
  86. package/dist/cjs/views/trade.js.map +1 -0
  87. package/dist/esm/calls/index.js +2 -1
  88. package/dist/esm/calls/index.js.map +1 -1
  89. package/dist/esm/calls/market/limit.js +6 -1
  90. package/dist/esm/calls/market/limit.js.map +1 -1
  91. package/dist/esm/calls/market/make.js +156 -0
  92. package/dist/esm/calls/market/make.js.map +1 -0
  93. package/dist/esm/calls/pool/burn.js +5 -5
  94. package/dist/esm/calls/pool/market-making/adjust.js +2 -2
  95. package/dist/esm/calls/pool/market-making/pause.js +2 -2
  96. package/dist/esm/calls/pool/market-making/refill.js +2 -2
  97. package/dist/esm/calls/pool/market-making/resume.js +2 -2
  98. package/dist/esm/calls/pool/mint.js +112 -74
  99. package/dist/esm/calls/pool/mint.js.map +1 -1
  100. package/dist/esm/calls/pool/open.js +7 -6
  101. package/dist/esm/calls/pool/open.js.map +1 -1
  102. package/dist/esm/calls/pool/wrap.js +138 -0
  103. package/dist/esm/calls/pool/wrap.js.map +1 -0
  104. package/dist/esm/constants/abis/core/book-manager-abi.js +28 -0
  105. package/dist/esm/constants/abis/core/book-manager-abi.js.map +1 -1
  106. package/dist/esm/constants/abis/core/controller-abi.js +24 -1
  107. package/dist/esm/constants/abis/core/controller-abi.js.map +1 -1
  108. package/dist/esm/constants/abis/core/params-abi.js +74 -0
  109. package/dist/esm/constants/abis/core/params-abi.js.map +1 -0
  110. package/dist/esm/constants/abis/rebalancer/wrapped-6909-factory-abi.js +104 -0
  111. package/dist/esm/constants/abis/rebalancer/wrapped-6909-factory-abi.js.map +1 -0
  112. package/dist/esm/constants/chain-configs/addresses.js +40 -34
  113. package/dist/esm/constants/chain-configs/addresses.js.map +1 -1
  114. package/dist/esm/constants/chain-configs/chain.js +7 -6
  115. package/dist/esm/constants/chain-configs/chain.js.map +1 -1
  116. package/dist/esm/constants/chain-configs/currency.js +117 -37
  117. package/dist/esm/constants/chain-configs/currency.js.map +1 -1
  118. package/dist/esm/constants/chain-configs/fee.js +4 -4
  119. package/dist/esm/constants/chain-configs/fee.js.map +1 -1
  120. package/dist/esm/constants/chain-configs/subgraph.js +3 -4
  121. package/dist/esm/constants/chain-configs/subgraph.js.map +1 -1
  122. package/dist/esm/constants/networks/giwa-sepolia.js +38 -0
  123. package/dist/esm/constants/networks/giwa-sepolia.js.map +1 -0
  124. package/dist/esm/constants/networks/test-chain.js +0 -23
  125. package/dist/esm/constants/networks/test-chain.js.map +1 -1
  126. package/dist/esm/entities/analytics/apis/index.js +99 -23
  127. package/dist/esm/entities/analytics/apis/index.js.map +1 -1
  128. package/dist/esm/entities/book/apis/index.js +10 -5
  129. package/dist/esm/entities/book/apis/index.js.map +1 -1
  130. package/dist/esm/entities/currency/apis/total-supply.js +4 -7
  131. package/dist/esm/entities/currency/apis/total-supply.js.map +1 -1
  132. package/dist/esm/entities/market/apis/index.js +3 -3
  133. package/dist/esm/entities/market/apis/index.js.map +1 -1
  134. package/dist/esm/entities/market/apis/snapshot.js +236 -81
  135. package/dist/esm/entities/market/apis/snapshot.js.map +1 -1
  136. package/dist/esm/entities/market/utils/market-id.js +2 -2
  137. package/dist/esm/entities/market/utils/market-id.js.map +1 -1
  138. package/dist/esm/entities/open-order/utils/order-id.js +4 -0
  139. package/dist/esm/entities/open-order/utils/order-id.js.map +1 -1
  140. package/dist/esm/entities/pool/apis/index.js +11 -1
  141. package/dist/esm/entities/pool/apis/index.js.map +1 -1
  142. package/dist/esm/entities/pool/apis/snapshot.js +29 -24
  143. package/dist/esm/entities/pool/apis/snapshot.js.map +1 -1
  144. package/dist/esm/entities/pool/model.js +28 -7
  145. package/dist/esm/entities/pool/model.js.map +1 -1
  146. package/dist/esm/entities/swap/apis/index.js +44 -0
  147. package/dist/esm/entities/swap/apis/index.js.map +1 -0
  148. package/dist/esm/entities/swap/types.js +2 -0
  149. package/dist/esm/entities/swap/types.js.map +1 -0
  150. package/dist/esm/index.js +6 -0
  151. package/dist/esm/index.js.map +1 -1
  152. package/dist/esm/types/index.js.map +1 -1
  153. package/dist/esm/utils/bigint.js +2 -0
  154. package/dist/esm/utils/bigint.js.map +1 -1
  155. package/dist/esm/views/analytics.js +7 -1
  156. package/dist/esm/views/analytics.js.map +1 -1
  157. package/dist/esm/views/currency.js +4 -1
  158. package/dist/esm/views/currency.js.map +1 -1
  159. package/dist/esm/views/index.js +6 -5
  160. package/dist/esm/views/index.js.map +1 -1
  161. package/dist/esm/views/market/chart-log.js +2 -2
  162. package/dist/esm/views/market/index.js +2 -2
  163. package/dist/esm/views/market/index.js.map +1 -1
  164. package/dist/esm/views/market/parse.js +18 -0
  165. package/dist/esm/views/market/parse.js.map +1 -0
  166. package/dist/esm/views/market/snapshot.js.map +1 -1
  167. package/dist/esm/views/pool/index.js +14 -0
  168. package/dist/esm/views/pool/index.js.map +1 -1
  169. package/dist/esm/views/subgraph.js +22 -1
  170. package/dist/esm/views/subgraph.js.map +1 -1
  171. package/dist/esm/views/trade.js +11 -0
  172. package/dist/esm/views/trade.js.map +1 -0
  173. package/dist/tsconfig.build.tsbuildinfo +1 -1
  174. package/dist/types/calls/index.d.ts +2 -1
  175. package/dist/types/calls/index.d.ts.map +1 -1
  176. package/dist/types/calls/market/limit.d.ts +1 -0
  177. package/dist/types/calls/market/limit.d.ts.map +1 -1
  178. package/dist/types/calls/market/make.d.ts +36 -0
  179. package/dist/types/calls/market/make.d.ts.map +1 -0
  180. package/dist/types/calls/pool/mint.d.ts +21 -5
  181. package/dist/types/calls/pool/mint.d.ts.map +1 -1
  182. package/dist/types/calls/pool/open.d.ts +8 -7
  183. package/dist/types/calls/pool/open.d.ts.map +1 -1
  184. package/dist/types/calls/pool/wrap.d.ts +79 -0
  185. package/dist/types/calls/pool/wrap.d.ts.map +1 -0
  186. package/dist/types/constants/abis/core/book-manager-abi.d.ts +35 -0
  187. package/dist/types/constants/abis/core/book-manager-abi.d.ts.map +1 -1
  188. package/dist/types/constants/abis/core/controller-abi.d.ts +19 -1
  189. package/dist/types/constants/abis/core/controller-abi.d.ts.map +1 -1
  190. package/dist/types/constants/abis/core/params-abi.d.ts +31 -0
  191. package/dist/types/constants/abis/core/params-abi.d.ts.map +1 -0
  192. package/dist/types/constants/abis/rebalancer/wrapped-6909-factory-abi.d.ts +80 -0
  193. package/dist/types/constants/abis/rebalancer/wrapped-6909-factory-abi.d.ts.map +1 -0
  194. package/dist/types/constants/chain-configs/addresses.d.ts +1 -0
  195. package/dist/types/constants/chain-configs/addresses.d.ts.map +1 -1
  196. package/dist/types/constants/chain-configs/chain.d.ts +3 -2
  197. package/dist/types/constants/chain-configs/chain.d.ts.map +1 -1
  198. package/dist/types/constants/chain-configs/currency.d.ts +8 -11
  199. package/dist/types/constants/chain-configs/currency.d.ts.map +1 -1
  200. package/dist/types/constants/networks/giwa-sepolia.d.ts +57 -0
  201. package/dist/types/constants/networks/giwa-sepolia.d.ts.map +1 -0
  202. package/dist/types/constants/networks/test-chain.d.ts +0 -1
  203. package/dist/types/constants/networks/test-chain.d.ts.map +1 -1
  204. package/dist/types/entities/analytics/apis/index.d.ts +3 -1
  205. package/dist/types/entities/analytics/apis/index.d.ts.map +1 -1
  206. package/dist/types/entities/analytics/types.d.ts +14 -1
  207. package/dist/types/entities/analytics/types.d.ts.map +1 -1
  208. package/dist/types/entities/book/apis/index.d.ts +1 -1
  209. package/dist/types/entities/book/apis/index.d.ts.map +1 -1
  210. package/dist/types/entities/currency/apis/total-supply.d.ts.map +1 -1
  211. package/dist/types/entities/market/apis/index.d.ts +1 -1
  212. package/dist/types/entities/market/apis/index.d.ts.map +1 -1
  213. package/dist/types/entities/market/apis/snapshot.d.ts +1 -1
  214. package/dist/types/entities/market/apis/snapshot.d.ts.map +1 -1
  215. package/dist/types/entities/market/types.d.ts +2 -0
  216. package/dist/types/entities/market/types.d.ts.map +1 -1
  217. package/dist/types/entities/open-order/utils/order-id.d.ts +1 -0
  218. package/dist/types/entities/open-order/utils/order-id.d.ts.map +1 -1
  219. package/dist/types/entities/pool/apis/index.d.ts.map +1 -1
  220. package/dist/types/entities/pool/apis/snapshot.d.ts.map +1 -1
  221. package/dist/types/entities/pool/model.d.ts +6 -2
  222. package/dist/types/entities/pool/model.d.ts.map +1 -1
  223. package/dist/types/entities/pool/types.d.ts +9 -4
  224. package/dist/types/entities/pool/types.d.ts.map +1 -1
  225. package/dist/types/entities/swap/apis/index.d.ts +5 -0
  226. package/dist/types/entities/swap/apis/index.d.ts.map +1 -0
  227. package/dist/types/entities/swap/types.d.ts +12 -0
  228. package/dist/types/entities/swap/types.d.ts.map +1 -0
  229. package/dist/types/index.d.ts +1 -0
  230. package/dist/types/index.d.ts.map +1 -1
  231. package/dist/types/types/index.d.ts +2 -0
  232. package/dist/types/types/index.d.ts.map +1 -1
  233. package/dist/types/utils/bigint.d.ts +1 -0
  234. package/dist/types/utils/bigint.d.ts.map +1 -1
  235. package/dist/types/views/address.d.ts +1 -0
  236. package/dist/types/views/address.d.ts.map +1 -1
  237. package/dist/types/views/analytics.d.ts +8 -1
  238. package/dist/types/views/analytics.d.ts.map +1 -1
  239. package/dist/types/views/currency.d.ts +5 -6
  240. package/dist/types/views/currency.d.ts.map +1 -1
  241. package/dist/types/views/index.d.ts +6 -5
  242. package/dist/types/views/index.d.ts.map +1 -1
  243. package/dist/types/views/market/index.d.ts +1 -2
  244. package/dist/types/views/market/index.d.ts.map +1 -1
  245. package/dist/types/views/market/parse.d.ts +10 -0
  246. package/dist/types/views/market/parse.d.ts.map +1 -0
  247. package/dist/types/views/market/snapshot.d.ts +1 -1
  248. package/dist/types/views/market/snapshot.d.ts.map +1 -1
  249. package/dist/types/views/pool/index.d.ts +8 -1
  250. package/dist/types/views/pool/index.d.ts.map +1 -1
  251. package/dist/types/views/subgraph.d.ts +20 -0
  252. package/dist/types/views/subgraph.d.ts.map +1 -1
  253. package/dist/types/views/trade.d.ts +10 -0
  254. package/dist/types/views/trade.d.ts.map +1 -0
  255. package/package.json +1 -1
  256. package/dist/cjs/calls/pool/market-making/strategy.js +0 -78
  257. package/dist/cjs/calls/pool/market-making/strategy.js.map +0 -1
  258. package/dist/esm/calls/pool/market-making/strategy.js +0 -75
  259. package/dist/esm/calls/pool/market-making/strategy.js.map +0 -1
  260. package/dist/types/calls/pool/market-making/strategy.d.ts +0 -23
  261. package/dist/types/calls/pool/market-making/strategy.d.ts.map +0 -1
@@ -8,7 +8,30 @@ 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, timeout = 4000, // Default timeout of 4 seconds
14
+ }) => {
15
+ const results = (await Promise.allSettled((quotes ?? []).map(async (quote) => quote(tokenIn, amountIn, tokenOut, slippageLimitPercent, gasPrice, userAddress, timeout, false))))
16
+ .map((result) => (result.status === 'fulfilled' ? result.value : undefined))
17
+ .filter((quote) => quote !== undefined && quote.amountOut > 0n)
18
+ .sort((a, b) => Number(b.amountOut - a.amountOut));
19
+ if (results.length === 0) {
20
+ throw new Error('No quotes available');
21
+ }
22
+ if (results[0].amountOut <= 0n) {
23
+ throw new Error('No valid quotes found');
24
+ }
25
+ if (results[0].transaction === undefined) {
26
+ throw new Error('No transaction found for the best quote');
27
+ }
28
+ return {
29
+ amountOut: results[0].amountOut,
30
+ transaction: results[0].transaction,
31
+ aggregator: results[0].aggregator.name,
32
+ };
33
+ };
34
+ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt, amount0, amount1, quotes, options, }) => {
12
35
  const publicClient = createPublicClient({
13
36
  chain: CHAIN_MAP[chainId],
14
37
  transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
@@ -21,8 +44,8 @@ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt,
21
44
 
22
45
  const transaction = await openPool({
23
46
  chainId: ${chainId},
24
- tokenA: '${token0}',
25
- tokenB: '${token1}',
47
+ token0: '${token0}',
48
+ token1: '${token1}',
26
49
  salt: '0x0000000000000000000000000000000000000000000000000000000000000000',
27
50
  })
28
51
  `);
@@ -36,7 +59,7 @@ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt,
36
59
  parseUnits(amount1 ?? '0', pool.currencyA.decimals),
37
60
  parseUnits(amount0 ?? '0', pool.currencyB.decimals),
38
61
  ];
39
- const [amountA, amountB] = [amountAOrigin, amountBOrigin];
62
+ let [amountA, amountB] = [amountAOrigin, amountBOrigin];
40
63
  const tokenAPermitParams = isAddressEqual(pool.currencyA.address, getAddress(token0))
41
64
  ? options?.token0PermitParams ?? EMPTY_ERC20_PERMIT_PARAMS
42
65
  : options?.token1PermitParams ?? EMPTY_ERC20_PERMIT_PARAMS;
@@ -49,88 +72,99 @@ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt,
49
72
  disableSwap = true;
50
73
  }
51
74
  const slippageLimitPercent = options?.slippage ?? 1.0;
75
+ const timeoutForQuotes = options?.timeoutForQuotes ?? 4000; // Default timeout of 4 seconds
52
76
  const swapParams = {
53
77
  inCurrency: zeroAddress,
54
78
  amount: 0n,
55
79
  data: '0x',
56
80
  };
81
+ let quoteRequest = undefined;
82
+ let quoteResponse = undefined;
57
83
  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);
84
+ if (!(isAddressEqual(pool.currencyA.address, pool.market.quote.address) &&
85
+ isAddressEqual(pool.currencyB.address, pool.market.base.address))) {
86
+ throw new Error('Cannot add liquidity to a pool with the same quote and base currencies');
87
+ }
88
+ let tokenAPrice = pool.orderListA.length > 0
89
+ ? Number(formatPrice(toPrice(fromOrderId(BigInt(pool.orderListA[0])).tick), pool.market.quote.decimals, pool.market.base.decimals))
90
+ : 0;
91
+ let tokenBPrice = pool.orderListB.length > 0
92
+ ? Number(formatPrice(toPrice(invertTick(fromOrderId(BigInt(pool.orderListB[0])).tick)), pool.market.quote.decimals, pool.market.base.decimals))
93
+ : 0;
94
+ if (tokenAPrice === 0 && tokenBPrice === 0) {
95
+ throw new Error('No orders in the pool, cannot add liquidity');
80
96
  }
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');
97
+ else if (tokenAPrice === 0 && tokenBPrice > 0) {
98
+ tokenAPrice = tokenBPrice;
92
99
  }
100
+ else if (tokenAPrice > 0 && tokenBPrice === 0) {
101
+ tokenBPrice = tokenAPrice;
102
+ }
103
+ const price = (tokenAPrice + tokenBPrice) / 2;
104
+ const swapAmountA = parseUnits('1', pool.currencyA.decimals);
105
+ const swapAmountB = getQuoteAmountFromPrices(swapAmountA, 1, price, pool.currencyA.decimals, pool.currencyB.decimals);
93
106
  if (swapAmountB === -1n) {
94
107
  throw new Error('Failed to fetch quote');
95
108
  }
96
109
  const { deltaA, deltaB } = getIdealDelta(amountA, amountB, pool.liquidityA, pool.liquidityB, swapAmountA, swapAmountB);
110
+ const gasPrice = await publicClient.getGasPrice();
97
111
  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
112
+ swapParams.inCurrency = pool.currencyA.address;
113
+ swapParams.amount = -deltaA;
114
+ quoteRequest = {
115
+ tokenIn: pool.currencyA,
116
+ tokenOut: pool.currencyB,
117
+ amountIn: swapParams.amount,
118
+ slippageLimitPercent,
119
+ gasPrice,
120
+ userAddress,
121
+ timeout: timeoutForQuotes,
122
+ };
123
+ const { amountOut: actualDeltaB, transaction, aggregator, } = await getBestQuote({
124
+ quotes: quotes ?? [],
125
+ ...quoteRequest,
126
+ });
127
+ const exchangeRate = Number(formatUnits(actualDeltaB, quoteRequest.tokenOut.decimals)) /
128
+ Number(formatUnits(quoteRequest.amountIn, quoteRequest.tokenIn.decimals));
129
+ quoteResponse = {
130
+ amountOut: actualDeltaB,
131
+ aggregator: aggregator,
132
+ exchangeRate: isAddressEqual(quoteRequest.tokenIn.address, pool.market.quote.address)
133
+ ? 1 / exchangeRate
134
+ : exchangeRate,
135
+ };
136
+ swapParams.data = transaction.data;
137
+ amountA += deltaA;
138
+ amountB += actualDeltaB;
114
139
  }
115
140
  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
141
+ swapParams.inCurrency = pool.currencyB.address;
142
+ swapParams.amount = -deltaB;
143
+ quoteRequest = {
144
+ tokenIn: pool.currencyB,
145
+ tokenOut: pool.currencyA,
146
+ amountIn: swapParams.amount,
147
+ slippageLimitPercent,
148
+ gasPrice,
149
+ userAddress,
150
+ timeout: timeoutForQuotes,
151
+ };
152
+ const { amountOut: actualDeltaA, transaction, aggregator, } = await getBestQuote({
153
+ quotes: quotes ?? [],
154
+ ...quoteRequest,
155
+ });
156
+ const exchangeRate = Number(formatUnits(actualDeltaA, quoteRequest.tokenOut.decimals)) /
157
+ Number(formatUnits(quoteRequest.amountIn, quoteRequest.tokenIn.decimals));
158
+ quoteResponse = {
159
+ amountOut: actualDeltaA,
160
+ aggregator: aggregator,
161
+ exchangeRate: isAddressEqual(quoteRequest.tokenIn.address, pool.market.quote.address)
162
+ ? 1 / exchangeRate
163
+ : exchangeRate,
164
+ };
165
+ swapParams.data = transaction.data;
166
+ amountA += actualDeltaA;
167
+ amountB += deltaB;
134
168
  }
135
169
  }
136
170
  const { mintAmount, inAmountA, inAmountB } = getExpectedMintResult(pool.totalSupply, pool.liquidityA, pool.liquidityB, amountA, amountB, pool.currencyA, pool.currencyB);
@@ -149,10 +183,12 @@ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt,
149
183
  direction: 'in',
150
184
  },
151
185
  lpCurrency: {
152
- currency: pool.currencyLp,
186
+ currency: pool.lpCurrency,
153
187
  amount: '0',
154
188
  direction: 'out',
155
189
  },
190
+ quoteRequest,
191
+ quoteResponse,
156
192
  },
157
193
  };
158
194
  }
@@ -202,10 +238,12 @@ export const addLiquidity = async ({ chainId, userAddress, token0, token1, salt,
202
238
  direction: currencyBResultAmount >= 0 ? 'in' : 'out',
203
239
  },
204
240
  lpCurrency: {
205
- currency: pool.currencyLp,
206
- amount: formatUnits(mintAmount, pool.currencyLp.decimals),
241
+ currency: pool.lpCurrency,
242
+ amount: formatUnits(mintAmount, pool.lpCurrency.decimals),
207
243
  direction: 'out',
208
244
  },
245
+ quoteRequest,
246
+ quoteResponse,
209
247
  },
210
248
  };
211
249
  };
@@ -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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"}
@@ -11,8 +11,9 @@ import { toBytes32 } from '../../entities/pool/utils/mint';
11
11
  *
12
12
  * @param chainId The chain ID of the blockchain.
13
13
  * @param userAddress The address of the user.
14
- * @param inputToken The address of the input token.
15
- * @param outputToken The address of the output token.
14
+ * @param token0 The address of the input token.
15
+ * @param token1 The address of the output token.
16
+ * @param salt A unique identifier for the pool, used to prevent collisions.
16
17
  * @param options {@link DefaultWriteContractOptions} options.
17
18
  * @returns A Promise resolving to a transaction object. If the market is already open, returns undefined.
18
19
  * @example
@@ -21,17 +22,17 @@ import { toBytes32 } from '../../entities/pool/utils/mint';
21
22
  * const transaction = await openPool({
22
23
  * chainId: 421614,
23
24
  * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
24
- * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
25
- * outputToken: '0x0000000000000000000000000000000000000000',
25
+ * token0: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
26
+ * token1: '0x0000000000000000000000000000000000000000',
26
27
  * salt: '0x0000000000000000000000000000000000000000000000000000000000000000',
27
28
  * })
28
29
  */
29
- export const openPool = async ({ chainId, userAddress, tokenA, tokenB, salt, options, }) => {
30
+ export const openPool = async ({ chainId, userAddress, token0, token1, salt, options, }) => {
30
31
  const publicClient = createPublicClient({
31
32
  chain: CHAIN_MAP[chainId],
32
33
  transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
33
34
  });
34
- const pool = await fetchPool(publicClient, chainId, [tokenA, tokenB], salt, !!(options && options.useSubgraph));
35
+ const pool = await fetchPool(publicClient, chainId, [token0, token1], salt, !!(options && options.useSubgraph));
35
36
  if (!pool.isOpened) {
36
37
  return buildTransaction(publicClient, {
37
38
  chain: CHAIN_MAP[chainId],
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../../src/calls/pool/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAE5D,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,EAC7B,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,GAUR,EAAoC,EAAE;IACrC,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,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,OAAO,gBAAgB,CACrB,YAAY,EACZ;YACE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;YAChD,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,cAAc;YACnB,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;oBACtC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;oBACxC,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK;oBAChD,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK;iBACjD;gBACD;oBACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;oBACtC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;oBACxC,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK;oBAChD,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK;iBACjD;gBACD,SAAS,CAAC,IAAI,CAAC;gBACf,kBAAkB,CAAC,OAAO,CAAE,CAAC,QAAQ;aACtC;SACF,EACD,OAAO,EAAE,QAAQ,CAClB,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../../src/calls/pool/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAE5D,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,EAC7B,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,GAUR,EAAoC,EAAE;IACrC,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,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,OAAO,gBAAgB,CACrB,YAAY,EACZ;YACE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;YAChD,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,cAAc;YACnB,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;oBACtC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;oBACxC,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK;oBAChD,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK;iBACjD;gBACD;oBACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;oBACtC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;oBACxC,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK;oBAChD,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK;iBACjD;gBACD,SAAS,CAAC,IAAI,CAAC;gBACf,kBAAkB,CAAC,OAAO,CAAE,CAAC,QAAQ;aACtC;SACF,EACD,OAAO,EAAE,QAAQ,CAClB,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,138 @@
1
+ import { createPublicClient, http, parseUnits } from 'viem';
2
+ import { CHAIN_MAP } from '../../constants/chain-configs/chain';
3
+ import { fetchPool } from '../../entities/pool/apis';
4
+ import { buildTransaction } from '../../utils/build-transaction';
5
+ import { CONTRACT_ADDRESSES } from '../../constants/chain-configs/addresses';
6
+ import { WRAPPED_6909_FACTORY_ABI } from '../../constants/abis/rebalancer/wrapped-6909-factory-abi';
7
+ /**
8
+ * Build a transaction to wrap a pool to ERC20,
9
+ *
10
+ * @param chainId The chain ID of the blockchain.
11
+ * @param userAddress The address of the user.
12
+ * @param token0 The address of the input token.
13
+ * @param token1 The address of the output token.
14
+ * @param salt A unique identifier for the pool, used to prevent collisions.
15
+ * @param amount The amount of the input token to wrap.
16
+ * @param options {@link DefaultWriteContractOptions} options.
17
+ * @returns A Promise resolving to a transaction object. If the market is already open, returns undefined.
18
+ * @example
19
+ * import { wrapToERC20 } from '@clober/v2-sdk'
20
+ *
21
+ * const transaction = await wrapToERC20({
22
+ * chainId: 421614,
23
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
24
+ * token0: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
25
+ * token1: '0x0000000000000000000000000000000000000000',
26
+ * salt: '0x0000000000000000000000000000000000000000000000000000000000000000',
27
+ * amount: '1.1',
28
+ * })
29
+ */
30
+ export const wrapToERC20 = async ({ chainId, userAddress, token0, token1, salt, amount, options, }) => {
31
+ const publicClient = createPublicClient({
32
+ chain: CHAIN_MAP[chainId],
33
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
34
+ });
35
+ const pool = options?.pool
36
+ ? options.pool
37
+ : (await fetchPool(publicClient, chainId, [token0, token1], salt, !!(options && options.useSubgraph))).toJson();
38
+ if (pool.isOpened) {
39
+ return {
40
+ result: {
41
+ currency: {
42
+ name: `Wrapped Clober Liquidity Vault ${pool.currencyB.symbol}-${pool.currencyA.symbol}`,
43
+ symbol: `wCLV-${pool.currencyB.symbol}-${pool.currencyA.symbol}`,
44
+ decimals: pool.lpCurrency.decimals,
45
+ address: pool.wrappedLpCurrency.address,
46
+ },
47
+ amount,
48
+ direction: 'out',
49
+ },
50
+ transaction: await buildTransaction(publicClient, {
51
+ chain: CHAIN_MAP[chainId],
52
+ address: CONTRACT_ADDRESSES[chainId].Wrapped6909Factory,
53
+ account: userAddress,
54
+ abi: WRAPPED_6909_FACTORY_ABI,
55
+ functionName: 'wrap6909',
56
+ args: [
57
+ CONTRACT_ADDRESSES[chainId].Rebalancer,
58
+ BigInt(pool.key),
59
+ parseUnits(amount, pool.lpCurrency.decimals),
60
+ ],
61
+ }, options?.gasLimit),
62
+ };
63
+ }
64
+ return {
65
+ result: undefined,
66
+ transaction: undefined,
67
+ };
68
+ };
69
+ /**
70
+ * Build a transaction to unwrap a pool from ERC20,
71
+ *
72
+ * @param chainId The chain ID of the blockchain.
73
+ * @param userAddress The address of the user.
74
+ * @param token0 The address of the input token.
75
+ * @param token1 The address of the output token.
76
+ * @param salt A unique identifier for the pool, used to prevent collisions.
77
+ * @param amount The amount of the input token to wrap.
78
+ * @param options {@link DefaultWriteContractOptions} options.
79
+ * @returns A Promise resolving to a transaction object. If the market is already open, returns undefined.
80
+ * @example
81
+ * import { wrapToERC20 } from '@clober/v2-sdk'
82
+ *
83
+ * const transaction = await unwrapFromERC20({
84
+ * chainId: 421614,
85
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
86
+ * token0: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
87
+ * token1: '0x0000000000000000000000000000000000000000',
88
+ * salt: '0x0000000000000000000000000000000000000000000000000000000000000000',
89
+ * amount: '1.1',
90
+ * })
91
+ */
92
+ export const unwrapFromERC20 = async ({ chainId, userAddress, token0, token1, salt, amount, options, }) => {
93
+ const publicClient = createPublicClient({
94
+ chain: CHAIN_MAP[chainId],
95
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
96
+ });
97
+ const pool = options?.pool
98
+ ? options.pool
99
+ : (await fetchPool(publicClient, chainId, [token0, token1], salt, !!(options && options.useSubgraph))).toJson();
100
+ if (pool.isOpened) {
101
+ return {
102
+ result: {
103
+ currency: {
104
+ name: `Wrapped Clober Liquidity Vault ${pool.currencyB.symbol}-${pool.currencyA.symbol}`,
105
+ symbol: `wCLV-${pool.currencyB.symbol}-${pool.currencyA.symbol}`,
106
+ decimals: pool.lpCurrency.decimals,
107
+ address: pool.wrappedLpCurrency.address,
108
+ },
109
+ amount,
110
+ direction: 'in',
111
+ },
112
+ transaction: await buildTransaction(publicClient, {
113
+ chain: CHAIN_MAP[chainId],
114
+ address: pool.wrappedLpCurrency.address,
115
+ account: userAddress,
116
+ abi: [
117
+ {
118
+ type: 'function',
119
+ name: 'withdrawTo',
120
+ inputs: [
121
+ { name: 'account', type: 'address', internalType: 'address' },
122
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
123
+ ],
124
+ outputs: [],
125
+ stateMutability: 'nonpayable',
126
+ },
127
+ ],
128
+ functionName: 'withdrawTo',
129
+ args: [userAddress, parseUnits(amount, pool.lpCurrency.decimals)],
130
+ }, options?.gasLimit),
131
+ };
132
+ }
133
+ return {
134
+ result: undefined,
135
+ transaction: undefined,
136
+ };
137
+ };
138
+ //# sourceMappingURL=wrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../../src/calls/pool/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAO1E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAA;AAEnG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,EAChC,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,GAYR,EAGE,EAAE;IACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI;QACxB,CAAC,CAAC,OAAO,CAAC,IAAI;QACd,CAAC,CAAC,CACE,MAAM,SAAS,CACb,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,IAAI,EACJ,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CACnC,CACF,CAAC,MAAM,EAAE,CAAA;IACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;oBACxF,MAAM,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;oBAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;oBAClC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO;iBACxC;gBACD,MAAM;gBACN,SAAS,EAAE,KAAK;aACjB;YACD,WAAW,EAAE,MAAM,gBAAgB,CACjC,YAAY,EACZ;gBACE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,kBAAkB;gBACxD,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,wBAAwB;gBAC7B,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE;oBACJ,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;oBACvC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;oBAChB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;iBAC7C;aACF,EACD,OAAO,EAAE,QAAQ,CAClB;SACF,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,SAAS;KACvB,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,GAYR,EAGE,EAAE;IACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI;QACxB,CAAC,CAAC,OAAO,CAAC,IAAI;QACd,CAAC,CAAC,CACE,MAAM,SAAS,CACb,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,IAAI,EACJ,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CACnC,CACF,CAAC,MAAM,EAAE,CAAA;IACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;oBACxF,MAAM,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;oBAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;oBAClC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO;iBACxC;gBACD,MAAM;gBACN,SAAS,EAAE,IAAI;aAChB;YACD,WAAW,EAAE,MAAM,gBAAgB,CACjC,YAAY,EACZ;gBACE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO;gBACvC,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE;oBACH;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE;4BACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;4BAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;yBAC7D;wBACD,OAAO,EAAE,EAAE;wBACX,eAAe,EAAE,YAAY;qBAC9B;iBACO;gBACV,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aAClE,EACD,OAAO,EAAE,QAAQ,CAClB;SACF,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,SAAS;KACvB,CAAA;AACH,CAAC,CAAA"}
@@ -105,5 +105,33 @@ export const BOOK_MANAGER_ABI = [
105
105
  stateMutability: 'view',
106
106
  type: 'function',
107
107
  },
108
+ {
109
+ type: 'event',
110
+ name: 'Make',
111
+ inputs: [
112
+ {
113
+ name: 'bookId',
114
+ type: 'uint192',
115
+ indexed: true,
116
+ internalType: 'BookId',
117
+ },
118
+ { name: 'user', type: 'address', indexed: true, internalType: 'address' },
119
+ { name: 'tick', type: 'int24', indexed: false, internalType: 'Tick' },
120
+ {
121
+ name: 'orderIndex',
122
+ type: 'uint256',
123
+ indexed: false,
124
+ internalType: 'uint256',
125
+ },
126
+ { name: 'unit', type: 'uint64', indexed: false, internalType: 'uint64' },
127
+ {
128
+ name: 'provider',
129
+ type: 'address',
130
+ indexed: false,
131
+ internalType: 'address',
132
+ },
133
+ ],
134
+ anonymous: false,
135
+ },
108
136
  ];
109
137
  //# sourceMappingURL=book-manager-abi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"book-manager-abi.js","sourceRoot":"","sources":["../../../../../src/constants/abis/core/book-manager-abi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,YAAY,EAAE,UAAU;wBACxB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,YAAY,EAAE,UAAU;wBACxB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,YAAY,EAAE,iBAAiB;wBAC/B,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,YAAY,EAAE,6BAA6B;gBAC3C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA"}
1
+ {"version":3,"file":"book-manager-abi.js","sourceRoot":"","sources":["../../../../../src/constants/abis/core/book-manager-abi.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export const CONTROLLER_ABI = [
3
3
  inputs: [
4
4
  {
5
5
  internalType: 'address',
6
- name: 'bookManager',
6
+ name: 'bookManager_',
7
7
  type: 'address',
8
8
  },
9
9
  ],
@@ -119,6 +119,19 @@ export const CONTROLLER_ABI = [
119
119
  name: 'SafeERC20FailedOperation',
120
120
  type: 'error',
121
121
  },
122
+ {
123
+ inputs: [],
124
+ name: 'bookManager',
125
+ outputs: [
126
+ {
127
+ internalType: 'contract IBookManager',
128
+ name: '',
129
+ type: 'address',
130
+ },
131
+ ],
132
+ stateMutability: 'view',
133
+ type: 'function',
134
+ },
122
135
  {
123
136
  inputs: [
124
137
  {
@@ -514,6 +527,11 @@ export const CONTROLLER_ABI = [
514
527
  name: 'quoteAmount',
515
528
  type: 'uint256',
516
529
  },
530
+ {
531
+ internalType: 'address',
532
+ name: 'provider',
533
+ type: 'address',
534
+ },
517
535
  {
518
536
  internalType: 'bytes',
519
537
  name: 'takeHookData',
@@ -638,6 +656,11 @@ export const CONTROLLER_ABI = [
638
656
  name: 'quoteAmount',
639
657
  type: 'uint256',
640
658
  },
659
+ {
660
+ internalType: 'address',
661
+ name: 'provider',
662
+ type: 'address',
663
+ },
641
664
  {
642
665
  internalType: 'bytes',
643
666
  name: 'hookData',