@alphafi/alphafi-sdk 0.0.35 → 0.0.37

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 (208) hide show
  1. package/README.md +15 -0
  2. package/dist/cjs/common/coins.d.ts +1 -1
  3. package/dist/cjs/common/coins.d.ts.map +1 -1
  4. package/dist/cjs/common/coins.js +15 -11
  5. package/dist/cjs/common/coins.js.map +1 -1
  6. package/dist/cjs/common/constants.d.ts +436 -32
  7. package/dist/cjs/common/constants.d.ts.map +1 -1
  8. package/dist/cjs/common/constants.js +488 -56
  9. package/dist/cjs/common/constants.js.map +1 -1
  10. package/dist/cjs/common/maps.d.ts +46 -28
  11. package/dist/cjs/common/maps.d.ts.map +1 -1
  12. package/dist/cjs/common/maps.js +358 -227
  13. package/dist/cjs/common/maps.js.map +1 -1
  14. package/dist/cjs/common/types.d.ts +59 -47
  15. package/dist/cjs/common/types.d.ts.map +1 -1
  16. package/dist/cjs/common/types.js.map +1 -1
  17. package/dist/cjs/getAllVaults.d.ts.map +1 -1
  18. package/dist/cjs/getAllVaults.js +5 -2
  19. package/dist/cjs/getAllVaults.js.map +1 -1
  20. package/dist/cjs/getVaultBalances.d.ts +2 -1
  21. package/dist/cjs/getVaultBalances.d.ts.map +1 -1
  22. package/dist/cjs/getVaultBalances.js +15 -1
  23. package/dist/cjs/getVaultBalances.js.map +1 -1
  24. package/dist/cjs/graphql/getMultiReceipts.d.ts.map +1 -1
  25. package/dist/cjs/graphql/getMultiReceipts.js +4 -0
  26. package/dist/cjs/graphql/getMultiReceipts.js.map +1 -1
  27. package/dist/cjs/index.d.ts +7 -4
  28. package/dist/cjs/index.d.ts.map +1 -1
  29. package/dist/cjs/index.js +20 -5
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.d.ts.map +1 -1
  32. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.js +2 -2
  33. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.js.map +1 -1
  34. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
  35. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +2 -2
  36. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
  37. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.d.ts.map +1 -1
  38. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js +5 -7
  39. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js.map +1 -1
  40. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts +1 -1
  41. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +1 -1
  42. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js +11 -20
  43. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js.map +1 -1
  44. package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts.map +1 -1
  45. package/dist/cjs/sui-sdk/functions/fetchUserVaults.js +12 -9
  46. package/dist/cjs/sui-sdk/functions/fetchUserVaults.js.map +1 -1
  47. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts +8 -23
  48. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -1
  49. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js +157 -141
  50. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js.map +1 -1
  51. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +15 -10
  52. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  53. package/dist/cjs/sui-sdk/functions/getReceipts.js +274 -190
  54. package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
  55. package/dist/cjs/transactions/alpha.d.ts +4 -0
  56. package/dist/cjs/transactions/alpha.d.ts.map +1 -0
  57. package/dist/cjs/transactions/alpha.js +104 -0
  58. package/dist/cjs/transactions/alpha.js.map +1 -0
  59. package/dist/cjs/transactions/bluefin.d.ts +15 -0
  60. package/dist/cjs/transactions/bluefin.d.ts.map +1 -0
  61. package/dist/cjs/transactions/bluefin.js +457 -0
  62. package/dist/cjs/transactions/bluefin.js.map +1 -0
  63. package/dist/cjs/transactions/bucket.d.ts +8 -0
  64. package/dist/cjs/transactions/bucket.d.ts.map +1 -0
  65. package/dist/cjs/transactions/bucket.js +131 -0
  66. package/dist/cjs/transactions/bucket.js.map +1 -0
  67. package/dist/cjs/transactions/cetus.d.ts +24 -0
  68. package/dist/cjs/transactions/cetus.d.ts.map +1 -0
  69. package/dist/cjs/transactions/cetus.js +554 -0
  70. package/dist/cjs/transactions/cetus.js.map +1 -0
  71. package/dist/cjs/transactions/collect_rewards.d.ts +3 -0
  72. package/dist/cjs/transactions/collect_rewards.d.ts.map +1 -0
  73. package/dist/cjs/transactions/collect_rewards.js +332 -0
  74. package/dist/cjs/transactions/collect_rewards.js.map +1 -0
  75. package/dist/cjs/transactions/deposit.d.ts +5 -0
  76. package/dist/cjs/transactions/deposit.d.ts.map +1 -0
  77. package/dist/cjs/transactions/deposit.js +57 -0
  78. package/dist/cjs/transactions/deposit.js.map +1 -0
  79. package/dist/cjs/transactions/navi.d.ts +9 -0
  80. package/dist/cjs/transactions/navi.d.ts.map +1 -0
  81. package/dist/cjs/transactions/navi.js +618 -0
  82. package/dist/cjs/transactions/navi.js.map +1 -0
  83. package/dist/cjs/transactions/withdraw.d.ts +5 -0
  84. package/dist/cjs/transactions/withdraw.d.ts.map +1 -0
  85. package/dist/cjs/transactions/withdraw.js +52 -0
  86. package/dist/cjs/transactions/withdraw.js.map +1 -0
  87. package/dist/cjs/transactions/zapDeposit.d.ts +1 -0
  88. package/dist/cjs/transactions/zapDeposit.d.ts.map +1 -0
  89. package/dist/cjs/transactions/zapDeposit.js +730 -0
  90. package/dist/cjs/transactions/zapDeposit.js.map +1 -0
  91. package/dist/cjs/utils/clmm/prices.js +9 -9
  92. package/dist/cjs/utils/clmm/prices.js.map +1 -1
  93. package/dist/cjs/utils/getHoldersFromTransactionsUtils.d.ts.map +1 -1
  94. package/dist/cjs/utils/getHoldersFromTransactionsUtils.js +7 -7
  95. package/dist/cjs/utils/getHoldersFromTransactionsUtils.js.map +1 -1
  96. package/dist/cjs/utils/hop.js +3 -3
  97. package/dist/cjs/utils/hop.js.map +1 -1
  98. package/dist/cjs/utils/prices.d.ts +2 -0
  99. package/dist/cjs/utils/prices.d.ts.map +1 -1
  100. package/dist/cjs/utils/prices.js +39 -0
  101. package/dist/cjs/utils/prices.js.map +1 -1
  102. package/dist/cjs/utils/userHoldings.d.ts.map +1 -1
  103. package/dist/cjs/utils/userHoldings.js +18 -18
  104. package/dist/cjs/utils/userHoldings.js.map +1 -1
  105. package/dist/esm/common/coins.d.ts +1 -1
  106. package/dist/esm/common/coins.d.ts.map +1 -1
  107. package/dist/esm/common/coins.js +14 -10
  108. package/dist/esm/common/coins.js.map +1 -1
  109. package/dist/esm/common/constants.d.ts +436 -32
  110. package/dist/esm/common/constants.d.ts.map +1 -1
  111. package/dist/esm/common/constants.js +488 -56
  112. package/dist/esm/common/constants.js.map +1 -1
  113. package/dist/esm/common/maps.d.ts +46 -28
  114. package/dist/esm/common/maps.d.ts.map +1 -1
  115. package/dist/esm/common/maps.js +355 -226
  116. package/dist/esm/common/maps.js.map +1 -1
  117. package/dist/esm/common/types.d.ts +59 -47
  118. package/dist/esm/common/types.d.ts.map +1 -1
  119. package/dist/esm/common/types.js.map +1 -1
  120. package/dist/esm/getAllVaults.d.ts.map +1 -1
  121. package/dist/esm/getAllVaults.js +5 -2
  122. package/dist/esm/getAllVaults.js.map +1 -1
  123. package/dist/esm/getVaultBalances.d.ts +2 -1
  124. package/dist/esm/getVaultBalances.d.ts.map +1 -1
  125. package/dist/esm/getVaultBalances.js +14 -1
  126. package/dist/esm/getVaultBalances.js.map +1 -1
  127. package/dist/esm/graphql/getMultiReceipts.d.ts.map +1 -1
  128. package/dist/esm/graphql/getMultiReceipts.js +4 -0
  129. package/dist/esm/graphql/getMultiReceipts.js.map +1 -1
  130. package/dist/esm/index.d.ts +7 -4
  131. package/dist/esm/index.d.ts.map +1 -1
  132. package/dist/esm/index.js +7 -4
  133. package/dist/esm/index.js.map +1 -1
  134. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.d.ts.map +1 -1
  135. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.js +4 -4
  136. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.js.map +1 -1
  137. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
  138. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +4 -4
  139. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
  140. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.d.ts.map +1 -1
  141. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js +7 -9
  142. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js.map +1 -1
  143. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts +1 -1
  144. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +1 -1
  145. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js +11 -20
  146. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js.map +1 -1
  147. package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts.map +1 -1
  148. package/dist/esm/sui-sdk/functions/fetchUserVaults.js +13 -10
  149. package/dist/esm/sui-sdk/functions/fetchUserVaults.js.map +1 -1
  150. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts +8 -23
  151. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -1
  152. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js +158 -144
  153. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js.map +1 -1
  154. package/dist/esm/sui-sdk/functions/getReceipts.d.ts +15 -10
  155. package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  156. package/dist/esm/sui-sdk/functions/getReceipts.js +266 -186
  157. package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
  158. package/dist/esm/transactions/alpha.d.ts +4 -0
  159. package/dist/esm/transactions/alpha.d.ts.map +1 -0
  160. package/dist/esm/transactions/alpha.js +99 -0
  161. package/dist/esm/transactions/alpha.js.map +1 -0
  162. package/dist/esm/transactions/bluefin.d.ts +15 -0
  163. package/dist/esm/transactions/bluefin.d.ts.map +1 -0
  164. package/dist/esm/transactions/bluefin.js +450 -0
  165. package/dist/esm/transactions/bluefin.js.map +1 -0
  166. package/dist/esm/transactions/bucket.d.ts +8 -0
  167. package/dist/esm/transactions/bucket.d.ts.map +1 -0
  168. package/dist/esm/transactions/bucket.js +127 -0
  169. package/dist/esm/transactions/bucket.js.map +1 -0
  170. package/dist/esm/transactions/cetus.d.ts +24 -0
  171. package/dist/esm/transactions/cetus.d.ts.map +1 -0
  172. package/dist/esm/transactions/cetus.js +541 -0
  173. package/dist/esm/transactions/cetus.js.map +1 -0
  174. package/dist/esm/transactions/collect_rewards.d.ts +3 -0
  175. package/dist/esm/transactions/collect_rewards.d.ts.map +1 -0
  176. package/dist/esm/transactions/collect_rewards.js +329 -0
  177. package/dist/esm/transactions/collect_rewards.js.map +1 -0
  178. package/dist/esm/transactions/deposit.d.ts +5 -0
  179. package/dist/esm/transactions/deposit.d.ts.map +1 -0
  180. package/dist/esm/transactions/deposit.js +53 -0
  181. package/dist/esm/transactions/deposit.js.map +1 -0
  182. package/dist/esm/transactions/navi.d.ts +9 -0
  183. package/dist/esm/transactions/navi.d.ts.map +1 -0
  184. package/dist/esm/transactions/navi.js +614 -0
  185. package/dist/esm/transactions/navi.js.map +1 -0
  186. package/dist/esm/transactions/withdraw.d.ts +5 -0
  187. package/dist/esm/transactions/withdraw.d.ts.map +1 -0
  188. package/dist/esm/transactions/withdraw.js +49 -0
  189. package/dist/esm/transactions/withdraw.js.map +1 -0
  190. package/dist/esm/transactions/zapDeposit.d.ts +2 -0
  191. package/dist/esm/transactions/zapDeposit.d.ts.map +1 -0
  192. package/dist/esm/transactions/zapDeposit.js +730 -0
  193. package/dist/esm/transactions/zapDeposit.js.map +1 -0
  194. package/dist/esm/utils/clmm/prices.js +10 -10
  195. package/dist/esm/utils/clmm/prices.js.map +1 -1
  196. package/dist/esm/utils/getHoldersFromTransactionsUtils.d.ts.map +1 -1
  197. package/dist/esm/utils/getHoldersFromTransactionsUtils.js +9 -9
  198. package/dist/esm/utils/getHoldersFromTransactionsUtils.js.map +1 -1
  199. package/dist/esm/utils/hop.js +4 -4
  200. package/dist/esm/utils/hop.js.map +1 -1
  201. package/dist/esm/utils/prices.d.ts +2 -0
  202. package/dist/esm/utils/prices.d.ts.map +1 -1
  203. package/dist/esm/utils/prices.js +37 -0
  204. package/dist/esm/utils/prices.js.map +1 -1
  205. package/dist/esm/utils/userHoldings.d.ts.map +1 -1
  206. package/dist/esm/utils/userHoldings.js +20 -20
  207. package/dist/esm/utils/userHoldings.js.map +1 -1
  208. package/package.json +2 -2
@@ -0,0 +1,614 @@
1
+ import { Transaction } from "@mysten/sui/transactions";
2
+ import { coinsList } from "../common/coins.js";
3
+ import { cetusPoolMap, naviAssetMap, poolInfo, singleAssetPoolCoinMap, } from "../common/maps.js";
4
+ import { getReceipts } from "../sui-sdk/functions/getReceipts.js";
5
+ import { getConf } from "../common/constants.js";
6
+ import { getSuiClient } from "../sui-sdk/client.js";
7
+ export async function naviDepositTx(amount, poolName, options) {
8
+ const C = await getConf();
9
+ const suiClient = getSuiClient();
10
+ const address = options.address;
11
+ const txb = new Transaction();
12
+ poolName = poolName.toUpperCase();
13
+ const poolData = poolInfo[poolName];
14
+ const receipt = await getReceipts(poolName, address, true);
15
+ if (singleAssetPoolCoinMap[poolName].coin == "SUI") {
16
+ let someReceipt;
17
+ if (receipt.length == 0) {
18
+ [someReceipt] = txb.moveCall({
19
+ target: `0x1::option::none`,
20
+ typeArguments: [poolData.receiptType],
21
+ arguments: [],
22
+ });
23
+ }
24
+ else {
25
+ [someReceipt] = txb.moveCall({
26
+ target: `0x1::option::some`,
27
+ typeArguments: [receipt[0].content.type],
28
+ arguments: [txb.object(receipt[0].objectId)],
29
+ });
30
+ }
31
+ const [depositCoin] = txb.splitCoins(txb.gas, [amount]);
32
+ txb.moveCall({
33
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_one_swap`,
34
+ typeArguments: [
35
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
36
+ coinsList["VSUI"].type,
37
+ ],
38
+ arguments: [
39
+ txb.object(C.VERSION),
40
+ someReceipt,
41
+ txb.object(poolData.poolId),
42
+ depositCoin,
43
+ txb.object(poolData.investorId),
44
+ txb.object(C.ALPHA_DISTRIBUTOR),
45
+ txb.object(C.PRICE_ORACLE),
46
+ txb.object(C.NAVI_STORAGE),
47
+ txb.object(poolData.parentPoolId),
48
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
49
+ txb.object(C.NAVI_INCENTIVE_V1),
50
+ txb.object(C.NAVI_INCENTIVE_V2),
51
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
52
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
53
+ txb.object(cetusPoolMap["VSUI-SUI"]),
54
+ txb.object(C.CLOCK_PACKAGE_ID),
55
+ ],
56
+ });
57
+ }
58
+ else {
59
+ let coins = [];
60
+ let currentCursor = null;
61
+ do {
62
+ const response = await suiClient.getCoins({
63
+ owner: address,
64
+ coinType: coinsList[singleAssetPoolCoinMap[poolName].coin].type,
65
+ cursor: currentCursor,
66
+ });
67
+ coins = coins.concat(response.data);
68
+ // Check if there's a next page
69
+ if (response.hasNextPage && response.nextCursor) {
70
+ currentCursor = response.nextCursor;
71
+ }
72
+ else {
73
+ // No more pages available
74
+ // console.log("No more receipts available.");
75
+ break;
76
+ }
77
+ } while (true);
78
+ if (coins.length >= 1) {
79
+ const [coin] = txb.splitCoins(txb.object(coins[0].coinObjectId), [0]);
80
+ txb.mergeCoins(coin, coins.map((c) => c.coinObjectId));
81
+ const [depositCoin] = txb.splitCoins(coin, [amount]);
82
+ let someReceipt;
83
+ if (receipt.length == 0) {
84
+ [someReceipt] = txb.moveCall({
85
+ target: `0x1::option::none`,
86
+ typeArguments: [poolData.receiptType],
87
+ arguments: [],
88
+ });
89
+ }
90
+ else {
91
+ [someReceipt] = txb.moveCall({
92
+ target: `0x1::option::some`,
93
+ typeArguments: [receipt[0].content.type],
94
+ arguments: [txb.object(receipt[0].objectId)],
95
+ });
96
+ }
97
+ if (singleAssetPoolCoinMap[poolName].coin == "VSUI") {
98
+ txb.moveCall({
99
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_two_swaps`,
100
+ typeArguments: [
101
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
102
+ coinsList["SUI"].type,
103
+ coinsList["NAVX"].type,
104
+ ],
105
+ arguments: [
106
+ txb.object(C.VERSION),
107
+ someReceipt,
108
+ txb.object(poolData.poolId),
109
+ depositCoin,
110
+ txb.object(poolData.investorId),
111
+ txb.object(C.ALPHA_DISTRIBUTOR),
112
+ txb.object(C.PRICE_ORACLE),
113
+ txb.object(C.NAVI_STORAGE),
114
+ txb.object(poolData.parentPoolId),
115
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
116
+ txb.object(C.NAVI_INCENTIVE_V1),
117
+ txb.object(C.NAVI_INCENTIVE_V2),
118
+ txb.object(C.NAVI_NAVX_FUNDS_POOL),
119
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
120
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
121
+ txb.object(cetusPoolMap["NAVX-SUI"]),
122
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`]),
123
+ txb.object(C.CLOCK_PACKAGE_ID),
124
+ ],
125
+ });
126
+ }
127
+ else if (singleAssetPoolCoinMap[poolName].coin == "WETH" ||
128
+ singleAssetPoolCoinMap[poolName].coin == "USDT") {
129
+ txb.moveCall({
130
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,
131
+ typeArguments: [
132
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
133
+ coinsList["WUSDC"].type,
134
+ coinsList["SUI"].type,
135
+ coinsList["VSUI"].type,
136
+ ],
137
+ arguments: [
138
+ txb.object(C.VERSION),
139
+ someReceipt,
140
+ txb.object(poolData.poolId),
141
+ depositCoin,
142
+ txb.object(poolData.investorId),
143
+ txb.object(C.ALPHA_DISTRIBUTOR),
144
+ txb.object(C.PRICE_ORACLE),
145
+ txb.object(C.NAVI_STORAGE),
146
+ txb.object(poolData.parentPoolId),
147
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
148
+ txb.object(C.NAVI_INCENTIVE_V1),
149
+ txb.object(C.NAVI_INCENTIVE_V2),
150
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
151
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
152
+ txb.object(cetusPoolMap["VSUI-SUI"]),
153
+ txb.object(cetusPoolMap["WUSDC-SUI"]),
154
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
155
+ txb.object(C.CLOCK_PACKAGE_ID),
156
+ ],
157
+ });
158
+ }
159
+ else if (singleAssetPoolCoinMap[poolName].coin == "WUSDC") {
160
+ txb.moveCall({
161
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,
162
+ typeArguments: [
163
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
164
+ coinsList["CETUS"].type,
165
+ coinsList["SUI"].type,
166
+ coinsList["VSUI"].type,
167
+ ],
168
+ arguments: [
169
+ txb.object(C.VERSION),
170
+ someReceipt,
171
+ txb.object(poolData.poolId),
172
+ depositCoin,
173
+ txb.object(poolData.investorId),
174
+ txb.object(C.ALPHA_DISTRIBUTOR),
175
+ txb.object(C.PRICE_ORACLE),
176
+ txb.object(C.NAVI_STORAGE),
177
+ txb.object(poolData.parentPoolId),
178
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
179
+ txb.object(C.NAVI_INCENTIVE_V1),
180
+ txb.object(C.NAVI_INCENTIVE_V2),
181
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
182
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
183
+ txb.object(cetusPoolMap["VSUI-SUI"]),
184
+ txb.object(cetusPoolMap["CETUS-SUI"]),
185
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-CETUS`]),
186
+ txb.object(C.CLOCK_PACKAGE_ID),
187
+ ],
188
+ });
189
+ }
190
+ else if (singleAssetPoolCoinMap[poolName].coin == "USDC") {
191
+ txb.moveCall({
192
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,
193
+ typeArguments: [
194
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
195
+ coinsList["BUCK"].type,
196
+ coinsList["SUI"].type,
197
+ coinsList["VSUI"].type,
198
+ ],
199
+ arguments: [
200
+ txb.object(C.VERSION),
201
+ someReceipt,
202
+ txb.object(poolData.poolId),
203
+ depositCoin,
204
+ txb.object(poolData.investorId),
205
+ txb.object(C.ALPHA_DISTRIBUTOR),
206
+ txb.object(C.PRICE_ORACLE),
207
+ txb.object(C.NAVI_STORAGE),
208
+ txb.object(poolData.parentPoolId),
209
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
210
+ txb.object(C.NAVI_INCENTIVE_V1),
211
+ txb.object(C.NAVI_INCENTIVE_V2),
212
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
213
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
214
+ txb.object(cetusPoolMap["VSUI-SUI"]),
215
+ txb.object(cetusPoolMap["BUCK-SUI"]),
216
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-BUCK`]),
217
+ txb.object(C.CLOCK_PACKAGE_ID),
218
+ ],
219
+ });
220
+ }
221
+ else if (singleAssetPoolCoinMap[poolName].coin == "USDY") {
222
+ txb.moveCall({
223
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,
224
+ typeArguments: [
225
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
226
+ coinsList["WUSDC"].type,
227
+ coinsList["SUI"].type,
228
+ coinsList["VSUI"].type,
229
+ ],
230
+ arguments: [
231
+ txb.object(C.VERSION),
232
+ someReceipt,
233
+ txb.object(poolData.poolId),
234
+ depositCoin,
235
+ txb.object(poolData.investorId),
236
+ txb.object(C.ALPHA_DISTRIBUTOR),
237
+ txb.object(C.PRICE_ORACLE),
238
+ txb.object(C.NAVI_STORAGE),
239
+ txb.object(poolData.parentPoolId),
240
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
241
+ txb.object(C.NAVI_INCENTIVE_V1),
242
+ txb.object(C.NAVI_INCENTIVE_V2),
243
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
244
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
245
+ txb.object(cetusPoolMap["VSUI-SUI"]),
246
+ txb.object(cetusPoolMap["WUSDC-SUI"]),
247
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
248
+ txb.object(C.CLOCK_PACKAGE_ID),
249
+ ],
250
+ });
251
+ }
252
+ else if (singleAssetPoolCoinMap[poolName].coin == "AUSD" ||
253
+ singleAssetPoolCoinMap[poolName].coin == "ETH") {
254
+ txb.moveCall({
255
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_with_three_swaps`,
256
+ typeArguments: [
257
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
258
+ coinsList["USDC"].type,
259
+ coinsList["SUI"].type,
260
+ coinsList["VSUI"].type,
261
+ ],
262
+ arguments: [
263
+ txb.object(C.ALPHA_3_VERSION),
264
+ txb.object(C.VERSION),
265
+ someReceipt,
266
+ txb.object(poolData.poolId),
267
+ depositCoin,
268
+ txb.object(poolData.investorId),
269
+ txb.object(C.ALPHA_DISTRIBUTOR),
270
+ txb.object(C.PRICE_ORACLE),
271
+ txb.object(C.NAVI_STORAGE),
272
+ txb.object(poolData.parentPoolId),
273
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
274
+ txb.object(C.NAVI_INCENTIVE_V1),
275
+ txb.object(C.NAVI_INCENTIVE_V2),
276
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
277
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
278
+ txb.object(cetusPoolMap["VSUI-SUI"]),
279
+ txb.object(cetusPoolMap["USDC-SUI"]),
280
+ txb.object(cetusPoolMap[`USDC-${singleAssetPoolCoinMap[poolName].coin}`]),
281
+ txb.object(C.CLOCK_PACKAGE_ID),
282
+ ],
283
+ });
284
+ }
285
+ else {
286
+ txb.moveCall({
287
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_two_swaps`,
288
+ typeArguments: [
289
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
290
+ coinsList["SUI"].type,
291
+ coinsList["VSUI"].type,
292
+ ],
293
+ arguments: [
294
+ txb.object(C.VERSION),
295
+ someReceipt,
296
+ txb.object(poolData.poolId),
297
+ depositCoin,
298
+ txb.object(poolData.investorId),
299
+ txb.object(C.ALPHA_DISTRIBUTOR),
300
+ txb.object(C.PRICE_ORACLE),
301
+ txb.object(C.NAVI_STORAGE),
302
+ txb.object(poolData.parentPoolId),
303
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
304
+ txb.object(C.NAVI_INCENTIVE_V1),
305
+ txb.object(C.NAVI_INCENTIVE_V2),
306
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
307
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
308
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
309
+ txb.object(cetusPoolMap["VSUI-SUI"]),
310
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`]),
311
+ txb.object(C.CLOCK_PACKAGE_ID),
312
+ ],
313
+ });
314
+ }
315
+ txb.transferObjects([coin], address);
316
+ }
317
+ else {
318
+ throw new Error(`No ${singleAssetPoolCoinMap[poolName].coin} Coins`);
319
+ }
320
+ }
321
+ return txb;
322
+ }
323
+ export async function naviWithdrawTx(xtokens, poolName, options) {
324
+ const C = await getConf();
325
+ const address = options.address;
326
+ const txb = new Transaction();
327
+ poolName = poolName.toUpperCase();
328
+ const poolData = poolInfo[poolName];
329
+ const receipt = await getReceipts(poolName, address, true);
330
+ const alphaReceipt = await getReceipts("ALPHA", address, true);
331
+ if (receipt.length > 0) {
332
+ let alpha_receipt;
333
+ if (alphaReceipt.length == 0) {
334
+ [alpha_receipt] = txb.moveCall({
335
+ target: `0x1::option::none`,
336
+ typeArguments: [C.ALPHA_POOL_RECEIPT],
337
+ arguments: [],
338
+ });
339
+ }
340
+ else {
341
+ [alpha_receipt] = txb.moveCall({
342
+ target: `0x1::option::some`,
343
+ typeArguments: [alphaReceipt[0].content.type],
344
+ arguments: [txb.object(alphaReceipt[0].objectId)],
345
+ });
346
+ }
347
+ if (singleAssetPoolCoinMap[poolName].coin == "SUI") {
348
+ txb.moveCall({
349
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_one_swap`,
350
+ typeArguments: [
351
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
352
+ coinsList["VSUI"].type,
353
+ ],
354
+ arguments: [
355
+ txb.object(C.VERSION),
356
+ txb.object(receipt[0].objectId),
357
+ alpha_receipt,
358
+ txb.object(C.ALPHA_POOL),
359
+ txb.object(poolData.poolId),
360
+ txb.pure.u64(xtokens),
361
+ txb.object(poolData.investorId),
362
+ txb.object(C.ALPHA_DISTRIBUTOR),
363
+ txb.object(C.PRICE_ORACLE),
364
+ txb.object(C.NAVI_STORAGE),
365
+ txb.object(poolData.parentPoolId),
366
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
367
+ txb.object(C.NAVI_INCENTIVE_V1),
368
+ txb.object(C.NAVI_INCENTIVE_V2),
369
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
370
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
371
+ txb.object(cetusPoolMap["VSUI-SUI"]),
372
+ txb.object(C.CLOCK_PACKAGE_ID),
373
+ ],
374
+ });
375
+ }
376
+ else if (singleAssetPoolCoinMap[poolName].coin == "VSUI") {
377
+ txb.moveCall({
378
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_two_swaps`,
379
+ typeArguments: [
380
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
381
+ coinsList["SUI"].type,
382
+ coinsList["NAVX"].type,
383
+ ],
384
+ arguments: [
385
+ txb.object(C.VERSION),
386
+ txb.object(receipt[0].objectId),
387
+ alpha_receipt,
388
+ txb.object(C.ALPHA_POOL),
389
+ txb.object(poolData.poolId),
390
+ txb.pure.u64(xtokens),
391
+ txb.object(poolData.investorId),
392
+ txb.object(C.ALPHA_DISTRIBUTOR),
393
+ txb.object(C.PRICE_ORACLE),
394
+ txb.object(C.NAVI_STORAGE),
395
+ txb.object(poolData.parentPoolId),
396
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
397
+ txb.object(C.NAVI_INCENTIVE_V1),
398
+ txb.object(C.NAVI_INCENTIVE_V2),
399
+ txb.object(C.NAVI_NAVX_FUNDS_POOL),
400
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
401
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
402
+ txb.object(cetusPoolMap["NAVX-SUI"]),
403
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`]),
404
+ txb.object(C.CLOCK_PACKAGE_ID),
405
+ ],
406
+ });
407
+ }
408
+ else if (singleAssetPoolCoinMap[poolName].coin == "WETH" ||
409
+ singleAssetPoolCoinMap[poolName].coin == "USDT") {
410
+ txb.moveCall({
411
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,
412
+ typeArguments: [
413
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
414
+ coinsList["WUSDC"].type,
415
+ coinsList["SUI"].type,
416
+ coinsList["VSUI"].type,
417
+ ],
418
+ arguments: [
419
+ txb.object(C.VERSION),
420
+ txb.object(receipt[0].objectId),
421
+ alpha_receipt,
422
+ txb.object(C.ALPHA_POOL),
423
+ txb.object(poolData.poolId),
424
+ txb.pure.u64(xtokens),
425
+ txb.object(poolData.investorId),
426
+ txb.object(C.ALPHA_DISTRIBUTOR),
427
+ txb.object(C.PRICE_ORACLE),
428
+ txb.object(C.NAVI_STORAGE),
429
+ txb.object(poolData.parentPoolId),
430
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
431
+ txb.object(C.NAVI_INCENTIVE_V1),
432
+ txb.object(C.NAVI_INCENTIVE_V2),
433
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
434
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
435
+ txb.object(cetusPoolMap["VSUI-SUI"]),
436
+ txb.object(cetusPoolMap["WUSDC-SUI"]),
437
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
438
+ txb.object(C.CLOCK_PACKAGE_ID),
439
+ ],
440
+ });
441
+ }
442
+ else if (singleAssetPoolCoinMap[poolName].coin == "WUSDC") {
443
+ txb.moveCall({
444
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,
445
+ typeArguments: [
446
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
447
+ coinsList["CETUS"].type,
448
+ coinsList["SUI"].type,
449
+ coinsList["VSUI"].type,
450
+ ],
451
+ arguments: [
452
+ txb.object(C.VERSION),
453
+ txb.object(receipt[0].objectId),
454
+ alpha_receipt,
455
+ txb.object(C.ALPHA_POOL),
456
+ txb.object(poolData.poolId),
457
+ txb.pure.u64(xtokens),
458
+ txb.object(poolData.investorId),
459
+ txb.object(C.ALPHA_DISTRIBUTOR),
460
+ txb.object(C.PRICE_ORACLE),
461
+ txb.object(C.NAVI_STORAGE),
462
+ txb.object(poolData.parentPoolId),
463
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
464
+ txb.object(C.NAVI_INCENTIVE_V1),
465
+ txb.object(C.NAVI_INCENTIVE_V2),
466
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
467
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
468
+ txb.object(cetusPoolMap["VSUI-SUI"]),
469
+ txb.object(cetusPoolMap["CETUS-SUI"]),
470
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-CETUS`]),
471
+ txb.object(C.CLOCK_PACKAGE_ID),
472
+ ],
473
+ });
474
+ }
475
+ else if (singleAssetPoolCoinMap[poolName].coin == "USDC") {
476
+ txb.moveCall({
477
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,
478
+ typeArguments: [
479
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
480
+ coinsList["BUCK"].type,
481
+ coinsList["SUI"].type,
482
+ coinsList["VSUI"].type,
483
+ ],
484
+ arguments: [
485
+ txb.object(C.VERSION),
486
+ txb.object(receipt[0].objectId),
487
+ alpha_receipt,
488
+ txb.object(C.ALPHA_POOL),
489
+ txb.object(poolData.poolId),
490
+ txb.pure.u64(xtokens),
491
+ txb.object(poolData.investorId),
492
+ txb.object(C.ALPHA_DISTRIBUTOR),
493
+ txb.object(C.PRICE_ORACLE),
494
+ txb.object(C.NAVI_STORAGE),
495
+ txb.object(poolData.parentPoolId),
496
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
497
+ txb.object(C.NAVI_INCENTIVE_V1),
498
+ txb.object(C.NAVI_INCENTIVE_V2),
499
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
500
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
501
+ txb.object(cetusPoolMap["VSUI-SUI"]),
502
+ txb.object(cetusPoolMap["BUCK-SUI"]),
503
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-BUCK`]),
504
+ txb.object(C.CLOCK_PACKAGE_ID),
505
+ ],
506
+ });
507
+ }
508
+ else if (singleAssetPoolCoinMap[poolName].coin == "USDY") {
509
+ txb.moveCall({
510
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,
511
+ typeArguments: [
512
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
513
+ coinsList["WUSDC"].type,
514
+ coinsList["SUI"].type,
515
+ coinsList["VSUI"].type,
516
+ ],
517
+ arguments: [
518
+ txb.object(C.VERSION),
519
+ txb.object(receipt[0].objectId),
520
+ alpha_receipt,
521
+ txb.object(C.ALPHA_POOL),
522
+ txb.object(poolData.poolId),
523
+ txb.pure.u64(xtokens),
524
+ txb.object(poolData.investorId),
525
+ txb.object(C.ALPHA_DISTRIBUTOR),
526
+ txb.object(C.PRICE_ORACLE),
527
+ txb.object(C.NAVI_STORAGE),
528
+ txb.object(poolData.parentPoolId),
529
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
530
+ txb.object(C.NAVI_INCENTIVE_V1),
531
+ txb.object(C.NAVI_INCENTIVE_V2),
532
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
533
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
534
+ txb.object(cetusPoolMap["VSUI-SUI"]),
535
+ txb.object(cetusPoolMap["WUSDC-SUI"]),
536
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`]),
537
+ txb.object(C.CLOCK_PACKAGE_ID),
538
+ ],
539
+ });
540
+ }
541
+ else if (singleAssetPoolCoinMap[poolName].coin == "AUSD" ||
542
+ singleAssetPoolCoinMap[poolName].coin == "ETH") {
543
+ txb.moveCall({
544
+ target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_with_three_swaps`,
545
+ typeArguments: [
546
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
547
+ coinsList["USDC"].type,
548
+ coinsList["SUI"].type,
549
+ coinsList["VSUI"].type,
550
+ ],
551
+ arguments: [
552
+ txb.object(C.ALPHA_3_VERSION),
553
+ txb.object(C.VERSION),
554
+ txb.object(receipt[0].objectId),
555
+ alpha_receipt,
556
+ txb.object(C.ALPHA_POOL),
557
+ txb.object(poolData.poolId),
558
+ txb.pure.u64(xtokens),
559
+ txb.object(poolData.investorId),
560
+ txb.object(C.ALPHA_DISTRIBUTOR),
561
+ txb.object(C.PRICE_ORACLE),
562
+ txb.object(C.NAVI_STORAGE),
563
+ txb.object(poolData.parentPoolId),
564
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
565
+ txb.object(C.NAVI_INCENTIVE_V1),
566
+ txb.object(C.NAVI_INCENTIVE_V2),
567
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
568
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
569
+ txb.object(cetusPoolMap["VSUI-SUI"]),
570
+ txb.object(cetusPoolMap["USDC-SUI"]),
571
+ txb.object(cetusPoolMap[`USDC-${singleAssetPoolCoinMap[poolName].coin}`]),
572
+ txb.object(C.CLOCK_PACKAGE_ID),
573
+ ],
574
+ });
575
+ }
576
+ else {
577
+ txb.moveCall({
578
+ target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_two_swaps`,
579
+ typeArguments: [
580
+ coinsList[singleAssetPoolCoinMap[poolName].coin].type,
581
+ coinsList["SUI"].type,
582
+ coinsList["VSUI"].type,
583
+ ],
584
+ arguments: [
585
+ txb.object(C.VERSION),
586
+ txb.object(receipt[0].objectId),
587
+ alpha_receipt,
588
+ txb.object(C.ALPHA_POOL),
589
+ txb.object(poolData.poolId),
590
+ txb.pure.u64(xtokens),
591
+ txb.object(poolData.investorId),
592
+ txb.object(C.ALPHA_DISTRIBUTOR),
593
+ txb.object(C.PRICE_ORACLE),
594
+ txb.object(C.NAVI_STORAGE),
595
+ txb.object(poolData.parentPoolId),
596
+ txb.pure.u8(Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin])),
597
+ txb.object(C.NAVI_INCENTIVE_V1),
598
+ txb.object(C.NAVI_INCENTIVE_V2),
599
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
600
+ txb.object(C.NAVI_VSUI_FUNDS_POOL),
601
+ txb.object(C.CETUS_GLOBAL_CONFIG_ID),
602
+ txb.object(cetusPoolMap["VSUI-SUI"]),
603
+ txb.object(cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`]),
604
+ txb.object(C.CLOCK_PACKAGE_ID),
605
+ ],
606
+ });
607
+ }
608
+ }
609
+ else {
610
+ throw new Error(`No ${poolName} Receipt`);
611
+ }
612
+ return txb;
613
+ }
614
+ //# sourceMappingURL=navi.js.map