@typus/typus-sdk 0.1.7 → 0.1.9

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 (64) hide show
  1. package/lib/constants.d.ts +8 -5
  2. package/lib/constants.js +10 -8
  3. package/lib/scripts/coveredCall/getClaimAllTx.d.ts +1 -0
  4. package/lib/scripts/coveredCall/getClaimAllTx.js +56 -0
  5. package/lib/scripts/coveredCall/getClaimTx.d.ts +1 -0
  6. package/lib/scripts/coveredCall/getClaimTx.js +57 -0
  7. package/lib/scripts/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.js +2 -4
  8. package/lib/scripts/coveredCall/getNewCoveredCallVaultTx.js +2 -5
  9. package/lib/scripts/coveredCall/getNewManagerTx.d.ts +1 -0
  10. package/lib/scripts/coveredCall/getNewManagerTx.js +55 -0
  11. package/lib/scripts/coveredCall/getRemoveManagerTx.d.ts +1 -0
  12. package/lib/scripts/coveredCall/getRemoveManagerTx.js +54 -0
  13. package/lib/scripts/coveredCall/getRollOverTx.d.ts +1 -0
  14. package/lib/scripts/coveredCall/getRollOverTx.js +55 -0
  15. package/lib/scripts/coveredCall/getSettleTx.d.ts +1 -0
  16. package/lib/scripts/coveredCall/getSettleTx.js +57 -0
  17. package/lib/scripts/coveredCall/getSettleWithRollOverTx.d.ts +1 -0
  18. package/lib/scripts/coveredCall/getSettleWithRollOverTx.js +57 -0
  19. package/lib/scripts/coveredCall/getUpdatePayoffConfigTx.d.ts +1 -0
  20. package/lib/scripts/coveredCall/getUpdatePayoffConfigTx.js +57 -0
  21. package/lib/scripts/getMintTx.js +1 -1
  22. package/lib/scripts/getNewOracleTx.js +1 -1
  23. package/lib/scripts/getNewTimeOracleTx.d.ts +1 -0
  24. package/lib/scripts/getNewTimeOracleTx.js +54 -0
  25. package/lib/scripts/getSubVault.d.ts +0 -1
  26. package/lib/scripts/getSubVault.js +5 -51
  27. package/lib/scripts/getUpdateTimeOracleTx.d.ts +1 -0
  28. package/lib/scripts/getUpdateTimeOracleTx.js +59 -0
  29. package/lib/test/testDeposit.js +2 -2
  30. package/lib/test/testMint.js +11 -9
  31. package/lib/test/testNewVault.js +8 -10
  32. package/lib/test/testSettle.d.ts +1 -0
  33. package/lib/test/testSettle.js +437 -0
  34. package/lib/test/testWithdraw.d.ts +1 -0
  35. package/lib/test/testWithdraw.js +70 -0
  36. package/lib/utils/coveredCall/getClaimAllTx.d.ts +1 -0
  37. package/lib/utils/coveredCall/getClaimAllTx.js +60 -0
  38. package/lib/utils/coveredCall/getClaimTx.d.ts +1 -0
  39. package/lib/utils/coveredCall/getClaimTx.js +61 -0
  40. package/lib/utils/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.d.ts +1 -1
  41. package/lib/utils/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.js +1 -2
  42. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.d.ts +1 -1
  43. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.js +1 -3
  44. package/lib/utils/coveredCall/getNewManagerTx.d.ts +1 -0
  45. package/lib/utils/coveredCall/getNewManagerTx.js +59 -0
  46. package/lib/utils/coveredCall/getRemoveManagerTx.d.ts +1 -0
  47. package/lib/utils/coveredCall/getRemoveManagerTx.js +58 -0
  48. package/lib/utils/coveredCall/getRollOverTx.d.ts +1 -0
  49. package/lib/utils/coveredCall/getRollOverTx.js +60 -0
  50. package/lib/utils/coveredCall/getSettleTx.d.ts +1 -0
  51. package/lib/utils/coveredCall/getSettleTx.js +62 -0
  52. package/lib/utils/coveredCall/getSettleWithRollOverTx.d.ts +1 -0
  53. package/lib/utils/coveredCall/getSettleWithRollOverTx.js +62 -0
  54. package/lib/utils/coveredCall/getUpdatePayoffConfigTx.d.ts +1 -0
  55. package/lib/utils/coveredCall/getUpdatePayoffConfigTx.js +62 -0
  56. package/lib/utils/getNewTimeOracleTx.d.ts +1 -0
  57. package/lib/utils/getNewTimeOracleTx.js +56 -0
  58. package/lib/utils/getSubVault.d.ts +0 -3
  59. package/lib/utils/getSubVault.js +51 -137
  60. package/lib/utils/getUpdateTimeOracleTx.d.ts +1 -0
  61. package/lib/utils/getUpdateTimeOracleTx.js +60 -0
  62. package/lib/utils/getVaultIndexInRegistry.d.ts +1 -0
  63. package/lib/utils/getVaultIndexInRegistry.js +56 -0
  64. package/package.json +1 -1
@@ -0,0 +1,437 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ var __values = (this && this.__values) || function(o) {
55
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
56
+ if (m) return m.call(o);
57
+ if (o && typeof o.length === "number") return {
58
+ next: function () {
59
+ if (o && i >= o.length) o = void 0;
60
+ return { value: o && o[i++], done: !o };
61
+ }
62
+ };
63
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
64
+ };
65
+ Object.defineProperty(exports, "__esModule", { value: true });
66
+ var getNewOracleTx_1 = require("../utils/getNewOracleTx");
67
+ var getNewTimeOracleTx_1 = require("../utils/getNewTimeOracleTx");
68
+ var getUpdateOracleTx_1 = require("../utils/getUpdateOracleTx");
69
+ var getNewCoveredCallVaultTx_1 = require("../utils/coveredCall/getNewCoveredCallVaultTx");
70
+ var getDepositTx_1 = require("../utils/coveredCall/getDepositTx");
71
+ var constants_1 = require("../constants");
72
+ var sui_js_1 = require("@mysten/sui.js");
73
+ var getTypeArgumentFromToken_1 = require("../utils/getTypeArgumentFromToken");
74
+ var getUpdateTimeOracleTx_1 = require("../utils/getUpdateTimeOracleTx");
75
+ var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
76
+ var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
77
+ var signer = new sui_js_1.RawSigner(keypair, provider);
78
+ var token = "0x82416a9dacea43afa6570863f1bcd3e55e75448e"; // minted token
79
+ var depositAmount = 5;
80
+ var decimal = 8;
81
+ var strike = 2000;
82
+ var isRolling = true;
83
+ var expirationTsMs1 = 1000000;
84
+ var expirationTsMs2 = 2000000;
85
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
86
+ var typeArgument, _a, priceOracle, priceOracleManager, _b, timeOracle, timeOracleManager, price, ts, vaultIndex, startAuctionTsMs;
87
+ return __generator(this, function (_c) {
88
+ switch (_c.label) {
89
+ case 0: return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)
90
+ //create price oracle and time oracle
91
+ //DONE
92
+ ];
93
+ case 1:
94
+ typeArgument = _c.sent();
95
+ return [4 /*yield*/, createPriceOracle(typeArgument)];
96
+ case 2:
97
+ _a = __read.apply(void 0, [_c.sent(), 2]), priceOracle = _a[0], priceOracleManager = _a[1];
98
+ return [4 /*yield*/, createTimeOracle()
99
+ // update price oracle and time oracle
100
+ //DONE
101
+ ];
102
+ case 3:
103
+ _b = __read.apply(void 0, [_c.sent()
104
+ // update price oracle and time oracle
105
+ //DONE
106
+ , 2]), timeOracle = _b[0], timeOracleManager = _b[1];
107
+ price = 10000000000;
108
+ ts = 0 //ms
109
+ ;
110
+ return [4 /*yield*/, updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, ts)
111
+ // await updateTimeOracle(timeOracle, timeOracleManager, ts)
112
+ //create new vault
113
+ //DONE
114
+ ];
115
+ case 4:
116
+ _c.sent();
117
+ // await updateTimeOracle(timeOracle, timeOracleManager, ts)
118
+ //create new vault
119
+ //DONE
120
+ return [4 /*yield*/, createNewVault(typeArgument, priceOracle)
121
+ //deposit to new vault
122
+ //DONE
123
+ ];
124
+ case 5:
125
+ // await updateTimeOracle(timeOracle, timeOracleManager, ts)
126
+ //create new vault
127
+ //DONE
128
+ _c.sent();
129
+ return [4 /*yield*/, getNewestVaultIndex(constants_1.COVERED_CALL_REGISTRY)];
130
+ case 6:
131
+ vaultIndex = _c.sent();
132
+ return [4 /*yield*/, depositToVault(typeArgument, vaultIndex, depositAmount)
133
+ //================================start auction================================
134
+ //update price oracle and time oracle
135
+ //DONE
136
+ ];
137
+ case 7:
138
+ _c.sent();
139
+ startAuctionTsMs = expirationTsMs1 - 1000;
140
+ return [4 /*yield*/, updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, startAuctionTsMs)];
141
+ case 8:
142
+ _c.sent();
143
+ return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, startAuctionTsMs)
144
+ //new_auction_with_next_covered_call_vault
145
+ //TODO
146
+ // let endAuctionTsMs = startAuctionTsMs + 500
147
+ // let decaySpeed = 2;
148
+ // await createNewAuctionWithNextCoveredCallVault(vaultIndex, startAuctionTsMs, endAuctionTsMs,decaySpeed)
149
+ //update time oracle
150
+ //TODO
151
+ //new bid
152
+ //TODO
153
+ //update time oracle
154
+ //TODO
155
+ //delivery
156
+ //TODO
157
+ //================================end auction================================
158
+ //update price oracle and time oracle
159
+ //TODO
160
+ //update payoff config
161
+ //TODO
162
+ //deposit to another vault
163
+ //TODO
164
+ //update price oracle and time oracle
165
+ //TODO
166
+ //settle
167
+ //TODO
168
+ ];
169
+ case 9:
170
+ _c.sent();
171
+ return [2 /*return*/];
172
+ }
173
+ });
174
+ }); })();
175
+ function createPriceOracle(typeArgument) {
176
+ return __awaiter(this, void 0, void 0, function () {
177
+ var _this = this;
178
+ return __generator(this, function (_a) {
179
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
180
+ var newOracleTx, moveCallTxn, digest, txn, priceOracle, managerCap, e_1;
181
+ return __generator(this, function (_a) {
182
+ switch (_a.label) {
183
+ case 0:
184
+ _a.trys.push([0, 4, , 5]);
185
+ console.log("create new price oracle...");
186
+ return [4 /*yield*/, (0, getNewOracleTx_1.getNewOracleTx)(constants_1.ORACLE_PACKAGE, typeArgument, decimal)];
187
+ case 1:
188
+ newOracleTx = _a.sent();
189
+ return [4 /*yield*/, signer.executeMoveCall(newOracleTx)];
190
+ case 2:
191
+ moveCallTxn = _a.sent();
192
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
193
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
194
+ case 3:
195
+ txn = _a.sent();
196
+ priceOracle = void 0;
197
+ managerCap = void 0;
198
+ if (txn.effects.created[0].owner["AddressOwner"] == undefined) {
199
+ priceOracle = txn.effects.created[0].reference.objectId;
200
+ managerCap = txn.effects.created[1].reference.objectId;
201
+ }
202
+ else {
203
+ priceOracle = txn.effects.created[1].reference.objectId;
204
+ managerCap = txn.effects.created[0].reference.objectId;
205
+ }
206
+ resolve([priceOracle, managerCap]);
207
+ return [3 /*break*/, 5];
208
+ case 4:
209
+ e_1 = _a.sent();
210
+ console.error("err in createPriceOracle");
211
+ reject(e_1);
212
+ return [3 /*break*/, 5];
213
+ case 5: return [2 /*return*/];
214
+ }
215
+ });
216
+ }); })];
217
+ });
218
+ });
219
+ }
220
+ function createTimeOracle() {
221
+ return __awaiter(this, void 0, void 0, function () {
222
+ var _this = this;
223
+ return __generator(this, function (_a) {
224
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
225
+ var newTimeOracleTx, moveCallTxn, digest, txn, timeOracle, managerCap, e_2;
226
+ return __generator(this, function (_a) {
227
+ switch (_a.label) {
228
+ case 0:
229
+ _a.trys.push([0, 4, , 5]);
230
+ console.log("create new time oracle...");
231
+ return [4 /*yield*/, (0, getNewTimeOracleTx_1.getNewTimeOracleTx)(constants_1.ORACLE_PACKAGE)];
232
+ case 1:
233
+ newTimeOracleTx = _a.sent();
234
+ return [4 /*yield*/, signer.executeMoveCall(newTimeOracleTx)];
235
+ case 2:
236
+ moveCallTxn = _a.sent();
237
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
238
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
239
+ case 3:
240
+ txn = _a.sent();
241
+ timeOracle = void 0;
242
+ managerCap = void 0;
243
+ if (txn.effects.created[0].owner["AddressOwner"] == undefined) {
244
+ timeOracle = txn.effects.created[0].reference.objectId;
245
+ managerCap = txn.effects.created[1].reference.objectId;
246
+ }
247
+ else {
248
+ timeOracle = txn.effects.created[1].reference.objectId;
249
+ managerCap = txn.effects.created[0].reference.objectId;
250
+ }
251
+ resolve([timeOracle, managerCap]);
252
+ return [3 /*break*/, 5];
253
+ case 4:
254
+ e_2 = _a.sent();
255
+ console.log("err in createTimeOracle");
256
+ reject(e_2);
257
+ return [3 /*break*/, 5];
258
+ case 5: return [2 /*return*/];
259
+ }
260
+ });
261
+ }); })];
262
+ });
263
+ });
264
+ }
265
+ function updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, ts) {
266
+ return __awaiter(this, void 0, void 0, function () {
267
+ var _this = this;
268
+ return __generator(this, function (_a) {
269
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
270
+ var updateOracleTx, e_3;
271
+ return __generator(this, function (_a) {
272
+ switch (_a.label) {
273
+ case 0:
274
+ _a.trys.push([0, 3, , 4]);
275
+ return [4 /*yield*/, (0, getUpdateOracleTx_1.getUpdateOracleTx)(constants_1.ORACLE_PACKAGE, typeArgument, priceOracle, priceOracleManager, price, ts)];
276
+ case 1:
277
+ updateOracleTx = _a.sent();
278
+ return [4 /*yield*/, signer.executeMoveCall(updateOracleTx)];
279
+ case 2:
280
+ _a.sent();
281
+ return [3 /*break*/, 4];
282
+ case 3:
283
+ e_3 = _a.sent();
284
+ console.error("err in updatePriceOracle");
285
+ reject();
286
+ return [3 /*break*/, 4];
287
+ case 4: return [2 /*return*/];
288
+ }
289
+ });
290
+ }); })];
291
+ });
292
+ });
293
+ }
294
+ function updateTimeOracle(timeOracle, managerCap, ts) {
295
+ return __awaiter(this, void 0, void 0, function () {
296
+ var _this = this;
297
+ return __generator(this, function (_a) {
298
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
299
+ var updateTimeOracleTx, e_4;
300
+ return __generator(this, function (_a) {
301
+ switch (_a.label) {
302
+ case 0:
303
+ _a.trys.push([0, 3, , 4]);
304
+ return [4 /*yield*/, (0, getUpdateTimeOracleTx_1.getUpdateTimeOracleTx)(constants_1.ORACLE_PACKAGE, timeOracle, managerCap, ts)];
305
+ case 1:
306
+ updateTimeOracleTx = _a.sent();
307
+ return [4 /*yield*/, signer.executeMoveCall(updateTimeOracleTx)];
308
+ case 2:
309
+ _a.sent();
310
+ return [3 /*break*/, 4];
311
+ case 3:
312
+ e_4 = _a.sent();
313
+ console.error("err in updateTimeOracle");
314
+ reject();
315
+ return [3 /*break*/, 4];
316
+ case 4: return [2 /*return*/];
317
+ }
318
+ });
319
+ }); })];
320
+ });
321
+ });
322
+ }
323
+ function createNewVault(typeArgument, priceOracle) {
324
+ return __awaiter(this, void 0, void 0, function () {
325
+ var _this = this;
326
+ return __generator(this, function (_a) {
327
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
328
+ var newCoveredCallVaultTx, moveCallTxn, e_5;
329
+ return __generator(this, function (_a) {
330
+ switch (_a.label) {
331
+ case 0:
332
+ _a.trys.push([0, 4, , 5]);
333
+ return [4 /*yield*/, (0, getNewCoveredCallVaultTx_1.getNewCoveredCallVaultTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, constants_1.COVERED_CALL_MANAGER, expirationTsMs1, strike)];
334
+ case 1:
335
+ newCoveredCallVaultTx = _a.sent();
336
+ return [4 /*yield*/, signer.executeMoveCall(newCoveredCallVaultTx)];
337
+ case 2:
338
+ moveCallTxn = _a.sent();
339
+ return [4 /*yield*/, checkData(moveCallTxn)];
340
+ case 3:
341
+ _a.sent();
342
+ return [3 /*break*/, 5];
343
+ case 4:
344
+ e_5 = _a.sent();
345
+ console.error("err in createNewVault");
346
+ reject();
347
+ return [3 /*break*/, 5];
348
+ case 5: return [2 /*return*/];
349
+ }
350
+ });
351
+ }); })];
352
+ });
353
+ });
354
+ }
355
+ function checkData(moveCallTxn) {
356
+ return __awaiter(this, void 0, void 0, function () {
357
+ var txn, _a, _b, obj, e_6;
358
+ var e_7, _c;
359
+ return __generator(this, function (_d) {
360
+ switch (_d.label) {
361
+ case 0:
362
+ _d.trys.push([0, 2, , 3]);
363
+ return [4 /*yield*/, provider.getTransactionWithEffects(
364
+ //@ts-ignore
365
+ moveCallTxn.EffectsCert.certificate.transactionDigest)];
366
+ case 1:
367
+ txn = _d.sent();
368
+ try {
369
+ for (_a = __values(txn.effects.created), _b = _a.next(); !_b.done; _b = _a.next()) {
370
+ obj = _b.value;
371
+ //@ts-ignore
372
+ if (obj.owner.ObjectOwner == constants_1.COVERED_CALL_REGISTRY)
373
+ console.log("new covered call vault: " + obj.reference.objectId);
374
+ }
375
+ }
376
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
377
+ finally {
378
+ try {
379
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
380
+ }
381
+ finally { if (e_7) throw e_7.error; }
382
+ }
383
+ return [3 /*break*/, 3];
384
+ case 2:
385
+ e_6 = _d.sent();
386
+ console.error(e_6);
387
+ return [3 /*break*/, 3];
388
+ case 3: return [2 /*return*/];
389
+ }
390
+ });
391
+ });
392
+ }
393
+ function getNewestVaultIndex(registry) {
394
+ return __awaiter(this, void 0, void 0, function () {
395
+ var tmp, numOfVault;
396
+ return __generator(this, function (_a) {
397
+ switch (_a.label) {
398
+ case 0: return [4 /*yield*/, provider.getObject(registry)
399
+ //@ts-ignore
400
+ ];
401
+ case 1:
402
+ tmp = _a.sent();
403
+ numOfVault = tmp.details.data.fields.num_of_vault;
404
+ return [2 /*return*/, numOfVault - 1];
405
+ }
406
+ });
407
+ });
408
+ }
409
+ function depositToVault(typeArgument, vaultIndex, depositAmount) {
410
+ return __awaiter(this, void 0, void 0, function () {
411
+ var _this = this;
412
+ return __generator(this, function (_a) {
413
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
414
+ var depositTx, e_8;
415
+ return __generator(this, function (_a) {
416
+ switch (_a.label) {
417
+ case 0:
418
+ _a.trys.push([0, 3, , 4]);
419
+ return [4 /*yield*/, (0, getDepositTx_1.getDepositTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, isRolling, token, depositAmount)];
420
+ case 1:
421
+ depositTx = _a.sent();
422
+ return [4 /*yield*/, signer.executeMoveCall(depositTx)];
423
+ case 2:
424
+ _a.sent();
425
+ return [3 /*break*/, 4];
426
+ case 3:
427
+ e_8 = _a.sent();
428
+ console.error("err in depositToVault");
429
+ reject();
430
+ return [3 /*break*/, 4];
431
+ case 4: return [2 /*return*/];
432
+ }
433
+ });
434
+ }); })];
435
+ });
436
+ });
437
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var getWithdrawTx_1 = require("../utils/coveredCall/getWithdrawTx");
40
+ var constants_1 = require("../constants");
41
+ var sui_js_1 = require("@mysten/sui.js");
42
+ var getTypeArgumentFromToken_1 = require("../utils/getTypeArgumentFromToken");
43
+ var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
44
+ var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
45
+ var signer = new sui_js_1.RawSigner(keypair, provider);
46
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
47
+ var withdrawAmount, isRolling, token, vaultIndex, typeArgument, withdrawTx;
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0:
51
+ withdrawAmount = 12;
52
+ isRolling = true;
53
+ token = "0x82416a9dacea43afa6570863f1bcd3e55e75448e" // minted token
54
+ ;
55
+ vaultIndex = 0;
56
+ return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)];
57
+ case 1:
58
+ typeArgument = _a.sent();
59
+ console.log("test for withdraw, try to withdraw " + token + " for " + withdrawAmount + " ...");
60
+ return [4 /*yield*/, (0, getWithdrawTx_1.getWithdrawTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, isRolling, withdrawAmount)];
61
+ case 2:
62
+ withdrawTx = _a.sent();
63
+ return [4 /*yield*/, signer.executeMoveCall(withdrawTx)];
64
+ case 3:
65
+ _a.sent();
66
+ console.log("withdraw to vault successfully");
67
+ return [2 /*return*/];
68
+ }
69
+ });
70
+ }); })();
@@ -0,0 +1 @@
1
+ export declare function getClaimAllTx(packageId: string, registry: string, typeArgument: string, index: number, isRolling: boolean): Promise<any>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getClaimAllTx = void 0;
40
+ function getClaimAllTx(packageId, registry, typeArgument, index, isRolling) {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ var tx;
43
+ return __generator(this, function (_a) {
44
+ tx = {
45
+ packageObjectId: packageId,
46
+ module: 'covered_call',
47
+ function: 'claim_all',
48
+ typeArguments: [typeArgument],
49
+ arguments: [
50
+ registry,
51
+ index,
52
+ isRolling,
53
+ ],
54
+ gasBudget: 10000,
55
+ };
56
+ return [2 /*return*/, tx];
57
+ });
58
+ });
59
+ }
60
+ exports.getClaimAllTx = getClaimAllTx;
@@ -0,0 +1 @@
1
+ export declare function getClaimTx(packageId: string, registry: string, typeArgument: string, index: number, amount: number, isRolling: boolean): Promise<any>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getClaimTx = void 0;
40
+ function getClaimTx(packageId, registry, typeArgument, index, amount, isRolling) {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ var tx;
43
+ return __generator(this, function (_a) {
44
+ tx = {
45
+ packageObjectId: packageId,
46
+ module: 'covered_call',
47
+ function: 'claim',
48
+ typeArguments: [typeArgument],
49
+ arguments: [
50
+ registry,
51
+ index,
52
+ amount,
53
+ isRolling,
54
+ ],
55
+ gasBudget: 10000,
56
+ };
57
+ return [2 /*return*/, tx];
58
+ });
59
+ });
60
+ }
61
+ exports.getClaimTx = getClaimTx;
@@ -1 +1 @@
1
- export declare function getNewAuctionWithNextCoveredCallVaultTx(packageId: string, managerCap: string, registry: string, typeArgument: string, index: number, start: number, end: number, decay: number, initialPrice: number, finalPrice: number, expiration: number, assetName: string, strikeOtmPct: number, price_oracle: string): Promise<any>;
1
+ export declare function getNewAuctionWithNextCoveredCallVaultTx(packageId: string, managerCap: string, registry: string, typeArgument: string, index: number, start: number, end: number, decay: number, initialPrice: number, finalPrice: number, expiration: number, assetName: string, strikeOtmPct: number): Promise<any>;
@@ -37,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getNewAuctionWithNextCoveredCallVaultTx = void 0;
40
- function getNewAuctionWithNextCoveredCallVaultTx(packageId, managerCap, registry, typeArgument, index, start, end, decay, initialPrice, finalPrice, expiration, assetName, strikeOtmPct, price_oracle) {
40
+ function getNewAuctionWithNextCoveredCallVaultTx(packageId, managerCap, registry, typeArgument, index, start, end, decay, initialPrice, finalPrice, expiration, assetName, strikeOtmPct) {
41
41
  return __awaiter(this, void 0, void 0, function () {
42
42
  var tx;
43
43
  return __generator(this, function (_a) {
@@ -58,7 +58,6 @@ function getNewAuctionWithNextCoveredCallVaultTx(packageId, managerCap, registry
58
58
  expiration,
59
59
  assetName,
60
60
  strikeOtmPct,
61
- price_oracle,
62
61
  ],
63
62
  gasBudget: 10000,
64
63
  };