@alphafi/alphafi-sdk 0.0.67 → 0.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/dist/cjs/common/coins.js +1 -1
  2. package/dist/cjs/common/coins.js.map +1 -1
  3. package/dist/cjs/common/constants.d.ts +119 -0
  4. package/dist/cjs/common/constants.d.ts.map +1 -1
  5. package/dist/cjs/common/constants.js +133 -22
  6. package/dist/cjs/common/constants.js.map +1 -1
  7. package/dist/cjs/common/maps.d.ts +1 -0
  8. package/dist/cjs/common/maps.d.ts.map +1 -1
  9. package/dist/cjs/common/maps.js +84 -0
  10. package/dist/cjs/common/maps.js.map +1 -1
  11. package/dist/cjs/common/types.d.ts +1 -1
  12. package/dist/cjs/common/types.d.ts.map +1 -1
  13. package/dist/cjs/common/types.js.map +1 -1
  14. package/dist/cjs/index.d.ts +1 -0
  15. package/dist/cjs/index.d.ts.map +1 -1
  16. package/dist/cjs/index.js +3 -1
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts.map +1 -1
  19. package/dist/cjs/sui-sdk/transactions/fetchTransactions.js +21 -5
  20. package/dist/cjs/sui-sdk/transactions/fetchTransactions.js.map +1 -1
  21. package/dist/cjs/sui-sdk/transactions/types.d.ts +2 -1
  22. package/dist/cjs/sui-sdk/transactions/types.d.ts.map +1 -1
  23. package/dist/cjs/sui-sdk/transactions/types.js.map +1 -1
  24. package/dist/cjs/transactions/navi-looping.d.ts.map +1 -1
  25. package/dist/cjs/transactions/navi-looping.js +860 -73
  26. package/dist/cjs/transactions/navi-looping.js.map +1 -1
  27. package/dist/cjs/transactions/navi.d.ts.map +1 -1
  28. package/dist/cjs/transactions/navi.js +1552 -190
  29. package/dist/cjs/transactions/navi.js.map +1 -1
  30. package/dist/esm/common/coins.js +1 -1
  31. package/dist/esm/common/coins.js.map +1 -1
  32. package/dist/esm/common/constants.d.ts +119 -0
  33. package/dist/esm/common/constants.d.ts.map +1 -1
  34. package/dist/esm/common/constants.js +133 -22
  35. package/dist/esm/common/constants.js.map +1 -1
  36. package/dist/esm/common/maps.d.ts +1 -0
  37. package/dist/esm/common/maps.d.ts.map +1 -1
  38. package/dist/esm/common/maps.js +84 -0
  39. package/dist/esm/common/maps.js.map +1 -1
  40. package/dist/esm/common/types.d.ts +1 -1
  41. package/dist/esm/common/types.d.ts.map +1 -1
  42. package/dist/esm/common/types.js.map +1 -1
  43. package/dist/esm/index.d.ts +1 -0
  44. package/dist/esm/index.d.ts.map +1 -1
  45. package/dist/esm/index.js +1 -0
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts.map +1 -1
  48. package/dist/esm/sui-sdk/transactions/fetchTransactions.js +21 -5
  49. package/dist/esm/sui-sdk/transactions/fetchTransactions.js.map +1 -1
  50. package/dist/esm/sui-sdk/transactions/types.d.ts +2 -1
  51. package/dist/esm/sui-sdk/transactions/types.d.ts.map +1 -1
  52. package/dist/esm/sui-sdk/transactions/types.js.map +1 -1
  53. package/dist/esm/transactions/navi-looping.d.ts.map +1 -1
  54. package/dist/esm/transactions/navi-looping.js +861 -74
  55. package/dist/esm/transactions/navi-looping.js.map +1 -1
  56. package/dist/esm/transactions/navi.d.ts.map +1 -1
  57. package/dist/esm/transactions/navi.js +1553 -191
  58. package/dist/esm/transactions/navi.js.map +1 -1
  59. package/docs/assets/navigation.js +1 -1
  60. package/docs/assets/search.js +1 -1
  61. package/docs/functions/alphaLpBreakdown.html +1 -1
  62. package/docs/functions/cetusLpBreakdown.html +1 -1
  63. package/docs/functions/claimBlueRewardTxb.html +1 -1
  64. package/docs/functions/claimRewardTxb.html +1 -1
  65. package/docs/functions/coinAmountToXTokensDoubleAsset.html +1 -1
  66. package/docs/functions/coinAmountToXTokensSingleAsset.html +1 -1
  67. package/docs/functions/coinsInPool.html +1 -1
  68. package/docs/functions/collectRewards.html +1 -1
  69. package/docs/functions/deposit.html +1 -1
  70. package/docs/functions/depositDoubleAssetTxb.html +1 -1
  71. package/docs/functions/depositSingleAssetTxb.html +1 -1
  72. package/docs/functions/fetchAfterTransactionEvents.html +1 -1
  73. package/docs/functions/fetchAutoCompoundingEvents.html +1 -1
  74. package/docs/functions/fetchAutoCompoundingEventsGql.html +1 -1
  75. package/docs/functions/fetchCetusPools.html +1 -1
  76. package/docs/functions/fetchChainIdentifier.html +1 -1
  77. package/docs/functions/fetchCheckRatioEvents.html +1 -1
  78. package/docs/functions/fetchLiquidityChangeEvents.html +1 -1
  79. package/docs/functions/fetchMultiCategoryEvents.html +1 -1
  80. package/docs/functions/fetchMultiReceipts.html +1 -1
  81. package/docs/functions/fetchNftHolders.html +1 -1
  82. package/docs/functions/fetchPools.html +1 -1
  83. package/docs/functions/fetchPortfolioData.html +1 -1
  84. package/docs/functions/fetchProtocolData.html +1 -1
  85. package/docs/functions/fetchTVL.html +1 -1
  86. package/docs/functions/fetchTransactions.html +1 -0
  87. package/docs/functions/fetchUserVaultBalances.html +1 -1
  88. package/docs/functions/fetchUserVaults.html +1 -1
  89. package/docs/functions/fetchUserWalletData.html +1 -1
  90. package/docs/functions/fetchVoloExchangeRate.html +1 -1
  91. package/docs/functions/fetchWithdrawV2Events.html +1 -1
  92. package/docs/functions/getAirdropShare.html +1 -1
  93. package/docs/functions/getAllDoubleAssetVaults.html +1 -1
  94. package/docs/functions/getAllSingleAssetVaults.html +1 -1
  95. package/docs/functions/getAllVaultBalances.html +1 -1
  96. package/docs/functions/getAllVaults.html +1 -1
  97. package/docs/functions/getAlphaUnlocks.html +1 -1
  98. package/docs/functions/getAlphaVaultBalance.html +1 -1
  99. package/docs/functions/getAmounts.html +1 -1
  100. package/docs/functions/getApr.html +1 -1
  101. package/docs/functions/getAprs.html +1 -1
  102. package/docs/functions/getApy.html +1 -1
  103. package/docs/functions/getApys.html +1 -1
  104. package/docs/functions/getCetusInvestorTicksMap.html +1 -1
  105. package/docs/functions/getCetusPool.html +1 -1
  106. package/docs/functions/getCetusSqrtPriceMap.html +1 -1
  107. package/docs/functions/getCoinAmountsFromLiquidity.html +1 -1
  108. package/docs/functions/getConf.html +1 -1
  109. package/docs/functions/getCurrentTick.html +1 -1
  110. package/docs/functions/getDistributor.html +1 -1
  111. package/docs/functions/getDoubleAssetVaultBalance.html +1 -1
  112. package/docs/functions/getDoubleAssetVaults.html +1 -1
  113. package/docs/functions/getHoldersFromTransactions.html +1 -1
  114. package/docs/functions/getInvestor.html +1 -1
  115. package/docs/functions/getInvestorPoolMap.html +1 -1
  116. package/docs/functions/getLastAutoCompoundTime.html +1 -1
  117. package/docs/functions/getLatestPrices.html +1 -1
  118. package/docs/functions/getLiquidity.html +1 -1
  119. package/docs/functions/getMultiCetusPool.html +1 -1
  120. package/docs/functions/getMultiInvestor.html +1 -1
  121. package/docs/functions/getMultiLatestPrices.html +1 -1
  122. package/docs/functions/getMultiParentPool.html +1 -1
  123. package/docs/functions/getMultiPool.html +1 -1
  124. package/docs/functions/getMultiReceipts.html +1 -1
  125. package/docs/functions/getParentPool.html +1 -1
  126. package/docs/functions/getPool.html +1 -1
  127. package/docs/functions/getPoolExchangeRate.html +1 -1
  128. package/docs/functions/getPoolExchangeRateMap.html +1 -1
  129. package/docs/functions/getPoolsWeightDistribution.html +1 -1
  130. package/docs/functions/getPositionRange.html +1 -1
  131. package/docs/functions/getPositionRanges.html +1 -1
  132. package/docs/functions/getPositionTicks.html +1 -1
  133. package/docs/functions/getPriceToTick.html +1 -1
  134. package/docs/functions/getRebalanceHistories.html +1 -1
  135. package/docs/functions/getRebalanceHistory.html +1 -1
  136. package/docs/functions/getReceipts.html +1 -1
  137. package/docs/functions/getSingleAssetVaultBalance.html +1 -1
  138. package/docs/functions/getSingleAssetVaults.html +1 -1
  139. package/docs/functions/getSuiClient.html +2 -2
  140. package/docs/functions/getSuiNodeUrl.html +2 -2
  141. package/docs/functions/getTVLs-1.html +1 -1
  142. package/docs/functions/getTickSpacing.html +1 -1
  143. package/docs/functions/getTickToPrice.html +1 -1
  144. package/docs/functions/getTvls.html +1 -1
  145. package/docs/functions/getUserTokensFromTransactions.html +1 -1
  146. package/docs/functions/getUserTokensInUsdFromTransactions.html +1 -1
  147. package/docs/functions/getVaultBalance.html +1 -1
  148. package/docs/functions/getVaultBalanceForActiveUsers.html +1 -1
  149. package/docs/functions/getVaults.html +1 -1
  150. package/docs/functions/getXTokenVaultBalanceForActiveUsers.html +1 -1
  151. package/docs/functions/getZapAmounts.html +1 -1
  152. package/docs/functions/lastAutocompoundTime.html +1 -1
  153. package/docs/functions/liquidityToTokens.html +1 -1
  154. package/docs/functions/multiLiquidityToTokens.html +1 -1
  155. package/docs/functions/multiTokensToUsd.html +1 -1
  156. package/docs/functions/multiXTokensToLiquidity.html +1 -1
  157. package/docs/functions/parseUserWalletData.html +1 -1
  158. package/docs/functions/pendingBlueRewardAmount.html +1 -1
  159. package/docs/functions/setCustomSuiClient.html +2 -2
  160. package/docs/functions/setSuiClient.html +2 -2
  161. package/docs/functions/setSuiNodeUrl.html +2 -2
  162. package/docs/functions/setWeights.html +1 -1
  163. package/docs/functions/withdraw.html +1 -1
  164. package/docs/functions/withdrawAlphaTxb.html +1 -1
  165. package/docs/functions/withdrawTxb.html +1 -1
  166. package/docs/functions/zapDepositTxb.html +1 -1
  167. package/docs/index.html +2 -2
  168. package/docs/interfaces/Coin.html +6 -6
  169. package/docs/interfaces/CoinPair.html +2 -2
  170. package/docs/interfaces/NaviVoloData.html +2 -2
  171. package/docs/interfaces/PoolData.html +2 -2
  172. package/docs/interfaces/PoolWeightDistribution.html +2 -2
  173. package/docs/interfaces/RebalanceHistoryType.html +2 -2
  174. package/docs/modules.html +3 -2
  175. package/docs/types/AfterTransactionEventNode.html +1 -1
  176. package/docs/types/Allocator.html +1 -1
  177. package/docs/types/AlphaFiDoubleAssetVault.html +1 -1
  178. package/docs/types/AlphaFiMultiVaultBalance.html +1 -1
  179. package/docs/types/AlphaFiSingleAssetVault.html +1 -1
  180. package/docs/types/AlphaFiVault.html +1 -1
  181. package/docs/types/AlphaFiVaultBalance.html +1 -1
  182. package/docs/types/AlphaPoolType.html +1 -1
  183. package/docs/types/AlphaReceipt.html +1 -1
  184. package/docs/types/AlphaReceiptFields.html +1 -1
  185. package/docs/types/AlphaVaultBalance.html +1 -1
  186. package/docs/types/AutoBalancePoolNames.html +1 -1
  187. package/docs/types/AutoCompoundingEventNode.html +1 -1
  188. package/docs/types/BluefinInvestor.html +1 -1
  189. package/docs/types/BluefinPoolType.html +1 -1
  190. package/docs/types/BucketInvestor.html +1 -1
  191. package/docs/types/CetusInvestor.html +1 -1
  192. package/docs/types/CetusPoolType.html +1 -1
  193. package/docs/types/CetusSwapOptions.html +1 -1
  194. package/docs/types/CoinAmounts.html +1 -1
  195. package/docs/types/CoinName.html +1 -1
  196. package/docs/types/CoinType.html +1 -1
  197. package/docs/types/CommonInvestorFields.html +1 -1
  198. package/docs/types/CreatePoolOptions.html +1 -1
  199. package/docs/types/Distributor.html +1 -1
  200. package/docs/types/DoubleAssetMultiVaultBalance.html +1 -1
  201. package/docs/types/DoubleAssetPoolNames.html +1 -1
  202. package/docs/types/DoubleAssetTokenHoldings.html +1 -1
  203. package/docs/types/DoubleAssetVaultBalance.html +1 -1
  204. package/docs/types/EventCategory.html +1 -1
  205. package/docs/types/EventNode.html +1 -1
  206. package/docs/types/GetHoldersParams.html +1 -1
  207. package/docs/types/GetTokenHoldingsParams.html +1 -1
  208. package/docs/types/GetUserTokensFromTransactionsParams.html +1 -1
  209. package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +1 -1
  210. package/docs/types/GetVaultBalanceForActiveUsersParams.html +1 -1
  211. package/docs/types/GetVaultBalanceParams.html +1 -1
  212. package/docs/types/HoldingsObj.html +1 -1
  213. package/docs/types/Icon.html +1 -1
  214. package/docs/types/Investor.html +1 -1
  215. package/docs/types/LiquidityChangeEventNode.html +1 -1
  216. package/docs/types/LiquidityToTokensParams.html +1 -1
  217. package/docs/types/LiquidityToUsdParams.html +1 -1
  218. package/docs/types/LoopingDebt.html +1 -1
  219. package/docs/types/LoopingPoolNames.html +1 -1
  220. package/docs/types/LpBreakdownType.html +1 -1
  221. package/docs/types/MemberPoolDataType.html +1 -1
  222. package/docs/types/MemberType.html +1 -1
  223. package/docs/types/MultiGetVaultBalancesParams.html +1 -1
  224. package/docs/types/NaviInvestor.html +1 -1
  225. package/docs/types/OtherReceiptFields.html +1 -1
  226. package/docs/types/PoolName.html +1 -1
  227. package/docs/types/PoolReceipt.html +1 -1
  228. package/docs/types/PoolType.html +1 -1
  229. package/docs/types/Receipt.html +1 -1
  230. package/docs/types/ReceiptGQL.html +1 -1
  231. package/docs/types/SingleAssetMultiVaultBalance.html +1 -1
  232. package/docs/types/SingleAssetPoolNames.html +1 -1
  233. package/docs/types/SingleAssetTokenHoldings.html +1 -1
  234. package/docs/types/SingleAssetVaultBalance.html +1 -1
  235. package/docs/types/SingleGetVaultBalancesParams.html +1 -1
  236. package/docs/types/StrategyType.html +1 -1
  237. package/docs/types/SuiNetwork.html +1 -1
  238. package/docs/types/SwapOptions.html +1 -1
  239. package/docs/types/TickSpacing.html +1 -1
  240. package/docs/types/TotalWeightType.html +1 -1
  241. package/docs/types/TransactionBlockType.html +1 -1
  242. package/docs/types/UserPoolLiquidity.html +1 -1
  243. package/docs/types/UserPoolTokenHoldings.html +1 -1
  244. package/docs/types/UserUsdHoldings.html +1 -1
  245. package/docs/types/VaultBalance.html +1 -1
  246. package/docs/types/WithdrawV2EventNode.html +1 -1
  247. package/docs/variables/bluefinPoolMap.html +1 -1
  248. package/docs/variables/cetusPoolMap.html +1 -1
  249. package/docs/variables/coinsList.html +1 -1
  250. package/docs/variables/defunctPoolsSet.html +1 -1
  251. package/docs/variables/doubleAssetPoolCoinMap.html +1 -1
  252. package/docs/variables/eventCategories.html +1 -1
  253. package/docs/variables/ignoredWalletsForDailyRevenue.html +1 -1
  254. package/docs/variables/loopingAccountAddresses.html +1 -1
  255. package/docs/variables/loopingPoolCoinMap.html +1 -1
  256. package/docs/variables/naviAssetMap.html +1 -1
  257. package/docs/variables/poolIdPoolNameMap.html +1 -1
  258. package/docs/variables/poolInfo.html +1 -1
  259. package/docs/variables/singleAssetPoolCoinMap.html +1 -1
  260. package/docs/variables/stableCoins.html +1 -1
  261. package/package.json +6 -4
@@ -9,6 +9,8 @@ const getReceipts_js_1 = require("../sui-sdk/functions/getReceipts.js");
9
9
  const constants_js_1 = require("../common/constants.js");
10
10
  const client_js_1 = require("../sui-sdk/client.js");
11
11
  const naviOracle_js_1 = require("./naviOracle.js");
12
+ const V3_js_1 = require("navi-sdk/dist/libs/PTB/V3.js");
13
+ // import { getAvailableRewards } from "navi-sdk";
12
14
  async function naviDepositTx(amount, poolName, options) {
13
15
  const C = (0, constants_js_1.getConf)();
14
16
  const suiClient = (0, client_js_1.getSuiClient)();
@@ -35,12 +37,56 @@ async function naviDepositTx(amount, poolName, options) {
35
37
  });
36
38
  }
37
39
  const [depositCoin] = txb.splitCoins(txb.gas, [amount]);
40
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_SUI_ACCOUNT_ADDRESS);
41
+ if (claimableRewards) {
42
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
43
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
44
+ : []) {
45
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
46
+ txb.moveCall({
47
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_one_swap`,
48
+ typeArguments: [
49
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
50
+ coins_js_1.coinsList["NAVX"].type,
51
+ ],
52
+ arguments: [
53
+ txb.object(poolData.investorId),
54
+ txb.object(C.VERSION),
55
+ txb.object(C.CLOCK_PACKAGE_ID),
56
+ txb.object(C.NAVI_STORAGE),
57
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
58
+ txb.object(C.NAVI_INCENTIVE_V3),
59
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
60
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
61
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
62
+ ],
63
+ });
64
+ }
65
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
66
+ txb.moveCall({
67
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_one_swap`,
68
+ typeArguments: [
69
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
70
+ coins_js_1.coinsList["VSUI"].type,
71
+ ],
72
+ arguments: [
73
+ txb.object(poolData.investorId),
74
+ txb.object(C.VERSION),
75
+ txb.object(C.CLOCK_PACKAGE_ID),
76
+ txb.object(C.NAVI_STORAGE),
77
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
78
+ txb.object(C.NAVI_INCENTIVE_V3),
79
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
80
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
81
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
82
+ ],
83
+ });
84
+ }
85
+ }
86
+ }
38
87
  txb.moveCall({
39
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_one_swap`,
40
- typeArguments: [
41
- coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
42
- coins_js_1.coinsList["VSUI"].type,
43
- ],
88
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit`,
89
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
44
90
  arguments: [
45
91
  txb.object(C.VERSION),
46
92
  someReceipt,
@@ -52,11 +98,8 @@ async function naviDepositTx(amount, poolName, options) {
52
98
  txb.object(C.NAVI_STORAGE),
53
99
  txb.object(poolData.parentPoolId),
54
100
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
55
- txb.object(C.NAVI_INCENTIVE_V1),
101
+ txb.object(C.NAVI_INCENTIVE_V3),
56
102
  txb.object(C.NAVI_INCENTIVE_V2),
57
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
58
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
59
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
60
103
  txb.object(C.CLOCK_PACKAGE_ID),
61
104
  ],
62
105
  });
@@ -101,12 +144,56 @@ async function naviDepositTx(amount, poolName, options) {
101
144
  });
102
145
  }
103
146
  if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "VSUI") {
147
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_VSUI_ACCOUNT_ADDRESS);
148
+ if (claimableRewards) {
149
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
150
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
151
+ : []) {
152
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
153
+ txb.moveCall({
154
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_two_swaps`,
155
+ typeArguments: [
156
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
157
+ coins_js_1.coinsList["SUI"].type,
158
+ coins_js_1.coinsList["NAVX"].type,
159
+ ],
160
+ arguments: [
161
+ txb.object(poolData.investorId),
162
+ txb.object(C.VERSION),
163
+ txb.object(C.CLOCK_PACKAGE_ID),
164
+ txb.object(C.NAVI_STORAGE),
165
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
166
+ txb.object(C.NAVI_INCENTIVE_V3),
167
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
168
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
169
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
170
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
171
+ ],
172
+ });
173
+ }
174
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
175
+ txb.moveCall({
176
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_no_swap`,
177
+ typeArguments: [
178
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
179
+ ],
180
+ arguments: [
181
+ txb.object(poolData.investorId),
182
+ txb.object(C.VERSION),
183
+ txb.object(C.CLOCK_PACKAGE_ID),
184
+ txb.object(C.NAVI_STORAGE),
185
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
186
+ txb.object(C.NAVI_INCENTIVE_V3),
187
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
188
+ ],
189
+ });
190
+ }
191
+ }
192
+ }
104
193
  txb.moveCall({
105
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_two_swaps`,
194
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit`,
106
195
  typeArguments: [
107
196
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
108
- coins_js_1.coinsList["SUI"].type,
109
- coins_js_1.coinsList["NAVX"].type,
110
197
  ],
111
198
  arguments: [
112
199
  txb.object(C.VERSION),
@@ -119,26 +206,73 @@ async function naviDepositTx(amount, poolName, options) {
119
206
  txb.object(C.NAVI_STORAGE),
120
207
  txb.object(poolData.parentPoolId),
121
208
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
122
- txb.object(C.NAVI_INCENTIVE_V1),
209
+ txb.object(C.NAVI_INCENTIVE_V3),
123
210
  txb.object(C.NAVI_INCENTIVE_V2),
124
- txb.object(C.NAVI_NAVX_FUNDS_POOL),
125
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
126
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
127
- txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
128
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
129
211
  txb.object(C.CLOCK_PACKAGE_ID),
130
212
  ],
131
213
  });
132
214
  }
133
215
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "WETH" ||
134
216
  maps_js_1.singleAssetPoolCoinMap[poolName].coin == "USDT") {
217
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
218
+ if (claimableRewards) {
219
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
220
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
221
+ : []) {
222
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
223
+ txb.moveCall({
224
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
225
+ typeArguments: [
226
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
227
+ coins_js_1.coinsList["WUSDC"].type,
228
+ coins_js_1.coinsList["SUI"].type,
229
+ coins_js_1.coinsList["NAVX"].type,
230
+ ],
231
+ arguments: [
232
+ txb.object(poolData.investorId),
233
+ txb.object(C.VERSION),
234
+ txb.object(C.CLOCK_PACKAGE_ID),
235
+ txb.object(C.NAVI_STORAGE),
236
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
237
+ txb.object(C.NAVI_INCENTIVE_V3),
238
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
239
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
240
+ txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
241
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
242
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
243
+ ],
244
+ });
245
+ }
246
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
247
+ txb.moveCall({
248
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
249
+ typeArguments: [
250
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
251
+ coins_js_1.coinsList["WUSDC"].type,
252
+ coins_js_1.coinsList["SUI"].type,
253
+ coins_js_1.coinsList["VSUI"].type,
254
+ ],
255
+ arguments: [
256
+ txb.object(poolData.investorId),
257
+ txb.object(C.VERSION),
258
+ txb.object(C.CLOCK_PACKAGE_ID),
259
+ txb.object(C.NAVI_STORAGE),
260
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
261
+ txb.object(C.NAVI_INCENTIVE_V3),
262
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
263
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
264
+ txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
265
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
266
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
267
+ ],
268
+ });
269
+ }
270
+ }
271
+ }
135
272
  txb.moveCall({
136
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,
273
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit`,
137
274
  typeArguments: [
138
275
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
139
- coins_js_1.coinsList["WUSDC"].type,
140
- coins_js_1.coinsList["SUI"].type,
141
- coins_js_1.coinsList["VSUI"].type,
142
276
  ],
143
277
  arguments: [
144
278
  txb.object(C.VERSION),
@@ -151,25 +285,72 @@ async function naviDepositTx(amount, poolName, options) {
151
285
  txb.object(C.NAVI_STORAGE),
152
286
  txb.object(poolData.parentPoolId),
153
287
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
154
- txb.object(C.NAVI_INCENTIVE_V1),
288
+ txb.object(C.NAVI_INCENTIVE_V3),
155
289
  txb.object(C.NAVI_INCENTIVE_V2),
156
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
157
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
158
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
159
- txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
160
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
161
290
  txb.object(C.CLOCK_PACKAGE_ID),
162
291
  ],
163
292
  });
164
293
  }
165
294
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "WUSDC") {
295
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
296
+ if (claimableRewards) {
297
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
298
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
299
+ : []) {
300
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
301
+ txb.moveCall({
302
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
303
+ typeArguments: [
304
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
305
+ coins_js_1.coinsList["CETUS"].type,
306
+ coins_js_1.coinsList["SUI"].type,
307
+ coins_js_1.coinsList["NAVX"].type,
308
+ ],
309
+ arguments: [
310
+ txb.object(poolData.investorId),
311
+ txb.object(C.VERSION),
312
+ txb.object(C.CLOCK_PACKAGE_ID),
313
+ txb.object(C.NAVI_STORAGE),
314
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
315
+ txb.object(C.NAVI_INCENTIVE_V3),
316
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
317
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
318
+ txb.object(maps_js_1.cetusPoolMap["CETUS-SUI"]),
319
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-CETUS`]),
320
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
321
+ ],
322
+ });
323
+ }
324
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
325
+ txb.moveCall({
326
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
327
+ typeArguments: [
328
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
329
+ coins_js_1.coinsList["CETUS"].type,
330
+ coins_js_1.coinsList["SUI"].type,
331
+ coins_js_1.coinsList["VSUI"].type,
332
+ ],
333
+ arguments: [
334
+ txb.object(poolData.investorId),
335
+ txb.object(C.VERSION),
336
+ txb.object(C.CLOCK_PACKAGE_ID),
337
+ txb.object(C.NAVI_STORAGE),
338
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
339
+ txb.object(C.NAVI_INCENTIVE_V3),
340
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
341
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
342
+ txb.object(maps_js_1.cetusPoolMap["CETUS-SUI"]),
343
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-CETUS`]),
344
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
345
+ ],
346
+ });
347
+ }
348
+ }
349
+ }
166
350
  txb.moveCall({
167
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,
351
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit`,
168
352
  typeArguments: [
169
353
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
170
- coins_js_1.coinsList["CETUS"].type,
171
- coins_js_1.coinsList["SUI"].type,
172
- coins_js_1.coinsList["VSUI"].type,
173
354
  ],
174
355
  arguments: [
175
356
  txb.object(C.VERSION),
@@ -182,25 +363,72 @@ async function naviDepositTx(amount, poolName, options) {
182
363
  txb.object(C.NAVI_STORAGE),
183
364
  txb.object(poolData.parentPoolId),
184
365
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
185
- txb.object(C.NAVI_INCENTIVE_V1),
366
+ txb.object(C.NAVI_INCENTIVE_V3),
186
367
  txb.object(C.NAVI_INCENTIVE_V2),
187
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
188
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
189
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
190
- txb.object(maps_js_1.cetusPoolMap["CETUS-SUI"]),
191
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-CETUS`]),
192
368
  txb.object(C.CLOCK_PACKAGE_ID),
193
369
  ],
194
370
  });
195
371
  }
196
372
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "USDC") {
373
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
374
+ if (claimableRewards) {
375
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
376
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
377
+ : []) {
378
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
379
+ txb.moveCall({
380
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
381
+ typeArguments: [
382
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
383
+ coins_js_1.coinsList["BUCK"].type,
384
+ coins_js_1.coinsList["SUI"].type,
385
+ coins_js_1.coinsList["NAVX"].type,
386
+ ],
387
+ arguments: [
388
+ txb.object(poolData.investorId),
389
+ txb.object(C.VERSION),
390
+ txb.object(C.CLOCK_PACKAGE_ID),
391
+ txb.object(C.NAVI_STORAGE),
392
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
393
+ txb.object(C.NAVI_INCENTIVE_V3),
394
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
395
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
396
+ txb.object(maps_js_1.cetusPoolMap["BUCK-SUI"]),
397
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-BUCK`]),
398
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
399
+ ],
400
+ });
401
+ }
402
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
403
+ txb.moveCall({
404
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
405
+ typeArguments: [
406
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
407
+ coins_js_1.coinsList["BUCK"].type,
408
+ coins_js_1.coinsList["SUI"].type,
409
+ coins_js_1.coinsList["VSUI"].type,
410
+ ],
411
+ arguments: [
412
+ txb.object(poolData.investorId),
413
+ txb.object(C.VERSION),
414
+ txb.object(C.CLOCK_PACKAGE_ID),
415
+ txb.object(C.NAVI_STORAGE),
416
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
417
+ txb.object(C.NAVI_INCENTIVE_V3),
418
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
419
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
420
+ txb.object(maps_js_1.cetusPoolMap["BUCK-SUI"]),
421
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-BUCK`]),
422
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
423
+ ],
424
+ });
425
+ }
426
+ }
427
+ }
197
428
  txb.moveCall({
198
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,
429
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit`,
199
430
  typeArguments: [
200
431
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
201
- coins_js_1.coinsList["BUCK"].type,
202
- coins_js_1.coinsList["SUI"].type,
203
- coins_js_1.coinsList["VSUI"].type,
204
432
  ],
205
433
  arguments: [
206
434
  txb.object(C.VERSION),
@@ -213,25 +441,72 @@ async function naviDepositTx(amount, poolName, options) {
213
441
  txb.object(C.NAVI_STORAGE),
214
442
  txb.object(poolData.parentPoolId),
215
443
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
216
- txb.object(C.NAVI_INCENTIVE_V1),
444
+ txb.object(C.NAVI_INCENTIVE_V3),
217
445
  txb.object(C.NAVI_INCENTIVE_V2),
218
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
219
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
220
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
221
- txb.object(maps_js_1.cetusPoolMap["BUCK-SUI"]),
222
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-BUCK`]),
223
446
  txb.object(C.CLOCK_PACKAGE_ID),
224
447
  ],
225
448
  });
226
449
  }
227
450
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "USDY") {
451
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
452
+ if (claimableRewards) {
453
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
454
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
455
+ : []) {
456
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
457
+ txb.moveCall({
458
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
459
+ typeArguments: [
460
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
461
+ coins_js_1.coinsList["WUSDC"].type,
462
+ coins_js_1.coinsList["SUI"].type,
463
+ coins_js_1.coinsList["NAVX"].type,
464
+ ],
465
+ arguments: [
466
+ txb.object(poolData.investorId),
467
+ txb.object(C.VERSION),
468
+ txb.object(C.CLOCK_PACKAGE_ID),
469
+ txb.object(C.NAVI_STORAGE),
470
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
471
+ txb.object(C.NAVI_INCENTIVE_V3),
472
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
473
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
474
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
475
+ txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
476
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
477
+ ],
478
+ });
479
+ }
480
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
481
+ txb.moveCall({
482
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::collect_v3_rewards_with_three_swaps`,
483
+ typeArguments: [
484
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
485
+ coins_js_1.coinsList["WUSDC"].type,
486
+ coins_js_1.coinsList["SUI"].type,
487
+ coins_js_1.coinsList["VSUI"].type,
488
+ ],
489
+ arguments: [
490
+ txb.object(poolData.investorId),
491
+ txb.object(C.VERSION),
492
+ txb.object(C.CLOCK_PACKAGE_ID),
493
+ txb.object(C.NAVI_STORAGE),
494
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
495
+ txb.object(C.NAVI_INCENTIVE_V3),
496
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
497
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
498
+ txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
499
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
500
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
501
+ ],
502
+ });
503
+ }
504
+ }
505
+ }
228
506
  txb.moveCall({
229
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,
507
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit`,
230
508
  typeArguments: [
231
509
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
232
- coins_js_1.coinsList["WUSDC"].type,
233
- coins_js_1.coinsList["SUI"].type,
234
- coins_js_1.coinsList["VSUI"].type,
235
510
  ],
236
511
  arguments: [
237
512
  txb.object(C.VERSION),
@@ -246,19 +521,58 @@ async function naviDepositTx(amount, poolName, options) {
246
521
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
247
522
  txb.object(C.NAVI_INCENTIVE_V1),
248
523
  txb.object(C.NAVI_INCENTIVE_V2),
249
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
250
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
251
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
252
- txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
253
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
254
524
  txb.object(C.CLOCK_PACKAGE_ID),
255
525
  ],
256
526
  });
257
527
  }
258
528
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "AUSD" ||
259
529
  maps_js_1.singleAssetPoolCoinMap[poolName].coin == "ETH") {
530
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
531
+ if (claimableRewards) {
532
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
533
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
534
+ txb.moveCall({
535
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
536
+ typeArguments: [
537
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
538
+ ],
539
+ arguments: [
540
+ txb.object(C.ALPHA_3_VERSION),
541
+ txb.object(poolData.investorId),
542
+ txb.object(C.NAVI_STORAGE),
543
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
544
+ txb.object(C.NAVI_INCENTIVE_V3),
545
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
546
+ txb.object(C.CLOCK_PACKAGE_ID),
547
+ ],
548
+ });
549
+ }
550
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
551
+ txb.moveCall({
552
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
553
+ typeArguments: [
554
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
555
+ coins_js_1.coinsList["SUI"].type,
556
+ coins_js_1.coinsList["VSUI"].type,
557
+ ],
558
+ arguments: [
559
+ txb.object(C.ALPHA_3_VERSION),
560
+ txb.object(poolData.investorId),
561
+ txb.object(C.NAVI_STORAGE),
562
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
563
+ txb.object(C.NAVI_INCENTIVE_V3),
564
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
565
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
566
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
567
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
568
+ txb.object(C.CLOCK_PACKAGE_ID),
569
+ ],
570
+ });
571
+ }
572
+ }
573
+ }
260
574
  txb.moveCall({
261
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_with_three_swaps`,
575
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_three_swaps`,
262
576
  typeArguments: [
263
577
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
264
578
  coins_js_1.coinsList["USDC"].type,
@@ -267,10 +581,7 @@ async function naviDepositTx(amount, poolName, options) {
267
581
  ],
268
582
  arguments: [
269
583
  txb.object(C.ALPHA_3_VERSION),
270
- txb.object(C.VERSION),
271
- someReceipt,
272
584
  txb.object(poolData.poolId),
273
- depositCoin,
274
585
  txb.object(poolData.investorId),
275
586
  txb.object(C.ALPHA_DISTRIBUTOR),
276
587
  txb.object(C.PRICE_ORACLE),
@@ -287,10 +598,118 @@ async function naviDepositTx(amount, poolName, options) {
287
598
  txb.object(C.CLOCK_PACKAGE_ID),
288
599
  ],
289
600
  });
601
+ txb.moveCall({
602
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit`,
603
+ typeArguments: [
604
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
605
+ ],
606
+ arguments: [
607
+ txb.object(C.ALPHA_3_VERSION),
608
+ txb.object(C.VERSION),
609
+ someReceipt,
610
+ txb.object(poolData.poolId),
611
+ depositCoin,
612
+ txb.object(poolData.investorId),
613
+ txb.object(C.ALPHA_DISTRIBUTOR),
614
+ txb.object(C.PRICE_ORACLE),
615
+ txb.object(C.NAVI_STORAGE),
616
+ txb.object(poolData.parentPoolId),
617
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
618
+ txb.object(C.NAVI_INCENTIVE_V3),
619
+ txb.object(C.NAVI_INCENTIVE_V2),
620
+ txb.object(C.CLOCK_PACKAGE_ID),
621
+ ],
622
+ });
290
623
  }
291
624
  else if (poolName === "NAVI-NS") {
625
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_NS_ACCOUNT_ADDRESS);
626
+ if (claimableRewards) {
627
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
628
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
629
+ txb.moveCall({
630
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
631
+ typeArguments: [
632
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
633
+ coins_js_1.coinsList["NAVX"].type,
634
+ ],
635
+ arguments: [
636
+ txb.object(C.ALPHA_3_VERSION),
637
+ txb.object(poolData.investorId),
638
+ txb.object(C.NAVI_STORAGE),
639
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
640
+ txb.object(C.NAVI_INCENTIVE_V3),
641
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
642
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
643
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
644
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
645
+ txb.object(C.CLOCK_PACKAGE_ID),
646
+ ],
647
+ });
648
+ }
649
+ else if (reward.reward_coin_type === coins_js_1.coinsList["DEEP"].type.substring(2)) {
650
+ txb.moveCall({
651
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
652
+ typeArguments: [
653
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
654
+ coins_js_1.coinsList["DEEP"].type,
655
+ ],
656
+ arguments: [
657
+ txb.object(C.ALPHA_3_VERSION),
658
+ txb.object(poolData.investorId),
659
+ txb.object(C.NAVI_STORAGE),
660
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
661
+ txb.object(C.NAVI_INCENTIVE_V3),
662
+ txb.object(C.NAVI_DEEP_REWARDS_POOL),
663
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
664
+ txb.object(maps_js_1.cetusPoolMap["DEEP-SUI"]),
665
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
666
+ txb.object(C.CLOCK_PACKAGE_ID),
667
+ ],
668
+ });
669
+ }
670
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
671
+ txb.moveCall({
672
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
673
+ typeArguments: [
674
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
675
+ coins_js_1.coinsList["SUI"].type,
676
+ coins_js_1.coinsList["VSUI"].type,
677
+ ],
678
+ arguments: [
679
+ txb.object(C.ALPHA_3_VERSION),
680
+ txb.object(poolData.investorId),
681
+ txb.object(C.NAVI_STORAGE),
682
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
683
+ txb.object(C.NAVI_INCENTIVE_V3),
684
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
685
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
686
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
687
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
688
+ txb.object(C.CLOCK_PACKAGE_ID),
689
+ ],
690
+ });
691
+ }
692
+ else if (reward.reward_coin_type === coins_js_1.coinsList["NS"].type.substring(2)) {
693
+ txb.moveCall({
694
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
695
+ typeArguments: [
696
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
697
+ ],
698
+ arguments: [
699
+ txb.object(C.ALPHA_3_VERSION),
700
+ txb.object(poolData.investorId),
701
+ txb.object(C.NAVI_STORAGE),
702
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
703
+ txb.object(C.NAVI_INCENTIVE_V3),
704
+ txb.object(C.NAVI_NS_REWARDS_POOL),
705
+ txb.object(C.CLOCK_PACKAGE_ID),
706
+ ],
707
+ });
708
+ }
709
+ }
710
+ }
292
711
  txb.moveCall({
293
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_with_two_swaps_v2`,
712
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_two_swaps_v2`,
294
713
  typeArguments: [
295
714
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
296
715
  coins_js_1.coinsList["SUI"].type,
@@ -298,10 +717,7 @@ async function naviDepositTx(amount, poolName, options) {
298
717
  ],
299
718
  arguments: [
300
719
  txb.object(C.ALPHA_3_VERSION),
301
- txb.object(C.VERSION),
302
- someReceipt,
303
720
  txb.object(poolData.poolId),
304
- depositCoin,
305
721
  txb.object(poolData.investorId),
306
722
  txb.object(C.ALPHA_DISTRIBUTOR),
307
723
  txb.object(C.PRICE_ORACLE),
@@ -318,10 +734,76 @@ async function naviDepositTx(amount, poolName, options) {
318
734
  txb.object(C.CLOCK_PACKAGE_ID),
319
735
  ],
320
736
  });
737
+ txb.moveCall({
738
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit`,
739
+ typeArguments: [
740
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
741
+ ],
742
+ arguments: [
743
+ txb.object(C.ALPHA_3_VERSION),
744
+ txb.object(C.VERSION),
745
+ someReceipt,
746
+ txb.object(poolData.poolId),
747
+ depositCoin,
748
+ txb.object(poolData.investorId),
749
+ txb.object(C.ALPHA_DISTRIBUTOR),
750
+ txb.object(C.PRICE_ORACLE),
751
+ txb.object(C.NAVI_STORAGE),
752
+ txb.object(poolData.parentPoolId),
753
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
754
+ txb.object(C.NAVI_INCENTIVE_V3),
755
+ txb.object(C.NAVI_INCENTIVE_V2),
756
+ txb.object(C.CLOCK_PACKAGE_ID),
757
+ ],
758
+ });
321
759
  }
322
760
  else if (poolName === "NAVI-NAVX") {
761
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_NAVX_ACCOUNT_ADDRESS);
762
+ if (claimableRewards) {
763
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
764
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
765
+ txb.moveCall({
766
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
767
+ typeArguments: [
768
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
769
+ ],
770
+ arguments: [
771
+ txb.object(C.ALPHA_3_VERSION),
772
+ txb.object(poolData.investorId),
773
+ txb.object(C.NAVI_STORAGE),
774
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
775
+ txb.object(C.NAVI_INCENTIVE_V3),
776
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
777
+ txb.object(C.CLOCK_PACKAGE_ID),
778
+ ],
779
+ });
780
+ }
781
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
782
+ txb.moveCall({
783
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
784
+ typeArguments: [
785
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
786
+ coins_js_1.coinsList["SUI"].type,
787
+ coins_js_1.coinsList["VSUI"].type,
788
+ ],
789
+ arguments: [
790
+ txb.object(C.ALPHA_3_VERSION),
791
+ txb.object(poolData.investorId),
792
+ txb.object(C.NAVI_STORAGE),
793
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
794
+ txb.object(C.NAVI_INCENTIVE_V3),
795
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
796
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
797
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
798
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
799
+ txb.object(C.CLOCK_PACKAGE_ID),
800
+ ],
801
+ });
802
+ }
803
+ }
804
+ }
323
805
  txb.moveCall({
324
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_with_two_swaps_v2`,
806
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_two_swaps_v2`,
325
807
  typeArguments: [
326
808
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
327
809
  coins_js_1.coinsList["SUI"].type,
@@ -329,10 +811,7 @@ async function naviDepositTx(amount, poolName, options) {
329
811
  ],
330
812
  arguments: [
331
813
  txb.object(C.ALPHA_3_VERSION),
332
- txb.object(C.VERSION),
333
- someReceipt,
334
814
  txb.object(poolData.poolId),
335
- depositCoin,
336
815
  txb.object(poolData.investorId),
337
816
  txb.object(C.ALPHA_DISTRIBUTOR),
338
817
  txb.object(C.PRICE_ORACLE),
@@ -349,10 +828,76 @@ async function naviDepositTx(amount, poolName, options) {
349
828
  txb.object(C.CLOCK_PACKAGE_ID),
350
829
  ],
351
830
  });
831
+ txb.moveCall({
832
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit`,
833
+ typeArguments: [
834
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
835
+ ],
836
+ arguments: [
837
+ txb.object(C.ALPHA_3_VERSION),
838
+ txb.object(C.VERSION),
839
+ someReceipt,
840
+ txb.object(poolData.poolId),
841
+ depositCoin,
842
+ txb.object(poolData.investorId),
843
+ txb.object(C.ALPHA_DISTRIBUTOR),
844
+ txb.object(C.PRICE_ORACLE),
845
+ txb.object(C.NAVI_STORAGE),
846
+ txb.object(poolData.parentPoolId),
847
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
848
+ txb.object(C.NAVI_INCENTIVE_V3),
849
+ txb.object(C.NAVI_INCENTIVE_V2),
850
+ txb.object(C.CLOCK_PACKAGE_ID),
851
+ ],
852
+ });
352
853
  }
353
854
  else if (poolName === "NAVI-STSUI") {
855
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_STSUI_ACCOUNT_ADDRESS);
856
+ if (claimableRewards) {
857
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
858
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
859
+ txb.moveCall({
860
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
861
+ typeArguments: [
862
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
863
+ ],
864
+ arguments: [
865
+ txb.object(C.ALPHA_3_VERSION),
866
+ txb.object(poolData.investorId),
867
+ txb.object(C.NAVI_STORAGE),
868
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
869
+ txb.object(C.NAVI_INCENTIVE_V3),
870
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
871
+ txb.object(C.CLOCK_PACKAGE_ID),
872
+ ],
873
+ });
874
+ }
875
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
876
+ txb.moveCall({
877
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
878
+ typeArguments: [
879
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
880
+ coins_js_1.coinsList["SUI"].type,
881
+ coins_js_1.coinsList["VSUI"].type,
882
+ ],
883
+ arguments: [
884
+ txb.object(C.ALPHA_3_VERSION),
885
+ txb.object(poolData.investorId),
886
+ txb.object(C.NAVI_STORAGE),
887
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
888
+ txb.object(C.NAVI_INCENTIVE_V3),
889
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
890
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
891
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
892
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
893
+ txb.object(C.CLOCK_PACKAGE_ID),
894
+ ],
895
+ });
896
+ }
897
+ }
898
+ }
354
899
  txb.moveCall({
355
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_with_two_swaps_v2`,
900
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_two_swaps_v2`,
356
901
  typeArguments: [
357
902
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
358
903
  coins_js_1.coinsList["SUI"].type,
@@ -360,10 +905,7 @@ async function naviDepositTx(amount, poolName, options) {
360
905
  ],
361
906
  arguments: [
362
907
  txb.object(C.ALPHA_3_VERSION),
363
- txb.object(C.VERSION),
364
- someReceipt,
365
908
  txb.object(poolData.poolId),
366
- depositCoin,
367
909
  txb.object(poolData.investorId),
368
910
  txb.object(C.ALPHA_DISTRIBUTOR),
369
911
  txb.object(C.PRICE_ORACLE),
@@ -380,10 +922,81 @@ async function naviDepositTx(amount, poolName, options) {
380
922
  txb.object(C.CLOCK_PACKAGE_ID),
381
923
  ],
382
924
  });
925
+ txb.moveCall({
926
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit`,
927
+ typeArguments: [
928
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
929
+ ],
930
+ arguments: [
931
+ txb.object(C.ALPHA_3_VERSION),
932
+ txb.object(C.VERSION),
933
+ someReceipt,
934
+ txb.object(poolData.poolId),
935
+ depositCoin,
936
+ txb.object(poolData.investorId),
937
+ txb.object(C.ALPHA_DISTRIBUTOR),
938
+ txb.object(C.PRICE_ORACLE),
939
+ txb.object(C.NAVI_STORAGE),
940
+ txb.object(poolData.parentPoolId),
941
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
942
+ txb.object(C.NAVI_INCENTIVE_V3),
943
+ txb.object(C.NAVI_INCENTIVE_V2),
944
+ txb.object(C.CLOCK_PACKAGE_ID),
945
+ ],
946
+ });
383
947
  }
384
948
  else if (poolName === "NAVI-SUIBTC") {
949
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_SUIBTC_ACCOUNT_ADDRESS);
950
+ if (claimableRewards) {
951
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
952
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
953
+ txb.moveCall({
954
+ target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_v3_rewards_with_two_swaps`,
955
+ typeArguments: [
956
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
957
+ coins_js_1.coinsList["NAVX"].type,
958
+ ],
959
+ arguments: [
960
+ txb.object(C.ALPHA_NAVI_V2_VERSION),
961
+ txb.object(poolData.investorId),
962
+ txb.object(C.NAVI_STORAGE),
963
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
964
+ txb.object(C.NAVI_INCENTIVE_V3),
965
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
966
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
967
+ txb.object(maps_js_1.bluefinPoolMap[`SUI-${maps_js_1.singleAssetPoolCoinMap[poolName].coin}`]),
968
+ txb.object(C.BLUEFIN_GLOBAL_CONFIG),
969
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
970
+ txb.object(C.CLOCK_PACKAGE_ID),
971
+ ],
972
+ });
973
+ }
974
+ else if (reward.reward_coin_type === coins_js_1.coinsList["DEEP"].type.substring(2)) {
975
+ txb.moveCall({
976
+ target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_v3_rewards_with_two_swaps`,
977
+ typeArguments: [
978
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
979
+ coins_js_1.coinsList["DEEP"].type,
980
+ ],
981
+ arguments: [
982
+ txb.object(C.ALPHA_NAVI_V2_VERSION),
983
+ txb.object(poolData.investorId),
984
+ txb.object(C.NAVI_STORAGE),
985
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
986
+ txb.object(C.NAVI_INCENTIVE_V3),
987
+ txb.object(C.NAVI_DEEP_REWARDS_POOL),
988
+ txb.object(maps_js_1.cetusPoolMap["DEEP-SUI"]),
989
+ txb.object(maps_js_1.bluefinPoolMap[`SUI-${maps_js_1.singleAssetPoolCoinMap[poolName].coin}`]),
990
+ txb.object(C.BLUEFIN_GLOBAL_CONFIG),
991
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
992
+ txb.object(C.CLOCK_PACKAGE_ID),
993
+ ],
994
+ });
995
+ }
996
+ }
997
+ }
385
998
  txb.moveCall({
386
- target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit`,
999
+ target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool`,
387
1000
  typeArguments: [
388
1001
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
389
1002
  coins_js_1.coinsList["VSUI"].type,
@@ -392,10 +1005,7 @@ async function naviDepositTx(amount, poolName, options) {
392
1005
  ],
393
1006
  arguments: [
394
1007
  txb.object(C.ALPHA_NAVI_V2_VERSION),
395
- txb.object(C.VERSION),
396
- someReceipt,
397
1008
  txb.object(poolData.poolId),
398
- depositCoin,
399
1009
  txb.object(poolData.investorId),
400
1010
  txb.object(C.ALPHA_DISTRIBUTOR),
401
1011
  txb.object(C.CLOCK_PACKAGE_ID),
@@ -416,10 +1026,76 @@ async function naviDepositTx(amount, poolName, options) {
416
1026
  txb.object(C.CETUS_GLOBAL_CONFIG_ID),
417
1027
  ],
418
1028
  });
1029
+ txb.moveCall({
1030
+ target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_v2`,
1031
+ typeArguments: [
1032
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1033
+ ],
1034
+ arguments: [
1035
+ txb.object(C.ALPHA_NAVI_V2_VERSION),
1036
+ txb.object(C.VERSION),
1037
+ someReceipt,
1038
+ txb.object(poolData.poolId),
1039
+ depositCoin,
1040
+ txb.object(poolData.investorId),
1041
+ txb.object(C.ALPHA_DISTRIBUTOR),
1042
+ txb.object(C.PRICE_ORACLE),
1043
+ txb.object(C.NAVI_STORAGE),
1044
+ txb.object(poolData.parentPoolId),
1045
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1046
+ txb.object(C.NAVI_INCENTIVE_V3),
1047
+ txb.object(C.NAVI_INCENTIVE_V2),
1048
+ txb.object(C.CLOCK_PACKAGE_ID),
1049
+ ],
1050
+ });
419
1051
  }
420
1052
  else if (poolName === "NAVI-SUIUSDT") {
1053
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_SUIUSDT_ACCOUNT_ADDRESS);
1054
+ if (claimableRewards) {
1055
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
1056
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1057
+ txb.moveCall({
1058
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
1059
+ typeArguments: [
1060
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1061
+ ],
1062
+ arguments: [
1063
+ txb.object(C.ALPHA_3_VERSION),
1064
+ txb.object(poolData.investorId),
1065
+ txb.object(C.NAVI_STORAGE),
1066
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1067
+ txb.object(C.NAVI_INCENTIVE_V3),
1068
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1069
+ txb.object(C.CLOCK_PACKAGE_ID),
1070
+ ],
1071
+ });
1072
+ }
1073
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1074
+ txb.moveCall({
1075
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
1076
+ typeArguments: [
1077
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1078
+ coins_js_1.coinsList["SUI"].type,
1079
+ coins_js_1.coinsList["VSUI"].type,
1080
+ ],
1081
+ arguments: [
1082
+ txb.object(C.ALPHA_3_VERSION),
1083
+ txb.object(poolData.investorId),
1084
+ txb.object(C.NAVI_STORAGE),
1085
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1086
+ txb.object(C.NAVI_INCENTIVE_V3),
1087
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1088
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1089
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1090
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
1091
+ txb.object(C.CLOCK_PACKAGE_ID),
1092
+ ],
1093
+ });
1094
+ }
1095
+ }
1096
+ }
421
1097
  txb.moveCall({
422
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_with_three_swaps`,
1098
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_three_swaps`,
423
1099
  typeArguments: [
424
1100
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
425
1101
  coins_js_1.coinsList["USDC"].type,
@@ -428,10 +1104,7 @@ async function naviDepositTx(amount, poolName, options) {
428
1104
  ],
429
1105
  arguments: [
430
1106
  txb.object(C.ALPHA_3_VERSION),
431
- txb.object(C.VERSION),
432
- someReceipt,
433
1107
  txb.object(poolData.poolId),
434
- depositCoin,
435
1108
  txb.object(poolData.investorId),
436
1109
  txb.object(C.ALPHA_DISTRIBUTOR),
437
1110
  txb.object(C.PRICE_ORACLE),
@@ -448,6 +1121,28 @@ async function naviDepositTx(amount, poolName, options) {
448
1121
  txb.object(C.CLOCK_PACKAGE_ID),
449
1122
  ],
450
1123
  });
1124
+ txb.moveCall({
1125
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit`,
1126
+ typeArguments: [
1127
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1128
+ ],
1129
+ arguments: [
1130
+ txb.object(C.ALPHA_3_VERSION),
1131
+ txb.object(C.VERSION),
1132
+ someReceipt,
1133
+ txb.object(poolData.poolId),
1134
+ depositCoin,
1135
+ txb.object(poolData.investorId),
1136
+ txb.object(C.ALPHA_DISTRIBUTOR),
1137
+ txb.object(C.PRICE_ORACLE),
1138
+ txb.object(C.NAVI_STORAGE),
1139
+ txb.object(poolData.parentPoolId),
1140
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1141
+ txb.object(C.NAVI_INCENTIVE_V3),
1142
+ txb.object(C.NAVI_INCENTIVE_V2),
1143
+ txb.object(C.CLOCK_PACKAGE_ID),
1144
+ ],
1145
+ });
451
1146
  }
452
1147
  else {
453
1148
  txb.moveCall({
@@ -513,12 +1208,56 @@ async function naviWithdrawTx(xTokens, poolName, options) {
513
1208
  }
514
1209
  (0, naviOracle_js_1.updateSingleTokenPrice)(maps_js_1.naviPriceFeedMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin].pythPriceInfo, maps_js_1.naviPriceFeedMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin].feedId, txb);
515
1210
  if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "SUI") {
1211
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_SUI_ACCOUNT_ADDRESS);
1212
+ if (claimableRewards) {
1213
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
1214
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
1215
+ : []) {
1216
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1217
+ txb.moveCall({
1218
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_one_swap`,
1219
+ typeArguments: [
1220
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1221
+ coins_js_1.coinsList["NAVX"].type,
1222
+ ],
1223
+ arguments: [
1224
+ txb.object(poolData.investorId),
1225
+ txb.object(C.VERSION),
1226
+ txb.object(C.CLOCK_PACKAGE_ID),
1227
+ txb.object(C.NAVI_STORAGE),
1228
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1229
+ txb.object(C.NAVI_INCENTIVE_V3),
1230
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1231
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
1232
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1233
+ ],
1234
+ });
1235
+ }
1236
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1237
+ txb.moveCall({
1238
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_one_swap`,
1239
+ typeArguments: [
1240
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1241
+ coins_js_1.coinsList["VSUI"].type,
1242
+ ],
1243
+ arguments: [
1244
+ txb.object(poolData.investorId),
1245
+ txb.object(C.VERSION),
1246
+ txb.object(C.CLOCK_PACKAGE_ID),
1247
+ txb.object(C.NAVI_STORAGE),
1248
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1249
+ txb.object(C.NAVI_INCENTIVE_V3),
1250
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1251
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1252
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1253
+ ],
1254
+ });
1255
+ }
1256
+ }
1257
+ }
516
1258
  txb.moveCall({
517
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_one_swap`,
518
- typeArguments: [
519
- coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
520
- coins_js_1.coinsList["VSUI"].type,
521
- ],
1259
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw`,
1260
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
522
1261
  arguments: [
523
1262
  txb.object(C.VERSION),
524
1263
  txb.object(receipt[0].objectId),
@@ -532,23 +1271,62 @@ async function naviWithdrawTx(xTokens, poolName, options) {
532
1271
  txb.object(C.NAVI_STORAGE),
533
1272
  txb.object(poolData.parentPoolId),
534
1273
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
535
- txb.object(C.NAVI_INCENTIVE_V1),
1274
+ txb.object(C.NAVI_INCENTIVE_V3),
536
1275
  txb.object(C.NAVI_INCENTIVE_V2),
537
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
538
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
539
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
540
1276
  txb.object(C.CLOCK_PACKAGE_ID),
541
1277
  ],
542
1278
  });
543
1279
  }
544
1280
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "VSUI") {
1281
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_VSUI_ACCOUNT_ADDRESS);
1282
+ if (claimableRewards) {
1283
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
1284
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
1285
+ : []) {
1286
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1287
+ txb.moveCall({
1288
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_two_swaps`,
1289
+ typeArguments: [
1290
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1291
+ coins_js_1.coinsList["SUI"].type,
1292
+ coins_js_1.coinsList["NAVX"].type,
1293
+ ],
1294
+ arguments: [
1295
+ txb.object(poolData.investorId),
1296
+ txb.object(C.VERSION),
1297
+ txb.object(C.CLOCK_PACKAGE_ID),
1298
+ txb.object(C.NAVI_STORAGE),
1299
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1300
+ txb.object(C.NAVI_INCENTIVE_V3),
1301
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1302
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
1303
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
1304
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1305
+ ],
1306
+ });
1307
+ }
1308
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1309
+ txb.moveCall({
1310
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_no_swap`,
1311
+ typeArguments: [
1312
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1313
+ ],
1314
+ arguments: [
1315
+ txb.object(poolData.investorId),
1316
+ txb.object(C.VERSION),
1317
+ txb.object(C.CLOCK_PACKAGE_ID),
1318
+ txb.object(C.NAVI_STORAGE),
1319
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1320
+ txb.object(C.NAVI_INCENTIVE_V3),
1321
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1322
+ ],
1323
+ });
1324
+ }
1325
+ }
1326
+ }
545
1327
  txb.moveCall({
546
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_two_swaps`,
547
- typeArguments: [
548
- coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
549
- coins_js_1.coinsList["SUI"].type,
550
- coins_js_1.coinsList["NAVX"].type,
551
- ],
1328
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw`,
1329
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
552
1330
  arguments: [
553
1331
  txb.object(C.VERSION),
554
1332
  txb.object(receipt[0].objectId),
@@ -562,27 +1340,70 @@ async function naviWithdrawTx(xTokens, poolName, options) {
562
1340
  txb.object(C.NAVI_STORAGE),
563
1341
  txb.object(poolData.parentPoolId),
564
1342
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
565
- txb.object(C.NAVI_INCENTIVE_V1),
1343
+ txb.object(C.NAVI_INCENTIVE_V3),
566
1344
  txb.object(C.NAVI_INCENTIVE_V2),
567
- txb.object(C.NAVI_NAVX_FUNDS_POOL),
568
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
569
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
570
- txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
571
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
572
1345
  txb.object(C.CLOCK_PACKAGE_ID),
573
1346
  ],
574
1347
  });
575
1348
  }
576
1349
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "WETH" ||
577
1350
  maps_js_1.singleAssetPoolCoinMap[poolName].coin == "USDT") {
1351
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
1352
+ if (claimableRewards) {
1353
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
1354
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1355
+ txb.moveCall({
1356
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
1357
+ typeArguments: [
1358
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1359
+ coins_js_1.coinsList["WUSDC"].type,
1360
+ coins_js_1.coinsList["SUI"].type,
1361
+ coins_js_1.coinsList["NAVX"].type,
1362
+ ],
1363
+ arguments: [
1364
+ txb.object(poolData.investorId),
1365
+ txb.object(C.VERSION),
1366
+ txb.object(C.CLOCK_PACKAGE_ID),
1367
+ txb.object(C.NAVI_STORAGE),
1368
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1369
+ txb.object(C.NAVI_INCENTIVE_V3),
1370
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1371
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
1372
+ txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
1373
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
1374
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1375
+ ],
1376
+ });
1377
+ }
1378
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1379
+ txb.moveCall({
1380
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
1381
+ typeArguments: [
1382
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1383
+ coins_js_1.coinsList["WUSDC"].type,
1384
+ coins_js_1.coinsList["SUI"].type,
1385
+ coins_js_1.coinsList["VSUI"].type,
1386
+ ],
1387
+ arguments: [
1388
+ txb.object(poolData.investorId),
1389
+ txb.object(C.VERSION),
1390
+ txb.object(C.CLOCK_PACKAGE_ID),
1391
+ txb.object(C.NAVI_STORAGE),
1392
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1393
+ txb.object(C.NAVI_INCENTIVE_V3),
1394
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1395
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1396
+ txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
1397
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
1398
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1399
+ ],
1400
+ });
1401
+ }
1402
+ }
1403
+ }
578
1404
  txb.moveCall({
579
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,
580
- typeArguments: [
581
- coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
582
- coins_js_1.coinsList["WUSDC"].type,
583
- coins_js_1.coinsList["SUI"].type,
584
- coins_js_1.coinsList["VSUI"].type,
585
- ],
1405
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw`,
1406
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
586
1407
  arguments: [
587
1408
  txb.object(C.VERSION),
588
1409
  txb.object(receipt[0].objectId),
@@ -596,26 +1417,71 @@ async function naviWithdrawTx(xTokens, poolName, options) {
596
1417
  txb.object(C.NAVI_STORAGE),
597
1418
  txb.object(poolData.parentPoolId),
598
1419
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
599
- txb.object(C.NAVI_INCENTIVE_V1),
1420
+ txb.object(C.NAVI_INCENTIVE_V3),
600
1421
  txb.object(C.NAVI_INCENTIVE_V2),
601
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
602
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
603
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
604
- txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
605
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
606
1422
  txb.object(C.CLOCK_PACKAGE_ID),
607
1423
  ],
608
1424
  });
609
1425
  }
610
1426
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "WUSDC") {
1427
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
1428
+ if (claimableRewards) {
1429
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
1430
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
1431
+ : []) {
1432
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1433
+ txb.moveCall({
1434
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
1435
+ typeArguments: [
1436
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1437
+ coins_js_1.coinsList["CETUS"].type,
1438
+ coins_js_1.coinsList["SUI"].type,
1439
+ coins_js_1.coinsList["NAVX"].type,
1440
+ ],
1441
+ arguments: [
1442
+ txb.object(poolData.investorId),
1443
+ txb.object(C.VERSION),
1444
+ txb.object(C.CLOCK_PACKAGE_ID),
1445
+ txb.object(C.NAVI_STORAGE),
1446
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1447
+ txb.object(C.NAVI_INCENTIVE_V3),
1448
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1449
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
1450
+ txb.object(maps_js_1.cetusPoolMap["CETUS-SUI"]),
1451
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-CETUS`]),
1452
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1453
+ ],
1454
+ });
1455
+ }
1456
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1457
+ txb.moveCall({
1458
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
1459
+ typeArguments: [
1460
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1461
+ coins_js_1.coinsList["CETUS"].type,
1462
+ coins_js_1.coinsList["SUI"].type,
1463
+ coins_js_1.coinsList["VSUI"].type,
1464
+ ],
1465
+ arguments: [
1466
+ txb.object(poolData.investorId),
1467
+ txb.object(C.VERSION),
1468
+ txb.object(C.CLOCK_PACKAGE_ID),
1469
+ txb.object(C.NAVI_STORAGE),
1470
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1471
+ txb.object(C.NAVI_INCENTIVE_V3),
1472
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1473
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1474
+ txb.object(maps_js_1.cetusPoolMap["CETUS-SUI"]),
1475
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-CETUS`]),
1476
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1477
+ ],
1478
+ });
1479
+ }
1480
+ }
1481
+ }
611
1482
  txb.moveCall({
612
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,
613
- typeArguments: [
614
- coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
615
- coins_js_1.coinsList["CETUS"].type,
616
- coins_js_1.coinsList["SUI"].type,
617
- coins_js_1.coinsList["VSUI"].type,
618
- ],
1483
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw`,
1484
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
619
1485
  arguments: [
620
1486
  txb.object(C.VERSION),
621
1487
  txb.object(receipt[0].objectId),
@@ -629,26 +1495,71 @@ async function naviWithdrawTx(xTokens, poolName, options) {
629
1495
  txb.object(C.NAVI_STORAGE),
630
1496
  txb.object(poolData.parentPoolId),
631
1497
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
632
- txb.object(C.NAVI_INCENTIVE_V1),
1498
+ txb.object(C.NAVI_INCENTIVE_V3),
633
1499
  txb.object(C.NAVI_INCENTIVE_V2),
634
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
635
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
636
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
637
- txb.object(maps_js_1.cetusPoolMap["CETUS-SUI"]),
638
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-CETUS`]),
639
1500
  txb.object(C.CLOCK_PACKAGE_ID),
640
1501
  ],
641
1502
  });
642
1503
  }
643
1504
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "USDC") {
1505
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
1506
+ if (claimableRewards) {
1507
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
1508
+ ? claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]
1509
+ : []) {
1510
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1511
+ txb.moveCall({
1512
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
1513
+ typeArguments: [
1514
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1515
+ coins_js_1.coinsList["BUCK"].type,
1516
+ coins_js_1.coinsList["SUI"].type,
1517
+ coins_js_1.coinsList["NAVX"].type,
1518
+ ],
1519
+ arguments: [
1520
+ txb.object(poolData.investorId),
1521
+ txb.object(C.VERSION),
1522
+ txb.object(C.CLOCK_PACKAGE_ID),
1523
+ txb.object(C.NAVI_STORAGE),
1524
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1525
+ txb.object(C.NAVI_INCENTIVE_V3),
1526
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1527
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
1528
+ txb.object(maps_js_1.cetusPoolMap["BUCK-SUI"]),
1529
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-BUCK`]),
1530
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1531
+ ],
1532
+ });
1533
+ }
1534
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1535
+ txb.moveCall({
1536
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
1537
+ typeArguments: [
1538
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1539
+ coins_js_1.coinsList["BUCK"].type,
1540
+ coins_js_1.coinsList["SUI"].type,
1541
+ coins_js_1.coinsList["VSUI"].type,
1542
+ ],
1543
+ arguments: [
1544
+ txb.object(poolData.investorId),
1545
+ txb.object(C.VERSION),
1546
+ txb.object(C.CLOCK_PACKAGE_ID),
1547
+ txb.object(C.NAVI_STORAGE),
1548
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1549
+ txb.object(C.NAVI_INCENTIVE_V3),
1550
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1551
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1552
+ txb.object(maps_js_1.cetusPoolMap["BUCK-SUI"]),
1553
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-BUCK`]),
1554
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1555
+ ],
1556
+ });
1557
+ }
1558
+ }
1559
+ }
644
1560
  txb.moveCall({
645
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,
646
- typeArguments: [
647
- coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
648
- coins_js_1.coinsList["BUCK"].type,
649
- coins_js_1.coinsList["SUI"].type,
650
- coins_js_1.coinsList["VSUI"].type,
651
- ],
1561
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw`,
1562
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
652
1563
  arguments: [
653
1564
  txb.object(C.VERSION),
654
1565
  txb.object(receipt[0].objectId),
@@ -662,26 +1573,69 @@ async function naviWithdrawTx(xTokens, poolName, options) {
662
1573
  txb.object(C.NAVI_STORAGE),
663
1574
  txb.object(poolData.parentPoolId),
664
1575
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
665
- txb.object(C.NAVI_INCENTIVE_V1),
1576
+ txb.object(C.NAVI_INCENTIVE_V3),
666
1577
  txb.object(C.NAVI_INCENTIVE_V2),
667
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
668
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
669
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
670
- txb.object(maps_js_1.cetusPoolMap["BUCK-SUI"]),
671
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-BUCK`]),
672
1578
  txb.object(C.CLOCK_PACKAGE_ID),
673
1579
  ],
674
1580
  });
675
1581
  }
676
1582
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "USDY") {
1583
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
1584
+ if (claimableRewards) {
1585
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
1586
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1587
+ txb.moveCall({
1588
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
1589
+ typeArguments: [
1590
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1591
+ coins_js_1.coinsList["WUSDC"].type,
1592
+ coins_js_1.coinsList["SUI"].type,
1593
+ coins_js_1.coinsList["NAVX"].type,
1594
+ ],
1595
+ arguments: [
1596
+ txb.object(poolData.investorId),
1597
+ txb.object(C.VERSION),
1598
+ txb.object(C.CLOCK_PACKAGE_ID),
1599
+ txb.object(C.NAVI_STORAGE),
1600
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1601
+ txb.object(C.NAVI_INCENTIVE_V3),
1602
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1603
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1604
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
1605
+ txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
1606
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
1607
+ ],
1608
+ });
1609
+ }
1610
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1611
+ txb.moveCall({
1612
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_investor::collect_v3_rewards_with_three_swaps`,
1613
+ typeArguments: [
1614
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1615
+ coins_js_1.coinsList["WUSDC"].type,
1616
+ coins_js_1.coinsList["SUI"].type,
1617
+ coins_js_1.coinsList["VSUI"].type,
1618
+ ],
1619
+ arguments: [
1620
+ txb.object(poolData.investorId),
1621
+ txb.object(C.VERSION),
1622
+ txb.object(C.CLOCK_PACKAGE_ID),
1623
+ txb.object(C.NAVI_STORAGE),
1624
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1625
+ txb.object(C.NAVI_INCENTIVE_V3),
1626
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1627
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1628
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1629
+ txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
1630
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
1631
+ ],
1632
+ });
1633
+ }
1634
+ }
1635
+ }
677
1636
  txb.moveCall({
678
- target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,
679
- typeArguments: [
680
- coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
681
- coins_js_1.coinsList["WUSDC"].type,
682
- coins_js_1.coinsList["SUI"].type,
683
- coins_js_1.coinsList["VSUI"].type,
684
- ],
1637
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw`,
1638
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
685
1639
  arguments: [
686
1640
  txb.object(C.VERSION),
687
1641
  txb.object(receipt[0].objectId),
@@ -695,21 +1649,60 @@ async function naviWithdrawTx(xTokens, poolName, options) {
695
1649
  txb.object(C.NAVI_STORAGE),
696
1650
  txb.object(poolData.parentPoolId),
697
1651
  txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
698
- txb.object(C.NAVI_INCENTIVE_V1),
1652
+ txb.object(C.NAVI_INCENTIVE_V3),
699
1653
  txb.object(C.NAVI_INCENTIVE_V2),
700
- txb.object(C.NAVI_VSUI_FUNDS_POOL),
701
- txb.object(C.CETUS_GLOBAL_CONFIG_ID),
702
- txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
703
- txb.object(maps_js_1.cetusPoolMap["WUSDC-SUI"]),
704
- txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
705
1654
  txb.object(C.CLOCK_PACKAGE_ID),
706
1655
  ],
707
1656
  });
708
1657
  }
709
1658
  else if (maps_js_1.singleAssetPoolCoinMap[poolName].coin == "AUSD" ||
710
1659
  maps_js_1.singleAssetPoolCoinMap[poolName].coin == "ETH") {
1660
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), maps_js_1.loopingAccountAddresses[poolName]);
1661
+ if (claimableRewards) {
1662
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
1663
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1664
+ txb.moveCall({
1665
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
1666
+ typeArguments: [
1667
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1668
+ ],
1669
+ arguments: [
1670
+ txb.object(C.ALPHA_3_VERSION),
1671
+ txb.object(poolData.investorId),
1672
+ txb.object(C.NAVI_STORAGE),
1673
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1674
+ txb.object(C.NAVI_INCENTIVE_V3),
1675
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1676
+ txb.object(C.CLOCK_PACKAGE_ID),
1677
+ ],
1678
+ });
1679
+ }
1680
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1681
+ txb.moveCall({
1682
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
1683
+ typeArguments: [
1684
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1685
+ coins_js_1.coinsList["SUI"].type,
1686
+ coins_js_1.coinsList["VSUI"].type,
1687
+ ],
1688
+ arguments: [
1689
+ txb.object(C.ALPHA_3_VERSION),
1690
+ txb.object(poolData.investorId),
1691
+ txb.object(C.NAVI_STORAGE),
1692
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1693
+ txb.object(C.NAVI_INCENTIVE_V3),
1694
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1695
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1696
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1697
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
1698
+ txb.object(C.CLOCK_PACKAGE_ID),
1699
+ ],
1700
+ });
1701
+ }
1702
+ }
1703
+ }
711
1704
  txb.moveCall({
712
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_with_three_swaps`,
1705
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_three_swaps`,
713
1706
  typeArguments: [
714
1707
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
715
1708
  coins_js_1.coinsList["USDC"].type,
@@ -718,12 +1711,7 @@ async function naviWithdrawTx(xTokens, poolName, options) {
718
1711
  ],
719
1712
  arguments: [
720
1713
  txb.object(C.ALPHA_3_VERSION),
721
- txb.object(C.VERSION),
722
- txb.object(receipt[0].objectId),
723
- alpha_receipt,
724
- txb.object(C.ALPHA_POOL),
725
1714
  txb.object(poolData.poolId),
726
- txb.pure.u64(xTokens),
727
1715
  txb.object(poolData.investorId),
728
1716
  txb.object(C.ALPHA_DISTRIBUTOR),
729
1717
  txb.object(C.PRICE_ORACLE),
@@ -740,10 +1728,118 @@ async function naviWithdrawTx(xTokens, poolName, options) {
740
1728
  txb.object(C.CLOCK_PACKAGE_ID),
741
1729
  ],
742
1730
  });
1731
+ txb.moveCall({
1732
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw`,
1733
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
1734
+ arguments: [
1735
+ txb.object(C.ALPHA_3_VERSION),
1736
+ txb.object(C.VERSION),
1737
+ txb.object(receipt[0].objectId),
1738
+ alpha_receipt,
1739
+ txb.object(C.ALPHA_POOL),
1740
+ txb.object(poolData.poolId),
1741
+ txb.pure.u64(xTokens),
1742
+ txb.object(poolData.investorId),
1743
+ txb.object(C.ALPHA_DISTRIBUTOR),
1744
+ txb.object(C.PRICE_ORACLE),
1745
+ txb.object(C.NAVI_STORAGE),
1746
+ txb.object(poolData.parentPoolId),
1747
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1748
+ txb.object(C.NAVI_INCENTIVE_V3),
1749
+ txb.object(C.NAVI_INCENTIVE_V2),
1750
+ txb.object(C.CLOCK_PACKAGE_ID),
1751
+ ],
1752
+ });
743
1753
  }
744
1754
  else if (poolName === "NAVI-NS") {
1755
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_NS_ACCOUNT_ADDRESS);
1756
+ if (claimableRewards) {
1757
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
1758
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1759
+ txb.moveCall({
1760
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
1761
+ typeArguments: [
1762
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1763
+ coins_js_1.coinsList["NAVX"].type,
1764
+ ],
1765
+ arguments: [
1766
+ txb.object(C.ALPHA_3_VERSION),
1767
+ txb.object(poolData.investorId),
1768
+ txb.object(C.NAVI_STORAGE),
1769
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1770
+ txb.object(C.NAVI_INCENTIVE_V3),
1771
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1772
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1773
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
1774
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
1775
+ txb.object(C.CLOCK_PACKAGE_ID),
1776
+ ],
1777
+ });
1778
+ }
1779
+ else if (reward.reward_coin_type === coins_js_1.coinsList["DEEP"].type.substring(2)) {
1780
+ txb.moveCall({
1781
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
1782
+ typeArguments: [
1783
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1784
+ coins_js_1.coinsList["DEEP"].type,
1785
+ ],
1786
+ arguments: [
1787
+ txb.object(C.ALPHA_3_VERSION),
1788
+ txb.object(poolData.investorId),
1789
+ txb.object(C.NAVI_STORAGE),
1790
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1791
+ txb.object(C.NAVI_INCENTIVE_V3),
1792
+ txb.object(C.NAVI_DEEP_REWARDS_POOL),
1793
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1794
+ txb.object(maps_js_1.cetusPoolMap["DEEP-SUI"]),
1795
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
1796
+ txb.object(C.CLOCK_PACKAGE_ID),
1797
+ ],
1798
+ });
1799
+ }
1800
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1801
+ txb.moveCall({
1802
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
1803
+ typeArguments: [
1804
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1805
+ coins_js_1.coinsList["SUI"].type,
1806
+ coins_js_1.coinsList["VSUI"].type,
1807
+ ],
1808
+ arguments: [
1809
+ txb.object(C.ALPHA_3_VERSION),
1810
+ txb.object(poolData.investorId),
1811
+ txb.object(C.NAVI_STORAGE),
1812
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1813
+ txb.object(C.NAVI_INCENTIVE_V3),
1814
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1815
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1816
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1817
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
1818
+ txb.object(C.CLOCK_PACKAGE_ID),
1819
+ ],
1820
+ });
1821
+ }
1822
+ else if (reward.reward_coin_type === coins_js_1.coinsList["NS"].type.substring(2)) {
1823
+ txb.moveCall({
1824
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
1825
+ typeArguments: [
1826
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1827
+ ],
1828
+ arguments: [
1829
+ txb.object(C.ALPHA_3_VERSION),
1830
+ txb.object(poolData.investorId),
1831
+ txb.object(C.NAVI_STORAGE),
1832
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1833
+ txb.object(C.NAVI_INCENTIVE_V3),
1834
+ txb.object(C.NAVI_NS_REWARDS_POOL),
1835
+ txb.object(C.CLOCK_PACKAGE_ID),
1836
+ ],
1837
+ });
1838
+ }
1839
+ }
1840
+ }
745
1841
  txb.moveCall({
746
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_with_two_swaps_v2`,
1842
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_two_swaps_v2`,
747
1843
  typeArguments: [
748
1844
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
749
1845
  coins_js_1.coinsList["SUI"].type,
@@ -751,12 +1847,7 @@ async function naviWithdrawTx(xTokens, poolName, options) {
751
1847
  ],
752
1848
  arguments: [
753
1849
  txb.object(C.ALPHA_3_VERSION),
754
- txb.object(C.VERSION),
755
- txb.object(receipt[0].objectId),
756
- alpha_receipt,
757
- txb.object(C.ALPHA_POOL),
758
1850
  txb.object(poolData.poolId),
759
- txb.pure.u64(xTokens),
760
1851
  txb.object(poolData.investorId),
761
1852
  txb.object(C.ALPHA_DISTRIBUTOR),
762
1853
  txb.object(C.PRICE_ORACLE),
@@ -773,10 +1864,76 @@ async function naviWithdrawTx(xTokens, poolName, options) {
773
1864
  txb.object(C.CLOCK_PACKAGE_ID),
774
1865
  ],
775
1866
  });
1867
+ txb.moveCall({
1868
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw`,
1869
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
1870
+ arguments: [
1871
+ txb.object(C.ALPHA_3_VERSION),
1872
+ txb.object(C.VERSION),
1873
+ txb.object(receipt[0].objectId),
1874
+ alpha_receipt,
1875
+ txb.object(C.ALPHA_POOL),
1876
+ txb.object(poolData.poolId),
1877
+ txb.pure.u64(xTokens),
1878
+ txb.object(poolData.investorId),
1879
+ txb.object(C.ALPHA_DISTRIBUTOR),
1880
+ txb.object(C.PRICE_ORACLE),
1881
+ txb.object(C.NAVI_STORAGE),
1882
+ txb.object(poolData.parentPoolId),
1883
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1884
+ txb.object(C.NAVI_INCENTIVE_V3),
1885
+ txb.object(C.NAVI_INCENTIVE_V2),
1886
+ txb.object(C.CLOCK_PACKAGE_ID),
1887
+ ],
1888
+ });
776
1889
  }
777
1890
  else if (poolName === "NAVI-NAVX") {
1891
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_NAVX_ACCOUNT_ADDRESS);
1892
+ if (claimableRewards) {
1893
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
1894
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1895
+ txb.moveCall({
1896
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
1897
+ typeArguments: [
1898
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1899
+ ],
1900
+ arguments: [
1901
+ txb.object(C.ALPHA_3_VERSION),
1902
+ txb.object(poolData.investorId),
1903
+ txb.object(C.NAVI_STORAGE),
1904
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1905
+ txb.object(C.NAVI_INCENTIVE_V3),
1906
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
1907
+ txb.object(C.CLOCK_PACKAGE_ID),
1908
+ ],
1909
+ });
1910
+ }
1911
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
1912
+ txb.moveCall({
1913
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
1914
+ typeArguments: [
1915
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1916
+ coins_js_1.coinsList["SUI"].type,
1917
+ coins_js_1.coinsList["VSUI"].type,
1918
+ ],
1919
+ arguments: [
1920
+ txb.object(C.ALPHA_3_VERSION),
1921
+ txb.object(poolData.investorId),
1922
+ txb.object(C.NAVI_STORAGE),
1923
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1924
+ txb.object(C.NAVI_INCENTIVE_V3),
1925
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
1926
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
1927
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
1928
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
1929
+ txb.object(C.CLOCK_PACKAGE_ID),
1930
+ ],
1931
+ });
1932
+ }
1933
+ }
1934
+ }
778
1935
  txb.moveCall({
779
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_with_two_swaps_v2`,
1936
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_two_swaps_v2`,
780
1937
  typeArguments: [
781
1938
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
782
1939
  coins_js_1.coinsList["SUI"].type,
@@ -784,12 +1941,7 @@ async function naviWithdrawTx(xTokens, poolName, options) {
784
1941
  ],
785
1942
  arguments: [
786
1943
  txb.object(C.ALPHA_3_VERSION),
787
- txb.object(C.VERSION),
788
- txb.object(receipt[0].objectId),
789
- alpha_receipt,
790
- txb.object(C.ALPHA_POOL),
791
1944
  txb.object(poolData.poolId),
792
- txb.pure.u64(xTokens),
793
1945
  txb.object(poolData.investorId),
794
1946
  txb.object(C.ALPHA_DISTRIBUTOR),
795
1947
  txb.object(C.PRICE_ORACLE),
@@ -806,10 +1958,76 @@ async function naviWithdrawTx(xTokens, poolName, options) {
806
1958
  txb.object(C.CLOCK_PACKAGE_ID),
807
1959
  ],
808
1960
  });
1961
+ txb.moveCall({
1962
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw`,
1963
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
1964
+ arguments: [
1965
+ txb.object(C.ALPHA_3_VERSION),
1966
+ txb.object(C.VERSION),
1967
+ txb.object(receipt[0].objectId),
1968
+ alpha_receipt,
1969
+ txb.object(C.ALPHA_POOL),
1970
+ txb.object(poolData.poolId),
1971
+ txb.pure.u64(xTokens),
1972
+ txb.object(poolData.investorId),
1973
+ txb.object(C.ALPHA_DISTRIBUTOR),
1974
+ txb.object(C.PRICE_ORACLE),
1975
+ txb.object(C.NAVI_STORAGE),
1976
+ txb.object(poolData.parentPoolId),
1977
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1978
+ txb.object(C.NAVI_INCENTIVE_V3),
1979
+ txb.object(C.NAVI_INCENTIVE_V2),
1980
+ txb.object(C.CLOCK_PACKAGE_ID),
1981
+ ],
1982
+ });
809
1983
  }
810
1984
  else if (poolName === "NAVI-STSUI") {
1985
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_STSUI_ACCOUNT_ADDRESS);
1986
+ if (claimableRewards) {
1987
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
1988
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
1989
+ txb.moveCall({
1990
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
1991
+ typeArguments: [
1992
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
1993
+ ],
1994
+ arguments: [
1995
+ txb.object(C.ALPHA_3_VERSION),
1996
+ txb.object(poolData.investorId),
1997
+ txb.object(C.NAVI_STORAGE),
1998
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
1999
+ txb.object(C.NAVI_INCENTIVE_V3),
2000
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
2001
+ txb.object(C.CLOCK_PACKAGE_ID),
2002
+ ],
2003
+ });
2004
+ }
2005
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
2006
+ txb.moveCall({
2007
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
2008
+ typeArguments: [
2009
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
2010
+ coins_js_1.coinsList["SUI"].type,
2011
+ coins_js_1.coinsList["VSUI"].type,
2012
+ ],
2013
+ arguments: [
2014
+ txb.object(C.ALPHA_3_VERSION),
2015
+ txb.object(poolData.investorId),
2016
+ txb.object(C.NAVI_STORAGE),
2017
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
2018
+ txb.object(C.NAVI_INCENTIVE_V3),
2019
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
2020
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
2021
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
2022
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
2023
+ txb.object(C.CLOCK_PACKAGE_ID),
2024
+ ],
2025
+ });
2026
+ }
2027
+ }
2028
+ }
811
2029
  txb.moveCall({
812
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_with_two_swaps_v2`,
2030
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_two_swaps_v2`,
813
2031
  typeArguments: [
814
2032
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
815
2033
  coins_js_1.coinsList["SUI"].type,
@@ -817,12 +2035,7 @@ async function naviWithdrawTx(xTokens, poolName, options) {
817
2035
  ],
818
2036
  arguments: [
819
2037
  txb.object(C.ALPHA_3_VERSION),
820
- txb.object(C.VERSION),
821
- txb.object(receipt[0].objectId),
822
- alpha_receipt,
823
- txb.object(C.ALPHA_POOL),
824
2038
  txb.object(poolData.poolId),
825
- txb.pure.u64(xTokens),
826
2039
  txb.object(poolData.investorId),
827
2040
  txb.object(C.ALPHA_DISTRIBUTOR),
828
2041
  txb.object(C.PRICE_ORACLE),
@@ -839,10 +2052,81 @@ async function naviWithdrawTx(xTokens, poolName, options) {
839
2052
  txb.object(C.CLOCK_PACKAGE_ID),
840
2053
  ],
841
2054
  });
2055
+ txb.moveCall({
2056
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw`,
2057
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
2058
+ arguments: [
2059
+ txb.object(C.ALPHA_3_VERSION),
2060
+ txb.object(C.VERSION),
2061
+ txb.object(receipt[0].objectId),
2062
+ alpha_receipt,
2063
+ txb.object(C.ALPHA_POOL),
2064
+ txb.object(poolData.poolId),
2065
+ txb.pure.u64(xTokens),
2066
+ txb.object(poolData.investorId),
2067
+ txb.object(C.ALPHA_DISTRIBUTOR),
2068
+ txb.object(C.PRICE_ORACLE),
2069
+ txb.object(C.NAVI_STORAGE),
2070
+ txb.object(poolData.parentPoolId),
2071
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
2072
+ txb.object(C.NAVI_INCENTIVE_V3),
2073
+ txb.object(C.NAVI_INCENTIVE_V2),
2074
+ txb.object(C.CLOCK_PACKAGE_ID),
2075
+ ],
2076
+ });
842
2077
  }
843
2078
  else if (poolName === "NAVI-SUIBTC") {
2079
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_SUIBTC_ACCOUNT_ADDRESS);
2080
+ if (claimableRewards) {
2081
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
2082
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
2083
+ txb.moveCall({
2084
+ target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_v3_rewards_with_two_swaps`,
2085
+ typeArguments: [
2086
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
2087
+ coins_js_1.coinsList["NAVX"].type,
2088
+ ],
2089
+ arguments: [
2090
+ txb.object(C.ALPHA_NAVI_V2_VERSION),
2091
+ txb.object(poolData.investorId),
2092
+ txb.object(C.NAVI_STORAGE),
2093
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
2094
+ txb.object(C.NAVI_INCENTIVE_V3),
2095
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
2096
+ txb.object(maps_js_1.cetusPoolMap["NAVX-SUI"]),
2097
+ txb.object(maps_js_1.bluefinPoolMap[`SUI-${maps_js_1.singleAssetPoolCoinMap[poolName].coin}`]),
2098
+ txb.object(C.BLUEFIN_GLOBAL_CONFIG),
2099
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
2100
+ txb.object(C.CLOCK_PACKAGE_ID),
2101
+ ],
2102
+ });
2103
+ }
2104
+ else if (reward.reward_coin_type === coins_js_1.coinsList["DEEP"].type.substring(2)) {
2105
+ txb.moveCall({
2106
+ target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_v3_rewards_with_two_swaps`,
2107
+ typeArguments: [
2108
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
2109
+ coins_js_1.coinsList["DEEP"].type,
2110
+ ],
2111
+ arguments: [
2112
+ txb.object(C.ALPHA_NAVI_V2_VERSION),
2113
+ txb.object(poolData.investorId),
2114
+ txb.object(C.NAVI_STORAGE),
2115
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
2116
+ txb.object(C.NAVI_INCENTIVE_V3),
2117
+ txb.object(C.NAVI_DEEP_REWARDS_POOL),
2118
+ txb.object(maps_js_1.cetusPoolMap["DEEP-SUI"]),
2119
+ txb.object(maps_js_1.bluefinPoolMap[`SUI-${maps_js_1.singleAssetPoolCoinMap[poolName].coin}`]),
2120
+ txb.object(C.BLUEFIN_GLOBAL_CONFIG),
2121
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
2122
+ txb.object(C.CLOCK_PACKAGE_ID),
2123
+ ],
2124
+ });
2125
+ }
2126
+ }
2127
+ }
844
2128
  txb.moveCall({
845
- target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw`,
2129
+ target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool`,
846
2130
  typeArguments: [
847
2131
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
848
2132
  coins_js_1.coinsList["VSUI"].type,
@@ -851,12 +2135,7 @@ async function naviWithdrawTx(xTokens, poolName, options) {
851
2135
  ],
852
2136
  arguments: [
853
2137
  txb.object(C.ALPHA_NAVI_V2_VERSION),
854
- txb.object(C.VERSION),
855
- txb.object(receipt[0].objectId),
856
- alpha_receipt,
857
- txb.object(C.ALPHA_POOL),
858
2138
  txb.object(poolData.poolId),
859
- txb.pure.u64(xTokens),
860
2139
  txb.object(poolData.investorId),
861
2140
  txb.object(C.ALPHA_DISTRIBUTOR),
862
2141
  txb.object(C.CLOCK_PACKAGE_ID),
@@ -877,10 +2156,76 @@ async function naviWithdrawTx(xTokens, poolName, options) {
877
2156
  txb.object(C.CETUS_GLOBAL_CONFIG_ID),
878
2157
  ],
879
2158
  });
2159
+ txb.moveCall({
2160
+ target: `${C.ALPHA_NAVI_V2_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_v2`,
2161
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
2162
+ arguments: [
2163
+ txb.object(C.ALPHA_NAVI_V2_VERSION),
2164
+ txb.object(C.VERSION),
2165
+ txb.object(receipt[0].objectId),
2166
+ alpha_receipt,
2167
+ txb.object(C.ALPHA_POOL),
2168
+ txb.object(poolData.poolId),
2169
+ txb.pure.u64(xTokens),
2170
+ txb.object(poolData.investorId),
2171
+ txb.object(C.ALPHA_DISTRIBUTOR),
2172
+ txb.object(C.PRICE_ORACLE),
2173
+ txb.object(C.NAVI_STORAGE),
2174
+ txb.object(poolData.parentPoolId),
2175
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
2176
+ txb.object(C.NAVI_INCENTIVE_V3),
2177
+ txb.object(C.NAVI_INCENTIVE_V2),
2178
+ txb.object(C.CLOCK_PACKAGE_ID),
2179
+ ],
2180
+ });
880
2181
  }
881
2182
  else if (poolName === "NAVI-SUIUSDT") {
2183
+ const claimableRewards = await (0, V3_js_1.getAvailableRewards)((0, client_js_1.getSuiClient)(), (0, constants_js_1.getConf)().NAVI_SUIUSDT_ACCOUNT_ADDRESS);
2184
+ if (claimableRewards) {
2185
+ for (const reward of claimableRewards[coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type.substring(2)]) {
2186
+ if (reward.reward_coin_type === coins_js_1.coinsList["NAVX"].type.substring(2)) {
2187
+ txb.moveCall({
2188
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_no_swap`,
2189
+ typeArguments: [
2190
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
2191
+ ],
2192
+ arguments: [
2193
+ txb.object(C.ALPHA_3_VERSION),
2194
+ txb.object(poolData.investorId),
2195
+ txb.object(C.NAVI_STORAGE),
2196
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
2197
+ txb.object(C.NAVI_INCENTIVE_V3),
2198
+ txb.object(C.NAVI_NAVX_REWARDS_POOL),
2199
+ txb.object(C.CLOCK_PACKAGE_ID),
2200
+ ],
2201
+ });
2202
+ }
2203
+ else if (reward.reward_coin_type === coins_js_1.coinsList["VSUI"].type.substring(2)) {
2204
+ txb.moveCall({
2205
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::collect_reward_with_two_swaps`,
2206
+ typeArguments: [
2207
+ coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
2208
+ coins_js_1.coinsList["SUI"].type,
2209
+ coins_js_1.coinsList["VSUI"].type,
2210
+ ],
2211
+ arguments: [
2212
+ txb.object(C.ALPHA_3_VERSION),
2213
+ txb.object(poolData.investorId),
2214
+ txb.object(C.NAVI_STORAGE),
2215
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
2216
+ txb.object(C.NAVI_INCENTIVE_V3),
2217
+ txb.object(C.NAVI_VSUI_REWARDS_POOL),
2218
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
2219
+ txb.object(maps_js_1.cetusPoolMap["VSUI-SUI"]),
2220
+ txb.object(maps_js_1.cetusPoolMap[`${maps_js_1.singleAssetPoolCoinMap[poolName].coin}-SUI`]),
2221
+ txb.object(C.CLOCK_PACKAGE_ID),
2222
+ ],
2223
+ });
2224
+ }
2225
+ }
2226
+ }
882
2227
  txb.moveCall({
883
- target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_with_three_swaps`,
2228
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::update_pool_with_three_swaps`,
884
2229
  typeArguments: [
885
2230
  coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type,
886
2231
  coins_js_1.coinsList["USDC"].type,
@@ -889,12 +2234,7 @@ async function naviWithdrawTx(xTokens, poolName, options) {
889
2234
  ],
890
2235
  arguments: [
891
2236
  txb.object(C.ALPHA_3_VERSION),
892
- txb.object(C.VERSION),
893
- txb.object(receipt[0].objectId),
894
- alpha_receipt,
895
- txb.object(C.ALPHA_POOL),
896
2237
  txb.object(poolData.poolId),
897
- txb.pure.u64(xTokens),
898
2238
  txb.object(poolData.investorId),
899
2239
  txb.object(C.ALPHA_DISTRIBUTOR),
900
2240
  txb.object(C.PRICE_ORACLE),
@@ -911,6 +2251,28 @@ async function naviWithdrawTx(xTokens, poolName, options) {
911
2251
  txb.object(C.CLOCK_PACKAGE_ID),
912
2252
  ],
913
2253
  });
2254
+ txb.moveCall({
2255
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw`,
2256
+ typeArguments: [coins_js_1.coinsList[maps_js_1.singleAssetPoolCoinMap[poolName].coin].type],
2257
+ arguments: [
2258
+ txb.object(C.ALPHA_3_VERSION),
2259
+ txb.object(C.VERSION),
2260
+ txb.object(receipt[0].objectId),
2261
+ alpha_receipt,
2262
+ txb.object(C.ALPHA_POOL),
2263
+ txb.object(poolData.poolId),
2264
+ txb.pure.u64(xTokens),
2265
+ txb.object(poolData.investorId),
2266
+ txb.object(C.ALPHA_DISTRIBUTOR),
2267
+ txb.object(C.PRICE_ORACLE),
2268
+ txb.object(C.NAVI_STORAGE),
2269
+ txb.object(poolData.parentPoolId),
2270
+ txb.pure.u8(Number(maps_js_1.naviAssetMap[maps_js_1.singleAssetPoolCoinMap[poolName].coin])),
2271
+ txb.object(C.NAVI_INCENTIVE_V3),
2272
+ txb.object(C.NAVI_INCENTIVE_V2),
2273
+ txb.object(C.CLOCK_PACKAGE_ID),
2274
+ ],
2275
+ });
914
2276
  }
915
2277
  else {
916
2278
  txb.moveCall({