@typus/typus-sdk 0.1.1 → 0.1.2

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 (49) hide show
  1. package/README.md +37 -1
  2. package/lib/constants.d.ts +10 -2
  3. package/lib/constants.js +11 -3
  4. package/lib/scripts/coveredCall/getCoveredCallDepositTx.d.ts +1 -0
  5. package/lib/scripts/coveredCall/getCoveredCallDepositTx.js +58 -0
  6. package/lib/scripts/coveredCall/getCoveredCallUnsubscribeTx.d.ts +1 -0
  7. package/lib/scripts/coveredCall/getCoveredCallUnsubscribeTx.js +55 -0
  8. package/lib/scripts/coveredCall/getNewCoveredCallVaultTx.d.ts +1 -0
  9. package/lib/scripts/coveredCall/getNewCoveredCallVaultTx.js +57 -0
  10. package/lib/scripts/getCreateTokenRegistryTx.d.ts +1 -0
  11. package/lib/scripts/getCreateTokenRegistryTx.js +54 -0
  12. package/lib/scripts/getDepositTx.d.ts +1 -0
  13. package/lib/scripts/getDepositTx.js +59 -0
  14. package/lib/scripts/getMintTx.js +1 -1
  15. package/lib/scripts/getNewOracleTx.d.ts +1 -0
  16. package/lib/scripts/getNewOracleTx.js +55 -0
  17. package/lib/scripts/getNewSharkFinVaultTx.d.ts +1 -0
  18. package/lib/scripts/getNewSharkFinVaultTx.js +59 -0
  19. package/lib/scripts/getUpdateOracleTx.d.ts +1 -0
  20. package/lib/scripts/getUpdateOracleTx.js +60 -0
  21. package/lib/scripts/sui.js +1 -65
  22. package/lib/test/testDeposit.d.ts +1 -0
  23. package/lib/test/testDeposit.js +102 -0
  24. package/lib/test/testDepositV2.d.ts +1 -0
  25. package/lib/test/testDepositV2.js +169 -0
  26. package/lib/test/testMint.d.ts +1 -0
  27. package/lib/test/testMint.js +90 -0
  28. package/lib/test/testOracle.d.ts +1 -0
  29. package/lib/test/testOracle.js +84 -0
  30. package/lib/utils/coveredCall/getCoveredCallDepositTx.d.ts +1 -0
  31. package/lib/utils/coveredCall/getCoveredCallDepositTx.js +65 -0
  32. package/lib/utils/coveredCall/getCoveredCallUnsubscribeTx.d.ts +1 -0
  33. package/lib/utils/coveredCall/getCoveredCallUnsubscribeTx.js +62 -0
  34. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.d.ts +1 -0
  35. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.js +65 -0
  36. package/lib/utils/getCreateTokenRegistryTx.d.ts +1 -0
  37. package/lib/utils/getCreateTokenRegistryTx.js +59 -0
  38. package/lib/utils/getDepositTx.d.ts +1 -0
  39. package/lib/utils/getDepositTx.js +66 -0
  40. package/lib/utils/getMintTx.js +3 -0
  41. package/lib/utils/getNewOracleTx.d.ts +1 -0
  42. package/lib/utils/getNewOracleTx.js +59 -0
  43. package/lib/utils/getNewSharkFinVaultTx.d.ts +1 -0
  44. package/lib/utils/getNewSharkFinVaultTx.js +67 -0
  45. package/lib/utils/getSubVault.d.ts +1 -1
  46. package/lib/utils/getSubVault.js +12 -11
  47. package/lib/utils/getUpdateOracleTx.d.ts +1 -0
  48. package/lib/utils/getUpdateOracleTx.js +64 -0
  49. package/package.json +6 -5
@@ -1,40 +1,4 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
4
  };
@@ -55,7 +19,7 @@ var tx1 = "GRiBgktRqgJ4MSoRhCfSm/+1R/Zh9jy4UncoQeFAu5I=";
55
19
  var secretKeysPath = process.env.PRIVATEKEY;
56
20
  var subVault = "0xd3b2d3ee74afe2b5af0f810b3368955f068188e8";
57
21
  var TEST_MNEMONIC = "tackle wheat jungle viable memory dwarf swift fold purpose cattle impose horn";
58
- var VALID_SECRET_KEY = 'mdqVWeFekT7pqy5T49+tV12jO0m+ESW7ki4zSU9JiCgbL0kJbj5dvQ/PqcDAzZLZqzshVEs01d1KZdmLh4uZIg==';
22
+ var VALID_SECRET_KEY = "Itk7iNFs91kXKdqVqmLrBKJItNIoSyWAOh+ZC2qaSihpxiAxNYwKPjwfresk9CSbKCmwNwvXfPQoeLL4rVa4OQ=="; //'mdqVWeFekT7pqy5T49+tV12jO0m+ESW7ki4zSU9JiCgbL0kJbj5dvQ/PqcDAzZLZqzshVEs01d1KZdmLh4uZIg==';
59
23
  // let secretKeys = (readJsonFile<any>(secretKeysPath as string))
60
24
  // let sender = secretKeys[0]
61
25
  // let keypair = Ed25519Keypair.fromSecretKey(fromB64(sender))// Error: Wrong secretKey size. Expected 64 bytes, got 65.
@@ -221,31 +185,3 @@ function readJsonFile(filePath) {
221
185
  // const moveCallTxn = await signer.executeMoveCall(txn);
222
186
  // console.log('moveCallTxn', moveCallTxn);
223
187
  // }
224
- function deposit(packageId, registry, coin) {
225
- return __awaiter(this, void 0, void 0, function () {
226
- var txn, moveCallTxn;
227
- return __generator(this, function (_a) {
228
- switch (_a.label) {
229
- case 0:
230
- txn = {
231
- packageObjectId: packageId,
232
- module: 'shark_fin',
233
- function: 'deposit',
234
- typeArguments: ["0x2::sui::SUI"],
235
- arguments: [
236
- registry,
237
- 0,
238
- true,
239
- coin
240
- ],
241
- gasBudget: 1000,
242
- };
243
- return [4 /*yield*/, signer.executeMoveCall(txn)];
244
- case 1:
245
- moveCallTxn = _a.sent();
246
- console.log('moveCallTxn', moveCallTxn);
247
- return [2 /*return*/];
248
- }
249
- });
250
- });
251
- }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,102 @@
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 getNewSharkFinVaultTx_1 = require("../utils/getNewSharkFinVaultTx");
40
+ var getDepositTx_1 = require("../utils/getDepositTx");
41
+ var constants_1 = require("../constants");
42
+ var sui_js_1 = require("@mysten/sui.js");
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
+ /*
47
+ after deposit, token object balance will decrease, and new vault "deposit" in fields will increase
48
+ */
49
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
50
+ var depositAmount, typeArgument, expiration, bullish, lowBarrierPrice, highBarrierPrice, isRolling, token, registry, numOfVaultBeforeCreateVault, newSharkFinVaultTx, moveCallTxn, txn, newVault, numOfVaultAfterCreateVault, vaultIndex, depositTx;
51
+ return __generator(this, function (_a) {
52
+ switch (_a.label) {
53
+ case 0:
54
+ depositAmount = 123;
55
+ typeArgument = "0x27b3674c685046f66cad1d5496d2967894fa5329::token::USDC" //0x27b3674c685046f66cad1d5496d2967894fa5329:TOKEN_PACKAGE
56
+ ;
57
+ expiration = 1671344789;
58
+ bullish = true;
59
+ lowBarrierPrice = 1;
60
+ highBarrierPrice = 10;
61
+ isRolling = true;
62
+ token = "0xdb85a3efc1706010fa9530ef3b8a8a5cf4b290b7";
63
+ console.log("test for deposit, try to deposit " + token + " for " + depositAmount + " ...");
64
+ return [4 /*yield*/, provider.getObject(constants_1.SHARKFIN_REGISTRY)
65
+ //@ts-ignore
66
+ ];
67
+ case 1:
68
+ registry = _a.sent();
69
+ numOfVaultBeforeCreateVault = registry.details.data.fields.num_of_vault;
70
+ console.log("numOfVaultBeforeCreateVault: " + numOfVaultBeforeCreateVault);
71
+ return [4 /*yield*/, (0, getNewSharkFinVaultTx_1.getNewSharkFinVaultTx)(constants_1.SHARKFIN_PACKAGE, constants_1.SHARKFIN_REGISTRY, typeArgument, expiration, bullish, lowBarrierPrice, highBarrierPrice)];
72
+ case 2:
73
+ newSharkFinVaultTx = _a.sent();
74
+ return [4 /*yield*/, signer.executeMoveCall(newSharkFinVaultTx)];
75
+ case 3:
76
+ moveCallTxn = _a.sent();
77
+ return [4 /*yield*/, provider.getTransactionWithEffects(
78
+ //@ts-ignore
79
+ moveCallTxn.EffectsCert.certificate.transactionDigest)];
80
+ case 4:
81
+ txn = _a.sent();
82
+ newVault = txn.effects.created[0].reference.objectId;
83
+ console.log("create new vault " + newVault + " for token successfully");
84
+ return [4 /*yield*/, provider.getObject(constants_1.SHARKFIN_REGISTRY)
85
+ //@ts-ignore
86
+ ];
87
+ case 5:
88
+ registry = _a.sent();
89
+ numOfVaultAfterCreateVault = registry.details.data.fields.num_of_vault;
90
+ console.log("numOfVaultAfterCreateVault: " + numOfVaultAfterCreateVault);
91
+ vaultIndex = numOfVaultAfterCreateVault - 1;
92
+ return [4 /*yield*/, (0, getDepositTx_1.getDepositTx)(constants_1.SHARKFIN_PACKAGE, constants_1.SHARKFIN_REGISTRY, typeArgument, vaultIndex, isRolling, token, depositAmount)];
93
+ case 6:
94
+ depositTx = _a.sent();
95
+ return [4 /*yield*/, signer.executeMoveCall(depositTx)];
96
+ case 7:
97
+ moveCallTxn = _a.sent();
98
+ console.log("deposit to new vault successfully");
99
+ return [2 /*return*/];
100
+ }
101
+ });
102
+ }); })();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ 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;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ var getNewSharkFinVaultTx_1 = require("../utils/getNewSharkFinVaultTx");
63
+ var constants_1 = require("../constants");
64
+ var sui_js_1 = require("@mysten/sui.js");
65
+ var assert = __importStar(require("assert"));
66
+ var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
67
+ var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
68
+ var signer = new sui_js_1.RawSigner(keypair, provider);
69
+ /*
70
+ after deposit, token object balance will decrease, and new vault "deposit" in fields will increase
71
+ */
72
+ describe('deposit', function () { return __awaiter(void 0, void 0, void 0, function () {
73
+ var depositAmount, typeArgument, expiration, bullish, lowBarrierPrice, highBarrierPrice, isRolling, token;
74
+ return __generator(this, function (_a) {
75
+ depositAmount = 123;
76
+ typeArgument = "0x27b3674c685046f66cad1d5496d2967894fa5329::token::USDC" //0x27b3674c685046f66cad1d5496d2967894fa5329:TOKEN_PACKAGE
77
+ ;
78
+ expiration = 1671344789;
79
+ bullish = true;
80
+ lowBarrierPrice = 1;
81
+ highBarrierPrice = 10;
82
+ isRolling = true;
83
+ token = "0xdb85a3efc1706010fa9530ef3b8a8a5cf4b290b7";
84
+ console.log("test for deposit, try to deposit " + token + " for " + depositAmount + " ...");
85
+ it('Check registry', function () { return __awaiter(void 0, void 0, void 0, function () {
86
+ var e_1;
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0:
90
+ _a.trys.push([0, 2, , 3]);
91
+ return [4 /*yield*/, provider.getObject(constants_1.SHARKFIN_REGISTRY)];
92
+ case 1:
93
+ _a.sent();
94
+ assert.ok("Get registry successfully");
95
+ return [3 /*break*/, 3];
96
+ case 2:
97
+ e_1 = _a.sent();
98
+ assert.fail("Wrong registry");
99
+ return [3 /*break*/, 3];
100
+ case 3: return [2 /*return*/];
101
+ }
102
+ });
103
+ }); });
104
+ it('Create new vault in registry', function () { return __awaiter(void 0, void 0, void 0, function () {
105
+ var newSharkFinVaultTx, moveCallTxn, e_2;
106
+ return __generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0:
109
+ _a.trys.push([0, 3, , 4]);
110
+ return [4 /*yield*/, (0, getNewSharkFinVaultTx_1.getNewSharkFinVaultTx)(constants_1.SHARKFIN_PACKAGE, constants_1.SHARKFIN_REGISTRY, typeArgument, expiration, bullish, lowBarrierPrice, highBarrierPrice)];
111
+ case 1:
112
+ newSharkFinVaultTx = _a.sent();
113
+ return [4 /*yield*/, signer.executeMoveCall(newSharkFinVaultTx)];
114
+ case 2:
115
+ moveCallTxn = _a.sent();
116
+ console.log(moveCallTxn);
117
+ assert.ok("Create new vault in registry successfully");
118
+ return [3 /*break*/, 4];
119
+ case 3:
120
+ e_2 = _a.sent();
121
+ assert.fail("Can't create new vault in registry");
122
+ return [3 /*break*/, 4];
123
+ case 4: return [2 /*return*/];
124
+ }
125
+ });
126
+ }); });
127
+ it('Check vault number after create new vault', function () { return __awaiter(void 0, void 0, void 0, function () {
128
+ var registry, numOfVaultBeforeCreateVault, newSharkFinVaultTx, numOfVaultAfterCreateVault, e_3;
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0:
132
+ _a.trys.push([0, 5, , 6]);
133
+ return [4 /*yield*/, provider.getObject(constants_1.SHARKFIN_REGISTRY)
134
+ //@ts-ignore
135
+ ];
136
+ case 1:
137
+ registry = _a.sent();
138
+ numOfVaultBeforeCreateVault = registry.details.data.fields.num_of_vault;
139
+ return [4 /*yield*/, (0, getNewSharkFinVaultTx_1.getNewSharkFinVaultTx)(constants_1.SHARKFIN_PACKAGE, constants_1.SHARKFIN_REGISTRY, typeArgument, expiration, bullish, lowBarrierPrice, highBarrierPrice)];
140
+ case 2:
141
+ newSharkFinVaultTx = _a.sent();
142
+ return [4 /*yield*/, signer.executeMoveCall(newSharkFinVaultTx)];
143
+ case 3:
144
+ _a.sent();
145
+ return [4 /*yield*/, provider.getObject(constants_1.SHARKFIN_REGISTRY)
146
+ //@ts-ignore
147
+ ];
148
+ case 4:
149
+ registry = _a.sent();
150
+ numOfVaultAfterCreateVault = registry.details.data.fields.num_of_vault;
151
+ // console.log("numOfVaultAfterCreateVault: " + numOfVaultAfterCreateVault)
152
+ assert.ok(numOfVaultAfterCreateVault == numOfVaultBeforeCreateVault + 1, "wrong vault number");
153
+ return [3 /*break*/, 6];
154
+ case 5:
155
+ e_3 = _a.sent();
156
+ assert.fail("Error in check vault number after create new vault");
157
+ return [3 /*break*/, 6];
158
+ case 6: return [2 /*return*/];
159
+ }
160
+ });
161
+ }); });
162
+ it('Deposit to new vault', function () { return __awaiter(void 0, void 0, void 0, function () {
163
+ return __generator(this, function (_a) {
164
+ return [2 /*return*/];
165
+ });
166
+ }); });
167
+ return [2 /*return*/];
168
+ });
169
+ }); });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,90 @@
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 getMintTx_1 = require("../utils/getMintTx");
40
+ var getCreateTokenRegistryTx_1 = require("../utils/getCreateTokenRegistryTx");
41
+ var constants_1 = require("../constants");
42
+ var sui_js_1 = require("@mysten/sui.js");
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
+ var mintAmount = 10005;
47
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
48
+ var createTokenRegistryTx, moveCallTxn, digest, txn, newRegistry, mintTx, digest, tokenObjectId, tokenObj, newTokenId, tokenAmount;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ console.log("test for mint, try to mint " + mintAmount + " ...");
53
+ console.log("create registry in pakcage:");
54
+ return [4 /*yield*/, (0, getCreateTokenRegistryTx_1.getCreateTokenRegistryTx)(constants_1.TOKEN_PACKAGE)];
55
+ case 1:
56
+ createTokenRegistryTx = _a.sent();
57
+ return [4 /*yield*/, signer.executeMoveCall(createTokenRegistryTx)];
58
+ case 2:
59
+ moveCallTxn = _a.sent();
60
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
61
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
62
+ case 3:
63
+ txn = _a.sent();
64
+ newRegistry = txn.effects.created[0].reference.objectId;
65
+ console.log("new registry for mint token: " + newRegistry);
66
+ return [4 /*yield*/, (0, getMintTx_1.getMintTx)(constants_1.TOKEN_PACKAGE, newRegistry, mintAmount)];
67
+ case 4:
68
+ mintTx = _a.sent();
69
+ return [4 /*yield*/, signer.executeMoveCall(mintTx)];
70
+ case 5:
71
+ moveCallTxn = _a.sent();
72
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
73
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
74
+ case 6:
75
+ // console.log("digest: " + digest);
76
+ txn = _a.sent();
77
+ tokenObjectId = txn.effects.created[0].reference.objectId;
78
+ return [4 /*yield*/, provider.getObject(tokenObjectId)
79
+ //@ts-ignore
80
+ ];
81
+ case 7:
82
+ tokenObj = _a.sent();
83
+ newTokenId = tokenObj.details.data.fields.id.id;
84
+ console.log("newTokenId: " + newTokenId);
85
+ tokenAmount = tokenObj.details.data.fields.balance;
86
+ console.log("tokenAmount: " + tokenAmount);
87
+ return [2 /*return*/];
88
+ }
89
+ });
90
+ }); })();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,84 @@
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 getUpdateOracleTx_1 = require("../utils/getUpdateOracleTx");
40
+ var getNewOracleTx_1 = require("../utils/getNewOracleTx");
41
+ var constants_1 = require("../constants");
42
+ var sui_js_1 = require("@mysten/sui.js");
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 price, unix, newOracleTx, moveCallTxn, digest, txn, newOracle, managerCap, updateOracleTx, newOracleObj;
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0:
51
+ price = 1234;
52
+ unix = 5678;
53
+ console.log("create new oracle...");
54
+ return [4 /*yield*/, (0, getNewOracleTx_1.getNewOracleTx)(constants_1.DOV_PACKAGE, constants_1.DEFAULT_TYPE_ARGUMENT)];
55
+ case 1:
56
+ newOracleTx = _a.sent();
57
+ return [4 /*yield*/, signer.executeMoveCall(newOracleTx)];
58
+ case 2:
59
+ moveCallTxn = _a.sent();
60
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
61
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
62
+ case 3:
63
+ txn = _a.sent();
64
+ newOracle = txn.effects.created[0].reference.objectId;
65
+ console.log("newOracle: " + newOracle);
66
+ managerCap = txn.effects.created[1].reference.objectId;
67
+ console.log("managerCap: " + managerCap);
68
+ console.log("update oracle...");
69
+ return [4 /*yield*/, (0, getUpdateOracleTx_1.getUpdateOracleTx)(constants_1.DOV_PACKAGE, constants_1.DEFAULT_TYPE_ARGUMENT, newOracle, managerCap, price, unix)];
70
+ case 4:
71
+ updateOracleTx = _a.sent();
72
+ return [4 /*yield*/, signer.executeMoveCall(updateOracleTx)];
73
+ case 5:
74
+ moveCallTxn = _a.sent();
75
+ return [4 /*yield*/, provider.getObject(newOracle)];
76
+ case 6:
77
+ newOracleObj = _a.sent();
78
+ console.log("updated oracle:");
79
+ //@ts-ignore
80
+ console.log(newOracleObj.details.data.fields);
81
+ return [2 /*return*/];
82
+ }
83
+ });
84
+ }); })();
@@ -0,0 +1 @@
1
+ export declare function getCoveredCallDepositTx(packageId: string, registry: string, typeArgument: string, index: number, rolling: Boolean, coin: string, amount: number): Promise<any>;
@@ -0,0 +1,65 @@
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.getCoveredCallDepositTx = void 0;
40
+ function getCoveredCallDepositTx(packageId, registry, typeArgument, index, rolling, coin, amount) {
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: 'deposit',
48
+ typeArguments: [typeArgument],
49
+ arguments: [
50
+ registry,
51
+ index,
52
+ rolling,
53
+ coin,
54
+ amount
55
+ ],
56
+ gasBudget: 10000,
57
+ };
58
+ return [2 /*return*/, tx];
59
+ });
60
+ });
61
+ }
62
+ exports.getCoveredCallDepositTx = getCoveredCallDepositTx;
63
+ /*
64
+ sui client call --package 0x1543511bdce9ea3c401c4939126cea518adee965 --module covered_call --function deposit --type-args 0x2::sui::SUI --args 0xb02452d0bbef3cbdc7840ea5bad27bcdd4031675 0 true COIN 9999 --gas-budget 100000
65
+ */
@@ -0,0 +1 @@
1
+ export declare function getCoveredCallUnsubscribeTx(packageId: string, registry: string, typeArgument: string, index: number): Promise<any>;