@typus/typus-sdk 0.1.3 → 0.1.4

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 (67) hide show
  1. package/lib/constants.d.ts +9 -9
  2. package/lib/constants.js +15 -11
  3. package/lib/scripts/coveredCall/{getCoveredCallDepositTx.d.ts → getDeliveryTx.d.ts} +0 -0
  4. package/lib/scripts/coveredCall/{getCoveredCallUnsubscribeTx.js → getDeliveryTx.js} +6 -6
  5. package/lib/scripts/{getDepositTx.d.ts → coveredCall/getDepositTx.d.ts} +0 -0
  6. package/lib/scripts/{getDepositTx.js → coveredCall/getDepositTx.js} +7 -8
  7. package/lib/scripts/coveredCall/{getCoveredCallUnsubscribeTx.d.ts → getNewAuctionTx.d.ts} +0 -0
  8. package/lib/scripts/{getNewSharkFinVaultTx.js → coveredCall/getNewAuctionTx.js} +13 -11
  9. package/lib/scripts/{getNewSharkFinVaultTx.d.ts → coveredCall/getNewAuctionWithNextCoveredCallVaultTx.d.ts} +0 -0
  10. package/lib/scripts/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.js +65 -0
  11. package/lib/scripts/coveredCall/getNewBidTx.d.ts +1 -0
  12. package/lib/scripts/coveredCall/getNewBidTx.js +59 -0
  13. package/lib/scripts/coveredCall/getNewCoveredCallVaultTx.js +4 -2
  14. package/lib/scripts/coveredCall/getRemoveBidTx.d.ts +1 -0
  15. package/lib/scripts/coveredCall/getRemoveBidTx.js +56 -0
  16. package/lib/scripts/coveredCall/getSubscribeTx.d.ts +1 -0
  17. package/lib/scripts/coveredCall/getSubscribeTx.js +55 -0
  18. package/lib/scripts/coveredCall/getUnsubscribeTx.d.ts +1 -0
  19. package/lib/scripts/coveredCall/getUnsubscribeTx.js +55 -0
  20. package/lib/scripts/coveredCall/getWithdrawTx.d.ts +1 -0
  21. package/lib/scripts/coveredCall/{getCoveredCallDepositTx.js → getWithdrawTx.js} +6 -7
  22. package/lib/scripts/getNewOracleTx.js +3 -3
  23. package/lib/scripts/getUpdateOracleTx.js +1 -1
  24. package/lib/test/testCrypto.d.ts +1 -0
  25. package/lib/test/testCrypto.js +54 -0
  26. package/lib/test/testDeposit.js +16 -43
  27. package/lib/test/testDepositV2.d.ts +0 -1
  28. package/lib/test/testDepositV2.js +61 -168
  29. package/lib/test/testMint.js +70 -30
  30. package/lib/test/testNewVault.d.ts +1 -0
  31. package/lib/test/testNewVault.js +171 -0
  32. package/lib/test/testOracle.js +4 -3
  33. package/lib/test/testSubscribeEvent.d.ts +1 -0
  34. package/lib/test/testSubscribeEvent.js +97 -0
  35. package/lib/test/testUnsubscribe.d.ts +1 -0
  36. package/lib/test/testUnsubscribe.js +86 -0
  37. package/lib/utils/auction/sealedAuction.d.ts +33 -0
  38. package/lib/utils/auction/sealedAuction.js +64 -0
  39. package/lib/utils/coveredCall/getDeliveryTx.d.ts +1 -0
  40. package/lib/utils/coveredCall/{getCoveredCallDepositTx.js → getDeliveryTx.js} +5 -10
  41. package/lib/utils/{getDepositTx.d.ts → coveredCall/getDepositTx.d.ts} +0 -0
  42. package/lib/utils/{getDepositTx.js → coveredCall/getDepositTx.js} +3 -3
  43. package/lib/utils/coveredCall/getNewAuctionTx.d.ts +1 -0
  44. package/lib/utils/{getNewSharkFinVaultTx.js → coveredCall/getNewAuctionTx.js} +15 -13
  45. package/lib/utils/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.d.ts +1 -0
  46. package/lib/utils/coveredCall/getNewAuctionWithNextCoveredCallVaultTx.js +69 -0
  47. package/lib/utils/coveredCall/getNewBidTx.d.ts +1 -0
  48. package/lib/utils/coveredCall/getNewBidTx.js +62 -0
  49. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.d.ts +1 -1
  50. package/lib/utils/coveredCall/getNewCoveredCallVaultTx.js +3 -2
  51. package/lib/utils/coveredCall/getRemoveBidTx.d.ts +1 -0
  52. package/lib/utils/coveredCall/getRemoveBidTx.js +60 -0
  53. package/lib/utils/coveredCall/getSubscribeTx.d.ts +1 -0
  54. package/lib/utils/coveredCall/getSubscribeTx.js +59 -0
  55. package/lib/utils/coveredCall/getUnsubscribeTx.d.ts +1 -0
  56. package/lib/utils/coveredCall/{getCoveredCallUnsubscribeTx.js → getUnsubscribeTx.js} +3 -3
  57. package/lib/utils/coveredCall/getWithdrawTx.d.ts +1 -0
  58. package/lib/utils/coveredCall/getWithdrawTx.js +61 -0
  59. package/lib/utils/getNewOracleTx.d.ts +1 -1
  60. package/lib/utils/getNewOracleTx.js +2 -2
  61. package/lib/utils/getSubVault.js +1 -1
  62. package/lib/utils/getTypeArgumentFromToken.d.ts +1 -0
  63. package/lib/utils/getTypeArgumentFromToken.js +67 -0
  64. package/package.json +6 -2
  65. package/lib/utils/coveredCall/getCoveredCallDepositTx.d.ts +0 -1
  66. package/lib/utils/coveredCall/getCoveredCallUnsubscribeTx.d.ts +0 -1
  67. package/lib/utils/getNewSharkFinVaultTx.d.ts +0 -1
@@ -36,66 +36,39 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var getNewSharkFinVaultTx_1 = require("../utils/getNewSharkFinVaultTx");
40
- var getDepositTx_1 = require("../utils/getDepositTx");
39
+ var getDepositTx_1 = require("../utils/coveredCall/getDepositTx");
41
40
  var constants_1 = require("../constants");
42
41
  var sui_js_1 = require("@mysten/sui.js");
42
+ var getTypeArgumentFromToken_1 = require("../utils/getTypeArgumentFromToken");
43
43
  var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
44
44
  var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
45
45
  var signer = new sui_js_1.RawSigner(keypair, provider);
46
46
  /*
47
- after deposit, token object balance will decrease, and new vault "deposit" in fields will increase
47
+ after deposit, token object (minted token) balance will decrease,
48
+ and subVault "balance" in fields will increase,
49
+ and a new rolling linked list node will be created if not exist, and the value will increase the same value
48
50
  */
49
51
  (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;
52
+ var depositAmount, isRolling, token, vaultIndex, typeArgument, depositTx;
51
53
  return __generator(this, function (_a) {
52
54
  switch (_a.label) {
53
55
  case 0:
54
56
  depositAmount = 123;
55
- typeArgument = "0x27b3674c685046f66cad1d5496d2967894fa5329::token::USDC" //0x27b3674c685046f66cad1d5496d2967894fa5329:TOKEN_PACKAGE
56
- ;
57
- expiration = 1671344789;
58
- bullish = true;
59
- lowBarrierPrice = 1;
60
- highBarrierPrice = 10;
61
57
  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
- ];
58
+ token = "0xaa8f8ccf372b461e5b8778b250bf13d9b1013174" // minted token
59
+ ;
60
+ vaultIndex = 3;
61
+ return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)];
67
62
  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)];
63
+ typeArgument = _a.sent();
64
+ console.log("test for deposit, try to deposit " + token + " for " + depositAmount + " ...");
65
+ return [4 /*yield*/, (0, getDepositTx_1.getDepositTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, vaultIndex, isRolling, token, depositAmount)];
72
66
  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
67
  depositTx = _a.sent();
95
68
  return [4 /*yield*/, signer.executeMoveCall(depositTx)];
96
- case 7:
97
- moveCallTxn = _a.sent();
98
- console.log("deposit to new vault successfully");
69
+ case 3:
70
+ _a.sent();
71
+ console.log("deposit to vault successfully");
99
72
  return [2 /*return*/];
100
73
  }
101
74
  });
@@ -1 +0,0 @@
1
- export {};
@@ -1,169 +1,62 @@
1
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
- }); });
2
+ // import { getNewSharkFinVaultTx } from "../utils/getNewSharkFinVaultTx"
3
+ // import { getDepositTx } from "../utils/coveredCall/getDepositTx"
4
+ // import { SHARKFIN_PACKAGE, SHARKFIN_REGISTRY, TEST_MNEMONIC, TOKEN_REGISTRY } from "../constants"
5
+ // import { JsonRpcProvider, Ed25519Keypair, RawSigner, Network } from '@mysten/sui.js';
6
+ // import { expect } from 'chai';
7
+ // import * as assert from "assert";
8
+ // const provider = new JsonRpcProvider(Network.DEVNET);//for read only operations
9
+ // const keypair = Ed25519Keypair.deriveKeypair(TEST_MNEMONIC);
10
+ // const signer = new RawSigner(keypair, provider);
11
+ // /*
12
+ // after deposit, token object balance will decrease, and new vault "deposit" in fields will increase
13
+ // */
14
+ // describe('deposit', async () => {
15
+ // //init
16
+ // let depositAmount = 123;
17
+ // let typeArgument = "0x27b3674c685046f66cad1d5496d2967894fa5329::token::USDC" //0x27b3674c685046f66cad1d5496d2967894fa5329:TOKEN_PACKAGE
18
+ // let expiration = 1671344789
19
+ // let bullish = true
20
+ // let lowBarrierPrice = 1
21
+ // let highBarrierPrice = 10
22
+ // let isRolling = true;
23
+ // let token = "0xdb85a3efc1706010fa9530ef3b8a8a5cf4b290b7"
24
+ // console.log("test for deposit, try to deposit " + token + " for " + depositAmount + " ...")
25
+ // it('Check registry', async () => {
26
+ // try {
27
+ // await provider.getObject(SHARKFIN_REGISTRY)
28
+ // assert.ok("Get registry successfully");
29
+ // } catch (e) {
30
+ // assert.fail("Wrong registry")
31
+ // }
32
+ // })
33
+ // it('Create new vault in registry', async () => {
34
+ // try {
35
+ // let newSharkFinVaultTx: any = await getNewSharkFinVaultTx(SHARKFIN_PACKAGE, SHARKFIN_REGISTRY, typeArgument, expiration, bullish, lowBarrierPrice, highBarrierPrice);
36
+ // let moveCallTxn = await signer.executeMoveCall(newSharkFinVaultTx);
37
+ // console.log(moveCallTxn)
38
+ // assert.ok("Create new vault in registry successfully");
39
+ // } catch (e) {
40
+ // assert.fail("Can't create new vault in registry")
41
+ // }
42
+ // })
43
+ // it('Check vault number after create new vault', async () => {
44
+ // try {
45
+ // let registry = await provider.getObject(SHARKFIN_REGISTRY)
46
+ // //@ts-ignore
47
+ // let numOfVaultBeforeCreateVault = registry.details.data.fields.num_of_vault
48
+ // // console.log("numOfVaultBeforeCreateVault: " + numOfVaultBeforeCreateVault)
49
+ // let newSharkFinVaultTx: any = await getNewSharkFinVaultTx(SHARKFIN_PACKAGE, SHARKFIN_REGISTRY, typeArgument, expiration, bullish, lowBarrierPrice, highBarrierPrice);
50
+ // await signer.executeMoveCall(newSharkFinVaultTx);
51
+ // registry = await provider.getObject(SHARKFIN_REGISTRY)
52
+ // //@ts-ignore
53
+ // let numOfVaultAfterCreateVault = registry.details.data.fields.num_of_vault
54
+ // // console.log("numOfVaultAfterCreateVault: " + numOfVaultAfterCreateVault)
55
+ // assert.ok(numOfVaultAfterCreateVault == numOfVaultBeforeCreateVault + 1, "wrong vault number");
56
+ // } catch (e) {
57
+ // assert.fail("Error in check vault number after create new vault")
58
+ // }
59
+ // })
60
+ // it('Deposit to new vault', async () => {
61
+ // })
62
+ // })
@@ -44,47 +44,87 @@ var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
44
44
  var signer = new sui_js_1.RawSigner(keypair, provider);
45
45
  var mintAmount = 10005;
46
46
  (function () { return __awaiter(void 0, void 0, void 0, function () {
47
- var obj, type, tokenName, moudleName, mintTx, moveCallTxn, digest, txn, tokenObjectId, tokenObj, newTokenId;
47
+ var moudleName, mintTx, moveCallTxn;
48
48
  return __generator(this, function (_a) {
49
49
  switch (_a.label) {
50
- case 0:
51
- console.log("test for mint, try to mint " + mintAmount + " ...");
52
- return [4 /*yield*/, provider.getObject(constants_1.TOKEN_REGISTRY)];
50
+ case 0: return [4 /*yield*/, prepareData()];
53
51
  case 1:
54
- obj = _a.sent();
55
- type = obj.details.data.fields.supply.type;
56
- tokenName = constants_1.TOKEN_NAME.find(function (e) { return type.includes(e); });
57
- if (!tokenName) {
58
- console.log("can't find token in type: " + type);
59
- return [2 /*return*/];
60
- }
61
- moudleName = constants_1.TOKEN_NAME_TO_MODULE[tokenName];
62
- //@ts-ignore
63
- console.log("Before: total mint fake " + tokenName + " token in the registry: " + obj.details.data.fields.supply.fields.value);
52
+ moudleName = _a.sent();
64
53
  return [4 /*yield*/, (0, getMintTx_1.getMintTx)(constants_1.TOKEN_PACKAGE, constants_1.TOKEN_REGISTRY, moudleName, mintAmount)];
65
54
  case 2:
66
55
  mintTx = _a.sent();
67
56
  return [4 /*yield*/, signer.executeMoveCall(mintTx)];
68
57
  case 3:
69
58
  moveCallTxn = _a.sent();
70
- digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
71
- return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
59
+ return [4 /*yield*/, checkData(moveCallTxn)];
72
60
  case 4:
73
- txn = _a.sent();
74
- tokenObjectId = txn.effects.created[0].reference.objectId;
75
- return [4 /*yield*/, provider.getObject(tokenObjectId)
76
- //@ts-ignore
77
- ];
78
- case 5:
79
- tokenObj = _a.sent();
80
- newTokenId = tokenObj.details.data.fields.id.id;
81
- console.log("newTokenId: " + newTokenId);
82
- return [4 /*yield*/, provider.getObject(constants_1.TOKEN_REGISTRY)];
83
- case 6:
84
- obj = _a.sent();
85
- //@ts-ignore
86
- console.log("After: total mint fake " + tokenName + " token in the registry: " + obj.details.data.fields.supply.fields.value);
61
+ _a.sent();
87
62
  return [2 /*return*/];
88
63
  }
89
64
  });
90
65
  }); })();
66
+ function prepareData() {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ var obj, type_1, tokenName, moudleName, e_1;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ _a.trys.push([0, 2, , 3]);
73
+ console.log("test for mint, try to mint " + mintAmount + " ...");
74
+ return [4 /*yield*/, provider.getObject(constants_1.TOKEN_REGISTRY)];
75
+ case 1:
76
+ obj = _a.sent();
77
+ type_1 = obj.details.data.fields.treasury_cap.fields.total_supply.type;
78
+ console.log("type arugment : " + type_1);
79
+ tokenName = constants_1.TOKEN_NAME.find(function (e) { return type_1.includes(e); });
80
+ if (!tokenName) {
81
+ console.log("can't find token in type: " + type_1);
82
+ return [2 /*return*/];
83
+ }
84
+ moudleName = constants_1.TOKEN_NAME_TO_MODULE[tokenName];
85
+ //@ts-ignore
86
+ console.log("Before: total mint fake " + tokenName + " token in the registry: " + obj.details.data.fields.treasury_cap.fields.total_supply.fields.value);
87
+ return [2 /*return*/, moudleName];
88
+ case 2:
89
+ e_1 = _a.sent();
90
+ console.error(e_1);
91
+ return [3 /*break*/, 3];
92
+ case 3: return [2 /*return*/];
93
+ }
94
+ });
95
+ });
96
+ }
97
+ function checkData(moveCallTxn) {
98
+ return __awaiter(this, void 0, void 0, function () {
99
+ var digest, txn, tokenObjectId, tokenObj, newTokenId, obj, e_2;
100
+ return __generator(this, function (_a) {
101
+ switch (_a.label) {
102
+ case 0:
103
+ _a.trys.push([0, 4, , 5]);
104
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
105
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
106
+ case 1:
107
+ txn = _a.sent();
108
+ tokenObjectId = txn.effects.created[0].reference.objectId;
109
+ return [4 /*yield*/, provider.getObject(tokenObjectId)
110
+ //@ts-ignore
111
+ ];
112
+ case 2:
113
+ tokenObj = _a.sent();
114
+ newTokenId = tokenObj.details.data.fields.id.id;
115
+ console.log("newTokenId: " + newTokenId);
116
+ return [4 /*yield*/, provider.getObject(constants_1.TOKEN_REGISTRY)];
117
+ case 3:
118
+ obj = _a.sent();
119
+ //@ts-ignore
120
+ console.log("After: total mint in the registry: " + obj.details.data.fields.treasury_cap.fields.total_supply.fields.value);
121
+ return [3 /*break*/, 5];
122
+ case 4:
123
+ e_2 = _a.sent();
124
+ console.error(e_2);
125
+ return [3 /*break*/, 5];
126
+ case 5: return [2 /*return*/];
127
+ }
128
+ });
129
+ });
130
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,171 @@
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 __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ var getNewOracleTx_1 = require("../utils/getNewOracleTx");
51
+ var getUpdateOracleTx_1 = require("../utils/getUpdateOracleTx");
52
+ var getNewCoveredCallVaultTx_1 = require("../utils/coveredCall/getNewCoveredCallVaultTx");
53
+ var constants_1 = require("../constants");
54
+ var sui_js_1 = require("@mysten/sui.js");
55
+ var getTypeArgumentFromToken_1 = require("../utils/getTypeArgumentFromToken");
56
+ var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
57
+ var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
58
+ var signer = new sui_js_1.RawSigner(keypair, provider);
59
+ var token = "0xaa8f8ccf372b461e5b8778b250bf13d9b1013174"; // minted token
60
+ var decimal = 8;
61
+ var expiration = 1;
62
+ var assetName = "BTC"; //TODO: it will show BTC base64 string in obj fields(for example, BTC will turn into "QlRD")
63
+ var strike = 105;
64
+ var price = 98;
65
+ var unix = 10000000;
66
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
67
+ var typeArgument, priceOracle, newCoveredCallVaultTx, moveCallTxn;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0: return [4 /*yield*/, (0, getTypeArgumentFromToken_1.getTypeArgumentFromToken)(token)];
71
+ case 1:
72
+ typeArgument = _a.sent();
73
+ return [4 /*yield*/, createAndUpdatePriceOracle(typeArgument)];
74
+ case 2:
75
+ priceOracle = _a.sent();
76
+ return [4 /*yield*/, (0, getNewCoveredCallVaultTx_1.getNewCoveredCallVaultTx)(constants_1.COVERED_CALL_PACKAGE, constants_1.COVERED_CALL_REGISTRY, typeArgument, constants_1.COVERED_CALL_MANAGER, expiration, assetName, strike, priceOracle)];
77
+ case 3:
78
+ newCoveredCallVaultTx = _a.sent();
79
+ return [4 /*yield*/, signer.executeMoveCall(newCoveredCallVaultTx)];
80
+ case 4:
81
+ moveCallTxn = _a.sent();
82
+ return [4 /*yield*/, checkData(moveCallTxn)];
83
+ case 5:
84
+ _a.sent();
85
+ return [2 /*return*/];
86
+ }
87
+ });
88
+ }); })();
89
+ function createAndUpdatePriceOracle(typeArgument) {
90
+ return __awaiter(this, void 0, void 0, function () {
91
+ var newOracleTx, moveCallTxn, digest, txn, priceOracle, managerCap, updateOracleTx, newOracleObj;
92
+ return __generator(this, function (_a) {
93
+ switch (_a.label) {
94
+ case 0:
95
+ console.log("create new oracle...");
96
+ return [4 /*yield*/, (0, getNewOracleTx_1.getNewOracleTx)(constants_1.ORACLE_PACKAGE, typeArgument, decimal)];
97
+ case 1:
98
+ newOracleTx = _a.sent();
99
+ return [4 /*yield*/, signer.executeMoveCall(newOracleTx)];
100
+ case 2:
101
+ moveCallTxn = _a.sent();
102
+ digest = moveCallTxn.EffectsCert.certificate.transactionDigest;
103
+ return [4 /*yield*/, provider.getTransactionWithEffects(digest)];
104
+ case 3:
105
+ txn = _a.sent();
106
+ if (txn.effects.created[0].owner["AddressOwner"] == undefined) {
107
+ priceOracle = txn.effects.created[0].reference.objectId;
108
+ managerCap = txn.effects.created[1].reference.objectId;
109
+ }
110
+ else {
111
+ priceOracle = txn.effects.created[1].reference.objectId;
112
+ managerCap = txn.effects.created[0].reference.objectId;
113
+ }
114
+ console.log("priceOracle: " + priceOracle);
115
+ console.log("managerCap of priceOracle: " + managerCap);
116
+ console.log("update oracle...");
117
+ return [4 /*yield*/, (0, getUpdateOracleTx_1.getUpdateOracleTx)(constants_1.ORACLE_PACKAGE, typeArgument, priceOracle, managerCap, price, unix)];
118
+ case 4:
119
+ updateOracleTx = _a.sent();
120
+ return [4 /*yield*/, signer.executeMoveCall(updateOracleTx)];
121
+ case 5:
122
+ _a.sent();
123
+ return [4 /*yield*/, provider.getObject(priceOracle)];
124
+ case 6:
125
+ newOracleObj = _a.sent();
126
+ console.log("updated oracle data:");
127
+ //@ts-ignore
128
+ console.log(newOracleObj.details.data.fields);
129
+ return [2 /*return*/, priceOracle];
130
+ }
131
+ });
132
+ });
133
+ }
134
+ function checkData(moveCallTxn) {
135
+ return __awaiter(this, void 0, void 0, function () {
136
+ var txn, _a, _b, obj, e_1;
137
+ var e_2, _c;
138
+ return __generator(this, function (_d) {
139
+ switch (_d.label) {
140
+ case 0:
141
+ _d.trys.push([0, 2, , 3]);
142
+ return [4 /*yield*/, provider.getTransactionWithEffects(
143
+ //@ts-ignore
144
+ moveCallTxn.EffectsCert.certificate.transactionDigest)];
145
+ case 1:
146
+ txn = _d.sent();
147
+ try {
148
+ for (_a = __values(txn.effects.created), _b = _a.next(); !_b.done; _b = _a.next()) {
149
+ obj = _b.value;
150
+ //@ts-ignore
151
+ if (obj.owner.ObjectOwner == constants_1.COVERED_CALL_REGISTRY)
152
+ console.log("new covered call vault: " + obj.reference.objectId);
153
+ }
154
+ }
155
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
156
+ finally {
157
+ try {
158
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
159
+ }
160
+ finally { if (e_2) throw e_2.error; }
161
+ }
162
+ return [3 /*break*/, 3];
163
+ case 2:
164
+ e_1 = _d.sent();
165
+ console.error(e_1);
166
+ return [3 /*break*/, 3];
167
+ case 3: return [2 /*return*/];
168
+ }
169
+ });
170
+ });
171
+ }
@@ -44,14 +44,15 @@ var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read
44
44
  var keypair = sui_js_1.Ed25519Keypair.deriveKeypair(constants_1.TEST_MNEMONIC);
45
45
  var signer = new sui_js_1.RawSigner(keypair, provider);
46
46
  (function () { return __awaiter(void 0, void 0, void 0, function () {
47
- var price, unix, newOracleTx, moveCallTxn, digest, txn, newOracle, managerCap, updateOracleTx, newOracleObj;
47
+ var price, unix, decimal, newOracleTx, moveCallTxn, digest, txn, newOracle, managerCap, updateOracleTx, newOracleObj;
48
48
  return __generator(this, function (_a) {
49
49
  switch (_a.label) {
50
50
  case 0:
51
51
  price = 1234;
52
52
  unix = 5678;
53
+ decimal = 8;
53
54
  console.log("create new oracle...");
54
- return [4 /*yield*/, (0, getNewOracleTx_1.getNewOracleTx)(constants_1.DOV_PACKAGE, constants_1.DEFAULT_TYPE_ARGUMENT)];
55
+ return [4 /*yield*/, (0, getNewOracleTx_1.getNewOracleTx)(constants_1.ORACLE_PACKAGE, constants_1.DEFAULT_TYPE_ARGUMENT, decimal)];
55
56
  case 1:
56
57
  newOracleTx = _a.sent();
57
58
  return [4 /*yield*/, signer.executeMoveCall(newOracleTx)];
@@ -66,7 +67,7 @@ var signer = new sui_js_1.RawSigner(keypair, provider);
66
67
  managerCap = txn.effects.created[1].reference.objectId;
67
68
  console.log("managerCap: " + managerCap);
68
69
  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
+ return [4 /*yield*/, (0, getUpdateOracleTx_1.getUpdateOracleTx)(constants_1.ORACLE_PACKAGE, constants_1.DEFAULT_TYPE_ARGUMENT, newOracle, managerCap, price, unix)];
70
71
  case 4:
71
72
  updateOracleTx = _a.sent();
72
73
  return [4 /*yield*/, signer.executeMoveCall(updateOracleTx)];