@typus/typus-sdk 0.2.1 → 0.2.3
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.
- package/README.md +6 -3
- package/lib/constants.d.ts +11 -9
- package/lib/constants.js +12 -10
- package/lib/scripts/coveredCall/getNewCoveredCallVaultTx.js +7 -2
- package/lib/scripts/coveredCall/getUpdatePayoffConfigTx.js +3 -2
- package/lib/{scripts/getCoveredCallVaultAsset.d.ts → test/getUsersShares.d.ts} +0 -0
- package/lib/{scripts/getCoveredCallVaultAsset.js → test/getUsersShares.js} +6 -9
- package/lib/test/{getUserDepositData.d.ts → getVaultData.d.ts} +0 -0
- package/lib/test/{getUserDepositData.js → getVaultData.js} +6 -18
- package/lib/test/testClaim.d.ts +1 -0
- package/lib/test/testClaim.js +81 -0
- package/lib/test/testDeposit.js +2 -2
- package/lib/test/testMint.js +5 -1
- package/lib/test/testNewVault.js +35 -61
- package/lib/test/testOracle.js +4 -0
- package/lib/test/testSettle.js +139 -142
- package/lib/utils/coveredCall/createTimeOracle.d.ts +1 -0
- package/lib/utils/coveredCall/createTimeOracle.js +91 -0
- package/lib/utils/coveredCall/getClaimAllTx.js +2 -2
- package/lib/utils/coveredCall/getDepositTx.js +1 -1
- package/lib/utils/coveredCall/getNewCoveredCallVaultTx.d.ts +1 -1
- package/lib/utils/coveredCall/getNewCoveredCallVaultTx.js +6 -1
- package/lib/utils/coveredCall/getUpdatePayoffConfigTx.d.ts +1 -1
- package/lib/utils/coveredCall/getUpdatePayoffConfigTx.js +2 -1
- package/lib/utils/fetchData.d.ts +19 -0
- package/lib/utils/fetchData.js +21 -12
- package/lib/utils/getTypeArgumentFromToken.js +5 -3
- package/lib/utils/getUsersShares.d.ts +8 -0
- package/lib/utils/getUsersShares.js +145 -0
- package/lib/utils/getVaultData.d.ts +2 -0
- package/lib/utils/getVaultData.js +135 -0
- package/lib/utils/getVaultIndexInRegistry.js +4 -0
- package/lib/utils/isObjAvailable.d.ts +1 -0
- package/lib/utils/{getCoveredCallVaultAsset.js → isObjAvailable.js} +17 -9
- package/package.json +3 -2
- package/lib/utils/getCoveredCallVaultAsset.d.ts +0 -1
- package/lib/utils/getSubVault.d.ts +0 -0
- package/lib/utils/getSubVault.js +0 -52
package/lib/test/testSettle.js
CHANGED
|
@@ -64,10 +64,10 @@ var __values = (this && this.__values) || function(o) {
|
|
|
64
64
|
};
|
|
65
65
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
66
|
var getNewOracleTx_1 = require("../utils/getNewOracleTx");
|
|
67
|
-
var getNewTimeOracleTx_1 = require("../utils/getNewTimeOracleTx");
|
|
68
67
|
var getUpdateOracleTx_1 = require("../utils/getUpdateOracleTx");
|
|
69
68
|
var getNewCoveredCallVaultTx_1 = require("../utils/coveredCall/getNewCoveredCallVaultTx");
|
|
70
69
|
var getDepositTx_1 = require("../utils/coveredCall/getDepositTx");
|
|
70
|
+
var createTimeOracle_1 = require("../utils/coveredCall/createTimeOracle");
|
|
71
71
|
var constants_1 = require("../constants");
|
|
72
72
|
var sui_js_1 = require("@mysten/sui.js");
|
|
73
73
|
var getTypeArgumentFromToken_1 = require("../utils/getTypeArgumentFromToken");
|
|
@@ -76,37 +76,39 @@ var getNewAuctionWithNextCoveredCallVaultTx_1 = require("../utils/coveredCall/ge
|
|
|
76
76
|
var getNewBidTx_1 = require("../utils/coveredCall/getNewBidTx");
|
|
77
77
|
var getDeliveryTx_1 = require("../utils/coveredCall/getDeliveryTx");
|
|
78
78
|
var getUpdatePayoffConfigTx_1 = require("../utils/coveredCall/getUpdatePayoffConfigTx");
|
|
79
|
+
var getSettleTx_1 = require("../utils/coveredCall/getSettleTx");
|
|
79
80
|
var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
|
|
80
81
|
var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
|
|
81
82
|
var signer = new sui_js_1.RawSigner(keypair, provider);
|
|
82
|
-
var token = "
|
|
83
|
-
var
|
|
83
|
+
var token = "0x8f306b0fcbcbdee0b3a5e694c06039dfe8ca7f14"; // minted token
|
|
84
|
+
var tokenB = "0xb1bf91e97ea97712903824f2f9f4a29d629e9fab";
|
|
84
85
|
var decimal = 8;
|
|
85
86
|
var strike = 2000;
|
|
86
87
|
var isRolling = true;
|
|
87
88
|
var expirationTsMs1 = 1000000;
|
|
88
89
|
var expirationTsMs2 = 2000000;
|
|
90
|
+
// let priceOracle = '0x636b4e02991f13720571d0cbbc8b83d80cd14729';
|
|
91
|
+
// let priceOracleManager = '0xd958057a227cdfd2080f4aeda7a16d6fe7135bcc';
|
|
92
|
+
// let timeOracle = '0x2b06a0f8109e394258c288b1d90c8c5a9c3832db';
|
|
93
|
+
// let timeOracleManager = '0xcad2723ff9c95ce423d3614375e2fa73ce9a7c04';
|
|
89
94
|
(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,
|
|
95
|
+
var typeArgument, _a, priceOracle, priceOracleManager, _b, timeOracle, timeOracleManager, price, ts, tokenDecimal, shareDecimal, period, start, vaultIndex, depositAmount, startAuctionTsMs, endAuctionTsMs, decaySpeed, initialPrice, finalPrice, currentTime, bidSize, sellSize, premiumRoi, exposureRatio;
|
|
91
96
|
return __generator(this, function (_c) {
|
|
92
97
|
switch (_c.label) {
|
|
93
98
|
case 0: return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)
|
|
94
99
|
//create price oracle and time oracle
|
|
95
|
-
//DONE
|
|
96
100
|
];
|
|
97
101
|
case 1:
|
|
98
102
|
typeArgument = _c.sent();
|
|
99
103
|
return [4 /*yield*/, createPriceOracle(typeArgument)];
|
|
100
104
|
case 2:
|
|
101
105
|
_a = __read.apply(void 0, [_c.sent(), 2]), priceOracle = _a[0], priceOracleManager = _a[1];
|
|
102
|
-
return [4 /*yield*/, createTimeOracle()
|
|
106
|
+
return [4 /*yield*/, (0, createTimeOracle_1.createTimeOracle)()
|
|
103
107
|
// update price oracle and time oracle
|
|
104
|
-
//DONE
|
|
105
108
|
];
|
|
106
109
|
case 3:
|
|
107
110
|
_b = __read.apply(void 0, [_c.sent()
|
|
108
111
|
// update price oracle and time oracle
|
|
109
|
-
//DONE
|
|
110
112
|
, 2]), timeOracle = _b[0], timeOracleManager = _b[1];
|
|
111
113
|
price = 10000000000;
|
|
112
114
|
ts = 0 //ms
|
|
@@ -114,29 +116,26 @@ var expirationTsMs2 = 2000000;
|
|
|
114
116
|
return [4 /*yield*/, updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, ts)
|
|
115
117
|
// await updateTimeOracle(timeOracle, timeOracleManager, ts)
|
|
116
118
|
//create new vault
|
|
117
|
-
//DONE
|
|
118
119
|
];
|
|
119
120
|
case 4:
|
|
120
121
|
_c.sent();
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
tokenDecimal = 9;
|
|
123
|
+
shareDecimal = 4;
|
|
124
|
+
period = 1;
|
|
125
|
+
start = 0 //???
|
|
126
|
+
;
|
|
127
|
+
return [4 /*yield*/, createNewVault(typeArgument, expirationTsMs1, tokenDecimal, shareDecimal, timeOracle, period, start)
|
|
125
128
|
//deposit to new vault
|
|
126
|
-
//DONE
|
|
127
129
|
];
|
|
128
130
|
case 5:
|
|
129
|
-
// await updateTimeOracle(timeOracle, timeOracleManager, ts)
|
|
130
|
-
//create new vault
|
|
131
|
-
//DONE
|
|
132
131
|
_c.sent();
|
|
133
132
|
return [4 /*yield*/, getNewestVaultIndex(constants_1.COVERED_CALL_REGISTRY)];
|
|
134
133
|
case 6:
|
|
135
134
|
vaultIndex = _c.sent();
|
|
135
|
+
depositAmount = 50000000000;
|
|
136
136
|
return [4 /*yield*/, depositToVault(typeArgument, vaultIndex, depositAmount)
|
|
137
137
|
//================================start auction================================
|
|
138
138
|
//update price oracle and time oracle
|
|
139
|
-
//DONE
|
|
140
139
|
];
|
|
141
140
|
case 7:
|
|
142
141
|
_c.sent();
|
|
@@ -146,7 +145,6 @@ var expirationTsMs2 = 2000000;
|
|
|
146
145
|
_c.sent();
|
|
147
146
|
return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, startAuctionTsMs)
|
|
148
147
|
//new_auction_with_next_covered_call_vault
|
|
149
|
-
//DONE
|
|
150
148
|
];
|
|
151
149
|
case 9:
|
|
152
150
|
_c.sent();
|
|
@@ -156,88 +154,74 @@ var expirationTsMs2 = 2000000;
|
|
|
156
154
|
finalPrice = 100000000;
|
|
157
155
|
return [4 /*yield*/, createNewAuctionWithNextCoveredCallVault(typeArgument, vaultIndex, startAuctionTsMs, endAuctionTsMs, decaySpeed, initialPrice, finalPrice, expirationTsMs2, strike)
|
|
158
156
|
//update time oracle
|
|
159
|
-
//DONE
|
|
160
157
|
];
|
|
161
158
|
case 10:
|
|
162
159
|
_c.sent();
|
|
163
160
|
currentTime = startAuctionTsMs + 300;
|
|
164
161
|
return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, currentTime)
|
|
165
162
|
//new bid
|
|
166
|
-
//DONE
|
|
167
163
|
];
|
|
168
164
|
case 11:
|
|
169
165
|
_c.sent();
|
|
170
|
-
|
|
171
|
-
return [4 /*yield*/, newBid(vaultIndex,
|
|
172
|
-
//check some data
|
|
173
|
-
//TODO
|
|
166
|
+
bidSize = 50000000000;
|
|
167
|
+
return [4 /*yield*/, newBid(typeArgument, vaultIndex, bidSize, tokenB, timeOracle)
|
|
168
|
+
// //check some data
|
|
169
|
+
// //TODO
|
|
174
170
|
//update time oracle
|
|
175
|
-
//DONE
|
|
176
171
|
];
|
|
177
172
|
case 12:
|
|
178
173
|
_c.sent();
|
|
179
|
-
//check some data
|
|
180
|
-
//TODO
|
|
174
|
+
// //check some data
|
|
175
|
+
// //TODO
|
|
181
176
|
//update time oracle
|
|
182
|
-
//DONE
|
|
183
177
|
return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, endAuctionTsMs + 1)
|
|
184
178
|
//delivery
|
|
185
|
-
//DONE
|
|
186
179
|
];
|
|
187
180
|
case 13:
|
|
188
|
-
//check some data
|
|
189
|
-
//TODO
|
|
181
|
+
// //check some data
|
|
182
|
+
// //TODO
|
|
190
183
|
//update time oracle
|
|
191
|
-
//DONE
|
|
192
184
|
_c.sent();
|
|
193
|
-
sellSize =
|
|
194
|
-
return [4 /*yield*/, delivery(vaultIndex, sellSize, timeOracle)
|
|
195
|
-
//================================end auction================================
|
|
185
|
+
sellSize = 50000000000;
|
|
186
|
+
return [4 /*yield*/, delivery(typeArgument, vaultIndex, sellSize, timeOracle)
|
|
187
|
+
// //================================end auction================================
|
|
196
188
|
//update price oracle and time oracle
|
|
197
|
-
//DONE
|
|
198
189
|
];
|
|
199
190
|
case 14:
|
|
200
191
|
_c.sent();
|
|
201
|
-
//================================end auction================================
|
|
192
|
+
// //================================end auction================================
|
|
202
193
|
//update price oracle and time oracle
|
|
203
|
-
//DONE
|
|
204
194
|
return [4 /*yield*/, updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, endAuctionTsMs)];
|
|
205
195
|
case 15:
|
|
206
|
-
//================================end auction================================
|
|
196
|
+
// //================================end auction================================
|
|
207
197
|
//update price oracle and time oracle
|
|
208
|
-
//DONE
|
|
209
198
|
_c.sent();
|
|
210
199
|
return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, endAuctionTsMs)
|
|
211
200
|
//update payoff config
|
|
212
|
-
//DONE
|
|
213
201
|
];
|
|
214
202
|
case 16:
|
|
215
203
|
_c.sent();
|
|
216
204
|
premiumRoi = 100000;
|
|
217
|
-
|
|
205
|
+
exposureRatio = bidSize * (Math.pow(10, decimal)) / depositAmount;
|
|
206
|
+
return [4 /*yield*/, updatePayoffConfig(typeArgument, vaultIndex, price, premiumRoi, exposureRatio)
|
|
218
207
|
//update price oracle and time oracle
|
|
219
|
-
//DONE
|
|
220
208
|
];
|
|
221
209
|
case 17:
|
|
222
210
|
_c.sent();
|
|
223
211
|
//update price oracle and time oracle
|
|
224
|
-
//DONE
|
|
225
212
|
price = 9800000000;
|
|
226
213
|
return [4 /*yield*/, updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, expirationTsMs1)];
|
|
227
214
|
case 18:
|
|
228
215
|
_c.sent();
|
|
229
216
|
return [4 /*yield*/, updateTimeOracle(timeOracle, timeOracleManager, expirationTsMs1)
|
|
230
217
|
//settle
|
|
231
|
-
//TODO
|
|
232
218
|
];
|
|
233
219
|
case 19:
|
|
234
220
|
_c.sent();
|
|
235
221
|
//settle
|
|
236
|
-
|
|
237
|
-
return [4 /*yield*/, settle(vaultIndex, priceOracle, timeOracle)];
|
|
222
|
+
return [4 /*yield*/, settle(typeArgument, vaultIndex, priceOracle, timeOracle)];
|
|
238
223
|
case 20:
|
|
239
224
|
//settle
|
|
240
|
-
//TODO
|
|
241
225
|
_c.sent();
|
|
242
226
|
return [2 /*return*/];
|
|
243
227
|
}
|
|
@@ -288,57 +272,12 @@ function createPriceOracle(typeArgument) {
|
|
|
288
272
|
});
|
|
289
273
|
});
|
|
290
274
|
}
|
|
291
|
-
function createTimeOracle() {
|
|
292
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
293
|
-
var _this = this;
|
|
294
|
-
return __generator(this, function (_a) {
|
|
295
|
-
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
296
|
-
var newTimeOracleTx, moveCallTxn, digest, txn, timeOracle, managerCap, e_2;
|
|
297
|
-
return __generator(this, function (_a) {
|
|
298
|
-
switch (_a.label) {
|
|
299
|
-
case 0:
|
|
300
|
-
_a.trys.push([0, 4, , 5]);
|
|
301
|
-
console.log("create new time oracle...");
|
|
302
|
-
return [4 /*yield*/, (0, getNewTimeOracleTx_1.getNewTimeOracleTx)(constants_1.ORACLE_PACKAGE)];
|
|
303
|
-
case 1:
|
|
304
|
-
newTimeOracleTx = _a.sent();
|
|
305
|
-
return [4 /*yield*/, signer.executeMoveCall(newTimeOracleTx)];
|
|
306
|
-
case 2:
|
|
307
|
-
moveCallTxn = _a.sent();
|
|
308
|
-
digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
|
|
309
|
-
return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
|
|
310
|
-
case 3:
|
|
311
|
-
txn = _a.sent();
|
|
312
|
-
timeOracle = void 0;
|
|
313
|
-
managerCap = void 0;
|
|
314
|
-
if (txn.effects.created[0].owner["AddressOwner"] == undefined) {
|
|
315
|
-
timeOracle = txn.effects.created[0].reference.objectId;
|
|
316
|
-
managerCap = txn.effects.created[1].reference.objectId;
|
|
317
|
-
}
|
|
318
|
-
else {
|
|
319
|
-
timeOracle = txn.effects.created[1].reference.objectId;
|
|
320
|
-
managerCap = txn.effects.created[0].reference.objectId;
|
|
321
|
-
}
|
|
322
|
-
resolve([timeOracle, managerCap]);
|
|
323
|
-
return [3 /*break*/, 5];
|
|
324
|
-
case 4:
|
|
325
|
-
e_2 = _a.sent();
|
|
326
|
-
console.log("err in createTimeOracle");
|
|
327
|
-
reject(e_2);
|
|
328
|
-
return [3 /*break*/, 5];
|
|
329
|
-
case 5: return [2 /*return*/];
|
|
330
|
-
}
|
|
331
|
-
});
|
|
332
|
-
}); })];
|
|
333
|
-
});
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
275
|
function updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price, ts) {
|
|
337
276
|
return __awaiter(this, void 0, void 0, function () {
|
|
338
277
|
var _this = this;
|
|
339
278
|
return __generator(this, function (_a) {
|
|
340
279
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
341
|
-
var updateOracleTx,
|
|
280
|
+
var updateOracleTx, e_2;
|
|
342
281
|
return __generator(this, function (_a) {
|
|
343
282
|
switch (_a.label) {
|
|
344
283
|
case 0:
|
|
@@ -349,16 +288,20 @@ function updatePriceOracle(priceOracle, priceOracleManager, typeArgument, price,
|
|
|
349
288
|
return [4 /*yield*/, signer.executeMoveCall(updateOracleTx)];
|
|
350
289
|
case 2:
|
|
351
290
|
_a.sent();
|
|
291
|
+
console.log("update price oracle successfully");
|
|
292
|
+
resolve(null);
|
|
352
293
|
return [3 /*break*/, 4];
|
|
353
294
|
case 3:
|
|
354
|
-
|
|
295
|
+
e_2 = _a.sent();
|
|
355
296
|
console.error("err in updatePriceOracle");
|
|
356
297
|
reject();
|
|
357
298
|
return [3 /*break*/, 4];
|
|
358
299
|
case 4: return [2 /*return*/];
|
|
359
300
|
}
|
|
360
301
|
});
|
|
361
|
-
}); })
|
|
302
|
+
}); }).catch(function (error) {
|
|
303
|
+
console.error(error);
|
|
304
|
+
})];
|
|
362
305
|
});
|
|
363
306
|
});
|
|
364
307
|
}
|
|
@@ -367,7 +310,7 @@ function updateTimeOracle(timeOracle, managerCap, ts) {
|
|
|
367
310
|
var _this = this;
|
|
368
311
|
return __generator(this, function (_a) {
|
|
369
312
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
370
|
-
var updateTimeOracleTx,
|
|
313
|
+
var updateTimeOracleTx, e_3;
|
|
371
314
|
return __generator(this, function (_a) {
|
|
372
315
|
switch (_a.label) {
|
|
373
316
|
case 0:
|
|
@@ -378,30 +321,34 @@ function updateTimeOracle(timeOracle, managerCap, ts) {
|
|
|
378
321
|
return [4 /*yield*/, signer.executeMoveCall(updateTimeOracleTx)];
|
|
379
322
|
case 2:
|
|
380
323
|
_a.sent();
|
|
324
|
+
console.log("update time oracle successfully");
|
|
325
|
+
resolve(null);
|
|
381
326
|
return [3 /*break*/, 4];
|
|
382
327
|
case 3:
|
|
383
|
-
|
|
328
|
+
e_3 = _a.sent();
|
|
384
329
|
console.error("err in updateTimeOracle");
|
|
385
330
|
reject();
|
|
386
331
|
return [3 /*break*/, 4];
|
|
387
332
|
case 4: return [2 /*return*/];
|
|
388
333
|
}
|
|
389
334
|
});
|
|
390
|
-
}); })
|
|
335
|
+
}); }).catch(function (error) {
|
|
336
|
+
console.error(error);
|
|
337
|
+
})];
|
|
391
338
|
});
|
|
392
339
|
});
|
|
393
340
|
}
|
|
394
|
-
function createNewVault(typeArgument, expirationTsMs1,
|
|
341
|
+
function createNewVault(typeArgument, expirationTsMs1, tokenDecimal, shareDecimal, timeOracle, period, start) {
|
|
395
342
|
return __awaiter(this, void 0, void 0, function () {
|
|
396
343
|
var _this = this;
|
|
397
344
|
return __generator(this, function (_a) {
|
|
398
345
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
399
|
-
var newCoveredCallVaultTx, moveCallTxn,
|
|
346
|
+
var newCoveredCallVaultTx, moveCallTxn, e_4;
|
|
400
347
|
return __generator(this, function (_a) {
|
|
401
348
|
switch (_a.label) {
|
|
402
349
|
case 0:
|
|
403
350
|
_a.trys.push([0, 4, , 5]);
|
|
404
|
-
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)];
|
|
351
|
+
return [4 /*yield*/, (0, getNewCoveredCallVaultTx_1.getNewCoveredCallVaultTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, constants_1.COVERED_CALL_MANAGER, tokenDecimal, shareDecimal, timeOracle, period, start, expirationTsMs1, strike)];
|
|
405
352
|
case 1:
|
|
406
353
|
newCoveredCallVaultTx = _a.sent();
|
|
407
354
|
return [4 /*yield*/, signer.executeMoveCall(newCoveredCallVaultTx)];
|
|
@@ -410,23 +357,27 @@ function createNewVault(typeArgument, expirationTsMs1, priceOracle) {
|
|
|
410
357
|
return [4 /*yield*/, checkData(moveCallTxn)];
|
|
411
358
|
case 3:
|
|
412
359
|
_a.sent();
|
|
360
|
+
console.log("create new vault successfully");
|
|
361
|
+
resolve(null);
|
|
413
362
|
return [3 /*break*/, 5];
|
|
414
363
|
case 4:
|
|
415
|
-
|
|
364
|
+
e_4 = _a.sent();
|
|
416
365
|
console.error("err in createNewVault");
|
|
417
366
|
reject();
|
|
418
367
|
return [3 /*break*/, 5];
|
|
419
368
|
case 5: return [2 /*return*/];
|
|
420
369
|
}
|
|
421
370
|
});
|
|
422
|
-
}); })
|
|
371
|
+
}); }).catch(function (error) {
|
|
372
|
+
console.error(error);
|
|
373
|
+
})];
|
|
423
374
|
});
|
|
424
375
|
});
|
|
425
376
|
}
|
|
426
377
|
function checkData(moveCallTxn) {
|
|
427
378
|
return __awaiter(this, void 0, void 0, function () {
|
|
428
|
-
var txn, _a, _b, obj,
|
|
429
|
-
var
|
|
379
|
+
var txn, _a, _b, obj, e_5;
|
|
380
|
+
var e_6, _c;
|
|
430
381
|
return __generator(this, function (_d) {
|
|
431
382
|
switch (_d.label) {
|
|
432
383
|
case 0:
|
|
@@ -444,17 +395,17 @@ function checkData(moveCallTxn) {
|
|
|
444
395
|
console.log("new covered call vault: " + obj.reference.objectId);
|
|
445
396
|
}
|
|
446
397
|
}
|
|
447
|
-
catch (
|
|
398
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
448
399
|
finally {
|
|
449
400
|
try {
|
|
450
401
|
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
451
402
|
}
|
|
452
|
-
finally { if (
|
|
403
|
+
finally { if (e_6) throw e_6.error; }
|
|
453
404
|
}
|
|
454
405
|
return [3 /*break*/, 3];
|
|
455
406
|
case 2:
|
|
456
|
-
|
|
457
|
-
console.error(
|
|
407
|
+
e_5 = _d.sent();
|
|
408
|
+
console.error(e_5);
|
|
458
409
|
return [3 /*break*/, 3];
|
|
459
410
|
case 3: return [2 /*return*/];
|
|
460
411
|
}
|
|
@@ -466,11 +417,13 @@ function getNewestVaultIndex(registry) {
|
|
|
466
417
|
var tmp, numOfVault;
|
|
467
418
|
return __generator(this, function (_a) {
|
|
468
419
|
switch (_a.label) {
|
|
469
|
-
case 0: return [4 /*yield*/, provider.getObject(registry)
|
|
470
|
-
//@ts-ignore
|
|
471
|
-
];
|
|
420
|
+
case 0: return [4 /*yield*/, provider.getObject(registry)];
|
|
472
421
|
case 1:
|
|
473
422
|
tmp = _a.sent();
|
|
423
|
+
if (tmp.status != "Exists") {
|
|
424
|
+
console.log("obj not exists");
|
|
425
|
+
return [2 /*return*/, -1];
|
|
426
|
+
}
|
|
474
427
|
numOfVault = tmp.details.data.fields.num_of_vault;
|
|
475
428
|
return [2 /*return*/, numOfVault - 1];
|
|
476
429
|
}
|
|
@@ -482,7 +435,7 @@ function depositToVault(typeArgument, vaultIndex, depositAmount) {
|
|
|
482
435
|
var _this = this;
|
|
483
436
|
return __generator(this, function (_a) {
|
|
484
437
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
485
|
-
var depositTx,
|
|
438
|
+
var depositTx, e_7;
|
|
486
439
|
return __generator(this, function (_a) {
|
|
487
440
|
switch (_a.label) {
|
|
488
441
|
case 0:
|
|
@@ -493,16 +446,20 @@ function depositToVault(typeArgument, vaultIndex, depositAmount) {
|
|
|
493
446
|
return [4 /*yield*/, signer.executeMoveCall(depositTx)];
|
|
494
447
|
case 2:
|
|
495
448
|
_a.sent();
|
|
449
|
+
console.log("deposit to vault successfully");
|
|
450
|
+
resolve(null);
|
|
496
451
|
return [3 /*break*/, 4];
|
|
497
452
|
case 3:
|
|
498
|
-
|
|
453
|
+
e_7 = _a.sent();
|
|
454
|
+
console.log(e_7);
|
|
499
455
|
console.error("err in depositToVault");
|
|
500
|
-
reject();
|
|
501
456
|
return [3 /*break*/, 4];
|
|
502
457
|
case 4: return [2 /*return*/];
|
|
503
458
|
}
|
|
504
459
|
});
|
|
505
|
-
}); })
|
|
460
|
+
}); }).catch(function (error) {
|
|
461
|
+
console.error(error);
|
|
462
|
+
})];
|
|
506
463
|
});
|
|
507
464
|
});
|
|
508
465
|
}
|
|
@@ -511,7 +468,7 @@ function createNewAuctionWithNextCoveredCallVault(typeArgument, vaultIndex, star
|
|
|
511
468
|
var _this = this;
|
|
512
469
|
return __generator(this, function (_a) {
|
|
513
470
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
514
|
-
var txn,
|
|
471
|
+
var txn, e_8;
|
|
515
472
|
return __generator(this, function (_a) {
|
|
516
473
|
switch (_a.label) {
|
|
517
474
|
case 0:
|
|
@@ -522,110 +479,150 @@ function createNewAuctionWithNextCoveredCallVault(typeArgument, vaultIndex, star
|
|
|
522
479
|
return [4 /*yield*/, signer.executeMoveCall(txn)];
|
|
523
480
|
case 2:
|
|
524
481
|
_a.sent();
|
|
482
|
+
console.log("create new auction with next covered call successfully");
|
|
483
|
+
resolve(null);
|
|
525
484
|
return [3 /*break*/, 4];
|
|
526
485
|
case 3:
|
|
527
|
-
|
|
486
|
+
e_8 = _a.sent();
|
|
528
487
|
console.error("err in createNewAuctionWithNextCoveredCallVault");
|
|
529
|
-
reject();
|
|
530
488
|
return [3 /*break*/, 4];
|
|
531
489
|
case 4: return [2 /*return*/];
|
|
532
490
|
}
|
|
533
491
|
});
|
|
534
|
-
}); })
|
|
492
|
+
}); }).catch(function (error) {
|
|
493
|
+
console.error(error);
|
|
494
|
+
})];
|
|
535
495
|
});
|
|
536
496
|
});
|
|
537
497
|
}
|
|
538
|
-
function newBid(vaultIndex, size, token, timeOracle) {
|
|
498
|
+
function newBid(typeArgument, vaultIndex, size, token, timeOracle) {
|
|
539
499
|
return __awaiter(this, void 0, void 0, function () {
|
|
540
500
|
var _this = this;
|
|
541
501
|
return __generator(this, function (_a) {
|
|
542
502
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
543
|
-
var newBidTx,
|
|
503
|
+
var newBidTx, e_9;
|
|
544
504
|
return __generator(this, function (_a) {
|
|
545
505
|
switch (_a.label) {
|
|
546
506
|
case 0:
|
|
547
507
|
_a.trys.push([0, 3, , 4]);
|
|
548
|
-
return [4 /*yield*/, (0, getNewBidTx_1.getNewBidTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY,
|
|
508
|
+
return [4 /*yield*/, (0, getNewBidTx_1.getNewBidTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, size, token, timeOracle)];
|
|
549
509
|
case 1:
|
|
550
510
|
newBidTx = _a.sent();
|
|
551
511
|
return [4 /*yield*/, signer.executeMoveCall(newBidTx)];
|
|
552
512
|
case 2:
|
|
553
513
|
_a.sent();
|
|
514
|
+
console.log("new bid successfully ");
|
|
515
|
+
resolve(null);
|
|
554
516
|
return [3 /*break*/, 4];
|
|
555
517
|
case 3:
|
|
556
|
-
|
|
557
|
-
console.error(
|
|
558
|
-
reject();
|
|
518
|
+
e_9 = _a.sent();
|
|
519
|
+
console.error(e_9);
|
|
559
520
|
return [3 /*break*/, 4];
|
|
560
521
|
case 4: return [2 /*return*/];
|
|
561
522
|
}
|
|
562
523
|
});
|
|
563
|
-
}); })
|
|
524
|
+
}); }).catch(function (error) {
|
|
525
|
+
console.error(error);
|
|
526
|
+
})];
|
|
564
527
|
});
|
|
565
528
|
});
|
|
566
529
|
}
|
|
567
|
-
function delivery(vaultIndex, sellSize, timeOracle) {
|
|
530
|
+
function delivery(typeArgument, vaultIndex, sellSize, timeOracle) {
|
|
568
531
|
return __awaiter(this, void 0, void 0, function () {
|
|
569
532
|
var _this = this;
|
|
570
533
|
return __generator(this, function (_a) {
|
|
571
534
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
572
|
-
var deliveryTx,
|
|
535
|
+
var deliveryTx, e_10;
|
|
573
536
|
return __generator(this, function (_a) {
|
|
574
537
|
switch (_a.label) {
|
|
575
538
|
case 0:
|
|
576
539
|
_a.trys.push([0, 3, , 4]);
|
|
577
|
-
return [4 /*yield*/, (0, getDeliveryTx_1.getDeliveryTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_MANAGER, constants_1.COVERED_CALL_REGISTRY,
|
|
540
|
+
return [4 /*yield*/, (0, getDeliveryTx_1.getDeliveryTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_MANAGER, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, sellSize, timeOracle)];
|
|
578
541
|
case 1:
|
|
579
542
|
deliveryTx = _a.sent();
|
|
580
543
|
return [4 /*yield*/, signer.executeMoveCall(deliveryTx)];
|
|
581
544
|
case 2:
|
|
582
545
|
_a.sent();
|
|
546
|
+
console.log("delivery successfully");
|
|
547
|
+
resolve(null);
|
|
583
548
|
return [3 /*break*/, 4];
|
|
584
549
|
case 3:
|
|
585
|
-
|
|
550
|
+
e_10 = _a.sent();
|
|
586
551
|
console.error("err in delivery");
|
|
587
552
|
reject();
|
|
588
553
|
return [3 /*break*/, 4];
|
|
589
554
|
case 4: return [2 /*return*/];
|
|
590
555
|
}
|
|
591
556
|
});
|
|
592
|
-
}); })
|
|
557
|
+
}); }).catch(function (error) {
|
|
558
|
+
console.error(error);
|
|
559
|
+
})];
|
|
593
560
|
});
|
|
594
561
|
});
|
|
595
562
|
}
|
|
596
|
-
function updatePayoffConfig(vaultIndex, price, premiumRoi) {
|
|
563
|
+
function updatePayoffConfig(typeArgument, vaultIndex, price, premiumRoi, exposureRatio) {
|
|
597
564
|
return __awaiter(this, void 0, void 0, function () {
|
|
598
565
|
var _this = this;
|
|
599
566
|
return __generator(this, function (_a) {
|
|
600
567
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
601
|
-
var updatePayoffConfigTx,
|
|
568
|
+
var updatePayoffConfigTx, e_11;
|
|
602
569
|
return __generator(this, function (_a) {
|
|
603
570
|
switch (_a.label) {
|
|
604
571
|
case 0:
|
|
605
572
|
_a.trys.push([0, 3, , 4]);
|
|
606
|
-
return [4 /*yield*/, (0, getUpdatePayoffConfigTx_1.getUpdatePayoffConfigTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY,
|
|
573
|
+
return [4 /*yield*/, (0, getUpdatePayoffConfigTx_1.getUpdatePayoffConfigTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, constants_1.COVERED_CALL_MANAGER, vaultIndex, price, premiumRoi, exposureRatio)];
|
|
607
574
|
case 1:
|
|
608
575
|
updatePayoffConfigTx = _a.sent();
|
|
609
576
|
return [4 /*yield*/, signer.executeMoveCall(updatePayoffConfigTx)];
|
|
610
577
|
case 2:
|
|
611
578
|
_a.sent();
|
|
579
|
+
console.log("update payoff config successfully");
|
|
580
|
+
resolve(null);
|
|
612
581
|
return [3 /*break*/, 4];
|
|
613
582
|
case 3:
|
|
614
|
-
|
|
615
|
-
console.error(
|
|
583
|
+
e_11 = _a.sent();
|
|
584
|
+
console.error(e_11);
|
|
616
585
|
reject();
|
|
617
586
|
return [3 /*break*/, 4];
|
|
618
587
|
case 4: return [2 /*return*/];
|
|
619
588
|
}
|
|
620
589
|
});
|
|
621
|
-
}); })
|
|
590
|
+
}); }).catch(function (error) {
|
|
591
|
+
console.error(error);
|
|
592
|
+
})];
|
|
622
593
|
});
|
|
623
594
|
});
|
|
624
595
|
}
|
|
625
|
-
function settle(vaultIndex, priceOracle, timeOracle) {
|
|
596
|
+
function settle(typeArgument, vaultIndex, priceOracle, timeOracle) {
|
|
626
597
|
return __awaiter(this, void 0, void 0, function () {
|
|
598
|
+
var _this = this;
|
|
627
599
|
return __generator(this, function (_a) {
|
|
628
|
-
return [2 /*return
|
|
600
|
+
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
601
|
+
var settleTx, e_12;
|
|
602
|
+
return __generator(this, function (_a) {
|
|
603
|
+
switch (_a.label) {
|
|
604
|
+
case 0:
|
|
605
|
+
_a.trys.push([0, 3, , 4]);
|
|
606
|
+
return [4 /*yield*/, (0, getSettleTx_1.getSettleTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, constants_1.COVERED_CALL_MANAGER, vaultIndex, priceOracle, timeOracle)];
|
|
607
|
+
case 1:
|
|
608
|
+
settleTx = _a.sent();
|
|
609
|
+
return [4 /*yield*/, signer.executeMoveCall(settleTx)];
|
|
610
|
+
case 2:
|
|
611
|
+
_a.sent();
|
|
612
|
+
console.log("settle successfully");
|
|
613
|
+
resolve(null);
|
|
614
|
+
return [3 /*break*/, 4];
|
|
615
|
+
case 3:
|
|
616
|
+
e_12 = _a.sent();
|
|
617
|
+
console.error(e_12);
|
|
618
|
+
reject();
|
|
619
|
+
return [3 /*break*/, 4];
|
|
620
|
+
case 4: return [2 /*return*/];
|
|
621
|
+
}
|
|
622
|
+
});
|
|
623
|
+
}); }).catch(function (error) {
|
|
624
|
+
console.error(error);
|
|
625
|
+
})];
|
|
629
626
|
});
|
|
630
627
|
});
|
|
631
628
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createTimeOracle(): Promise<[string, string]>;
|