@alphafi/alphafi-sdk 0.0.38 → 0.0.39

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