@typus/typus-sdk 1.2.58 → 1.2.59

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.
@@ -68,7 +68,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
68
68
  Object.defineProperty(exports, "__esModule", { value: true });
69
69
  exports.recap2023 = void 0;
70
70
  var mainnet_json_1 = __importDefault(require("../mainnet.json"));
71
- var user_history_1 = require("../utils/typus-dov-single-v2/user-history");
72
71
  var view_function_1 = require("../utils/typus-dov-single-v2/view-function");
73
72
  var client_1 = require("@mysten/sui.js/client");
74
73
  var price_1 = require("../utils/price");
@@ -92,9 +91,7 @@ function recap2023(user) {
92
91
  return [4 /*yield*/, (0, view_function_1.getVaults)(provider, mainnet_json_1.default.SINGLE_COLLATERAL_PACKAGE, mainnet_json_1.default.SINGLE_COLLATERAL_REGISTRY, [])];
93
92
  case 1:
94
93
  vaults = _p.sent();
95
- return [4 /*yield*/, (0, user_history_1.getUserHistory)(provider, mainnet_json_1.default.SINGLE_COLLATERAL_PACKAGE_ORIGIN, vaults, user, 0)];
96
- case 2:
97
- userHistory = _p.sent();
94
+ userHistory = [];
98
95
  console.log(userHistory);
99
96
  earn = new Map();
100
97
  try {
@@ -137,7 +134,7 @@ function recap2023(user) {
137
134
  // console.log(earn);
138
135
  earn.delete("");
139
136
  return [4 /*yield*/, (0, price_1.getLatestPriceUSD)()];
140
- case 3:
137
+ case 2:
141
138
  prices = _p.sent();
142
139
  sum = 0;
143
140
  try {
@@ -156,7 +153,7 @@ function recap2023(user) {
156
153
  finally { if (e_2) throw e_2.error; }
157
154
  }
158
155
  return [4 /*yield*/, (0, fetch_1.getUserStake)(provider, mainnet_json_1.default.NFT_TABLE, user)];
159
- case 4:
156
+ case 3:
160
157
  res_1 = _p.sent();
161
158
  // console.log(res_1!.number); // null
162
159
  return [2 /*return*/, [sum, res_1]];
@@ -456,7 +456,7 @@ function getNewBidTx(input) {
456
456
  input.tx.moveCall({
457
457
  target: "".concat(input.typusFrameworkPackageId, "::utils::transfer_coins"),
458
458
  typeArguments: [input.typeArguments[1]],
459
- arguments: [input.tx.object(result[1]), input.tx.pure(input.user)],
459
+ arguments: [input.tx.makeMoveVec({ objects: [input.tx.object(result[1])] }), input.tx.pure(input.user)],
460
460
  });
461
461
  }
462
462
  else {
@@ -488,7 +488,7 @@ function getNewBidTx(input) {
488
488
  input.tx.moveCall({
489
489
  target: "".concat(input.typusFrameworkPackageId, "::utils::transfer_coins"),
490
490
  typeArguments: [input.typeArguments[1]],
491
- arguments: [input.tx.object(result[1]), input.tx.pure(input.user)],
491
+ arguments: [input.tx.makeMoveVec({ objects: [input.tx.object(result[1])] }), input.tx.pure(input.user)],
492
492
  });
493
493
  }
494
494
  return input.tx;
@@ -1,9 +1,6 @@
1
- import { SuiClient, SuiEvent } from "@mysten/sui.js/client";
1
+ import { EventId, SuiClient, SuiEvent } from "@mysten/sui.js/client";
2
2
  import { Vault } from "./view-function";
3
- export declare function getUserHistory(provider: SuiClient, originPackage: string, vaults: {
4
- [key: string]: Vault;
5
- }, sender: string, startTimeMs: number): Promise<TxHistory[]>;
6
- export declare function getUserEvents(provider: SuiClient, sender: string, startTimeMs: number): Promise<SuiEvent[]>;
3
+ export declare function getUserEvents(provider: SuiClient, sender: string, cursor?: EventId | null): Promise<[SuiEvent[], EventId | null | undefined]>;
7
4
  export declare function getAutoBidEvents(provider: SuiClient, originPackage: string, startTimeMs: number): Promise<SuiEvent[]>;
8
5
  export interface TxHistory {
9
6
  Index: string | undefined;
@@ -17,4 +14,10 @@ export interface TxHistory {
17
14
  Date: Date;
18
15
  txDigest: string;
19
16
  }
17
+ export declare function parseTxHistory(datas: Array<any>, originPackage: string, vaults: {
18
+ [key: string]: Vault;
19
+ }): Promise<Array<TxHistory>>;
20
20
  export declare function getFromSentio(event: string, userAddress: string, startTimestamp: string): Promise<any[]>;
21
+ export declare function getNewBidFromSentio(vaults: {
22
+ [key: string]: Vault;
23
+ }, userAddress: string, startTimestamp: number): Promise<any>;
@@ -35,49 +35,32 @@ 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 __importDefault = (this && this.__importDefault) || function (mod) {
39
55
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
56
  };
41
57
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.getFromSentio = exports.getAutoBidEvents = exports.getUserEvents = exports.getUserHistory = void 0;
58
+ exports.getNewBidFromSentio = exports.getFromSentio = exports.parseTxHistory = exports.getAutoBidEvents = exports.getUserEvents = void 0;
43
59
  var token_1 = require("../token");
44
60
  var bignumber_js_1 = __importDefault(require("bignumber.js"));
45
- function getUserHistory(provider, originPackage, vaults, sender, startTimeMs) {
61
+ function getUserEvents(provider, sender, cursor) {
46
62
  return __awaiter(this, void 0, void 0, function () {
47
- var datas1, datas2, datas, txHistory;
48
- return __generator(this, function (_a) {
49
- switch (_a.label) {
50
- case 0: return [4 /*yield*/, getUserEvents(provider, sender, startTimeMs)];
51
- case 1:
52
- datas1 = _a.sent();
53
- return [4 /*yield*/, getAutoBidEvents(provider, originPackage, startTimeMs)];
54
- case 2:
55
- datas2 = _a.sent();
56
- datas = datas1.concat(datas2.filter(function (x) {
57
- // @ts-ignore
58
- if (x.parsedJson.signer) {
59
- // @ts-ignore
60
- return x.parsedJson.signer == sender;
61
- }
62
- else if (x.type.endsWith("ExpUpEvent")) {
63
- return true;
64
- }
65
- else {
66
- return false;
67
- }
68
- }));
69
- return [4 /*yield*/, parseTxHistory(datas.sort(function (a, b) { return Number(b.timestampMs) - Number(a.timestampMs); }), originPackage, vaults)];
70
- case 3:
71
- txHistory = _a.sent();
72
- return [2 /*return*/, txHistory];
73
- }
74
- });
75
- });
76
- }
77
- exports.getUserHistory = getUserHistory;
78
- function getUserEvents(provider, sender, startTimeMs) {
79
- return __awaiter(this, void 0, void 0, function () {
80
- var senderFilter, hasNextPage, cursor, datas, result;
63
+ var senderFilter, hasNextPage, datas, result;
81
64
  return __generator(this, function (_a) {
82
65
  switch (_a.label) {
83
66
  case 0:
@@ -85,14 +68,13 @@ function getUserEvents(provider, sender, startTimeMs) {
85
68
  Sender: sender,
86
69
  };
87
70
  hasNextPage = true;
88
- cursor = undefined;
89
71
  datas = [];
90
72
  _a.label = 1;
91
73
  case 1:
92
74
  if (!hasNextPage) return [3 /*break*/, 3];
93
75
  return [4 /*yield*/, provider.queryEvents({
94
76
  query: senderFilter,
95
- order: "descending",
77
+ order: "ascending",
96
78
  cursor: cursor,
97
79
  })];
98
80
  case 2:
@@ -102,11 +84,8 @@ function getUserEvents(provider, sender, startTimeMs) {
102
84
  cursor = result.nextCursor;
103
85
  // @ts-ignore
104
86
  datas = datas.concat(result.data);
105
- if (hasNextPage && Number(result.data[result.data.length - 1].timestampMs) < startTimeMs) {
106
- return [3 /*break*/, 3];
107
- }
108
87
  return [3 /*break*/, 1];
109
- case 3: return [2 /*return*/, datas];
88
+ case 3: return [2 /*return*/, [datas, cursor]];
110
89
  }
111
90
  });
112
91
  });
@@ -159,115 +138,31 @@ function parseTxHistory(datas, originPackage, vaults) {
159
138
  .filter(function (event) {
160
139
  var type = event.type;
161
140
  return event.packageId == originPackage || type.includes("typus_nft::First") || type.includes("typus_nft::ExpUpEvent");
141
+ })
142
+ .sort(function (a, b) {
143
+ // From Old to New!
144
+ if (a.timestampMs == b.timestampMs) {
145
+ return Number(a.id.eventSeq) - Number(b.id.eventSeq);
146
+ }
147
+ else {
148
+ return Number(a.timestampMs) - Number(b.timestampMs);
149
+ }
162
150
  })
163
151
  .reduce(function (promise, event) { return __awaiter(_this, void 0, void 0, function () {
164
- var txHistory, functionType, action, Action, Amount, Index, Period, Vault, RiskLevel, Tails, Exp, d_token, b_token, o_token, v, period, optionType, i, i, token, amount, deposit_amount, deposit_amount, balance, balance, profit, profit, token, amount, amount, token, amount, size, token, amount, token, amount, i, size, bidder_balance;
152
+ var txHistory, functionType, action, Action, Amount, Index, Period, Vault, RiskLevel, Tails, Exp, d_token, b_token, o_token, i, i, token, amount, deposit_amount, deposit_amount, balance, balance, profit, profit, token, amount, amount, token, amount, size, token, amount, token, amount, size, bidder_balance;
165
153
  var _a;
166
- return __generator(this, function (_b) {
167
- switch (_b.label) {
154
+ var _b;
155
+ return __generator(this, function (_c) {
156
+ switch (_c.label) {
168
157
  case 0: return [4 /*yield*/, promise];
169
158
  case 1:
170
- txHistory = _b.sent();
171
- functionType = (_a = new RegExp("^([^::]+)::([^::]+)::([^<]+)").exec(event.type)) === null || _a === void 0 ? void 0 : _a.slice(1, 4);
159
+ txHistory = _c.sent();
160
+ functionType = (_b = new RegExp("^([^::]+)::([^::]+)::([^<]+)").exec(event.type)) === null || _b === void 0 ? void 0 : _b.slice(1, 4);
172
161
  action = functionType[2];
162
+ Tails = undefined;
173
163
  Index = event.parsedJson.index || event.parsedJson.vault_index;
174
164
  if (Index) {
175
- v = vaults[Index];
176
- if (v) {
177
- period = void 0;
178
- switch (v.info.period) {
179
- case "0":
180
- period = "Daily";
181
- break;
182
- case "1":
183
- period = "Weekly";
184
- break;
185
- case "2":
186
- period = "Monthly";
187
- break;
188
- case "3":
189
- period = "Hourly";
190
- break;
191
- case "4":
192
- period = "10 Minutes";
193
- break;
194
- default:
195
- period = "";
196
- break;
197
- }
198
- Period = period;
199
- optionType = void 0;
200
- switch (v.info.optionType) {
201
- case "0":
202
- switch (action) {
203
- case "DepositEvent":
204
- case "WithdrawEvent":
205
- case "UnsubscribeEvent":
206
- case "ClaimEvent":
207
- case "CompoundEvent":
208
- case "HarvestEvent":
209
- case "RedeemEvent":
210
- optionType = "Covered Call";
211
- break;
212
- default:
213
- optionType = "Call";
214
- break;
215
- }
216
- break;
217
- case "1":
218
- switch (action) {
219
- case "DepositEvent":
220
- case "WithdrawEvent":
221
- case "UnsubscribeEvent":
222
- case "ClaimEvent":
223
- case "CompoundEvent":
224
- case "HarvestEvent":
225
- case "RedeemEvent":
226
- optionType = "Put Selling";
227
- break;
228
- default:
229
- optionType = "Put";
230
- break;
231
- }
232
- break;
233
- case "2":
234
- optionType = "Call Spread";
235
- break;
236
- case "3":
237
- optionType = "Put Spread";
238
- break;
239
- case "4":
240
- optionType = "Capped Call";
241
- break;
242
- case "5":
243
- optionType = "Capped Put";
244
- break;
245
- case "6":
246
- optionType = "Capped Call";
247
- break;
248
- default:
249
- optionType = "";
250
- break;
251
- }
252
- switch (v.config.riskLevel) {
253
- case "1":
254
- RiskLevel = "Conservative";
255
- break;
256
- case "2":
257
- RiskLevel = "Moderate";
258
- break;
259
- case "3":
260
- RiskLevel = "Aggressive";
261
- break;
262
- default:
263
- RiskLevel = "";
264
- break;
265
- }
266
- Vault = "".concat(v.info.settlementBaseName, " ").concat(period, " ").concat(optionType);
267
- d_token = (0, token_1.typeArgToAsset)("0x" + v.info.depositToken);
268
- b_token = (0, token_1.typeArgToAsset)("0x" + v.info.bidToken);
269
- o_token = (0, token_1.typeArgToAsset)("0x" + v.info.settlementBase);
270
- }
165
+ _a = __read(parseVaultInfo(vaults, Index, action), 6), Period = _a[0], Vault = _a[1], RiskLevel = _a[2], d_token = _a[3], b_token = _a[4], o_token = _a[5];
271
166
  }
272
167
  switch (action) {
273
168
  case "StakeNftEvent":
@@ -281,10 +176,7 @@ function parseTxHistory(datas, originPackage, vaults) {
281
176
  break;
282
177
  case "ExpUpEvent":
283
178
  i = txHistory.findIndex(function (x) { return x.txDigest == event.id.txDigest && x.Action != "First Deposit" && x.Action != "Stake"; });
284
- if (i != -1) {
285
- if (txHistory[i].Tails) {
286
- return [2 /*return*/, txHistory];
287
- }
179
+ if (i != -1 && txHistory[i].Tails == undefined) {
288
180
  txHistory[i].Tails = "#".concat(event.parsedJson.number);
289
181
  txHistory[i].Exp = event.parsedJson.exp_earn;
290
182
  return [2 /*return*/, txHistory];
@@ -295,9 +187,7 @@ function parseTxHistory(datas, originPackage, vaults) {
295
187
  Exp = event.parsedJson.exp_earn;
296
188
  }
297
189
  else {
298
- // Action = undefined;
299
- Tails = "#".concat(event.parsedJson.number);
300
- Exp = event.parsedJson.exp_earn;
190
+ return [2 /*return*/, txHistory];
301
191
  }
302
192
  break;
303
193
  case "TransferNftEvent":
@@ -420,7 +310,6 @@ function parseTxHistory(datas, originPackage, vaults) {
420
310
  Tails = "#".concat(event.parsedJson.number);
421
311
  break;
422
312
  case "NewBidEvent":
423
- i = txHistory.findIndex(function (x) { return x.txDigest == event.id.txDigest; });
424
313
  o_token = (0, token_1.typeArgToAsset)("0x" + event.parsedJson.o_token.name);
425
314
  b_token = (0, token_1.typeArgToAsset)("0x" + event.parsedJson.b_token.name);
426
315
  size = Number(event.parsedJson.size) / Math.pow(10, (0, token_1.assetToDecimal)(o_token));
@@ -430,15 +319,6 @@ function parseTxHistory(datas, originPackage, vaults) {
430
319
  if (event.sender != event.parsedJson.signer) {
431
320
  Action = "Auto " + Action;
432
321
  }
433
- if (i != -1) {
434
- txHistory[i].Index = Index;
435
- txHistory[i].Period = Period;
436
- txHistory[i].Action = Action;
437
- txHistory[i].Amount = Amount;
438
- txHistory[i].Vault = Vault;
439
- txHistory[i].RiskLevel = RiskLevel;
440
- return [2 /*return*/, txHistory];
441
- }
442
322
  break;
443
323
  default:
444
324
  return [2 /*return*/, txHistory];
@@ -466,6 +346,7 @@ function parseTxHistory(datas, originPackage, vaults) {
466
346
  });
467
347
  });
468
348
  }
349
+ exports.parseTxHistory = parseTxHistory;
469
350
  function getFromSentio(event, userAddress, startTimestamp) {
470
351
  return __awaiter(this, void 0, void 0, function () {
471
352
  var apiUrl, headers, requestData, jsonData, response, data;
@@ -500,10 +381,155 @@ function getFromSentio(event, userAddress, startTimestamp) {
500
381
  });
501
382
  }
502
383
  exports.getFromSentio = getFromSentio;
503
- function getUserHistoryFromSentio(vaults, sender, startTimeMs) {
384
+ function getNewBidFromSentio(vaults, userAddress, startTimestamp) {
504
385
  return __awaiter(this, void 0, void 0, function () {
386
+ var apiUrl, headers, requestData, jsonData, response, data;
505
387
  return __generator(this, function (_a) {
506
- return [2 /*return*/];
388
+ switch (_a.label) {
389
+ case 0:
390
+ apiUrl = "https://app.sentio.xyz/api/v1/analytics/typus/typus_v2/sql/execute";
391
+ headers = {
392
+ "api-key": "tz3JJ6stG7Fux6ueRSRA5mdpC9U0lozI3",
393
+ "Content-Type": "application/json",
394
+ };
395
+ requestData = {
396
+ sqlQuery: {
397
+ sql: "\n SELECT *\n FROM NewBid N\n JOIN (\n SELECT number, distinct_id, exp_earn, transaction_hash, log_index\n FROM ExpUp\n ) S ON N.transaction_hash = S.transaction_hash && N.log_index + 1 = S.log_index\n WHERE N.distinct_id = \"".concat(userAddress, "\" && N.timestamp >= ").concat(startTimestamp, "\n ORDER BY N.timestamp DESC;\n "),
398
+ size: 1000,
399
+ },
400
+ };
401
+ jsonData = JSON.stringify(requestData);
402
+ return [4 /*yield*/, fetch(apiUrl, {
403
+ method: "POST",
404
+ headers: headers,
405
+ body: jsonData,
406
+ })];
407
+ case 1:
408
+ response = _a.sent();
409
+ return [4 /*yield*/, response.json()];
410
+ case 2:
411
+ data = _a.sent();
412
+ return [2 /*return*/, data.result.rows.map(function (x) {
413
+ var _a = __read(parseVaultInfo(vaults, x.index, "NewBidEvent"), 6), Period = _a[0], Vault = _a[1], RiskLevel = _a[2], d_token = _a[3], b_token = _a[4], o_token = _a[5];
414
+ var txHistory = {
415
+ Index: x.index,
416
+ Period: Period,
417
+ Vault: Vault,
418
+ RiskLevel: RiskLevel,
419
+ Action: "Auto Bid" + " ".concat(x.size, " ").concat(x.o_token),
420
+ Amount: x.bidder_balance + " ".concat(x.b_token),
421
+ Tails: x.number,
422
+ Exp: x.exp_earn,
423
+ Date: new Date(Number(x.ts_ms)),
424
+ txDigest: x.transaction_hash,
425
+ };
426
+ return txHistory;
427
+ })];
428
+ }
507
429
  });
508
430
  });
509
431
  }
432
+ exports.getNewBidFromSentio = getNewBidFromSentio;
433
+ function parseVaultInfo(vaults, Index, action) {
434
+ var v = vaults[Index];
435
+ var Period;
436
+ var Vault;
437
+ var RiskLevel;
438
+ var d_token;
439
+ var b_token;
440
+ var o_token;
441
+ var period;
442
+ switch (v.info.period) {
443
+ case "0":
444
+ period = "Daily";
445
+ break;
446
+ case "1":
447
+ period = "Weekly";
448
+ break;
449
+ case "2":
450
+ period = "Monthly";
451
+ break;
452
+ case "3":
453
+ period = "Hourly";
454
+ break;
455
+ case "4":
456
+ period = "10 Minutes";
457
+ break;
458
+ default:
459
+ period = "";
460
+ break;
461
+ }
462
+ Period = period;
463
+ var optionType;
464
+ switch (v.info.optionType) {
465
+ case "0":
466
+ switch (action) {
467
+ case "DepositEvent":
468
+ case "WithdrawEvent":
469
+ case "UnsubscribeEvent":
470
+ case "ClaimEvent":
471
+ case "CompoundEvent":
472
+ case "HarvestEvent":
473
+ case "RedeemEvent":
474
+ optionType = "Covered Call";
475
+ break;
476
+ default:
477
+ optionType = "Call";
478
+ break;
479
+ }
480
+ break;
481
+ case "1":
482
+ switch (action) {
483
+ case "DepositEvent":
484
+ case "WithdrawEvent":
485
+ case "UnsubscribeEvent":
486
+ case "ClaimEvent":
487
+ case "CompoundEvent":
488
+ case "HarvestEvent":
489
+ case "RedeemEvent":
490
+ optionType = "Put Selling";
491
+ break;
492
+ default:
493
+ optionType = "Put";
494
+ break;
495
+ }
496
+ break;
497
+ case "2":
498
+ optionType = "Call Spread";
499
+ break;
500
+ case "3":
501
+ optionType = "Put Spread";
502
+ break;
503
+ case "4":
504
+ optionType = "Capped Call";
505
+ break;
506
+ case "5":
507
+ optionType = "Capped Put";
508
+ break;
509
+ case "6":
510
+ optionType = "Capped Call";
511
+ break;
512
+ default:
513
+ optionType = "";
514
+ break;
515
+ }
516
+ switch (v.config.riskLevel) {
517
+ case "1":
518
+ RiskLevel = "Conservative";
519
+ break;
520
+ case "2":
521
+ RiskLevel = "Moderate";
522
+ break;
523
+ case "3":
524
+ RiskLevel = "Aggressive";
525
+ break;
526
+ default:
527
+ RiskLevel = "";
528
+ break;
529
+ }
530
+ Vault = "".concat(v.info.settlementBaseName, " ").concat(period, " ").concat(optionType);
531
+ d_token = (0, token_1.typeArgToAsset)("0x" + v.info.depositToken);
532
+ b_token = (0, token_1.typeArgToAsset)("0x" + v.info.bidToken);
533
+ o_token = (0, token_1.typeArgToAsset)("0x" + v.info.settlementBase);
534
+ return [Period, Vault, RiskLevel, d_token, b_token, o_token];
535
+ }
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": "1.2.58",
5
+ "version": "1.2.59",
6
6
  "dependencies": {
7
7
  "@mysten/bcs": "^0.7.3",
8
8
  "@mysten/kiosk": "0.7.12",