@typus/typus-sdk 0.1.4 → 0.1.5

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.
@@ -1,5 +1,5 @@
1
- export declare const TOKEN_PACKAGE = "0xd73d20a3ca73054ef56af95754698af0f587f90d";
2
- export declare const TOKEN_REGISTRY = "0x882541280791e5c2a2eb386d1f36be220461d471";
1
+ export declare const TOKEN_PACKAGE = "0x0a7a15d173690ac676b03eb8285a615a8982cb27";
2
+ export declare const TOKEN_REGISTRY = "0x25c417ee04e789911fdd4b6edabbeb4320fe7eea";
3
3
  export declare const ORACLE_PACKAGE = "0xe85eabdada216e470344b2e70cdc8155a4007a2a";
4
4
  export declare const COVERED_CALL_PACKAGE = "0xc33f18cc20a5c17c41ef9e054e1b37f60d804d9c";
5
5
  export declare const COVERED_CALL_REGISTRY = "0x6c17473d6b1252db26278ec5818ef3bfdca75c89";
@@ -12,7 +12,5 @@ export declare const TOKEN_NAME: string[];
12
12
  export declare const TOKEN_NAME_TO_MODULE: {
13
13
  BTC: string;
14
14
  ETH: string;
15
- SUI: string;
16
15
  USDC: string;
17
- USDT: string;
18
16
  };
package/lib/constants.js CHANGED
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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 = exports.TOKEN_PACKAGE = void 0;
4
4
  //publish from sui-dev-token
5
- exports.TOKEN_PACKAGE = "0xd73d20a3ca73054ef56af95754698af0f587f90d";
6
- exports.TOKEN_REGISTRY = "0x882541280791e5c2a2eb386d1f36be220461d471"; //fake btc registry
5
+ exports.TOKEN_PACKAGE = "0x0a7a15d173690ac676b03eb8285a615a8982cb27";
6
+ exports.TOKEN_REGISTRY = "0x25c417ee04e789911fdd4b6edabbeb4320fe7eea"; //fake btc registry
7
7
  //publish from typus-oracle
8
8
  exports.ORACLE_PACKAGE = "0xe85eabdada216e470344b2e70cdc8155a4007a2a";
9
9
  //publish from typus-dov/cover_call
@@ -18,8 +18,8 @@ exports.TEST_MNEMONIC = "plug grain matter asthma aware critic can lottery blous
18
18
  exports.TOKEN_NAME = ["BTC", "ETH", "SUI", "USDC", "USDT"];
19
19
  exports.TOKEN_NAME_TO_MODULE = {
20
20
  "BTC": "btc",
21
- "ETH": "token_eth",
22
- "SUI": "token_sui",
23
- "USDC": "token_usdc",
24
- "USDT": "token_usdt",
21
+ "ETH": "eth",
22
+ // "SUI": "token_sui",
23
+ "USDC": "usdc",
24
+ // "USDT": "token_usdt",
25
25
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,172 @@
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 constants_1 = require("../constants");
51
+ var fetchData_1 = require("../utils/fetchData");
52
+ /*
53
+ test sub vault:
54
+ 0x1395a87663995fe2040fecf1866a01f9a0270fc2
55
+ test table under sub vault:
56
+ 0x0fda36c64af91d4f9c946f00c6f13194c37493ab
57
+ test linked list node:
58
+ 0x933ab335ef83ef247ae43f537f9a76317feb7358
59
+ */
60
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
61
+ var user, coveredCallVaults, coveredCallVaults_1, coveredCallVaults_1_1, coveredCallVault, tableUnderCoveredCallVault, subVaults, _a, _b, _i, e, tableUnderSubVault, linkedListNodes, linkedListNodes_1, linkedListNodes_1_1, linkedListNode, usersData, usersData_1, usersData_1_1, userData, e_1_1, e_2_1;
62
+ var e_2, _c, e_1, _d, e_3, _e;
63
+ return __generator(this, function (_f) {
64
+ switch (_f.label) {
65
+ case 0:
66
+ user = "0x81c962005db9bd02711b00909cd28a707ec0a248";
67
+ //from registry find covered call vaults
68
+ console.log("registry: " + constants_1.COVERED_CALL_REGISTRY);
69
+ return [4 /*yield*/, (0, fetchData_1.getCoveredCallVaultsFromRegistry)(user)];
70
+ case 1:
71
+ coveredCallVaults = _f.sent();
72
+ _f.label = 2;
73
+ case 2:
74
+ _f.trys.push([2, 20, 21, 22]);
75
+ coveredCallVaults_1 = __values(coveredCallVaults), coveredCallVaults_1_1 = coveredCallVaults_1.next();
76
+ _f.label = 3;
77
+ case 3:
78
+ if (!!coveredCallVaults_1_1.done) return [3 /*break*/, 19];
79
+ coveredCallVault = coveredCallVaults_1_1.value;
80
+ return [4 /*yield*/, (0, fetchData_1.getTableFromCoveredCallVault)(coveredCallVault)
81
+ //from table find sub vault
82
+ ];
83
+ case 4:
84
+ tableUnderCoveredCallVault = _f.sent();
85
+ return [4 /*yield*/, (0, fetchData_1.getSubVaultsFromTable)(tableUnderCoveredCallVault)
86
+ //from sub vault find table
87
+ ];
88
+ case 5:
89
+ subVaults = _f.sent();
90
+ _a = [];
91
+ for (_b in subVaults)
92
+ _a.push(_b);
93
+ _i = 0;
94
+ _f.label = 6;
95
+ case 6:
96
+ if (!(_i < _a.length)) return [3 /*break*/, 17];
97
+ e = _a[_i];
98
+ return [4 /*yield*/, (0, fetchData_1.getTableUnderSubVault)(subVaults[e])
99
+ //from table find linked list node
100
+ ];
101
+ case 7:
102
+ tableUnderSubVault = _f.sent();
103
+ return [4 /*yield*/, (0, fetchData_1.getLinkedListNodesFromTable)(tableUnderSubVault)
104
+ //from linkedListNode find user data
105
+ ];
106
+ case 8:
107
+ linkedListNodes = _f.sent();
108
+ _f.label = 9;
109
+ case 9:
110
+ _f.trys.push([9, 14, 15, 16]);
111
+ linkedListNodes_1 = (e_1 = void 0, __values(linkedListNodes)), linkedListNodes_1_1 = linkedListNodes_1.next();
112
+ _f.label = 10;
113
+ case 10:
114
+ if (!!linkedListNodes_1_1.done) return [3 /*break*/, 13];
115
+ linkedListNode = linkedListNodes_1_1.value;
116
+ return [4 /*yield*/, (0, fetchData_1.getUserDataFromLinkedListNode)(linkedListNode)
117
+ //TODO: from user data to match specific user
118
+ ];
119
+ case 11:
120
+ usersData = _f.sent();
121
+ try {
122
+ //TODO: from user data to match specific user
123
+ for (usersData_1 = (e_3 = void 0, __values(usersData)), usersData_1_1 = usersData_1.next(); !usersData_1_1.done; usersData_1_1 = usersData_1.next()) {
124
+ userData = usersData_1_1.value;
125
+ }
126
+ }
127
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
128
+ finally {
129
+ try {
130
+ if (usersData_1_1 && !usersData_1_1.done && (_e = usersData_1.return)) _e.call(usersData_1);
131
+ }
132
+ finally { if (e_3) throw e_3.error; }
133
+ }
134
+ _f.label = 12;
135
+ case 12:
136
+ linkedListNodes_1_1 = linkedListNodes_1.next();
137
+ return [3 /*break*/, 10];
138
+ case 13: return [3 /*break*/, 16];
139
+ case 14:
140
+ e_1_1 = _f.sent();
141
+ e_1 = { error: e_1_1 };
142
+ return [3 /*break*/, 16];
143
+ case 15:
144
+ try {
145
+ if (linkedListNodes_1_1 && !linkedListNodes_1_1.done && (_d = linkedListNodes_1.return)) _d.call(linkedListNodes_1);
146
+ }
147
+ finally { if (e_1) throw e_1.error; }
148
+ return [7 /*endfinally*/];
149
+ case 16:
150
+ _i++;
151
+ return [3 /*break*/, 6];
152
+ case 17:
153
+ console.log("------------------------------------------------");
154
+ _f.label = 18;
155
+ case 18:
156
+ coveredCallVaults_1_1 = coveredCallVaults_1.next();
157
+ return [3 /*break*/, 3];
158
+ case 19: return [3 /*break*/, 22];
159
+ case 20:
160
+ e_2_1 = _f.sent();
161
+ e_2 = { error: e_2_1 };
162
+ return [3 /*break*/, 22];
163
+ case 21:
164
+ try {
165
+ if (coveredCallVaults_1_1 && !coveredCallVaults_1_1.done && (_c = coveredCallVaults_1.return)) _c.call(coveredCallVaults_1);
166
+ }
167
+ finally { if (e_2) throw e_2.error; }
168
+ return [7 /*endfinally*/];
169
+ case 22: return [2 /*return*/];
170
+ }
171
+ });
172
+ }); })();
@@ -0,0 +1,11 @@
1
+ export interface subVaults {
2
+ rolling: string;
3
+ maker: string;
4
+ regular: string;
5
+ }
6
+ export declare function getCoveredCallVaultsFromRegistry(registry: string): Promise<any>;
7
+ export declare function getTableFromCoveredCallVault(coveredCallVault: any): Promise<any>;
8
+ export declare function getSubVaultsFromTable(tableUnderCoveredCallVault: string): Promise<subVaults>;
9
+ export declare function getTableUnderSubVault(subVault: string): Promise<any>;
10
+ export declare function getLinkedListNodesFromTable(table: string): Promise<any[]>;
11
+ export declare function getUserDataFromLinkedListNode(linkedListNode: any): Promise<any[]>;
@@ -0,0 +1,191 @@
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
+ exports.getUserDataFromLinkedListNode = exports.getLinkedListNodesFromTable = exports.getTableUnderSubVault = exports.getSubVaultsFromTable = exports.getTableFromCoveredCallVault = exports.getCoveredCallVaultsFromRegistry = void 0;
51
+ var sui_js_1 = require("@mysten/sui.js");
52
+ var provider = new sui_js_1.JsonRpcProvider(sui_js_1.Network.DEVNET); //for read only operations
53
+ var decode = function (str) { return Buffer.from(str, 'base64').toString('binary'); };
54
+ function getCoveredCallVaultsFromRegistry(registry) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var coveredCallVaults;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0: return [4 /*yield*/, provider.getObjectsOwnedByObject(registry)];
60
+ case 1:
61
+ coveredCallVaults = _a.sent();
62
+ console.log("under the registry, there are " + coveredCallVaults.length + " covered call vaults");
63
+ return [2 /*return*/, coveredCallVaults];
64
+ }
65
+ });
66
+ });
67
+ }
68
+ exports.getCoveredCallVaultsFromRegistry = getCoveredCallVaultsFromRegistry;
69
+ function getTableFromCoveredCallVault(coveredCallVault) {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ var tmp, tableUnderCoveredCallVault;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ console.log("coveredCallVault: " + coveredCallVault.objectId);
76
+ return [4 /*yield*/, provider.getObject(coveredCallVault.objectId)
77
+ //@ts-ignore
78
+ ];
79
+ case 1:
80
+ tmp = _a.sent();
81
+ tableUnderCoveredCallVault = tmp.details.data.fields.value.fields.vault.fields.sub_vaults.fields.id.id;
82
+ console.log("table : " + tableUnderCoveredCallVault);
83
+ return [2 /*return*/, tableUnderCoveredCallVault];
84
+ }
85
+ });
86
+ });
87
+ }
88
+ exports.getTableFromCoveredCallVault = getTableFromCoveredCallVault;
89
+ function getSubVaultsFromTable(tableUnderCoveredCallVault) {
90
+ return __awaiter(this, void 0, void 0, function () {
91
+ var subVaults, result, subVaults_1, subVaults_1_1, subVault, txn, name_1, e_1_1;
92
+ var e_1, _a;
93
+ return __generator(this, function (_b) {
94
+ switch (_b.label) {
95
+ case 0: return [4 /*yield*/, provider.getObjectsOwnedByObject(tableUnderCoveredCallVault)];
96
+ case 1:
97
+ subVaults = _b.sent();
98
+ console.log("there are " + subVaults.length + " sub vault under table, representing rolling, regular and maker");
99
+ result = {};
100
+ _b.label = 2;
101
+ case 2:
102
+ _b.trys.push([2, 7, 8, 9]);
103
+ subVaults_1 = __values(subVaults), subVaults_1_1 = subVaults_1.next();
104
+ _b.label = 3;
105
+ case 3:
106
+ if (!!subVaults_1_1.done) return [3 /*break*/, 6];
107
+ subVault = subVaults_1_1.value;
108
+ return [4 /*yield*/, provider.getObject(subVault.objectId)
109
+ //@ts-ignore
110
+ ];
111
+ case 4:
112
+ txn = _b.sent();
113
+ name_1 = decode(txn.details.data.fields.name) //rolling / regular / maker
114
+ ;
115
+ //@ts-ignore
116
+ result[name_1] = txn.details.data.fields.id.id;
117
+ _b.label = 5;
118
+ case 5:
119
+ subVaults_1_1 = subVaults_1.next();
120
+ return [3 /*break*/, 3];
121
+ case 6: return [3 /*break*/, 9];
122
+ case 7:
123
+ e_1_1 = _b.sent();
124
+ e_1 = { error: e_1_1 };
125
+ return [3 /*break*/, 9];
126
+ case 8:
127
+ try {
128
+ if (subVaults_1_1 && !subVaults_1_1.done && (_a = subVaults_1.return)) _a.call(subVaults_1);
129
+ }
130
+ finally { if (e_1) throw e_1.error; }
131
+ return [7 /*endfinally*/];
132
+ case 9:
133
+ console.log("sub vaults:");
134
+ console.log(result);
135
+ return [2 /*return*/, result];
136
+ }
137
+ });
138
+ });
139
+ }
140
+ exports.getSubVaultsFromTable = getSubVaultsFromTable;
141
+ function getTableUnderSubVault(subVault) {
142
+ return __awaiter(this, void 0, void 0, function () {
143
+ var table;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ console.log("sub vault: " + subVault);
148
+ return [4 /*yield*/, provider.getObject(subVault)];
149
+ case 1:
150
+ table = _a.sent();
151
+ console.log("table under sub vault: ", table);
152
+ return [2 /*return*/, table];
153
+ }
154
+ });
155
+ });
156
+ }
157
+ exports.getTableUnderSubVault = getTableUnderSubVault;
158
+ function getLinkedListNodesFromTable(table) {
159
+ return __awaiter(this, void 0, void 0, function () {
160
+ var linkedListNodes;
161
+ return __generator(this, function (_a) {
162
+ switch (_a.label) {
163
+ case 0: return [4 /*yield*/, provider.getObjectsOwnedByObject(table)];
164
+ case 1:
165
+ linkedListNodes = _a.sent();
166
+ console.log("there are " + linkedListNodes.length + " linked list nodes in table");
167
+ return [2 /*return*/, linkedListNodes];
168
+ }
169
+ });
170
+ });
171
+ }
172
+ exports.getLinkedListNodesFromTable = getLinkedListNodesFromTable;
173
+ function getUserDataFromLinkedListNode(linkedListNode) {
174
+ return __awaiter(this, void 0, void 0, function () {
175
+ var tmp, usersData;
176
+ return __generator(this, function (_a) {
177
+ switch (_a.label) {
178
+ case 0: return [4 /*yield*/, provider.getObject(linkedListNode)
179
+ //@ts-ignore
180
+ ];
181
+ case 1:
182
+ tmp = _a.sent();
183
+ usersData = tmp.details.data.fields;
184
+ console.log("users data from linked list node:");
185
+ console.log(usersData);
186
+ return [2 /*return*/, usersData];
187
+ }
188
+ });
189
+ });
190
+ }
191
+ exports.getUserDataFromLinkedListNode = getUserDataFromLinkedListNode;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typus/typus-sdk",
3
3
  "author": "Typus",
4
4
  "description": "typus sdk",
5
- "version": "0.1.4",
5
+ "version": "0.1.5",
6
6
  "dependencies": {
7
7
  "@mysten/sui.js": "^0.17.1",
8
8
  "@types/node": "^17.0.0",