@alphafi/alphafi-sdk 0.0.40 → 0.0.42

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 (336) hide show
  1. package/dist/cjs/common/coins.d.ts.map +1 -1
  2. package/dist/cjs/common/coins.js +6 -0
  3. package/dist/cjs/common/coins.js.map +1 -1
  4. package/dist/cjs/common/constants.d.ts +153 -0
  5. package/dist/cjs/common/constants.d.ts.map +1 -1
  6. package/dist/cjs/common/constants.js +118 -3
  7. package/dist/cjs/common/constants.js.map +1 -1
  8. package/dist/cjs/common/maps.d.ts +1 -0
  9. package/dist/cjs/common/maps.d.ts.map +1 -1
  10. package/dist/cjs/common/maps.js +107 -1
  11. package/dist/cjs/common/maps.js.map +1 -1
  12. package/dist/cjs/common/types.d.ts +4 -4
  13. package/dist/cjs/common/types.d.ts.map +1 -1
  14. package/dist/cjs/common/types.js.map +1 -1
  15. package/dist/cjs/graphql/getMultiReceipts.d.ts.map +1 -1
  16. package/dist/cjs/graphql/getMultiReceipts.js +49 -36
  17. package/dist/cjs/graphql/getMultiReceipts.js.map +1 -1
  18. package/dist/cjs/index.d.ts +4 -9
  19. package/dist/cjs/index.d.ts.map +1 -1
  20. package/dist/cjs/index.js +10 -8
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -1
  23. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js +1 -1
  24. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js.map +1 -1
  25. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +4 -1
  26. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  27. package/dist/cjs/sui-sdk/functions/getReceipts.js +41 -25
  28. package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
  29. package/dist/cjs/transactions/7k.d.ts +13 -0
  30. package/dist/cjs/transactions/7k.d.ts.map +1 -0
  31. package/dist/cjs/transactions/7k.js +46 -0
  32. package/dist/cjs/transactions/7k.js.map +1 -0
  33. package/dist/cjs/transactions/alpha.d.ts.map +1 -1
  34. package/dist/cjs/transactions/alpha.js +1 -0
  35. package/dist/cjs/transactions/alpha.js.map +1 -1
  36. package/dist/cjs/transactions/bluefin.d.ts +6 -0
  37. package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
  38. package/dist/cjs/transactions/bluefin.js +475 -6
  39. package/dist/cjs/transactions/bluefin.js.map +1 -1
  40. package/dist/cjs/transactions/cetus.d.ts +0 -3
  41. package/dist/cjs/transactions/cetus.d.ts.map +1 -1
  42. package/dist/cjs/transactions/cetus.js +4 -63
  43. package/dist/cjs/transactions/cetus.js.map +1 -1
  44. package/dist/cjs/transactions/deposit.d.ts +3 -0
  45. package/dist/cjs/transactions/deposit.d.ts.map +1 -1
  46. package/dist/cjs/transactions/deposit.js +68 -0
  47. package/dist/cjs/transactions/deposit.js.map +1 -1
  48. package/dist/cjs/transactions/deposit1.d.ts +1 -0
  49. package/dist/cjs/transactions/deposit1.d.ts.map +1 -0
  50. package/dist/cjs/transactions/deposit1.js +86 -0
  51. package/dist/cjs/transactions/deposit1.js.map +1 -0
  52. package/dist/cjs/transactions/types.d.ts +14 -0
  53. package/dist/cjs/transactions/types.d.ts.map +1 -0
  54. package/dist/cjs/transactions/types.js +3 -0
  55. package/dist/cjs/transactions/types.js.map +1 -0
  56. package/dist/cjs/transactions/withdraw.d.ts.map +1 -1
  57. package/dist/cjs/transactions/withdraw.js +8 -1
  58. package/dist/cjs/transactions/withdraw.js.map +1 -1
  59. package/dist/cjs/transactions/zapDeposit.d.ts +9 -0
  60. package/dist/cjs/transactions/zapDeposit.d.ts.map +1 -1
  61. package/dist/cjs/transactions/zapDeposit.js +1117 -725
  62. package/dist/cjs/transactions/zapDeposit.js.map +1 -1
  63. package/dist/esm/common/coins.d.ts.map +1 -1
  64. package/dist/esm/common/coins.js +6 -0
  65. package/dist/esm/common/coins.js.map +1 -1
  66. package/dist/esm/common/constants.d.ts +153 -0
  67. package/dist/esm/common/constants.d.ts.map +1 -1
  68. package/dist/esm/common/constants.js +118 -3
  69. package/dist/esm/common/constants.js.map +1 -1
  70. package/dist/esm/common/maps.d.ts +1 -0
  71. package/dist/esm/common/maps.d.ts.map +1 -1
  72. package/dist/esm/common/maps.js +106 -0
  73. package/dist/esm/common/maps.js.map +1 -1
  74. package/dist/esm/common/types.d.ts +4 -4
  75. package/dist/esm/common/types.d.ts.map +1 -1
  76. package/dist/esm/common/types.js.map +1 -1
  77. package/dist/esm/graphql/getMultiReceipts.d.ts.map +1 -1
  78. package/dist/esm/graphql/getMultiReceipts.js +49 -36
  79. package/dist/esm/graphql/getMultiReceipts.js.map +1 -1
  80. package/dist/esm/index.d.ts +4 -9
  81. package/dist/esm/index.d.ts.map +1 -1
  82. package/dist/esm/index.js +4 -9
  83. package/dist/esm/index.js.map +1 -1
  84. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -1
  85. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js +2 -2
  86. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js.map +1 -1
  87. package/dist/esm/sui-sdk/functions/getReceipts.d.ts +4 -1
  88. package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  89. package/dist/esm/sui-sdk/functions/getReceipts.js +42 -25
  90. package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
  91. package/dist/esm/transactions/7k.d.ts +13 -0
  92. package/dist/esm/transactions/7k.d.ts.map +1 -0
  93. package/dist/esm/transactions/7k.js +42 -0
  94. package/dist/esm/transactions/7k.js.map +1 -0
  95. package/dist/esm/transactions/alpha.d.ts.map +1 -1
  96. package/dist/esm/transactions/alpha.js +1 -0
  97. package/dist/esm/transactions/alpha.js.map +1 -1
  98. package/dist/esm/transactions/bluefin.d.ts +6 -0
  99. package/dist/esm/transactions/bluefin.d.ts.map +1 -1
  100. package/dist/esm/transactions/bluefin.js +469 -2
  101. package/dist/esm/transactions/bluefin.js.map +1 -1
  102. package/dist/esm/transactions/cetus.d.ts +0 -3
  103. package/dist/esm/transactions/cetus.d.ts.map +1 -1
  104. package/dist/esm/transactions/cetus.js +2 -57
  105. package/dist/esm/transactions/cetus.js.map +1 -1
  106. package/dist/esm/transactions/deposit.d.ts +3 -0
  107. package/dist/esm/transactions/deposit.d.ts.map +1 -1
  108. package/dist/esm/transactions/deposit.js +65 -1
  109. package/dist/esm/transactions/deposit.js.map +1 -1
  110. package/dist/esm/transactions/deposit1.d.ts +2 -0
  111. package/dist/esm/transactions/deposit1.d.ts.map +1 -0
  112. package/dist/esm/transactions/deposit1.js +86 -0
  113. package/dist/esm/transactions/deposit1.js.map +1 -0
  114. package/dist/esm/transactions/types.d.ts +14 -0
  115. package/dist/esm/transactions/types.d.ts.map +1 -0
  116. package/dist/esm/transactions/types.js +2 -0
  117. package/dist/esm/transactions/types.js.map +1 -0
  118. package/dist/esm/transactions/withdraw.d.ts.map +1 -1
  119. package/dist/esm/transactions/withdraw.js +9 -2
  120. package/dist/esm/transactions/withdraw.js.map +1 -1
  121. package/dist/esm/transactions/zapDeposit.d.ts +9 -1
  122. package/dist/esm/transactions/zapDeposit.d.ts.map +1 -1
  123. package/dist/esm/transactions/zapDeposit.js +1113 -726
  124. package/dist/esm/transactions/zapDeposit.js.map +1 -1
  125. package/docs/assets/highlight.css +51 -74
  126. package/docs/assets/icons.js +17 -20
  127. package/docs/assets/main.js +5 -2163
  128. package/docs/assets/navigation.js +1 -2
  129. package/docs/assets/search.js +1 -2
  130. package/docs/assets/style.css +850 -846
  131. package/docs/functions/alphaLpBreakdown.html +1 -253
  132. package/docs/functions/cetusLpBreakdown.html +1 -253
  133. package/docs/functions/claimRewardTxb.html +1 -243
  134. package/docs/functions/coinAmountToXTokensDoubleAsset.html +1 -267
  135. package/docs/functions/coinAmountToXTokensSingleAsset.html +1 -260
  136. package/docs/functions/coinsInPool.html +1 -438
  137. package/docs/functions/collectRewards.html +1 -242
  138. package/docs/functions/deposit.html +1 -246
  139. package/docs/functions/depositDoubleAssetTxb.html +1 -270
  140. package/docs/functions/depositSingleAssetTxb.html +1 -263
  141. package/docs/functions/fetchAfterTransactionEvents.html +1 -306
  142. package/docs/functions/fetchAutoCompoundingEvents.html +1 -257
  143. package/docs/functions/fetchAutoCompoundingEventsGql.html +1 -251
  144. package/docs/functions/fetchCetusPools.html +1 -231
  145. package/docs/functions/fetchChainIdentifier.html +1 -233
  146. package/docs/functions/fetchCheckRatioEvents.html +1 -249
  147. package/docs/functions/fetchLiquidityChangeEvents.html +1 -257
  148. package/docs/functions/fetchMultiReceipts.html +1 -261
  149. package/docs/functions/fetchNftHolders.html +1 -233
  150. package/docs/functions/fetchPools.html +1 -230
  151. package/docs/functions/fetchPortfolioData.html +1 -243
  152. package/docs/functions/fetchProtocolData.html +1 -231
  153. package/docs/functions/fetchTVL.html +1 -253
  154. package/docs/functions/fetchUserVaultBalances.html +1 -245
  155. package/docs/functions/fetchUserVaults.html +1 -243
  156. package/docs/functions/fetchUserWalletData.html +1 -243
  157. package/docs/functions/fetchWithdrawV2Events.html +1 -255
  158. package/docs/functions/getAirdropShare.html +1 -243
  159. package/docs/functions/getAllDoubleAssetVaults.html +1 -235
  160. package/docs/functions/getAllSingleAssetVaults.html +1 -235
  161. package/docs/functions/getAllVaultBalances.html +1 -265
  162. package/docs/functions/getAllVaults.html +1 -233
  163. package/docs/functions/getAlphaUnlocks.html +1 -245
  164. package/docs/functions/getAlphaVaultBalance.html +1 -255
  165. package/docs/functions/getAmounts.html +1 -272
  166. package/docs/functions/getApr.html +1 -243
  167. package/docs/functions/getAprs.html +1 -255
  168. package/docs/functions/getApy.html +1 -243
  169. package/docs/functions/getApys.html +1 -255
  170. package/docs/functions/getCetusInvestorTicksMap.html +1 -284
  171. package/docs/functions/getCetusSqrtPriceMap.html +1 -249
  172. package/docs/functions/getCoinAmountsFromLiquidity.html +1 -266
  173. package/docs/functions/getConf.html +1 -9882
  174. package/docs/functions/getCurrentTick.html +1 -247
  175. package/docs/functions/getDoubleAssetVaultBalance.html +1 -268
  176. package/docs/functions/getDoubleAssetVaults.html +1 -253
  177. package/docs/functions/getHoldersFromTransactions.html +1 -299
  178. package/docs/functions/getInvestor.html +1 -259
  179. package/docs/functions/getInvestorPoolMap.html +1 -241
  180. package/docs/functions/getLastAutoCompoundTime.html +1 -249
  181. package/docs/functions/getLatestPrices.html +1 -0
  182. package/docs/functions/getLiquidity.html +1 -260
  183. package/docs/functions/getMultiInvestor.html +1 -0
  184. package/docs/functions/getMultiLatestPrices.html +1 -0
  185. package/docs/functions/getMultiParentPool.html +1 -0
  186. package/docs/functions/getMultiPool.html +1 -0
  187. package/docs/functions/getMultiReceipts.html +1 -0
  188. package/docs/functions/getParentPool.html +1 -256
  189. package/docs/functions/getPool.html +1 -262
  190. package/docs/functions/getPoolExchangeRateMap.html +1 -249
  191. package/docs/functions/getPositionRange.html +1 -0
  192. package/docs/functions/getPositionTicks.html +1 -249
  193. package/docs/functions/getPriceToTick.html +1 -254
  194. package/docs/functions/getRebalanceHistories.html +1 -269
  195. package/docs/functions/getRebalanceHistory.html +1 -255
  196. package/docs/functions/getReceipts.html +1 -268
  197. package/docs/functions/getSingleAssetVaultBalance.html +1 -268
  198. package/docs/functions/getSingleAssetVaults.html +1 -253
  199. package/docs/functions/getSuiClient.html +3 -247
  200. package/docs/functions/getSuiNodeUrl.html +3 -232
  201. package/docs/functions/getTVLs.html +1 -243
  202. package/docs/functions/getTickToPrice.html +1 -254
  203. package/docs/functions/getUserTokensFromTransactions.html +1 -269
  204. package/docs/functions/getUserTokensInUsdFromTransactions.html +1 -263
  205. package/docs/functions/getVaultBalance.html +1 -277
  206. package/docs/functions/getVaultBalanceForActiveUsers.html +1 -261
  207. package/docs/functions/getVaults.html +1 -250
  208. package/docs/functions/getXTokenVaultBalanceForActiveUsers.html +1 -261
  209. package/docs/functions/getZapAmounts.html +1 -0
  210. package/docs/functions/lastAutocompoundTime.html +1 -249
  211. package/docs/functions/liquidityToTokens.html +1 -253
  212. package/docs/functions/multiLiquidityToTokens.html +1 -271
  213. package/docs/functions/multiTokensToUsd.html +1 -262
  214. package/docs/functions/multiXTokensToLiquidity.html +1 -257
  215. package/docs/functions/parseUserWalletData.html +1 -243
  216. package/docs/functions/setSuiClient.html +7 -255
  217. package/docs/functions/setSuiNodeUrl.html +5 -249
  218. package/docs/functions/withdraw.html +1 -249
  219. package/docs/functions/withdrawAlphaTxb.html +1 -257
  220. package/docs/functions/withdrawTxb.html +1 -260
  221. package/docs/functions/zapDepositTxb.html +1 -0
  222. package/docs/index.html +41 -587
  223. package/docs/interfaces/Coin.html +12 -474
  224. package/docs/interfaces/CoinPair.html +3 -358
  225. package/docs/interfaces/NaviVoloData.html +3 -514
  226. package/docs/interfaces/RebalanceHistoryType.html +9 -652
  227. package/docs/modules.html +177 -1440
  228. package/docs/types/AfterTransactionEventNode.html +1 -305
  229. package/docs/types/Allocator.html +1 -321
  230. package/docs/types/AlphaFiDoubleAssetVault.html +1 -258
  231. package/docs/types/AlphaFiMultiVaultBalance.html +1 -219
  232. package/docs/types/AlphaFiSingleAssetVault.html +1 -244
  233. package/docs/types/AlphaFiVault.html +1 -214
  234. package/docs/types/AlphaFiVaultBalance.html +1 -220
  235. package/docs/types/AlphaPoolType.html +1 -383
  236. package/docs/types/AlphaReceipt.html +1 -220
  237. package/docs/types/AlphaReceiptFields.html +1 -421
  238. package/docs/types/AlphaVaultBalance.html +1 -245
  239. package/docs/types/AutoCompoundingEventNode.html +1 -225
  240. package/docs/types/BluefinInvestor.html +1 -209
  241. package/docs/types/BluefinPoolType.html +1 -209
  242. package/docs/types/BucketInvestor.html +1 -249
  243. package/docs/types/CetusInvestor.html +1 -240
  244. package/docs/types/CetusPoolType.html +1 -433
  245. package/docs/types/CetusSwapOptions.html +1 -209
  246. package/docs/types/CoinAmounts.html +1 -216
  247. package/docs/types/CoinName.html +1 -281
  248. package/docs/types/CoinType.html +1 -282
  249. package/docs/types/CommonInvestorFields.html +1 -276
  250. package/docs/types/CreatePoolOptions.html +1 -246
  251. package/docs/types/Distributor.html +1 -341
  252. package/docs/types/DoubleAssetMultiVaultBalance.html +1 -236
  253. package/docs/types/DoubleAssetPoolNames.html +1 -267
  254. package/docs/types/DoubleAssetTokenHoldings.html +1 -232
  255. package/docs/types/DoubleAssetVaultBalance.html +1 -229
  256. package/docs/types/GetHoldersParams.html +1 -221
  257. package/docs/types/GetTokenHoldingsParams.html +1 -227
  258. package/docs/types/GetUserTokensFromTransactionsParams.html +1 -233
  259. package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +1 -244
  260. package/docs/types/GetVaultBalanceForActiveUsersParams.html +1 -231
  261. package/docs/types/GetVaultBalanceParams.html +1 -217
  262. package/docs/types/HoldingsObj.html +1 -223
  263. package/docs/types/Icon.html +1 -266
  264. package/docs/types/Investor.html +1 -245
  265. package/docs/types/LiquidityChangeEventNode.html +1 -220
  266. package/docs/types/LiquidityToTokensParams.html +1 -255
  267. package/docs/types/LiquidityToUsdParams.html +1 -267
  268. package/docs/types/LoopingDebt.html +1 -258
  269. package/docs/types/LpBreakdownType.html +1 -238
  270. package/docs/types/MemberPoolDataType.html +1 -276
  271. package/docs/types/MemberType.html +1 -269
  272. package/docs/types/MultiGetVaultBalancesParams.html +1 -229
  273. package/docs/types/NaviInvestor.html +1 -235
  274. package/docs/types/OtherReceiptFields.html +1 -373
  275. package/docs/types/PoolName.html +1 -304
  276. package/docs/types/PoolReceipt.html +1 -253
  277. package/docs/types/PoolType.html +1 -388
  278. package/docs/types/Receipt.html +1 -475
  279. package/docs/types/ReceiptGQL.html +1 -374
  280. package/docs/types/SingleAssetMultiVaultBalance.html +1 -232
  281. package/docs/types/SingleAssetPoolNames.html +1 -247
  282. package/docs/types/SingleAssetTokenHoldings.html +1 -228
  283. package/docs/types/SingleAssetVaultBalance.html +1 -223
  284. package/docs/types/SingleGetVaultBalancesParams.html +1 -224
  285. package/docs/types/StrategyType.html +1 -217
  286. package/docs/types/SuiNetwork.html +1 -213
  287. package/docs/types/SwapOptions.html +1 -248
  288. package/docs/types/TickSpacing.html +1 -212
  289. package/docs/types/TotalWeightType.html +1 -246
  290. package/docs/types/TransactionBlockType.html +1 -358
  291. package/docs/types/UserPoolLiquidity.html +1 -221
  292. package/docs/types/UserPoolTokenHoldings.html +1 -217
  293. package/docs/types/UserUsdHoldings.html +1 -223
  294. package/docs/types/VaultBalance.html +1 -216
  295. package/docs/types/WithdrawV2EventNode.html +1 -208
  296. package/docs/variables/bluefinPoolMap.html +1 -214
  297. package/docs/variables/cetusPoolMap.html +1 -214
  298. package/docs/variables/coinsList.html +1 -220
  299. package/docs/variables/defunctPoolsSet.html +1 -209
  300. package/docs/variables/doubleAssetPoolCoinMap.html +1 -237
  301. package/docs/variables/ignoredWalletsForDailyRevenue.html +1 -0
  302. package/docs/variables/loopingAccountAddresses.html +1 -219
  303. package/docs/variables/loopingPoolCoinMap.html +1 -233
  304. package/docs/variables/naviAssetMap.html +1 -215
  305. package/docs/variables/poolIdPoolNameMap.html +1 -218
  306. package/docs/variables/poolInfo.html +1 -304
  307. package/docs/variables/singleAssetPoolCoinMap.html +1 -229
  308. package/docs/variables/stableCoins.html +1 -207
  309. package/package.json +2 -1
  310. package/docs/functions/bucketDepositTx.html +0 -267
  311. package/docs/functions/bucketWithdrawTx.html +0 -267
  312. package/docs/functions/depositAlphaTxb.html +0 -250
  313. package/docs/functions/depositBluefinSuiFirstTxb.html +0 -302
  314. package/docs/functions/depositBluefinType1Txb.html +0 -300
  315. package/docs/functions/depositBluefinType2Txb.html +0 -300
  316. package/docs/functions/depositCetusAlphaSuiTxb.html +0 -300
  317. package/docs/functions/depositCetusSuiTxb.html +0 -298
  318. package/docs/functions/depositCetusTxb.html +0 -298
  319. package/docs/functions/loopingDeposit.html +0 -277
  320. package/docs/functions/loopingWithdraw.html +0 -278
  321. package/docs/functions/naviDepositTx.html +0 -278
  322. package/docs/functions/naviHasuiSuiLoopDepositTx.html +0 -271
  323. package/docs/functions/naviHasuiSuiLoopWithdrawTx.html +0 -271
  324. package/docs/functions/naviSuiVsuiLoopDepositTx.html +0 -271
  325. package/docs/functions/naviSuiVsuiLoopWithdrawTx.html +0 -271
  326. package/docs/functions/naviUsdcUsdtLoopDepositTx.html +0 -271
  327. package/docs/functions/naviUsdcUsdtLoopWithdrawTx.html +0 -271
  328. package/docs/functions/naviUsdtUsdcLoopDepositTx.html +0 -271
  329. package/docs/functions/naviUsdtUsdcLoopWithdrawTx.html +0 -271
  330. package/docs/functions/naviWithdrawTx.html +0 -278
  331. package/docs/functions/withdrawBluefinSuiFirstTxb.html +0 -282
  332. package/docs/functions/withdrawBluefinType1Txb.html +0 -280
  333. package/docs/functions/withdrawBluefinType2Txb.html +0 -280
  334. package/docs/functions/withdrawCetusAlphaSuiTxb.html +0 -282
  335. package/docs/functions/withdrawCetusSuiTxb.html +0 -278
  336. package/docs/functions/withdrawCetusTxb.html +0 -278
@@ -1,14 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withdrawCetusTxb = exports.withdrawCetusSuiTxb = exports.withdrawCetusAlphaSuiTxb = exports.depositCetusTxb = exports.depositCetusSuiTxb = exports.depositCetusAlphaSuiTxb = void 0;
4
- exports.getLiquidity = getLiquidity;
5
- exports.getAmounts = getAmounts;
6
- exports.getCoinAmountsFromLiquidity = getCoinAmountsFromLiquidity;
7
- const tslib_1 = require("tslib");
8
4
  const transactions_1 = require("@mysten/sui/transactions");
9
- const cetus_sui_clmm_sdk_1 = require("@cetusprotocol/cetus-sui-clmm-sdk");
10
- const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
11
5
  const index_js_1 = require("../index.js");
6
+ const deposit_js_1 = require("./deposit.js");
12
7
  const depositCetusAlphaSuiTxb = async (amount, poolName, isAmountA, options, transaction = undefined) => {
13
8
  const suiClient = (0, index_js_1.getSuiClient)();
14
9
  const address = options.address;
@@ -40,7 +35,7 @@ const depositCetusAlphaSuiTxb = async (amount, poolName, isAmountA, options, tra
40
35
  break;
41
36
  }
42
37
  } while (true);
43
- const amounts = await getAmounts(poolName, isAmountA, amount);
38
+ const amounts = await (0, deposit_js_1.getAmounts)(poolName, isAmountA, amount);
44
39
  if (amounts) {
45
40
  const amount1 = amounts[0];
46
41
  const amount2 = amounts[1];
@@ -126,7 +121,7 @@ const depositCetusSuiTxb = async (amount, poolName, isAmountA, options, transact
126
121
  break;
127
122
  }
128
123
  } while (true);
129
- const amounts = await getAmounts(poolName, isAmountA, amount);
124
+ const amounts = await (0, deposit_js_1.getAmounts)(poolName, isAmountA, amount);
130
125
  if (amounts) {
131
126
  const amount1 = amounts[0];
132
127
  const amount2 = amounts[1];
@@ -232,7 +227,7 @@ const depositCetusTxb = async (amount, poolName, isAmountA, options, transaction
232
227
  break;
233
228
  }
234
229
  } while (true);
235
- const amounts = await getAmounts(poolName, isAmountA, amount);
230
+ const amounts = await (0, deposit_js_1.getAmounts)(poolName, isAmountA, amount);
236
231
  if (amounts) {
237
232
  const amount1 = amounts[0];
238
233
  const amount2 = amounts[1];
@@ -495,58 +490,4 @@ const withdrawCetusTxb = async (xTokens, poolName, options) => {
495
490
  return txb;
496
491
  };
497
492
  exports.withdrawCetusTxb = withdrawCetusTxb;
498
- async function getLiquidity(poolName, a2b, amount) {
499
- const cetusInvestor = (await (0, index_js_1.getInvestor)(poolName, true));
500
- const cetus_pool = await (0, index_js_1.getParentPool)(poolName, true);
501
- //TODO
502
- //check if you calculate lower_tick, upper_tick like this only
503
- const upper_bound = 443636;
504
- let lower_tick = Number(cetusInvestor.content.fields.lower_tick);
505
- let upper_tick = Number(cetusInvestor.content.fields.upper_tick);
506
- if (lower_tick > upper_bound) {
507
- lower_tick = -~(lower_tick - 1);
508
- }
509
- if (upper_tick > upper_bound) {
510
- upper_tick = -~(upper_tick - 1);
511
- }
512
- // AlphaFi Mascot
513
- //
514
- // a
515
- // ~~|~~
516
- // / \
517
- //
518
- /////////////////
519
- const current_sqrt_price = new bn_js_1.default(cetus_pool.content.fields.current_sqrt_price);
520
- const liquidity = cetus_sui_clmm_sdk_1.ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(lower_tick, upper_tick, new bn_js_1.default(`${Math.floor(parseFloat(amount))}`), a2b, false, 0.5, current_sqrt_price);
521
- return liquidity;
522
- }
523
- async function getAmounts(poolName, a2b, amount) {
524
- const liquidity = await getLiquidity(poolName, a2b, amount);
525
- if (liquidity) {
526
- const numA = liquidity.coinAmountA.toString();
527
- const numB = liquidity.coinAmountB.toString();
528
- return [numA, numB];
529
- }
530
- }
531
- async function getCoinAmountsFromLiquidity(poolName, liquidity, ignoreCache) {
532
- const clmmPool = await (0, index_js_1.getParentPool)(poolName, ignoreCache);
533
- const investor = (await (0, index_js_1.getInvestor)(poolName, ignoreCache));
534
- const upper_bound = 443636;
535
- let lower_tick = Number(investor.content.fields.lower_tick);
536
- let upper_tick = Number(investor.content.fields.upper_tick);
537
- if (lower_tick > upper_bound) {
538
- lower_tick = -~(lower_tick - 1);
539
- }
540
- if (upper_tick > upper_bound) {
541
- upper_tick = -~(upper_tick - 1);
542
- }
543
- if (clmmPool) {
544
- const liquidityInt = Math.floor(parseFloat(liquidity));
545
- const coin_amounts = cetus_sui_clmm_sdk_1.ClmmPoolUtil.getCoinAmountFromLiquidity(new bn_js_1.default(`${liquidityInt}`), new bn_js_1.default(clmmPool.content.fields.current_sqrt_price), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(lower_tick), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(upper_tick), true);
546
- return [coin_amounts.coinA.toString(), coin_amounts.coinB.toString()];
547
- }
548
- else {
549
- return ["0", "0"];
550
- }
551
- }
552
493
  //# sourceMappingURL=cetus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cetus.js","sourceRoot":"","sources":["../../../src/transactions/cetus.ts"],"names":[],"mappings":";;;AAgkBA,oCA2CC;AAED,gCAYC;AAED,kEAmCC;;AA9pBD,2DAAuD;AAEvD,0EAA2E;AAC3E,0DAAuB;AACvB,0CAeqB;AAEd,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAc,EACd,QAAkB,EAClB,SAAkB,EAClB,OAA4B,EAC5B,cAAuC,SAAS,EAC1B,EAAE;IACxB,MAAM,SAAS,GAAG,IAAA,uBAAY,GAAE,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,GAAG,CAAC;IACR,IAAI,WAAW;QAAE,GAAG,GAAG,WAAW,CAAC;;QAC9B,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC7B,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAc,CAAC;IAC9C,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAErD,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,MAAM,GAAiB,EAAE,CAAC;IAE9B,IAAI,aAAa,GAA8B,IAAI,CAAC;IAEpD,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;YACxC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;YAC/B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtC,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAChD,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,8CAA8C;YAC9C,MAAM;QACR,CAAC;IACH,CAAC,QAAQ,IAAI,EAAE;IAEf,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAE9D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,KAAU,CAAC;QACf,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO;YACP,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,GAAG,CAAC,UAAU,CACZ,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAClC,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAExD,OAAO;YACP,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,WAAgB,CAAC;YACrB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACxB,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;oBAC3B,MAAM,EAAE,mBAAmB;oBAC3B,aAAa,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACrC,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;oBAC3B,MAAM,EAAE,mBAAmB;oBAC3B,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBACxC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAC7C,CAAC,CAAC;YACL,CAAC;YAED,GAAG,CAAC,QAAQ,CAAC;gBACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,wCAAwC;gBACrE,aAAa,EAAE,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAC7D,SAAS,EAAE;oBACT,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,OAAO,CAAC;oBAC7B,WAAW;oBACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC3B,YAAY;oBACZ,YAAY;oBACZ,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,iBAAiB,CAAC;oBACvC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC/B,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,sBAAsB,CAAC;oBAC5C,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,8BAA8B,CAAC;oBACpD,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,WAAW,CAAC,CAAC;oBACrC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC;oBAClC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,gBAAgB,CAAC;iBACvC;aACF,CAAC,CAAC;YACH,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAnGW,QAAA,uBAAuB,2BAmGlC;AAEK,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAc,EACd,QAAkB,EAClB,SAAkB,EAClB,OAA4B,EAC5B,cAAuC,SAAS,EAC1B,EAAE;IACxB,MAAM,SAAS,GAAG,IAAA,uBAAY,GAAE,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,GAAG,CAAC;IACR,IAAI,WAAW;QAAE,GAAG,GAAG,WAAW,CAAC;;QAC9B,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC7B,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAc,CAAC;IAC9C,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAErD,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,MAAM,GAAiB,EAAE,CAAC;IAE9B,IAAI,aAAa,GAA8B,IAAI,CAAC;IAEpD,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;YACxC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;YAC/B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtC,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAChD,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,8CAA8C;YAC9C,MAAM;QACR,CAAC;IACH,CAAC,QAAQ,IAAI,EAAE;IAEf,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAE9D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,KAAU,CAAC;QACf,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO;YACP,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,GAAG,CAAC,UAAU,CACZ,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAClC,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAExD,OAAO;YACP,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,WAAgB,CAAC;YACrB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACxB,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;oBAC3B,MAAM,EAAE,mBAAmB;oBAC3B,aAAa,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACrC,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;oBAC3B,MAAM,EAAE,mBAAmB;oBAC3B,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBACxC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAC7C,CAAC,CAAC;YACL,CAAC;YAED,GAAG,CAAC,QAAQ,CAAC;gBACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,wCAAwC;gBACrE,aAAa,EAAE,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAC7D,SAAS,EAAE;oBACT,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,eAAe,CAAC;oBACrC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,OAAO,CAAC;oBAC7B,WAAW;oBACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC3B,YAAY;oBACZ,YAAY;oBACZ,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,iBAAiB,CAAC;oBACvC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC/B,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,sBAAsB,CAAC;oBAC5C,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,8BAA8B,CAAC;oBACpD,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC;oBAClC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,gBAAgB,CAAC;iBACvC;aACF,CAAC,CAAC;YACH,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAnGW,QAAA,kBAAkB,sBAmG7B;AAEK,MAAM,eAAe,GAAG,KAAK,EAClC,MAAc,EACd,QAAkB,EAClB,SAAkB,EAClB,OAA4B,EAC5B,cAAuC,SAAS,EAC1B,EAAE;IACxB,MAAM,SAAS,GAAG,IAAA,uBAAY,GAAE,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,GAAG,CAAC;IACR,IAAI,WAAW;QAAE,GAAG,GAAG,WAAW,CAAC;;QAC9B,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC7B,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAc,CAAC;IAC9C,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAErD,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,MAAM,GAAiB,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAiB,EAAE,CAAC;IAC9B,IAAI,aAAa,GAA8B,IAAI,CAAC;IAEpD,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;YACxC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;YAC/B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtC,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAChD,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,8CAA8C;YAC9C,MAAM;QACR,CAAC;IACH,CAAC,QAAQ,IAAI,EAAE;IAEf,aAAa,GAAG,IAAI,CAAC;IAErB,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;YACxC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;YAC/B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtC,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAChD,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,8CAA8C;YAC9C,MAAM;QACR,CAAC;IACH,CAAC,QAAQ,IAAI,EAAE;IAEf,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,KAAU,CAAC;QACf,IAAI,KAAU,CAAC;QACf,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO;YACP,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,GAAG,CAAC,UAAU,CACZ,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAClC,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAExD,OAAO;YACP,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,GAAG,CAAC,UAAU,CACZ,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAClC,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAExD,IAAI,WAAgB,CAAC;YAErB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACxB,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;oBAC3B,MAAM,EAAE,mBAAmB;oBAC3B,aAAa,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACrC,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;oBAC3B,MAAM,EAAE,mBAAmB;oBAC3B,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBACxC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAC7C,CAAC,CAAC;YACL,CAAC;YAED,IACE,QAAQ,IAAI,YAAY;gBACxB,QAAQ,IAAI,WAAW;gBACvB,QAAQ,IAAI,YAAY;gBACxB,QAAQ,IAAI,UAAU,EACtB,CAAC;gBACD,GAAG,CAAC,QAAQ,CAAC;oBACX,MAAM,EAAE,GAAG,IAAA,kBAAO,GAAE,CAAC,uBAAuB,2CAA2C;oBACvF,aAAa,EAAE,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;oBAC7D,SAAS,EAAE;wBACT,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,OAAO,CAAC;wBAC7B,WAAW;wBACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC3B,YAAY;wBACZ,YAAY;wBACZ,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,iBAAiB,CAAC;wBACvC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC/B,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,sBAAsB,CAAC;wBAC5C,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,8BAA8B,CAAC;wBACpD,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;wBACxC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,WAAW,CAAC,CAAC;wBACrC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC;wBAClC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,gBAAgB,CAAC;qBACvC;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,QAAQ,CAAC;oBACX,MAAM,EAAE,GAAG,IAAA,kBAAO,GAAE,CAAC,uBAAuB,oCAAoC;oBAChF,aAAa,EAAE,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;oBAC7D,SAAS,EAAE;wBACT,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,OAAO,CAAC;wBAC7B,WAAW;wBACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC3B,YAAY;wBACZ,YAAY;wBACZ,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,iBAAiB,CAAC;wBACvC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC/B,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,sBAAsB,CAAC;wBAC5C,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,8BAA8B,CAAC;wBACpD,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;wBACxC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,WAAW,CAAC,CAAC;wBACrC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC;wBAClC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,gBAAgB,CAAC;qBACvC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YACtC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AA7JW,QAAA,eAAe,mBA6J1B;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAC3C,OAAe,EACf,QAAkB,EAClB,OAA4B,EAC5B,EAAE;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAErD,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,YAAY,GAAc,MAAM,IAAA,sBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,aAAkB,CAAC;QACvB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,IAAA,kBAAO,GAAE,CAAC,kBAAkB,CAAC;gBAC7C,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7C,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,yCAAyC;YACtE,aAAa,EAAE,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YAC7D,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,OAAO,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/B,aAAa;gBACb,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,UAAU,CAAC;gBAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,iBAAiB,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,sBAAsB,CAAC;gBAC5C,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,8BAA8B,CAAC;gBACpD,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,WAAW,CAAC,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC;gBAClC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,gBAAgB,CAAC;aACvC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AArDW,QAAA,wBAAwB,4BAqDnC;AAEK,MAAM,mBAAmB,GAAG,KAAK,EACtC,OAAe,EACf,QAAkB,EAClB,OAA4B,EAC5B,EAAE;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAErD,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,YAAY,GAAc,MAAM,IAAA,sBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,aAAkB,CAAC;QACvB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,IAAA,kBAAO,GAAE,CAAC,kBAAkB,CAAC;gBAC7C,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7C,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,yCAAyC;YACtE,aAAa,EAAE,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YAC7D,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,eAAe,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,OAAO,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/B,aAAa;gBACb,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,UAAU,CAAC;gBAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,iBAAiB,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,sBAAsB,CAAC;gBAC5C,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,8BAA8B,CAAC;gBACpD,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC;gBAClC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,gBAAgB,CAAC;aACvC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AArDW,QAAA,mBAAmB,uBAqD9B;AAEK,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAe,EACf,QAAkB,EAClB,OAA4B,EAC5B,EAAE;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,iCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAErD,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,YAAY,GAAc,MAAM,IAAA,sBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,aAAkB,CAAC;QACvB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,IAAA,kBAAO,GAAE,CAAC,kBAAkB,CAAC;gBAC7C,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7C,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IACE,QAAQ,IAAI,YAAY;YACxB,QAAQ,IAAI,WAAW;YACvB,QAAQ,IAAI,YAAY;YACxB,QAAQ,IAAI,UAAU,EACtB,CAAC;YACD,GAAG,CAAC,QAAQ,CAAC;gBACX,MAAM,EAAE,GAAG,IAAA,kBAAO,GAAE,CAAC,uBAAuB,4CAA4C;gBACxF,aAAa,EAAE,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAC7D,SAAS,EAAE;oBACT,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,OAAO,CAAC;oBAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC/B,aAAa;oBACb,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,UAAU,CAAC;oBAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC3B,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,iBAAiB,CAAC;oBACvC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBACtB,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,sBAAsB,CAAC;oBAC5C,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,8BAA8B,CAAC;oBACpD,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;oBACxC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,WAAW,CAAC,CAAC;oBACrC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC;oBAClC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,gBAAgB,CAAC;iBACvC;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC;gBACX,MAAM,EAAE,GAAG,IAAA,kBAAO,GAAE,CAAC,uBAAuB,qCAAqC;gBACjF,aAAa,EAAE,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAC7D,SAAS,EAAE;oBACT,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,OAAO,CAAC;oBAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC/B,aAAa;oBACb,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,UAAU,CAAC;oBAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC3B,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,iBAAiB,CAAC;oBACvC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBACtB,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,sBAAsB,CAAC;oBAC5C,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,8BAA8B,CAAC;oBACpD,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;oBACxC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,WAAW,CAAC,CAAC;oBACrC,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC;oBAClC,GAAG,CAAC,MAAM,CAAC,IAAA,kBAAO,GAAE,CAAC,gBAAgB,CAAC;iBACvC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAlFW,QAAA,gBAAgB,oBAkF3B;AAEK,KAAK,UAAU,YAAY,CAChC,QAAkB,EAClB,GAAY,EACZ,MAAc;IAEd,MAAM,aAAa,GAAG,CAAC,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAClC,CAAC;IACvB,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM;IACN,8DAA8D;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjE,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,iBAAiB;IACjB,EAAE;IACF,SAAS;IACT,WAAW;IACX,UAAU;IACV,EAAE;IACF,iBAAiB;IAEjB,MAAM,kBAAkB,GAAG,IAAI,eAAE,CAC/B,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAC7C,CAAC;IAEF,MAAM,SAAS,GAAG,iCAAY,CAAC,uCAAuC,CACpE,UAAU,EACV,UAAU,EACV,IAAI,eAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAC3C,GAAG,EACH,KAAK,EACL,GAAG,EACH,kBAAkB,CACnB,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,QAAkB,EAClB,GAAY,EACZ,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE9C,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,QAAkB,EAClB,SAAiB,EACjB,WAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAa,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,WAAW,CAAC,CAIpC,CAAC;IAEvB,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,IAAI,UAAU,GAAG,MAAM,CAAC,QAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,UAAU,GAAG,MAAM,CAAC,QAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE7D,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,iCAAY,CAAC,0BAA0B,CAC1D,IAAI,eAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EACzB,IAAI,eAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAClD,6BAAQ,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAC5C,6BAAQ,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAC5C,IAAI,CACL,CAAC;QACF,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;AACH,CAAC","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { CoinStruct } from \"@mysten/sui/client\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport {\n BluefinInvestor,\n CetusInvestor,\n cetusPoolMap,\n coinsList,\n CommonInvestorFields,\n doubleAssetPoolCoinMap,\n getConf,\n getInvestor,\n getParentPool,\n getReceipts,\n getSuiClient,\n poolInfo,\n PoolName,\n Receipt,\n} from \"../index.js\";\n\nexport const depositCetusAlphaSuiTxb = async (\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n options: { address: string },\n transaction: Transaction | undefined = undefined,\n): Promise<Transaction> => {\n const suiClient = getSuiClient();\n const address = options.address;\n let txb;\n if (transaction) txb = transaction;\n else txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n let coins1: CoinStruct[] = [];\n\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[pool1].type,\n cursor: currentCursor,\n });\n\n coins1 = coins1.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n const amounts = await getAmounts(poolName, isAmountA, amount);\n\n if (amounts) {\n const amount1 = amounts[0];\n const amount2 = amounts[1];\n\n let coin1: any;\n if (coins1.length >= 1) {\n //coin1\n [coin1] = txb.splitCoins(txb.object(coins1[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin1,\n coins1.map((c) => c.coinObjectId),\n );\n const [depositCoinA] = txb.splitCoins(coin1, [amount1]);\n\n //coin2\n const [depositCoinB] = txb.splitCoins(txb.gas, [amount2]);\n const poolinfo = poolInfo[poolName];\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolinfo.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n\n txb.moveCall({\n target: `${poolinfo.packageId}::alphafi_cetus_sui_pool::user_deposit`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(poolinfo.poolId),\n depositCoinA,\n depositCoinB,\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n txb.transferObjects([coin1], address);\n } else {\n throw new Error(`No ${pool1} or ${pool2} Coins`);\n }\n }\n\n return txb;\n};\n\nexport const depositCetusSuiTxb = async (\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n options: { address: string },\n transaction: Transaction | undefined = undefined,\n): Promise<Transaction> => {\n const suiClient = getSuiClient();\n const address = options.address;\n let txb;\n if (transaction) txb = transaction;\n else txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n let coins1: CoinStruct[] = [];\n\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[pool1].type,\n cursor: currentCursor,\n });\n\n coins1 = coins1.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n const amounts = await getAmounts(poolName, isAmountA, amount);\n\n if (amounts) {\n const amount1 = amounts[0];\n const amount2 = amounts[1];\n\n let coin1: any;\n if (coins1.length >= 1) {\n //coin1\n [coin1] = txb.splitCoins(txb.object(coins1[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin1,\n coins1.map((c) => c.coinObjectId),\n );\n const [depositCoinA] = txb.splitCoins(coin1, [amount1]);\n\n //coin2\n const [depositCoinB] = txb.splitCoins(txb.gas, [amount2]);\n const poolinfo = poolInfo[poolName];\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolinfo.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n\n txb.moveCall({\n target: `${poolinfo.packageId}::alphafi_cetus_sui_pool::user_deposit`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().ALPHA_2_VERSION),\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(poolinfo.poolId),\n depositCoinA,\n depositCoinB,\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n txb.transferObjects([coin1], address);\n } else {\n throw new Error(`No ${pool1} or ${pool2} Coins`);\n }\n }\n\n return txb;\n};\n\nexport const depositCetusTxb = async (\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n options: { address: string },\n transaction: Transaction | undefined = undefined,\n): Promise<Transaction> => {\n const suiClient = getSuiClient();\n const address = options.address;\n let txb;\n if (transaction) txb = transaction;\n else txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const poolinfo = poolInfo[poolName];\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n let coins1: CoinStruct[] = [];\n let coins2: CoinStruct[] = [];\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[pool1].type,\n cursor: currentCursor,\n });\n\n coins1 = coins1.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n currentCursor = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[pool2].type,\n cursor: currentCursor,\n });\n\n coins2 = coins2.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n const amounts = await getAmounts(poolName, isAmountA, amount);\n if (amounts) {\n const amount1 = amounts[0];\n const amount2 = amounts[1];\n\n let coin1: any;\n let coin2: any;\n if (coins1.length >= 1 && coins2.length >= 1) {\n //coin1\n [coin1] = txb.splitCoins(txb.object(coins1[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin1,\n coins1.map((c) => c.coinObjectId),\n );\n const [depositCoinA] = txb.splitCoins(coin1, [amount1]);\n\n //coin2\n [coin2] = txb.splitCoins(txb.object(coins2[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin2,\n coins2.map((c) => c.coinObjectId),\n );\n const [depositCoinB] = txb.splitCoins(coin2, [amount2]);\n\n let someReceipt: any;\n\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolinfo.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n\n if (\n poolName == \"WUSDC-WBTC\" ||\n poolName == \"USDC-USDT\" ||\n poolName == \"USDC-WUSDC\" ||\n poolName == \"USDC-ETH\"\n ) {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphafi_cetus_pool_base_a::user_deposit`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(poolinfo.poolId),\n depositCoinA,\n depositCoinB,\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[`${pool1}-SUI`]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphafi_cetus_pool::user_deposit`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(poolinfo.poolId),\n depositCoinA,\n depositCoinB,\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[`${pool2}-SUI`]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n }\n\n txb.transferObjects([coin1], address);\n txb.transferObjects([coin2], address);\n } else {\n throw new Error(`No ${pool1} or ${pool2} Coins`);\n }\n }\n\n return txb;\n};\n\nexport const withdrawCetusAlphaSuiTxb = async (\n xTokens: string,\n poolName: PoolName,\n options: { address: string },\n) => {\n const address = options.address;\n const txb = new Transaction();\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n const poolinfo = poolInfo[poolName];\n txb.moveCall({\n target: `${poolinfo.packageId}::alphafi_cetus_sui_pool::user_withdraw`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(poolinfo.poolId),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.pure.u128(xTokens),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n throw new Error(\"No receipt found!\");\n }\n\n return txb;\n};\n\nexport const withdrawCetusSuiTxb = async (\n xTokens: string,\n poolName: PoolName,\n options: { address: string },\n) => {\n const address = options.address;\n const txb = new Transaction();\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n const poolinfo = poolInfo[poolName];\n txb.moveCall({\n target: `${poolinfo.packageId}::alphafi_cetus_sui_pool::user_withdraw`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().ALPHA_2_VERSION),\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(poolinfo.poolId),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.pure.u128(xTokens),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n throw new Error(\"No receipt found!\");\n }\n\n return txb;\n};\n\nexport const withdrawCetusTxb = async (\n xTokens: string,\n poolName: PoolName,\n options: { address: string },\n) => {\n const address = options.address;\n const txb = new Transaction();\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n const poolinfo = poolInfo[poolName];\n if (\n poolName == \"WUSDC-WBTC\" ||\n poolName == \"USDC-USDT\" ||\n poolName == \"USDC-WUSDC\" ||\n poolName == \"USDC-ETH\"\n ) {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphafi_cetus_pool_base_a::user_withdraw`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(poolinfo.poolId),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.pure.u128(xTokens),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[`${pool1}-SUI`]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphafi_cetus_pool::user_withdraw`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(poolinfo.poolId),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.pure.u128(xTokens),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[`${pool2}-SUI`]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n }\n } else {\n throw new Error(\"No receipt found!\");\n }\n\n return txb;\n};\n\nexport async function getLiquidity(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n) {\n const cetusInvestor = (await getInvestor(poolName, true)) as CetusInvestor &\n CommonInvestorFields;\n const cetus_pool = await getParentPool(poolName, true);\n //TODO\n //check if you calculate lower_tick, upper_tick like this only\n const upper_bound = 443636;\n let lower_tick = Number(cetusInvestor.content.fields.lower_tick);\n let upper_tick = Number(cetusInvestor.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n\n // AlphaFi Mascot\n //\n // a\n // ~~|~~\n // / \\\n //\n /////////////////\n\n const current_sqrt_price = new BN(\n cetus_pool.content.fields.current_sqrt_price,\n );\n\n const liquidity = ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(\n lower_tick,\n upper_tick,\n new BN(`${Math.floor(parseFloat(amount))}`),\n a2b,\n false,\n 0.5,\n current_sqrt_price,\n );\n return liquidity;\n}\n\nexport async function getAmounts(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n): Promise<[string, string] | undefined> {\n const liquidity = await getLiquidity(poolName, a2b, amount);\n if (liquidity) {\n const numA = liquidity.coinAmountA.toString();\n const numB = liquidity.coinAmountB.toString();\n\n return [numA, numB];\n }\n}\n\nexport async function getCoinAmountsFromLiquidity(\n poolName: PoolName,\n liquidity: string,\n ignoreCache: boolean,\n): Promise<[string, string]> {\n const clmmPool = await getParentPool(poolName, ignoreCache);\n const investor = (await getInvestor(poolName, ignoreCache)) as (\n | CetusInvestor\n | BluefinInvestor\n ) &\n CommonInvestorFields;\n\n const upper_bound = 443636;\n let lower_tick = Number(investor!.content.fields.lower_tick);\n let upper_tick = Number(investor!.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n if (clmmPool) {\n const liquidityInt = Math.floor(parseFloat(liquidity));\n const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(clmmPool.content.fields.current_sqrt_price),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n return [coin_amounts.coinA.toString(), coin_amounts.coinB.toString()];\n } else {\n return [\"0\", \"0\"];\n }\n}\n"]}
1
+ {"version":3,"file":"cetus.js","sourceRoot":"","sources":["../../../src/transactions/cetus.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { CoinStruct } from \"@mysten/sui/client\";\nimport {\n cetusPoolMap,\n coinsList,\n doubleAssetPoolCoinMap,\n getConf,\n getReceipts,\n getSuiClient,\n poolInfo,\n PoolName,\n Receipt,\n} from \"../index.js\";\nimport { getAmounts } from \"./deposit.js\";\n\nexport const depositCetusAlphaSuiTxb = async (\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n options: { address: string },\n transaction: Transaction | undefined = undefined,\n): Promise<Transaction> => {\n const suiClient = getSuiClient();\n const address = options.address;\n let txb;\n if (transaction) txb = transaction;\n else txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n let coins1: CoinStruct[] = [];\n\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[pool1].type,\n cursor: currentCursor,\n });\n\n coins1 = coins1.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n const amounts = await getAmounts(poolName, isAmountA, amount);\n\n if (amounts) {\n const amount1 = amounts[0];\n const amount2 = amounts[1];\n\n let coin1: any;\n if (coins1.length >= 1) {\n //coin1\n [coin1] = txb.splitCoins(txb.object(coins1[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin1,\n coins1.map((c) => c.coinObjectId),\n );\n const [depositCoinA] = txb.splitCoins(coin1, [amount1]);\n\n //coin2\n const [depositCoinB] = txb.splitCoins(txb.gas, [amount2]);\n const poolinfo = poolInfo[poolName];\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolinfo.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n\n txb.moveCall({\n target: `${poolinfo.packageId}::alphafi_cetus_sui_pool::user_deposit`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(poolinfo.poolId),\n depositCoinA,\n depositCoinB,\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n txb.transferObjects([coin1], address);\n } else {\n throw new Error(`No ${pool1} or ${pool2} Coins`);\n }\n }\n\n return txb;\n};\n\nexport const depositCetusSuiTxb = async (\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n options: { address: string },\n transaction: Transaction | undefined = undefined,\n): Promise<Transaction> => {\n const suiClient = getSuiClient();\n const address = options.address;\n let txb;\n if (transaction) txb = transaction;\n else txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n let coins1: CoinStruct[] = [];\n\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[pool1].type,\n cursor: currentCursor,\n });\n\n coins1 = coins1.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n const amounts = await getAmounts(poolName, isAmountA, amount);\n\n if (amounts) {\n const amount1 = amounts[0];\n const amount2 = amounts[1];\n\n let coin1: any;\n if (coins1.length >= 1) {\n //coin1\n [coin1] = txb.splitCoins(txb.object(coins1[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin1,\n coins1.map((c) => c.coinObjectId),\n );\n const [depositCoinA] = txb.splitCoins(coin1, [amount1]);\n\n //coin2\n const [depositCoinB] = txb.splitCoins(txb.gas, [amount2]);\n const poolinfo = poolInfo[poolName];\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolinfo.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n\n txb.moveCall({\n target: `${poolinfo.packageId}::alphafi_cetus_sui_pool::user_deposit`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().ALPHA_2_VERSION),\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(poolinfo.poolId),\n depositCoinA,\n depositCoinB,\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n txb.transferObjects([coin1], address);\n } else {\n throw new Error(`No ${pool1} or ${pool2} Coins`);\n }\n }\n\n return txb;\n};\n\nexport const depositCetusTxb = async (\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n options: { address: string },\n transaction: Transaction | undefined = undefined,\n): Promise<Transaction> => {\n const suiClient = getSuiClient();\n const address = options.address;\n let txb;\n if (transaction) txb = transaction;\n else txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const poolinfo = poolInfo[poolName];\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n let coins1: CoinStruct[] = [];\n let coins2: CoinStruct[] = [];\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[pool1].type,\n cursor: currentCursor,\n });\n\n coins1 = coins1.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n currentCursor = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[pool2].type,\n cursor: currentCursor,\n });\n\n coins2 = coins2.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n const amounts = await getAmounts(poolName, isAmountA, amount);\n if (amounts) {\n const amount1 = amounts[0];\n const amount2 = amounts[1];\n\n let coin1: any;\n let coin2: any;\n if (coins1.length >= 1 && coins2.length >= 1) {\n //coin1\n [coin1] = txb.splitCoins(txb.object(coins1[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin1,\n coins1.map((c) => c.coinObjectId),\n );\n const [depositCoinA] = txb.splitCoins(coin1, [amount1]);\n\n //coin2\n [coin2] = txb.splitCoins(txb.object(coins2[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin2,\n coins2.map((c) => c.coinObjectId),\n );\n const [depositCoinB] = txb.splitCoins(coin2, [amount2]);\n\n let someReceipt: any;\n\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolinfo.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n\n if (\n poolName == \"WUSDC-WBTC\" ||\n poolName == \"USDC-USDT\" ||\n poolName == \"USDC-WUSDC\" ||\n poolName == \"USDC-ETH\"\n ) {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphafi_cetus_pool_base_a::user_deposit`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(poolinfo.poolId),\n depositCoinA,\n depositCoinB,\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[`${pool1}-SUI`]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphafi_cetus_pool::user_deposit`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(poolinfo.poolId),\n depositCoinA,\n depositCoinB,\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[`${pool2}-SUI`]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n }\n\n txb.transferObjects([coin1], address);\n txb.transferObjects([coin2], address);\n } else {\n throw new Error(`No ${pool1} or ${pool2} Coins`);\n }\n }\n\n return txb;\n};\n\nexport const withdrawCetusAlphaSuiTxb = async (\n xTokens: string,\n poolName: PoolName,\n options: { address: string },\n) => {\n const address = options.address;\n const txb = new Transaction();\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n const poolinfo = poolInfo[poolName];\n txb.moveCall({\n target: `${poolinfo.packageId}::alphafi_cetus_sui_pool::user_withdraw`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(poolinfo.poolId),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.pure.u128(xTokens),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n throw new Error(\"No receipt found!\");\n }\n\n return txb;\n};\n\nexport const withdrawCetusSuiTxb = async (\n xTokens: string,\n poolName: PoolName,\n options: { address: string },\n) => {\n const address = options.address;\n const txb = new Transaction();\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n const poolinfo = poolInfo[poolName];\n txb.moveCall({\n target: `${poolinfo.packageId}::alphafi_cetus_sui_pool::user_withdraw`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().ALPHA_2_VERSION),\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(poolinfo.poolId),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.pure.u128(xTokens),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n throw new Error(\"No receipt found!\");\n }\n\n return txb;\n};\n\nexport const withdrawCetusTxb = async (\n xTokens: string,\n poolName: PoolName,\n options: { address: string },\n) => {\n const address = options.address;\n const txb = new Transaction();\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n const poolinfo = poolInfo[poolName];\n if (\n poolName == \"WUSDC-WBTC\" ||\n poolName == \"USDC-USDT\" ||\n poolName == \"USDC-WUSDC\" ||\n poolName == \"USDC-ETH\"\n ) {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphafi_cetus_pool_base_a::user_withdraw`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(poolinfo.poolId),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.pure.u128(xTokens),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[`${pool1}-SUI`]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphafi_cetus_pool::user_withdraw`,\n typeArguments: [coinsList[pool1].type, coinsList[pool2].type],\n arguments: [\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(poolinfo.poolId),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.object(poolinfo.investorId),\n txb.pure.u128(xTokens),\n txb.object(getConf().CETUS_GLOBAL_CONFIG_ID),\n txb.object(getConf().CETUS_REWARDER_GLOBAL_VAULT_ID),\n txb.object(cetusPoolMap[`${pool2}-SUI`]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(cetusPoolMap[poolName]),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n }\n } else {\n throw new Error(\"No receipt found!\");\n }\n\n return txb;\n};\n"]}
@@ -2,4 +2,7 @@ import { Transaction } from "@mysten/sui/transactions";
2
2
  import { PoolName } from "../common/types.js";
3
3
  export declare function depositSingleAssetTxb(poolName: PoolName, address: string, amount: string): Promise<Transaction>;
4
4
  export declare function depositDoubleAssetTxb(poolName: PoolName, address: string, amount: string, isAmountA: boolean): Promise<Transaction>;
5
+ export declare function getLiquidity(poolName: PoolName, a2b: boolean, amount: string): Promise<import("@cetusprotocol/cetus-sui-clmm-sdk").LiquidityInput>;
6
+ export declare function getAmounts(poolName: PoolName, a2b: boolean, amount: string): Promise<[string, string] | undefined>;
7
+ export declare function getCoinAmountsFromLiquidity(poolName: PoolName, liquidity: string, ignoreCache: boolean): Promise<[string, string]>;
5
8
  //# sourceMappingURL=deposit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAiB9C,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,wBAaf;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,wBAyCnB"}
1
+ {"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAIL,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAwB5B,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,wBAcf;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,wBA8CnB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,uEAwCf;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAQvC;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA+B3B"}
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.depositSingleAssetTxb = depositSingleAssetTxb;
4
4
  exports.depositDoubleAssetTxb = depositDoubleAssetTxb;
5
+ exports.getLiquidity = getLiquidity;
6
+ exports.getAmounts = getAmounts;
7
+ exports.getCoinAmountsFromLiquidity = getCoinAmountsFromLiquidity;
8
+ const tslib_1 = require("tslib");
5
9
  const transactions_1 = require("@mysten/sui/transactions");
6
10
  const maps_js_1 = require("../common/maps.js");
7
11
  const alpha_js_1 = require("./alpha.js");
@@ -10,6 +14,9 @@ const bucket_js_1 = require("./bucket.js");
10
14
  const cetus_js_1 = require("./cetus.js");
11
15
  const bluefin_js_1 = require("./bluefin.js");
12
16
  const navi_looping_js_1 = require("./navi-looping.js");
17
+ const cetus_sui_clmm_sdk_1 = require("@cetusprotocol/cetus-sui-clmm-sdk");
18
+ const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
19
+ const getReceipts_js_1 = require("../sui-sdk/functions/getReceipts.js");
13
20
  async function depositSingleAssetTxb(poolName, address, amount) {
14
21
  let txb = new transactions_1.Transaction();
15
22
  if (maps_js_1.poolInfo[poolName].parentProtocolName === "ALPHAFI") {
@@ -25,6 +32,7 @@ async function depositSingleAssetTxb(poolName, address, amount) {
25
32
  else
26
33
  txb = await (0, navi_js_1.naviDepositTx)(amount, poolName, { address });
27
34
  }
35
+ txb.setSender(address);
28
36
  return txb;
29
37
  }
30
38
  async function depositDoubleAssetTxb(poolName, address, amount, isAmountA) {
@@ -64,12 +72,72 @@ async function depositDoubleAssetTxb(poolName, address, amount, isAmountA) {
64
72
  address,
65
73
  });
66
74
  }
75
+ else if (coin1 === "STSUI" || coin2 === "STSUI") {
76
+ txb = await (0, bluefin_js_1.depositBluefinStsuiTxb)(amount, poolName, isAmountA, {
77
+ address,
78
+ });
79
+ }
67
80
  else {
68
81
  txb = await (0, bluefin_js_1.depositBluefinType1Txb)(amount, poolName, isAmountA, {
69
82
  address,
70
83
  });
71
84
  }
72
85
  }
86
+ txb.setSender(address);
73
87
  return txb;
74
88
  }
89
+ async function getLiquidity(poolName, a2b, amount) {
90
+ const cetusInvestor = (await (0, getReceipts_js_1.getInvestor)(poolName, true));
91
+ const cetus_pool = await (0, getReceipts_js_1.getParentPool)(poolName, true);
92
+ //TODO
93
+ //check if you calculate lower_tick, upper_tick like this only
94
+ const upper_bound = 443636;
95
+ let lower_tick = Number(cetusInvestor.content.fields.lower_tick);
96
+ let upper_tick = Number(cetusInvestor.content.fields.upper_tick);
97
+ if (lower_tick > upper_bound) {
98
+ lower_tick = -~(lower_tick - 1);
99
+ }
100
+ if (upper_tick > upper_bound) {
101
+ upper_tick = -~(upper_tick - 1);
102
+ }
103
+ // AlphaFi Mascot
104
+ //
105
+ // a
106
+ // ~~|~~
107
+ // / \
108
+ //
109
+ /////////////////
110
+ const current_sqrt_price = new bn_js_1.default(cetus_pool.content.fields.current_sqrt_price);
111
+ const liquidity = cetus_sui_clmm_sdk_1.ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(lower_tick, upper_tick, new bn_js_1.default(`${Math.floor(parseFloat(amount))}`), a2b, false, 0.5, current_sqrt_price);
112
+ return liquidity;
113
+ }
114
+ async function getAmounts(poolName, a2b, amount) {
115
+ const liquidity = await getLiquidity(poolName, a2b, amount);
116
+ if (liquidity) {
117
+ const numA = liquidity.coinAmountA.toString();
118
+ const numB = liquidity.coinAmountB.toString();
119
+ return [numA, numB];
120
+ }
121
+ }
122
+ async function getCoinAmountsFromLiquidity(poolName, liquidity, ignoreCache) {
123
+ const clmmPool = await (0, getReceipts_js_1.getParentPool)(poolName, ignoreCache);
124
+ const investor = (await (0, getReceipts_js_1.getInvestor)(poolName, ignoreCache));
125
+ const upper_bound = 443636;
126
+ let lower_tick = Number(investor.content.fields.lower_tick);
127
+ let upper_tick = Number(investor.content.fields.upper_tick);
128
+ if (lower_tick > upper_bound) {
129
+ lower_tick = -~(lower_tick - 1);
130
+ }
131
+ if (upper_tick > upper_bound) {
132
+ upper_tick = -~(upper_tick - 1);
133
+ }
134
+ if (clmmPool) {
135
+ const liquidityInt = Math.floor(parseFloat(liquidity));
136
+ const coin_amounts = cetus_sui_clmm_sdk_1.ClmmPoolUtil.getCoinAmountFromLiquidity(new bn_js_1.default(`${liquidityInt}`), new bn_js_1.default(clmmPool.content.fields.current_sqrt_price), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(lower_tick), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(upper_tick), true);
137
+ return [coin_amounts.coinA.toString(), coin_amounts.coinB.toString()];
138
+ }
139
+ else {
140
+ return ["0", "0"];
141
+ }
142
+ }
75
143
  //# sourceMappingURL=deposit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport { PoolName } from \"../common/types.js\";\nimport { depositAlphaTxb } from \"./alpha.js\";\nimport { naviDepositTx } from \"./navi.js\";\nimport { bucketDepositTx } from \"./bucket.js\";\nimport {\n depositCetusAlphaSuiTxb,\n depositCetusSuiTxb,\n depositCetusTxb,\n} from \"./cetus.js\";\nimport {\n depositBluefinSuiFirstTxb,\n depositBluefinSuiSecondTxb,\n depositBluefinType1Txb,\n depositBluefinType2Txb,\n} from \"./bluefin.js\";\nimport { loopingDeposit } from \"./navi-looping.js\";\n\nexport async function depositSingleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n txb = await depositAlphaTxb(amount, address);\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketDepositTx(amount, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n txb = await loopingDeposit(poolName, amount, { address });\n } else txb = await naviDepositTx(amount, poolName, { address });\n }\n return txb;\n}\n\nexport async function depositDoubleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n isAmountA: boolean,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n } else if (coin2 === \"SUI\") {\n txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (\n poolName === \"BLUEFIN-NAVX-VSUI\" ||\n poolName === \"BLUEFIN-ALPHA-USDC\" ||\n poolName === \"BLUEFIN-BLUE-USDC\"\n ) {\n txb = await depositBluefinType2Txb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"SUI\") {\n txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await depositBluefinSuiSecondTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n address,\n });\n }\n }\n return txb;\n}\n"]}
1
+ {"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport {\n BluefinInvestor,\n CetusInvestor,\n CommonInvestorFields,\n PoolName,\n} from \"../common/types.js\";\nimport { depositAlphaTxb } from \"./alpha.js\";\nimport { naviDepositTx } from \"./navi.js\";\nimport { bucketDepositTx } from \"./bucket.js\";\nimport {\n depositCetusAlphaSuiTxb,\n depositCetusSuiTxb,\n depositCetusTxb,\n} from \"./cetus.js\";\nimport {\n depositBluefinStsuiTxb,\n depositBluefinSuiFirstTxb,\n depositBluefinSuiSecondTxb,\n depositBluefinType1Txb,\n depositBluefinType2Txb,\n} from \"./bluefin.js\";\nimport { loopingDeposit } from \"./navi-looping.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport {\n getInvestor,\n getParentPool,\n} from \"../sui-sdk/functions/getReceipts.js\";\n\nexport async function depositSingleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n txb = await depositAlphaTxb(amount, address);\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketDepositTx(amount, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n txb = await loopingDeposit(poolName, amount, { address });\n } else txb = await naviDepositTx(amount, poolName, { address });\n }\n txb.setSender(address);\n return txb;\n}\n\nexport async function depositDoubleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n isAmountA: boolean,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n } else if (coin2 === \"SUI\") {\n txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (\n poolName === \"BLUEFIN-NAVX-VSUI\" ||\n poolName === \"BLUEFIN-ALPHA-USDC\" ||\n poolName === \"BLUEFIN-BLUE-USDC\"\n ) {\n txb = await depositBluefinType2Txb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"SUI\") {\n txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await depositBluefinSuiSecondTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"STSUI\" || coin2 === \"STSUI\") {\n txb = await depositBluefinStsuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n address,\n });\n }\n }\n txb.setSender(address);\n return txb;\n}\n\nexport async function getLiquidity(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n) {\n const cetusInvestor = (await getInvestor(poolName, true)) as CetusInvestor &\n CommonInvestorFields;\n const cetus_pool = await getParentPool(poolName, true);\n //TODO\n //check if you calculate lower_tick, upper_tick like this only\n const upper_bound = 443636;\n let lower_tick = Number(cetusInvestor.content.fields.lower_tick);\n let upper_tick = Number(cetusInvestor.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n\n // AlphaFi Mascot\n //\n // a\n // ~~|~~\n // / \\\n //\n /////////////////\n\n const current_sqrt_price = new BN(\n cetus_pool.content.fields.current_sqrt_price,\n );\n\n const liquidity = ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(\n lower_tick,\n upper_tick,\n new BN(`${Math.floor(parseFloat(amount))}`),\n a2b,\n false,\n 0.5,\n current_sqrt_price,\n );\n return liquidity;\n}\n\nexport async function getAmounts(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n): Promise<[string, string] | undefined> {\n const liquidity = await getLiquidity(poolName, a2b, amount);\n if (liquidity) {\n const numA = liquidity.coinAmountA.toString();\n const numB = liquidity.coinAmountB.toString();\n\n return [numA, numB];\n }\n}\n\nexport async function getCoinAmountsFromLiquidity(\n poolName: PoolName,\n liquidity: string,\n ignoreCache: boolean,\n): Promise<[string, string]> {\n const clmmPool = await getParentPool(poolName, ignoreCache);\n const investor = (await getInvestor(poolName, ignoreCache)) as (\n | CetusInvestor\n | BluefinInvestor\n ) &\n CommonInvestorFields;\n\n const upper_bound = 443636;\n let lower_tick = Number(investor!.content.fields.lower_tick);\n let upper_tick = Number(investor!.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n if (clmmPool) {\n const liquidityInt = Math.floor(parseFloat(liquidity));\n const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(clmmPool.content.fields.current_sqrt_price),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n return [coin_amounts.coinA.toString(), coin_amounts.coinB.toString()];\n } else {\n return [\"0\", \"0\"];\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=deposit1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposit1.d.ts","sourceRoot":"","sources":["../../../src/transactions/deposit1.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ // import { Transaction } from "@mysten/sui/transactions";
3
+ // import { doubleAssetPoolCoinMap, poolInfo } from "../common/maps.js";
4
+ // import { depositAlphaTxb } from "./alpha.js";
5
+ // import { naviDepositTx } from "./navi.js";
6
+ // import { bucketDepositTx } from "./bucket.js";
7
+ // import {
8
+ // depositCetusAlphaSuiTxb,
9
+ // depositCetusSuiTxb,
10
+ // depositCetusTxb,
11
+ // } from "./cetus.js";
12
+ // import {
13
+ // depositBluefinSuiFirstTxb,
14
+ // depositBluefinType1Txb,
15
+ // } from "./bluefin.js";
16
+ // import {
17
+ // DepositParams,
18
+ // DoubleAssetDepositParams,
19
+ // SingleAssetDepositParams,
20
+ // } from "./types.js";
21
+ // export async function depositTxb(params: DepositParams) {
22
+ // let txb = new Transaction();
23
+ // if (poolInfo[params.poolName].assetType.length === 1) {
24
+ // txb = await depositSingleAssetTxb(params as SingleAssetDepositParams);
25
+ // } else if (poolInfo[params.poolName].assetType.length === 1) {
26
+ // txb = await depositDoubleAssetTxb(params as DoubleAssetDepositParams);
27
+ // }
28
+ // return txb;
29
+ // }
30
+ // export async function depositSingleAssetTxb(params: SingleAssetDepositParams) {
31
+ // let txb = new Transaction();
32
+ // const { poolName, address, amount } = params;
33
+ // if (poolInfo[poolName].parentProtocolName === "ALPHAFI") {
34
+ // txb = await depositAlphaTxb(amount, address);
35
+ // } else if (poolInfo[poolName].parentProtocolName === "NAVI") {
36
+ // txb = await naviDepositTx(Number(amount), poolName, { address });
37
+ // } else if (poolInfo[poolName].parentProtocolName === "BUCKET") {
38
+ // txb = await bucketDepositTx(Number(amount), { address });
39
+ // }
40
+ // return txb;
41
+ // }
42
+ // export async function depositDoubleAssetTxb(params: DoubleAssetDepositParams) {
43
+ // let txb = new Transaction();
44
+ // const { poolName, address, amount, isAmountA } = params;
45
+ // if (poolInfo[poolName].parentProtocolName === "CETUS") {
46
+ // const coin1 = doubleAssetPoolCoinMap[poolName].coin1;
47
+ // const coin2 = doubleAssetPoolCoinMap[poolName].coin2;
48
+ // if (coin1 === "CETUS" && coin2 === "SUI") {
49
+ // txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });
50
+ // } else if (coin2 === "SUI") {
51
+ // txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {
52
+ // address,
53
+ // });
54
+ // } else {
55
+ // txb = await depositCetusTxb(amount, poolName, isAmountA, { address });
56
+ // }
57
+ // } else if (poolInfo[poolName].parentProtocolName === "BLUEFIN") {
58
+ // const coin1 = doubleAssetPoolCoinMap[poolName].coin1;
59
+ // if (coin1 === "SUI") {
60
+ // txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {
61
+ // address,
62
+ // });
63
+ // } else {
64
+ // txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {
65
+ // address,
66
+ // });
67
+ // }
68
+ // }
69
+ // return txb;
70
+ // }
71
+ // function extractXTokensAmount(transaction: Transaction): string {
72
+ // const inputWithPure = transaction
73
+ // .getData()
74
+ // .inputs.find((input) => input.Pure !== undefined);
75
+ // if (!inputWithPure || !inputWithPure.Pure?.bytes) {
76
+ // throw new Error("Unable to extract xTokensAmount from inputs");
77
+ // }
78
+ // const bytes = inputWithPure.Pure.bytes;
79
+ // console.log(bytes);
80
+ // const parsedU128 = bcs.u128().parse(fromB64(bytes));
81
+ // const parsedBytes = bcs.bytes(4).parse(fromB64(bytes));
82
+ // console.log("u128", parsedU128);
83
+ // console.log("bytes", parsedBytes);
84
+ // return new BigNumber(toHEX(fromB64(bytes)), 16).toString();
85
+ // }
86
+ //# sourceMappingURL=deposit1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposit1.js","sourceRoot":"","sources":["../../../src/transactions/deposit1.ts"],"names":[],"mappings":";AAAA,0DAA0D;AAC1D,wEAAwE;AACxE,gDAAgD;AAChD,6CAA6C;AAC7C,iDAAiD;AACjD,WAAW;AACX,6BAA6B;AAC7B,wBAAwB;AACxB,qBAAqB;AACrB,uBAAuB;AACvB,WAAW;AACX,+BAA+B;AAC/B,4BAA4B;AAC5B,yBAAyB;AACzB,WAAW;AACX,mBAAmB;AACnB,8BAA8B;AAC9B,8BAA8B;AAC9B,uBAAuB;AAEvB,4DAA4D;AAC5D,iCAAiC;AACjC,4DAA4D;AAC5D,6EAA6E;AAC7E,mEAAmE;AACnE,6EAA6E;AAC7E,MAAM;AACN,gBAAgB;AAChB,IAAI;AAEJ,kFAAkF;AAClF,iCAAiC;AACjC,kDAAkD;AAClD,+DAA+D;AAC/D,oDAAoD;AACpD,mEAAmE;AACnE,wEAAwE;AACxE,qEAAqE;AACrE,gEAAgE;AAChE,MAAM;AACN,gBAAgB;AAChB,IAAI;AAEJ,kFAAkF;AAClF,iCAAiC;AACjC,6DAA6D;AAC7D,6DAA6D;AAC7D,4DAA4D;AAC5D,4DAA4D;AAC5D,kDAAkD;AAClD,kFAAkF;AAClF,oCAAoC;AACpC,2EAA2E;AAC3E,mBAAmB;AACnB,YAAY;AACZ,eAAe;AACf,+EAA+E;AAC/E,QAAQ;AACR,sEAAsE;AACtE,4DAA4D;AAC5D,6BAA6B;AAC7B,6EAA6E;AAC7E,mBAAmB;AACnB,YAAY;AACZ,eAAe;AACf,0EAA0E;AAC1E,mBAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,MAAM;AACN,gBAAgB;AAChB,IAAI;AAEJ,oEAAoE;AACpE,sCAAsC;AACtC,iBAAiB;AACjB,yDAAyD;AACzD,wDAAwD;AACxD,sEAAsE;AACtE,MAAM;AAEN,4CAA4C;AAC5C,wBAAwB;AACxB,yDAAyD;AACzD,4DAA4D;AAC5D,qCAAqC;AACrC,uCAAuC;AACvC,gEAAgE;AAChE,IAAI","sourcesContent":["// import { Transaction } from \"@mysten/sui/transactions\";\n// import { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\n// import { depositAlphaTxb } from \"./alpha.js\";\n// import { naviDepositTx } from \"./navi.js\";\n// import { bucketDepositTx } from \"./bucket.js\";\n// import {\n// depositCetusAlphaSuiTxb,\n// depositCetusSuiTxb,\n// depositCetusTxb,\n// } from \"./cetus.js\";\n// import {\n// depositBluefinSuiFirstTxb,\n// depositBluefinType1Txb,\n// } from \"./bluefin.js\";\n// import {\n// DepositParams,\n// DoubleAssetDepositParams,\n// SingleAssetDepositParams,\n// } from \"./types.js\";\n\n// export async function depositTxb(params: DepositParams) {\n// let txb = new Transaction();\n// if (poolInfo[params.poolName].assetType.length === 1) {\n// txb = await depositSingleAssetTxb(params as SingleAssetDepositParams);\n// } else if (poolInfo[params.poolName].assetType.length === 1) {\n// txb = await depositDoubleAssetTxb(params as DoubleAssetDepositParams);\n// }\n// return txb;\n// }\n\n// export async function depositSingleAssetTxb(params: SingleAssetDepositParams) {\n// let txb = new Transaction();\n// const { poolName, address, amount } = params;\n// if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n// txb = await depositAlphaTxb(amount, address);\n// } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n// txb = await naviDepositTx(Number(amount), poolName, { address });\n// } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n// txb = await bucketDepositTx(Number(amount), { address });\n// }\n// return txb;\n// }\n\n// export async function depositDoubleAssetTxb(params: DoubleAssetDepositParams) {\n// let txb = new Transaction();\n// const { poolName, address, amount, isAmountA } = params;\n// if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n// const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n// const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n// if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n// txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n// } else if (coin2 === \"SUI\") {\n// txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n// address,\n// });\n// } else {\n// txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n// }\n// } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n// const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n// if (coin1 === \"SUI\") {\n// txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n// address,\n// });\n// } else {\n// txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n// address,\n// });\n// }\n// }\n// return txb;\n// }\n\n// function extractXTokensAmount(transaction: Transaction): string {\n// const inputWithPure = transaction\n// .getData()\n// .inputs.find((input) => input.Pure !== undefined);\n// if (!inputWithPure || !inputWithPure.Pure?.bytes) {\n// throw new Error(\"Unable to extract xTokensAmount from inputs\");\n// }\n\n// const bytes = inputWithPure.Pure.bytes;\n// console.log(bytes);\n// const parsedU128 = bcs.u128().parse(fromB64(bytes));\n// const parsedBytes = bcs.bytes(4).parse(fromB64(bytes));\n// console.log(\"u128\", parsedU128);\n// console.log(\"bytes\", parsedBytes);\n// return new BigNumber(toHEX(fromB64(bytes)), 16).toString();\n// }\n"]}
@@ -0,0 +1,14 @@
1
+ import { PoolName } from "../common/types.js";
2
+ export type DepositParams = SingleAssetDepositParams | DoubleAssetDepositParams;
3
+ export type SingleAssetDepositParams = {
4
+ poolName: PoolName;
5
+ address: string;
6
+ amount: string;
7
+ };
8
+ export type DoubleAssetDepositParams = {
9
+ poolName: PoolName;
10
+ address: string;
11
+ amount: string;
12
+ isAmountA: boolean;
13
+ };
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transactions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,MAAM,MAAM,aAAa,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;AAEhF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transactions/types.ts"],"names":[],"mappings":"","sourcesContent":["import { PoolName } from \"../common/types.js\";\n\n// deposit params\nexport type DepositParams = SingleAssetDepositParams | DoubleAssetDepositParams;\n\nexport type SingleAssetDepositParams = {\n poolName: PoolName;\n address: string;\n amount: string;\n};\n\nexport type DoubleAssetDepositParams = {\n poolName: PoolName;\n address: string;\n amount: string;\n isAmountA: boolean;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAkB9C,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,wBAmDhB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAmB9C,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,wBAyDhB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB"}