@typus/typus-sdk 0.1.8 → 0.2.0

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 (65) hide show
  1. package/lib/constants.d.ts +10 -7
  2. package/lib/constants.js +12 -10
  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/getDeliveryTx.js +4 -2
  8. package/lib/scripts/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.js +2 -4
  9. package/lib/scripts/coveredCall/getNewCoveredCallVaultTx.js +2 -5
  10. package/lib/scripts/coveredCall/getNewManagerTx.d.ts +1 -0
  11. package/lib/scripts/coveredCall/getNewManagerTx.js +55 -0
  12. package/lib/scripts/coveredCall/getRemoveManagerTx.d.ts +1 -0
  13. package/lib/scripts/coveredCall/getRemoveManagerTx.js +54 -0
  14. package/lib/scripts/coveredCall/getRollOverTx.d.ts +1 -0
  15. package/lib/scripts/coveredCall/getRollOverTx.js +55 -0
  16. package/lib/scripts/coveredCall/getSettleTx.d.ts +1 -0
  17. package/lib/scripts/coveredCall/getSettleTx.js +57 -0
  18. package/lib/scripts/coveredCall/getSettleWithRollOverTx.d.ts +1 -0
  19. package/lib/scripts/coveredCall/getSettleWithRollOverTx.js +57 -0
  20. package/lib/scripts/coveredCall/getUpdatePayoffConfigTx.d.ts +1 -0
  21. package/lib/scripts/coveredCall/getUpdatePayoffConfigTx.js +57 -0
  22. package/lib/scripts/getMintTx.js +1 -1
  23. package/lib/scripts/getNewOracleTx.js +1 -1
  24. package/lib/scripts/getNewTimeOracleTx.d.ts +1 -0
  25. package/lib/scripts/getNewTimeOracleTx.js +54 -0
  26. package/lib/scripts/getSubVault.d.ts +0 -1
  27. package/lib/scripts/getSubVault.js +5 -51
  28. package/lib/scripts/getUpdateTimeOracleTx.d.ts +1 -0
  29. package/lib/scripts/getUpdateTimeOracleTx.js +59 -0
  30. package/lib/test/testMint.js +11 -9
  31. package/lib/test/testNewVault.js +7 -9
  32. package/lib/test/testOracle.js +8 -4
  33. package/lib/test/testSettle.d.ts +1 -0
  34. package/lib/test/testSettle.js +555 -0
  35. package/lib/utils/coveredCall/getClaimAllTx.d.ts +1 -0
  36. package/lib/utils/coveredCall/getClaimAllTx.js +60 -0
  37. package/lib/utils/coveredCall/getClaimTx.d.ts +1 -0
  38. package/lib/utils/coveredCall/getClaimTx.js +61 -0
  39. package/lib/utils/coveredCall/getDeliveryTx.d.ts +1 -1
  40. package/lib/utils/coveredCall/getDeliveryTx.js +3 -1
  41. package/lib/utils/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.d.ts +1 -1
  42. package/lib/utils/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.js +1 -3
  43. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.d.ts +1 -1
  44. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.js +1 -3
  45. package/lib/utils/coveredCall/getNewManagerTx.d.ts +1 -0
  46. package/lib/utils/coveredCall/getNewManagerTx.js +59 -0
  47. package/lib/utils/coveredCall/getRemoveManagerTx.d.ts +1 -0
  48. package/lib/utils/coveredCall/getRemoveManagerTx.js +58 -0
  49. package/lib/utils/coveredCall/getRollOverTx.d.ts +1 -0
  50. package/lib/utils/coveredCall/getRollOverTx.js +60 -0
  51. package/lib/utils/coveredCall/getSettleTx.d.ts +1 -0
  52. package/lib/utils/coveredCall/getSettleTx.js +62 -0
  53. package/lib/utils/coveredCall/getSettleWithRollOverTx.d.ts +1 -0
  54. package/lib/utils/coveredCall/getSettleWithRollOverTx.js +62 -0
  55. package/lib/utils/coveredCall/getUpdatePayoffConfigTx.d.ts +1 -0
  56. package/lib/utils/coveredCall/getUpdatePayoffConfigTx.js +62 -0
  57. package/lib/utils/getNewTimeOracleTx.d.ts +1 -0
  58. package/lib/utils/getNewTimeOracleTx.js +56 -0
  59. package/lib/utils/getSubVault.d.ts +0 -3
  60. package/lib/utils/getSubVault.js +51 -137
  61. package/lib/utils/getUpdateTimeOracleTx.d.ts +1 -0
  62. package/lib/utils/getUpdateTimeOracleTx.js +60 -0
  63. package/lib/utils/getVaultIndexInRegistry.d.ts +1 -0
  64. package/lib/utils/getVaultIndexInRegistry.js +56 -0
  65. package/package.json +1 -1
@@ -0,0 +1,555 @@
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 getNewAuctionWithNextCoveredCallVaultTx_1 = require("../utils/coveredCall/getNewAuctionWithNextCoveredCallVaultTx");
76
+ var getNewBidTx_1 = require("../utils/coveredCall/getNewBidTx");
77
+ var getDeliveryTx_1 = require("../utils/coveredCall/getDeliveryTx");
78
+ var getUpdatePayoffConfigTx_1 = require("../utils/coveredCall/getUpdatePayoffConfigTx");
79
+ var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
80
+ var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
81
+ var signer = new sui_js_1.RawSigner(keypair, provider);
82
+ var token = "0x82416a9dacea43afa6570863f1bcd3e55e75448e"; // minted token
83
+ var depositAmount = 5;
84
+ var decimal = 8;
85
+ var strike = 2000;
86
+ var isRolling = true;
87
+ var expirationTsMs1 = 1000000;
88
+ var expirationTsMs2 = 2000000;
89
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
90
+ var typeArgument, _a, priceOracle, priceOracleManager, _b, timeOracle, timeOracleManager, price, ts, vaultIndex, startAuctionTsMs, endAuctionTsMs, decaySpeed, initialPrice, finalPrice, currentTime, size, sellSize, premiumRoi;
91
+ return __generator(this, function (_c) {
92
+ switch (_c.label) {
93
+ case 0: return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)
94
+ //create price oracle and time oracle
95
+ //DONE
96
+ ];
97
+ case 1:
98
+ typeArgument = _c.sent();
99
+ return [4 /*yield*/, createPriceOracle(typeArgument)];
100
+ case 2:
101
+ _a = __read.apply(void 0, [_c.sent(), 2]), priceOracle = _a[0], priceOracleManager = _a[1];
102
+ return [4 /*yield*/, createTimeOracle()
103
+ // update price oracle and time oracle
104
+ //DONE
105
+ ];
106
+ case 3:
107
+ _b = __read.apply(void 0, [_c.sent()
108
+ // update price oracle and time oracle
109
+ //DONE
110
+ , 2]), timeOracle = _b[0], timeOracleManager = _b[1];
111
+ price = 10000000000;
112
+ ts = 0 //ms
113
+ ;
114
+ return [4 /*yield*/, updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, ts)
115
+ // await updateTimeOracle(timeOracle, timeOracleManager, ts)
116
+ //create new vault
117
+ //DONE
118
+ ];
119
+ case 4:
120
+ _c.sent();
121
+ // await updateTimeOracle(timeOracle, timeOracleManager, ts)
122
+ //create new vault
123
+ //DONE
124
+ return [4 /*yield*/, createNewVault(typeArgument, priceOracle)
125
+ //deposit to new vault
126
+ //DONE
127
+ ];
128
+ case 5:
129
+ // await updateTimeOracle(timeOracle, timeOracleManager, ts)
130
+ //create new vault
131
+ //DONE
132
+ _c.sent();
133
+ return [4 /*yield*/, getNewestVaultIndex(constants_1.COVERED_CALL_REGISTRY)];
134
+ case 6:
135
+ vaultIndex = _c.sent();
136
+ return [4 /*yield*/, depositToVault(typeArgument, vaultIndex, depositAmount)
137
+ //================================start auction================================
138
+ //update price oracle and time oracle
139
+ //DONE
140
+ ];
141
+ case 7:
142
+ _c.sent();
143
+ startAuctionTsMs = expirationTsMs1 - 1000;
144
+ return [4 /*yield*/, updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, startAuctionTsMs)];
145
+ case 8:
146
+ _c.sent();
147
+ return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, startAuctionTsMs)
148
+ //new_auction_with_next_covered_call_vault
149
+ //DONE
150
+ ];
151
+ case 9:
152
+ _c.sent();
153
+ endAuctionTsMs = startAuctionTsMs + 500;
154
+ decaySpeed = 2;
155
+ initialPrice = 500000000;
156
+ finalPrice = 100000000;
157
+ return [4 /*yield*/, createNewAuctionWithNextCoveredCallVault(typeArgument, vaultIndex, startAuctionTsMs, endAuctionTsMs, decaySpeed, initialPrice, finalPrice, expirationTsMs2, strike)
158
+ //update time oracle
159
+ //DONE
160
+ ];
161
+ case 10:
162
+ _c.sent();
163
+ currentTime = startAuctionTsMs + 300;
164
+ return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, currentTime)
165
+ //new bid
166
+ //DONE
167
+ ];
168
+ case 11:
169
+ _c.sent();
170
+ size = 100;
171
+ return [4 /*yield*/, newBid(vaultIndex, size, token, timeOracle)
172
+ //check some data
173
+ //TODO
174
+ //update time oracle
175
+ //DONE
176
+ ];
177
+ case 12:
178
+ _c.sent();
179
+ //check some data
180
+ //TODO
181
+ //update time oracle
182
+ //DONE
183
+ return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, endAuctionTsMs + 1)
184
+ //delivery
185
+ //DONE
186
+ ];
187
+ case 13:
188
+ //check some data
189
+ //TODO
190
+ //update time oracle
191
+ //DONE
192
+ _c.sent();
193
+ sellSize = 1;
194
+ return [4 /*yield*/, delivery(vaultIndex, sellSize, timeOracle)
195
+ //================================end auction================================
196
+ //update price oracle and time oracle
197
+ //DONE
198
+ ];
199
+ case 14:
200
+ _c.sent();
201
+ //================================end auction================================
202
+ //update price oracle and time oracle
203
+ //DONE
204
+ return [4 /*yield*/, updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, endAuctionTsMs)];
205
+ case 15:
206
+ //================================end auction================================
207
+ //update price oracle and time oracle
208
+ //DONE
209
+ _c.sent();
210
+ return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, endAuctionTsMs)
211
+ //update payoff config
212
+ //DONE
213
+ ];
214
+ case 16:
215
+ _c.sent();
216
+ premiumRoi = 100000;
217
+ return [4 /*yield*/, updatePayoffConfig(vaultIndex, price, premiumRoi)
218
+ //update price oracle and time oracle
219
+ //TODO
220
+ //settle
221
+ //TODO
222
+ ];
223
+ case 17:
224
+ _c.sent();
225
+ return [2 /*return*/];
226
+ }
227
+ });
228
+ }); })();
229
+ function createPriceOracle(typeArgument) {
230
+ return __awaiter(this, void 0, void 0, function () {
231
+ var _this = this;
232
+ return __generator(this, function (_a) {
233
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
234
+ var newOracleTx, moveCallTxn, digest, txn, priceOracle, managerCap, e_1;
235
+ return __generator(this, function (_a) {
236
+ switch (_a.label) {
237
+ case 0:
238
+ _a.trys.push([0, 4, , 5]);
239
+ console.log("create new price oracle...");
240
+ return [4 /*yield*/, (0, getNewOracleTx_1.getNewOracleTx)(constants_1.ORACLE_PACKAGE, typeArgument, decimal)];
241
+ case 1:
242
+ newOracleTx = _a.sent();
243
+ return [4 /*yield*/, signer.executeMoveCall(newOracleTx)];
244
+ case 2:
245
+ moveCallTxn = _a.sent();
246
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
247
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
248
+ case 3:
249
+ txn = _a.sent();
250
+ priceOracle = void 0;
251
+ managerCap = void 0;
252
+ if (txn.effects.created[0].owner["AddressOwner"] == undefined) {
253
+ priceOracle = txn.effects.created[0].reference.objectId;
254
+ managerCap = txn.effects.created[1].reference.objectId;
255
+ }
256
+ else {
257
+ priceOracle = txn.effects.created[1].reference.objectId;
258
+ managerCap = txn.effects.created[0].reference.objectId;
259
+ }
260
+ resolve([priceOracle, managerCap]);
261
+ return [3 /*break*/, 5];
262
+ case 4:
263
+ e_1 = _a.sent();
264
+ console.error("err in createPriceOracle");
265
+ reject(e_1);
266
+ return [3 /*break*/, 5];
267
+ case 5: return [2 /*return*/];
268
+ }
269
+ });
270
+ }); })];
271
+ });
272
+ });
273
+ }
274
+ function createTimeOracle() {
275
+ return __awaiter(this, void 0, void 0, function () {
276
+ var _this = this;
277
+ return __generator(this, function (_a) {
278
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
279
+ var newTimeOracleTx, moveCallTxn, digest, txn, timeOracle, managerCap, e_2;
280
+ return __generator(this, function (_a) {
281
+ switch (_a.label) {
282
+ case 0:
283
+ _a.trys.push([0, 4, , 5]);
284
+ console.log("create new time oracle...");
285
+ return [4 /*yield*/, (0, getNewTimeOracleTx_1.getNewTimeOracleTx)(constants_1.ORACLE_PACKAGE)];
286
+ case 1:
287
+ newTimeOracleTx = _a.sent();
288
+ return [4 /*yield*/, signer.executeMoveCall(newTimeOracleTx)];
289
+ case 2:
290
+ moveCallTxn = _a.sent();
291
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
292
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
293
+ case 3:
294
+ txn = _a.sent();
295
+ timeOracle = void 0;
296
+ managerCap = void 0;
297
+ if (txn.effects.created[0].owner["AddressOwner"] == undefined) {
298
+ timeOracle = txn.effects.created[0].reference.objectId;
299
+ managerCap = txn.effects.created[1].reference.objectId;
300
+ }
301
+ else {
302
+ timeOracle = txn.effects.created[1].reference.objectId;
303
+ managerCap = txn.effects.created[0].reference.objectId;
304
+ }
305
+ resolve([timeOracle, managerCap]);
306
+ return [3 /*break*/, 5];
307
+ case 4:
308
+ e_2 = _a.sent();
309
+ console.log("err in createTimeOracle");
310
+ reject(e_2);
311
+ return [3 /*break*/, 5];
312
+ case 5: return [2 /*return*/];
313
+ }
314
+ });
315
+ }); })];
316
+ });
317
+ });
318
+ }
319
+ function updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, ts) {
320
+ return __awaiter(this, void 0, void 0, function () {
321
+ var _this = this;
322
+ return __generator(this, function (_a) {
323
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
324
+ var updateOracleTx, e_3;
325
+ return __generator(this, function (_a) {
326
+ switch (_a.label) {
327
+ case 0:
328
+ _a.trys.push([0, 3, , 4]);
329
+ return [4 /*yield*/, (0, getUpdateOracleTx_1.getUpdateOracleTx)(constants_1.ORACLE_PACKAGE, typeArgument, priceOracle, priceOracleManager, price, ts)];
330
+ case 1:
331
+ updateOracleTx = _a.sent();
332
+ return [4 /*yield*/, signer.executeMoveCall(updateOracleTx)];
333
+ case 2:
334
+ _a.sent();
335
+ return [3 /*break*/, 4];
336
+ case 3:
337
+ e_3 = _a.sent();
338
+ console.error("err in updatePriceOracle");
339
+ reject();
340
+ return [3 /*break*/, 4];
341
+ case 4: return [2 /*return*/];
342
+ }
343
+ });
344
+ }); })];
345
+ });
346
+ });
347
+ }
348
+ function updateTimeOracle(timeOracle, managerCap, ts) {
349
+ return __awaiter(this, void 0, void 0, function () {
350
+ var _this = this;
351
+ return __generator(this, function (_a) {
352
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
353
+ var updateTimeOracleTx, e_4;
354
+ return __generator(this, function (_a) {
355
+ switch (_a.label) {
356
+ case 0:
357
+ _a.trys.push([0, 3, , 4]);
358
+ return [4 /*yield*/, (0, getUpdateTimeOracleTx_1.getUpdateTimeOracleTx)(constants_1.ORACLE_PACKAGE, timeOracle, managerCap, ts)];
359
+ case 1:
360
+ updateTimeOracleTx = _a.sent();
361
+ return [4 /*yield*/, signer.executeMoveCall(updateTimeOracleTx)];
362
+ case 2:
363
+ _a.sent();
364
+ return [3 /*break*/, 4];
365
+ case 3:
366
+ e_4 = _a.sent();
367
+ console.error("err in updateTimeOracle");
368
+ reject();
369
+ return [3 /*break*/, 4];
370
+ case 4: return [2 /*return*/];
371
+ }
372
+ });
373
+ }); })];
374
+ });
375
+ });
376
+ }
377
+ function createNewVault(typeArgument, priceOracle) {
378
+ return __awaiter(this, void 0, void 0, function () {
379
+ var _this = this;
380
+ return __generator(this, function (_a) {
381
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
382
+ var newCoveredCallVaultTx, moveCallTxn, e_5;
383
+ return __generator(this, function (_a) {
384
+ switch (_a.label) {
385
+ case 0:
386
+ _a.trys.push([0, 4, , 5]);
387
+ 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)];
388
+ case 1:
389
+ newCoveredCallVaultTx = _a.sent();
390
+ return [4 /*yield*/, signer.executeMoveCall(newCoveredCallVaultTx)];
391
+ case 2:
392
+ moveCallTxn = _a.sent();
393
+ return [4 /*yield*/, checkData(moveCallTxn)];
394
+ case 3:
395
+ _a.sent();
396
+ return [3 /*break*/, 5];
397
+ case 4:
398
+ e_5 = _a.sent();
399
+ console.error("err in createNewVault");
400
+ reject();
401
+ return [3 /*break*/, 5];
402
+ case 5: return [2 /*return*/];
403
+ }
404
+ });
405
+ }); })];
406
+ });
407
+ });
408
+ }
409
+ function checkData(moveCallTxn) {
410
+ return __awaiter(this, void 0, void 0, function () {
411
+ var txn, _a, _b, obj, e_6;
412
+ var e_7, _c;
413
+ return __generator(this, function (_d) {
414
+ switch (_d.label) {
415
+ case 0:
416
+ _d.trys.push([0, 2, , 3]);
417
+ return [4 /*yield*/, provider.getTransactionWithEffects(
418
+ //@ts-ignore
419
+ moveCallTxn.EffectsCert.certificate.transactionDigest)];
420
+ case 1:
421
+ txn = _d.sent();
422
+ try {
423
+ for (_a = __values(txn.effects.created), _b = _a.next(); !_b.done; _b = _a.next()) {
424
+ obj = _b.value;
425
+ //@ts-ignore
426
+ if (obj.owner.ObjectOwner == constants_1.COVERED_CALL_REGISTRY)
427
+ console.log("new covered call vault: " + obj.reference.objectId);
428
+ }
429
+ }
430
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
431
+ finally {
432
+ try {
433
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
434
+ }
435
+ finally { if (e_7) throw e_7.error; }
436
+ }
437
+ return [3 /*break*/, 3];
438
+ case 2:
439
+ e_6 = _d.sent();
440
+ console.error(e_6);
441
+ return [3 /*break*/, 3];
442
+ case 3: return [2 /*return*/];
443
+ }
444
+ });
445
+ });
446
+ }
447
+ function getNewestVaultIndex(registry) {
448
+ return __awaiter(this, void 0, void 0, function () {
449
+ var tmp, numOfVault;
450
+ return __generator(this, function (_a) {
451
+ switch (_a.label) {
452
+ case 0: return [4 /*yield*/, provider.getObject(registry)
453
+ //@ts-ignore
454
+ ];
455
+ case 1:
456
+ tmp = _a.sent();
457
+ numOfVault = tmp.details.data.fields.num_of_vault;
458
+ return [2 /*return*/, numOfVault - 1];
459
+ }
460
+ });
461
+ });
462
+ }
463
+ function depositToVault(typeArgument, vaultIndex, depositAmount) {
464
+ return __awaiter(this, void 0, void 0, function () {
465
+ var _this = this;
466
+ return __generator(this, function (_a) {
467
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
468
+ var depositTx, e_8;
469
+ return __generator(this, function (_a) {
470
+ switch (_a.label) {
471
+ case 0:
472
+ _a.trys.push([0, 3, , 4]);
473
+ return [4 /*yield*/, (0, getDepositTx_1.getDepositTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, isRolling, token, depositAmount)];
474
+ case 1:
475
+ depositTx = _a.sent();
476
+ return [4 /*yield*/, signer.executeMoveCall(depositTx)];
477
+ case 2:
478
+ _a.sent();
479
+ return [3 /*break*/, 4];
480
+ case 3:
481
+ e_8 = _a.sent();
482
+ console.error("err in depositToVault");
483
+ reject();
484
+ return [3 /*break*/, 4];
485
+ case 4: return [2 /*return*/];
486
+ }
487
+ });
488
+ }); })];
489
+ });
490
+ });
491
+ }
492
+ function createNewAuctionWithNextCoveredCallVault(typeArgument, vaultIndex, startAuctionTsMs, endAuctionTsMs, decaySpeed, initialPrice, finalPrice, expirationTsMs2, strike) {
493
+ return __awaiter(this, void 0, void 0, function () {
494
+ var txn;
495
+ return __generator(this, function (_a) {
496
+ switch (_a.label) {
497
+ case 0: return [4 /*yield*/, (0, getNewAuctionWithNextCoveredCallVaultTx_1.getNewAuctionWithNextCoveredCallVaultTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_MANAGER, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, startAuctionTsMs, endAuctionTsMs, decaySpeed, initialPrice, finalPrice, expirationTsMs2, strike)];
498
+ case 1:
499
+ txn = _a.sent();
500
+ return [4 /*yield*/, signer.executeMoveCall(txn)];
501
+ case 2:
502
+ _a.sent();
503
+ return [2 /*return*/];
504
+ }
505
+ });
506
+ });
507
+ }
508
+ function newBid(vaultIndex, size, token, timeOracle) {
509
+ return __awaiter(this, void 0, void 0, function () {
510
+ var newBidTx;
511
+ return __generator(this, function (_a) {
512
+ switch (_a.label) {
513
+ case 0: return [4 /*yield*/, (0, getNewBidTx_1.getNewBidTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, constants_1.DEFAULT_TYPE_ARGUMENT, vaultIndex, size, token, timeOracle)];
514
+ case 1:
515
+ newBidTx = _a.sent();
516
+ return [4 /*yield*/, signer.executeMoveCall(newBidTx)];
517
+ case 2:
518
+ _a.sent();
519
+ return [2 /*return*/];
520
+ }
521
+ });
522
+ });
523
+ }
524
+ function delivery(vaultIndex, sellSize, timeOracle) {
525
+ return __awaiter(this, void 0, void 0, function () {
526
+ var deliveryTx;
527
+ return __generator(this, function (_a) {
528
+ switch (_a.label) {
529
+ case 0: return [4 /*yield*/, (0, getDeliveryTx_1.getDeliveryTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_MANAGER, constants_1.COVERED_CALL_REGISTRY, constants_1.DEFAULT_TYPE_ARGUMENT, vaultIndex, sellSize, timeOracle)];
530
+ case 1:
531
+ deliveryTx = _a.sent();
532
+ return [4 /*yield*/, signer.executeMoveCall(deliveryTx)];
533
+ case 2:
534
+ _a.sent();
535
+ return [2 /*return*/];
536
+ }
537
+ });
538
+ });
539
+ }
540
+ function updatePayoffConfig(vaultIndex, price, premiumRoi) {
541
+ return __awaiter(this, void 0, void 0, function () {
542
+ var updatePayoffConfigTx;
543
+ return __generator(this, function (_a) {
544
+ switch (_a.label) {
545
+ case 0: return [4 /*yield*/, (0, getUpdatePayoffConfigTx_1.getUpdatePayoffConfigTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, constants_1.DEFAULT_TYPE_ARGUMENT, constants_1.COVERED_CALL_MANAGER, vaultIndex, price, premiumRoi)];
546
+ case 1:
547
+ updatePayoffConfigTx = _a.sent();
548
+ return [4 /*yield*/, signer.executeMoveCall(updatePayoffConfigTx)];
549
+ case 2:
550
+ _a.sent();
551
+ return [2 /*return*/];
552
+ }
553
+ });
554
+ });
555
+ }
@@ -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>;