@alphafi/alphafi-sdk 0.0.36 → 0.0.38

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