@typus/typus-sdk 0.2.1 → 0.2.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 (32) hide show
  1. package/README.md +6 -3
  2. package/lib/constants.d.ts +11 -9
  3. package/lib/constants.js +12 -10
  4. package/lib/scripts/coveredCall/getNewCoveredCallVaultTx.js +5 -2
  5. package/lib/scripts/coveredCall/getUpdatePayoffConfigTx.js +3 -2
  6. package/lib/{scripts/getCoveredCallVaultAsset.d.ts → test/getUsersShares.d.ts} +0 -0
  7. package/lib/{scripts/getCoveredCallVaultAsset.js → test/getUsersShares.js} +6 -9
  8. package/lib/test/{getUserDepositData.d.ts → getVaultData.d.ts} +0 -0
  9. package/lib/test/{getUserDepositData.js → getVaultData.js} +6 -18
  10. package/lib/test/testClaim.d.ts +1 -0
  11. package/lib/test/testClaim.js +81 -0
  12. package/lib/test/testDeposit.js +2 -2
  13. package/lib/test/testMint.js +1 -1
  14. package/lib/test/testNewVault.js +33 -61
  15. package/lib/test/testSettle.js +131 -139
  16. package/lib/utils/coveredCall/createTimeOracle.d.ts +1 -0
  17. package/lib/utils/coveredCall/createTimeOracle.js +91 -0
  18. package/lib/utils/coveredCall/getClaimAllTx.js +2 -2
  19. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.d.ts +1 -1
  20. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.js +4 -1
  21. package/lib/utils/coveredCall/getUpdatePayoffConfigTx.d.ts +1 -1
  22. package/lib/utils/coveredCall/getUpdatePayoffConfigTx.js +2 -1
  23. package/lib/utils/fetchData.d.ts +5 -0
  24. package/lib/utils/fetchData.js +1 -0
  25. package/lib/utils/getUsersShares.d.ts +7 -0
  26. package/lib/utils/getUsersShares.js +73 -0
  27. package/lib/utils/getVaultData.d.ts +2 -0
  28. package/lib/utils/getVaultData.js +109 -0
  29. package/lib/utils/isObjAvailable.d.ts +1 -0
  30. package/lib/utils/{getCoveredCallVaultAsset.js → isObjAvailable.js} +17 -9
  31. package/package.json +3 -2
  32. package/lib/utils/getCoveredCallVaultAsset.d.ts +0 -1
package/README.md CHANGED
@@ -1,12 +1,15 @@
1
1
  # typus-sdk
2
2
 
3
- ## install
3
+ ## Install
4
4
 
5
5
  ```bash
6
6
  npm i
7
7
  ```
8
-
9
- ## run scripts
8
+ ## For Frontend
9
+ * The payload to call is in utils/ , and file name is get...Tx.ts (EX:getClaimTx.ts). It will return a tx.
10
+ * In scripts/ , the simple example file name to send variable into payload is get...Tx.ts (EX:getClaimTx.ts).
11
+ * Frontend can refer to scripts/ to call utils/ tx and send it.
12
+ ## For integration testing
10
13
  ### simple test for important function
11
14
 
12
15
  ```bash
@@ -1,12 +1,14 @@
1
- export declare const TOKEN_PACKAGE = "0x04aed544785e606bbda1100b7af9aaefb1db60b3";
2
- export declare const TOKEN_REGISTRY_BTC = "0x1d41542c9bcbb3427e80afb6cd7f05b304feb149";
3
- export declare const TOKEN_REGISTRY_ETH = "0x97da9ec6f9842025480b73a2249e8670491c37d6";
4
- export declare const TOKEN_REGISTRY_SUI = "0xa0b7b5fc89ee0fa8a1f3355f9370c9651f7611b6";
5
- export declare const ORACLE_PACKAGE = "0xe450380f9abda5ef5a7d8674f36d60caeb5a5b22";
6
- export declare const COVERED_CALL_PACKAGE = "0xf98dbb57fde46c6c42fd199404037c9f5cfb6cbd";
7
- export declare const COVERED_CALL_REGISTRY = "0x060ef5e7d31e578eece3b69fb7f933ad1f34cbf9";
8
- export declare const COVERED_CALL_MANAGER = "0xcee379cd9be9e99baf441039d8d874126615ccdd";
9
- export declare const DOV_PACKAGE = "0xfaadf1d975ed3dec39cbe93a1f44c034966f6747";
1
+ export declare const TOKEN_PACKAGE = "0xa2ca2763f446b6822880f270aba71c3483291774";
2
+ export declare const TOKEN_REGISTRY_BTC = "0xfbe6b865b5ff4bfea92c769aa0a39018100ba75c";
3
+ export declare const TOKEN_REGISTRY_ETH = "0x6add7187bcaeef019120b5a0ac63c9c6870ce9c2";
4
+ export declare const TOKEN_REGISTRY_SUI = "0x9ded8015e2ce496cee989b6701e69c73e86436e6";
5
+ export declare const ORACLE_PACKAGE = "0x7d683916b32c25b0061e65d3c744838cea225fe9";
6
+ export declare const COVERED_CALL_PACKAGE = "0x56dbf64116e1e70353f4b35e0c708a194d04dbb7";
7
+ export declare const COVERED_CALL_REGISTRY = "0x0183b44c412e7713bb928c330bd0cbfb8817ff75";
8
+ export declare const COVERED_CALL_MANAGER = "0x2370429bc93b9861b45d542862bbfd0711f4d686";
9
+ export declare const USER_SHARE_TABLE = "0x762ad4e903b45f0a5e451874d30bce777a69f0f6";
10
+ export declare const MAKER_SHARE_TABLE = "0xd0765bf26da16c2debf6e136c0fcab67f2054ac3";
11
+ export declare const DOV_PACKAGE = "0xa6a4607b52f5a2a6299434c8c3e5040e34c325d7";
10
12
  export declare const DEFAULT_TYPE_ARGUMENT = "0x2::sui::SUI";
11
13
  export declare const FAKE_TOKEN_TYPE_ARGUMENT = "0x27b3674c685046f66cad1d5496d2967894fa5329::token::USDC";
12
14
  export declare const TEST_MNEMONIC = "plug grain matter asthma aware critic can lottery blouse uncover sauce speak";
package/lib/constants.js CHANGED
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TOKEN_NAME_TO_MODULE = exports.TOKEN_NAME = exports.TEST_MNEMONIC = exports.FAKE_TOKEN_TYPE_ARGUMENT = exports.DEFAULT_TYPE_ARGUMENT = exports.DOV_PACKAGE = exports.COVERED_CALL_MANAGER = exports.COVERED_CALL_REGISTRY = exports.COVERED_CALL_PACKAGE = exports.ORACLE_PACKAGE = exports.TOKEN_REGISTRY_SUI = exports.TOKEN_REGISTRY_ETH = exports.TOKEN_REGISTRY_BTC = exports.TOKEN_PACKAGE = void 0;
3
+ exports.TOKEN_NAME_TO_MODULE = exports.TOKEN_NAME = exports.TEST_MNEMONIC = exports.FAKE_TOKEN_TYPE_ARGUMENT = exports.DEFAULT_TYPE_ARGUMENT = exports.DOV_PACKAGE = exports.MAKER_SHARE_TABLE = exports.USER_SHARE_TABLE = exports.COVERED_CALL_MANAGER = exports.COVERED_CALL_REGISTRY = exports.COVERED_CALL_PACKAGE = exports.ORACLE_PACKAGE = exports.TOKEN_REGISTRY_SUI = exports.TOKEN_REGISTRY_ETH = exports.TOKEN_REGISTRY_BTC = exports.TOKEN_PACKAGE = void 0;
4
4
  //publish from sui-dev-token
5
- exports.TOKEN_PACKAGE = "0x04aed544785e606bbda1100b7af9aaefb1db60b3";
6
- exports.TOKEN_REGISTRY_BTC = "0x1d41542c9bcbb3427e80afb6cd7f05b304feb149"; //fake btc registry
7
- exports.TOKEN_REGISTRY_ETH = "0x97da9ec6f9842025480b73a2249e8670491c37d6"; //fake eth registry
8
- exports.TOKEN_REGISTRY_SUI = "0xa0b7b5fc89ee0fa8a1f3355f9370c9651f7611b6"; //fake usdc registry
5
+ exports.TOKEN_PACKAGE = "0xa2ca2763f446b6822880f270aba71c3483291774";
6
+ exports.TOKEN_REGISTRY_BTC = "0xfbe6b865b5ff4bfea92c769aa0a39018100ba75c"; //fake btc registry
7
+ exports.TOKEN_REGISTRY_ETH = "0x6add7187bcaeef019120b5a0ac63c9c6870ce9c2"; //fake eth registry
8
+ exports.TOKEN_REGISTRY_SUI = "0x9ded8015e2ce496cee989b6701e69c73e86436e6"; //fake usdc registry
9
9
  //publish from typus-oracle
10
- exports.ORACLE_PACKAGE = "0xe450380f9abda5ef5a7d8674f36d60caeb5a5b22";
10
+ exports.ORACLE_PACKAGE = "0x7d683916b32c25b0061e65d3c744838cea225fe9";
11
11
  //publish from typus-dov/cover_call
12
- exports.COVERED_CALL_PACKAGE = "0xf98dbb57fde46c6c42fd199404037c9f5cfb6cbd";
13
- exports.COVERED_CALL_REGISTRY = "0x060ef5e7d31e578eece3b69fb7f933ad1f34cbf9";
14
- exports.COVERED_CALL_MANAGER = "0xcee379cd9be9e99baf441039d8d874126615ccdd";
12
+ exports.COVERED_CALL_PACKAGE = "0x56dbf64116e1e70353f4b35e0c708a194d04dbb7";
13
+ exports.COVERED_CALL_REGISTRY = "0x0183b44c412e7713bb928c330bd0cbfb8817ff75";
14
+ exports.COVERED_CALL_MANAGER = "0x2370429bc93b9861b45d542862bbfd0711f4d686";
15
+ exports.USER_SHARE_TABLE = "0x762ad4e903b45f0a5e451874d30bce777a69f0f6";
16
+ exports.MAKER_SHARE_TABLE = "0xd0765bf26da16c2debf6e136c0fcab67f2054ac3";
15
17
  //publish from typus-dov/typus-dov
16
- exports.DOV_PACKAGE = "0xfaadf1d975ed3dec39cbe93a1f44c034966f6747";
18
+ exports.DOV_PACKAGE = "0xa6a4607b52f5a2a6299434c8c3e5040e34c325d7";
17
19
  exports.DEFAULT_TYPE_ARGUMENT = "0x2::sui::SUI";
18
20
  exports.FAKE_TOKEN_TYPE_ARGUMENT = "0x27b3674c685046f66cad1d5496d2967894fa5329::token::USDC";
19
21
  exports.TEST_MNEMONIC = "plug grain matter asthma aware critic can lottery blouse uncover sauce speak";
@@ -39,14 +39,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var getNewCoveredCallVaultTx_1 = require("../../utils/coveredCall/getNewCoveredCallVaultTx");
40
40
  var constants_1 = require("../../constants");
41
41
  (function () { return __awaiter(void 0, void 0, void 0, function () {
42
- var expiration, strike, newCoveredCallVaultTx;
42
+ var expiration, strike, tokenDecimal, shareDecimal, timeOracle, newCoveredCallVaultTx;
43
43
  return __generator(this, function (_a) {
44
44
  switch (_a.label) {
45
45
  case 0:
46
46
  console.log("test for getNewCoveredCallVaultTx()");
47
47
  expiration = 123;
48
48
  strike = 456;
49
- return [4 /*yield*/, (0, getNewCoveredCallVaultTx_1.getNewCoveredCallVaultTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, constants_1.DEFAULT_TYPE_ARGUMENT, constants_1.COVERED_CALL_MANAGER, expiration, strike)];
49
+ tokenDecimal = 9;
50
+ shareDecimal = 4;
51
+ timeOracle = "";
52
+ return [4 /*yield*/, (0, getNewCoveredCallVaultTx_1.getNewCoveredCallVaultTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, constants_1.DEFAULT_TYPE_ARGUMENT, constants_1.COVERED_CALL_MANAGER, tokenDecimal, shareDecimal, timeOracle, expiration, strike)];
50
53
  case 1:
51
54
  newCoveredCallVaultTx = _a.sent();
52
55
  console.log(newCoveredCallVaultTx);
@@ -39,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var getUpdatePayoffConfigTx_1 = require("../../utils/coveredCall/getUpdatePayoffConfigTx");
40
40
  var constants_1 = require("../../constants");
41
41
  (function () { return __awaiter(void 0, void 0, void 0, function () {
42
- var index, price, roi, updatePayoffConfigTx;
42
+ var index, price, roi, exposureRatio, updatePayoffConfigTx;
43
43
  return __generator(this, function (_a) {
44
44
  switch (_a.label) {
45
45
  case 0:
@@ -47,7 +47,8 @@ var constants_1 = require("../../constants");
47
47
  index = 0;
48
48
  price = 4000;
49
49
  roi = 1000;
50
- 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, index, price, roi)];
50
+ exposureRatio = 100000;
51
+ 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, index, price, roi, exposureRatio)];
51
52
  case 1:
52
53
  updatePayoffConfigTx = _a.sent();
53
54
  console.log(updatePayoffConfigTx);
@@ -36,19 +36,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var getCoveredCallVaultAsset_1 = require("../utils/getCoveredCallVaultAsset");
39
+ var constants_1 = require("../constants");
40
+ var getUsersShares_1 = require("../utils/getUsersShares");
40
41
  (function () { return __awaiter(void 0, void 0, void 0, function () {
41
- var testVault, asset;
42
+ var usersShares;
42
43
  return __generator(this, function (_a) {
43
44
  switch (_a.label) {
44
- case 0:
45
- console.log("test for getCoveredCallVaultAsset()");
46
- testVault = "0xbf816f4205de83403f4fd388d608c6552dc2b2de";
47
- return [4 /*yield*/, (0, getCoveredCallVaultAsset_1.getCoveredCallVaultAsset)(testVault)];
45
+ case 0: return [4 /*yield*/, (0, getUsersShares_1.getUsersShares)(constants_1.USER_SHARE_TABLE)];
48
46
  case 1:
49
- asset = _a.sent();
50
- console.log("the asset of the vault:");
51
- console.log(asset);
47
+ usersShares = _a.sent();
48
+ console.log(usersShares);
52
49
  return [2 /*return*/];
53
50
  }
54
51
  });
@@ -37,28 +37,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var constants_1 = require("../constants");
40
- var loadUsersDepositData_1 = require("../utils/loadUsersDepositData");
41
- /*
42
- test sub vault:
43
- 0x1395a87663995fe2040fecf1866a01f9a0270fc2
44
- test table under sub vault:
45
- 0x0fda36c64af91d4f9c946f00c6f13194c37493ab
46
- test linked list node:
47
- 0x933ab335ef83ef247ae43f537f9a76317feb7358
48
- */
40
+ var getVaultData_1 = require("../utils/getVaultData");
49
41
  (function () { return __awaiter(void 0, void 0, void 0, function () {
50
- var userA, usersDepositData;
42
+ var res;
51
43
  return __generator(this, function (_a) {
52
44
  switch (_a.label) {
53
- case 0:
54
- userA = "0x81c962005db9bd02711b00909cd28a707ec0a248";
55
- return [4 /*yield*/, (0, loadUsersDepositData_1.loadUsersDepositData)(constants_1.COVERED_CALL_REGISTRY)];
45
+ case 0: return [4 /*yield*/, (0, getVaultData_1.getVaultDataFromRegistry)(constants_1.COVERED_CALL_REGISTRY)];
56
46
  case 1:
57
- usersDepositData = _a.sent();
58
- // console.log("usersDepositData:")
59
- // console.log(usersDepositData)
60
- console.log("userA data in usersDepositData");
61
- console.log(usersDepositData.get(userA));
47
+ res = _a.sent();
48
+ console.log("vault ");
49
+ console.log(res);
62
50
  return [2 /*return*/];
63
51
  }
64
52
  });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,81 @@
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 getClaimTx_1 = require("../utils/coveredCall/getClaimTx");
40
+ var getClaimAllTx_1 = require("../utils/coveredCall/getClaimAllTx");
41
+ var constants_1 = require("../constants");
42
+ var sui_js_1 = require("@mysten/sui.js");
43
+ var getTypeArgumentFromToken_1 = require("../utils/getTypeArgumentFromToken");
44
+ var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
45
+ var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
46
+ var signer = new sui_js_1.RawSigner(keypair, provider);
47
+ /*
48
+ after claim,
49
+ */
50
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
51
+ var claimAmount, isRolling, token, vaultIndex, typeArgument, claimTx, claimAllTx;
52
+ return __generator(this, function (_a) {
53
+ switch (_a.label) {
54
+ case 0:
55
+ claimAmount = 13;
56
+ isRolling = true;
57
+ token = "0x8f306b0fcbcbdee0b3a5e694c06039dfe8ca7f14" // minted token
58
+ ;
59
+ vaultIndex = 59;
60
+ return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)];
61
+ case 1:
62
+ typeArgument = _a.sent();
63
+ console.log("test for claim, try to claim " + token + " for " + claimAmount + " ...");
64
+ return [4 /*yield*/, (0, getClaimTx_1.getClaimTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, claimAmount, isRolling)];
65
+ case 2:
66
+ claimTx = _a.sent();
67
+ return [4 /*yield*/, signer.executeMoveCall(claimTx)];
68
+ case 3:
69
+ _a.sent();
70
+ console.log("claim successfully");
71
+ return [4 /*yield*/, (0, getClaimAllTx_1.getClaimAllTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, isRolling)];
72
+ case 4:
73
+ claimAllTx = _a.sent();
74
+ return [4 /*yield*/, signer.executeMoveCall(claimAllTx)];
75
+ case 5:
76
+ _a.sent();
77
+ console.log("claim all successfully");
78
+ return [2 /*return*/];
79
+ }
80
+ });
81
+ }); })();
@@ -53,9 +53,9 @@ var signer = new sui_js_1.RawSigner(keypair, provider);
53
53
  return __generator(this, function (_a) {
54
54
  switch (_a.label) {
55
55
  case 0:
56
- depositAmount = 123;
56
+ depositAmount = 10000;
57
57
  isRolling = true;
58
- token = "0x82416a9dacea43afa6570863f1bcd3e55e75448e" // minted token
58
+ token = "0xa14d4429a88bc9a11568e02399be36abb7387ff9" // minted token
59
59
  ;
60
60
  vaultIndex = 0;
61
61
  return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)];
@@ -42,7 +42,7 @@ var sui_js_1 = require("@mysten/sui.js");
42
42
  var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
43
43
  var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
44
44
  var signer = new sui_js_1.RawSigner(keypair, provider);
45
- var mintAmount = 10005;
45
+ var mintAmount = 1000500000;
46
46
  (function () { return __awaiter(void 0, void 0, void 0, function () {
47
47
  var tokenRegistry, moduleName, mintTx, moveCallTxn;
48
48
  return __generator(this, function (_a) {
@@ -35,6 +35,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
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
+ };
38
54
  var __values = (this && this.__values) || function(o) {
39
55
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
56
  if (m) return m.call(o);
@@ -47,88 +63,44 @@ var __values = (this && this.__values) || function(o) {
47
63
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
64
  };
49
65
  Object.defineProperty(exports, "__esModule", { value: true });
50
- var getNewOracleTx_1 = require("../utils/getNewOracleTx");
51
- var getUpdateOracleTx_1 = require("../utils/getUpdateOracleTx");
52
66
  var getNewCoveredCallVaultTx_1 = require("../utils/coveredCall/getNewCoveredCallVaultTx");
67
+ var createTimeOracle_1 = require("../utils/coveredCall/createTimeOracle");
53
68
  var constants_1 = require("../constants");
54
69
  var sui_js_1 = require("@mysten/sui.js");
55
70
  var getTypeArgumentFromToken_1 = require("../utils/getTypeArgumentFromToken");
56
71
  var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
57
72
  var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
58
73
  var signer = new sui_js_1.RawSigner(keypair, provider);
59
- var token = "0x82416a9dacea43afa6570863f1bcd3e55e75448e"; // minted token
60
- var decimal = 8;
74
+ var token = "0x3757c4e587ae5ff40b26a5fd7b96fd7c3afbf7ec"; // minted token
61
75
  var expiration = 1;
62
76
  var strike = 105;
63
- var price = 98;
64
- var unix = 10000000;
77
+ var tokenDecimal = 9;
78
+ var shareDecimal = 4;
65
79
  (function () { return __awaiter(void 0, void 0, void 0, function () {
66
- var typeArgument, newCoveredCallVaultTx, moveCallTxn;
67
- return __generator(this, function (_a) {
68
- switch (_a.label) {
80
+ var typeArgument, _a, timeOracle, _, newCoveredCallVaultTx, moveCallTxn;
81
+ return __generator(this, function (_b) {
82
+ switch (_b.label) {
69
83
  case 0: return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)
70
84
  // let priceOracle: string = await createAndUpdatePriceOracle(typeArgument)
71
85
  ];
72
86
  case 1:
73
- typeArgument = _a.sent();
74
- return [4 /*yield*/, (0, getNewCoveredCallVaultTx_1.getNewCoveredCallVaultTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, constants_1.COVERED_CALL_MANAGER, expiration, strike)];
87
+ typeArgument = _b.sent();
88
+ return [4 /*yield*/, (0, createTimeOracle_1.createTimeOracle)()];
75
89
  case 2:
76
- newCoveredCallVaultTx = _a.sent();
77
- return [4 /*yield*/, signer.executeMoveCall(newCoveredCallVaultTx)];
90
+ _a = __read.apply(void 0, [_b.sent(), 2]), timeOracle = _a[0], _ = _a[1];
91
+ 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, expiration, strike)];
78
92
  case 3:
79
- moveCallTxn = _a.sent();
80
- return [4 /*yield*/, checkData(moveCallTxn)];
93
+ newCoveredCallVaultTx = _b.sent();
94
+ return [4 /*yield*/, signer.executeMoveCall(newCoveredCallVaultTx)];
81
95
  case 4:
82
- _a.sent();
96
+ moveCallTxn = _b.sent();
97
+ return [4 /*yield*/, checkData(moveCallTxn)];
98
+ case 5:
99
+ _b.sent();
83
100
  return [2 /*return*/];
84
101
  }
85
102
  });
86
103
  }); })();
87
- function createAndUpdatePriceOracle(typeArgument) {
88
- return __awaiter(this, void 0, void 0, function () {
89
- var newOracleTx, moveCallTxn, digest, txn, priceOracle, managerCap, updateOracleTx, newOracleObj;
90
- return __generator(this, function (_a) {
91
- switch (_a.label) {
92
- case 0:
93
- console.log("create new oracle...");
94
- return [4 /*yield*/, (0, getNewOracleTx_1.getNewOracleTx)(constants_1.ORACLE_PACKAGE, typeArgument, decimal)];
95
- case 1:
96
- newOracleTx = _a.sent();
97
- return [4 /*yield*/, signer.executeMoveCall(newOracleTx)];
98
- case 2:
99
- moveCallTxn = _a.sent();
100
- digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
101
- return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
102
- case 3:
103
- txn = _a.sent();
104
- if (txn.effects.created[0].owner["AddressOwner"] == undefined) {
105
- priceOracle = txn.effects.created[0].reference.objectId;
106
- managerCap = txn.effects.created[1].reference.objectId;
107
- }
108
- else {
109
- priceOracle = txn.effects.created[1].reference.objectId;
110
- managerCap = txn.effects.created[0].reference.objectId;
111
- }
112
- console.log("priceOracle: " + priceOracle);
113
- console.log("managerCap of priceOracle: " + managerCap);
114
- console.log("update oracle...");
115
- return [4 /*yield*/, (0, getUpdateOracleTx_1.getUpdateOracleTx)(constants_1.ORACLE_PACKAGE, typeArgument, priceOracle, managerCap, price, unix)];
116
- case 4:
117
- updateOracleTx = _a.sent();
118
- return [4 /*yield*/, signer.executeMoveCall(updateOracleTx)];
119
- case 5:
120
- _a.sent();
121
- return [4 /*yield*/, provider.getObject(priceOracle)];
122
- case 6:
123
- newOracleObj = _a.sent();
124
- console.log("updated oracle data:");
125
- //@ts-ignore
126
- console.log(newOracleObj.details.data.fields);
127
- return [2 /*return*/, priceOracle];
128
- }
129
- });
130
- });
131
- }
132
104
  function checkData(moveCallTxn) {
133
105
  return __awaiter(this, void 0, void 0, function () {
134
106
  var txn, _a, _b, obj, e_1;