@typus/typus-sdk 1.2.58 → 1.2.59-v1

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,7 @@ 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");
71
+ // import { getUserHistory } from "../utils/typus-dov-single-v2/user-history";
72
72
  var view_function_1 = require("../utils/typus-dov-single-v2/view-function");
73
73
  var client_1 = require("@mysten/sui.js/client");
74
74
  var price_1 = require("../utils/price");
@@ -92,9 +92,7 @@ function recap2023(user) {
92
92
  return [4 /*yield*/, (0, view_function_1.getVaults)(provider, mainnet_json_1.default.SINGLE_COLLATERAL_PACKAGE, mainnet_json_1.default.SINGLE_COLLATERAL_REGISTRY, [])];
93
93
  case 1:
94
94
  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();
95
+ userHistory = [];
98
96
  console.log(userHistory);
99
97
  earn = new Map();
100
98
  try {
@@ -137,7 +135,7 @@ function recap2023(user) {
137
135
  // console.log(earn);
138
136
  earn.delete("");
139
137
  return [4 /*yield*/, (0, price_1.getLatestPriceUSD)()];
140
- case 3:
138
+ case 2:
141
139
  prices = _p.sent();
142
140
  sum = 0;
143
141
  try {
@@ -156,7 +154,7 @@ function recap2023(user) {
156
154
  finally { if (e_2) throw e_2.error; }
157
155
  }
158
156
  return [4 /*yield*/, (0, fetch_1.getUserStake)(provider, mainnet_json_1.default.NFT_TABLE, user)];
159
- case 4:
157
+ case 3:
160
158
  res_1 = _p.sent();
161
159
  // console.log(res_1!.number); // null
162
160
  return [2 /*return*/, [sum, res_1]];
@@ -36,7 +36,7 @@ function getDepositorCashFlows(userHistory) {
36
36
  for (var userHistory_1 = __values(userHistory), userHistory_1_1 = userHistory_1.next(); !userHistory_1_1.done; userHistory_1_1 = userHistory_1.next()) {
37
37
  var history_1 = userHistory_1_1.value;
38
38
  var index = history_1.Index;
39
- if (history_1.Action.startsWith("Harvest")) {
39
+ if (history_1.Action.startsWith("Harvest Reward")) {
40
40
  var _h = __read((_c = history_1.Amount) === null || _c === void 0 ? void 0 : _c.split(" "), 2), amount = _h[0], token = _h[1];
41
41
  if (depositorCashFlows.has(index)) {
42
42
  var depositorCashFlow = depositorCashFlows.get(index);
@@ -442,7 +442,7 @@ function getNewBidTx(input) {
442
442
  input.typeArguments[1] == "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI")) {
443
443
  var _a = __read(input.tx.splitCoins(input.tx.gas, [input.tx.pure(input.premium_required)]), 1), coin = _a[0];
444
444
  var result = input.tx.moveCall({
445
- target: "".concat(input.typusDovSinglePackageId, "::tails_staking::new_bid_v2"),
445
+ target: "".concat(input.typusDovSinglePackageId, "::tails_staking::new_bid"),
446
446
  typeArguments: input.typeArguments,
447
447
  arguments: [
448
448
  input.tx.object(input.typusDovSingleRegistry),
@@ -453,11 +453,6 @@ function getNewBidTx(input) {
453
453
  ],
454
454
  });
455
455
  input.tx.transferObjects([input.tx.object(result[0])], input.user);
456
- input.tx.moveCall({
457
- target: "".concat(input.typusFrameworkPackageId, "::utils::transfer_coins"),
458
- typeArguments: [input.typeArguments[1]],
459
- arguments: [input.tx.object(result[1]), input.tx.pure(input.user)],
460
- });
461
456
  }
462
457
  else {
463
458
  var balance = input.tx.moveCall({
@@ -474,7 +469,7 @@ function getNewBidTx(input) {
474
469
  arguments: [input.tx.object(balance)],
475
470
  });
476
471
  var result = input.tx.moveCall({
477
- target: "".concat(input.typusDovSinglePackageId, "::tails_staking::new_bid_v2"),
472
+ target: "".concat(input.typusDovSinglePackageId, "::tails_staking::new_bid"),
478
473
  typeArguments: input.typeArguments,
479
474
  arguments: [
480
475
  input.tx.object(input.typusDovSingleRegistry),
@@ -485,11 +480,6 @@ function getNewBidTx(input) {
485
480
  ],
486
481
  });
487
482
  input.tx.transferObjects([input.tx.object(result[0])], input.user);
488
- input.tx.moveCall({
489
- target: "".concat(input.typusFrameworkPackageId, "::utils::transfer_coins"),
490
- typeArguments: [input.typeArguments[1]],
491
- arguments: [input.tx.object(result[1]), input.tx.pure(input.user)],
492
- });
493
483
  }
494
484
  return input.tx;
495
485
  }
@@ -18,3 +18,6 @@ export interface TxHistory {
18
18
  txDigest: string;
19
19
  }
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,11 +35,27 @@ 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.getAutoBidEvents = exports.getUserEvents = exports.getUserHistory = void 0;
43
59
  var token_1 = require("../token");
44
60
  var bignumber_js_1 = __importDefault(require("bignumber.js"));
45
61
  function getUserHistory(provider, originPackage, vaults, sender, startTimeMs) {
@@ -66,7 +82,7 @@ function getUserHistory(provider, originPackage, vaults, sender, startTimeMs) {
66
82
  return false;
67
83
  }
68
84
  }));
69
- return [4 /*yield*/, parseTxHistory(datas.sort(function (a, b) { return Number(b.timestampMs) - Number(a.timestampMs); }), originPackage, vaults)];
85
+ return [4 /*yield*/, parseTxHistory(datas, originPackage, vaults)];
70
86
  case 3:
71
87
  txHistory = _a.sent();
72
88
  return [2 /*return*/, txHistory];
@@ -159,9 +175,18 @@ function parseTxHistory(datas, originPackage, vaults) {
159
175
  .filter(function (event) {
160
176
  var type = event.type;
161
177
  return event.packageId == originPackage || type.includes("typus_nft::First") || type.includes("typus_nft::ExpUpEvent");
178
+ })
179
+ .sort(function (a, b) {
180
+ // From Old to New!
181
+ if (a.timestampMs == b.timestampMs) {
182
+ return Number(a.id.eventSeq) - Number(b.id.eventSeq);
183
+ }
184
+ else {
185
+ return Number(a.timestampMs) - Number(b.timestampMs);
186
+ }
162
187
  })
163
188
  .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;
189
+ 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, size, bidder_balance;
165
190
  var _a;
166
191
  return __generator(this, function (_b) {
167
192
  switch (_b.label) {
@@ -170,6 +195,7 @@ function parseTxHistory(datas, originPackage, vaults) {
170
195
  txHistory = _b.sent();
171
196
  functionType = (_a = new RegExp("^([^::]+)::([^::]+)::([^<]+)").exec(event.type)) === null || _a === void 0 ? void 0 : _a.slice(1, 4);
172
197
  action = functionType[2];
198
+ Tails = undefined;
173
199
  Index = event.parsedJson.index || event.parsedJson.vault_index;
174
200
  if (Index) {
175
201
  v = vaults[Index];
@@ -281,10 +307,7 @@ function parseTxHistory(datas, originPackage, vaults) {
281
307
  break;
282
308
  case "ExpUpEvent":
283
309
  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
- }
310
+ if (i != -1 && txHistory[i].Tails == undefined) {
288
311
  txHistory[i].Tails = "#".concat(event.parsedJson.number);
289
312
  txHistory[i].Exp = event.parsedJson.exp_earn;
290
313
  return [2 /*return*/, txHistory];
@@ -295,9 +318,7 @@ function parseTxHistory(datas, originPackage, vaults) {
295
318
  Exp = event.parsedJson.exp_earn;
296
319
  }
297
320
  else {
298
- // Action = undefined;
299
- Tails = "#".concat(event.parsedJson.number);
300
- Exp = event.parsedJson.exp_earn;
321
+ return [2 /*return*/, txHistory];
301
322
  }
302
323
  break;
303
324
  case "TransferNftEvent":
@@ -420,7 +441,6 @@ function parseTxHistory(datas, originPackage, vaults) {
420
441
  Tails = "#".concat(event.parsedJson.number);
421
442
  break;
422
443
  case "NewBidEvent":
423
- i = txHistory.findIndex(function (x) { return x.txDigest == event.id.txDigest; });
424
444
  o_token = (0, token_1.typeArgToAsset)("0x" + event.parsedJson.o_token.name);
425
445
  b_token = (0, token_1.typeArgToAsset)("0x" + event.parsedJson.b_token.name);
426
446
  size = Number(event.parsedJson.size) / Math.pow(10, (0, token_1.assetToDecimal)(o_token));
@@ -430,15 +450,6 @@ function parseTxHistory(datas, originPackage, vaults) {
430
450
  if (event.sender != event.parsedJson.signer) {
431
451
  Action = "Auto " + Action;
432
452
  }
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
453
  break;
443
454
  default:
444
455
  return [2 /*return*/, txHistory];
@@ -500,10 +511,157 @@ function getFromSentio(event, userAddress, startTimestamp) {
500
511
  });
501
512
  }
502
513
  exports.getFromSentio = getFromSentio;
503
- function getUserHistoryFromSentio(vaults, sender, startTimeMs) {
514
+ function getNewBidFromSentio(vaults, userAddress, startTimestamp) {
504
515
  return __awaiter(this, void 0, void 0, function () {
516
+ var apiUrl, headers, requestData, jsonData, response, data;
505
517
  return __generator(this, function (_a) {
506
- return [2 /*return*/];
518
+ switch (_a.label) {
519
+ case 0:
520
+ apiUrl = "https://app.sentio.xyz/api/v1/analytics/typus/typus_v2/sql/execute";
521
+ headers = {
522
+ "api-key": "tz3JJ6stG7Fux6ueRSRA5mdpC9U0lozI3",
523
+ "Content-Type": "application/json",
524
+ };
525
+ requestData = {
526
+ sqlQuery: {
527
+ 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 "),
528
+ size: 1000,
529
+ },
530
+ };
531
+ jsonData = JSON.stringify(requestData);
532
+ return [4 /*yield*/, fetch(apiUrl, {
533
+ method: "POST",
534
+ headers: headers,
535
+ body: jsonData,
536
+ })];
537
+ case 1:
538
+ response = _a.sent();
539
+ return [4 /*yield*/, response.json()];
540
+ case 2:
541
+ data = _a.sent();
542
+ return [2 /*return*/, data.result.rows.map(function (x) {
543
+ 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];
544
+ var txHistory = {
545
+ Index: x.index,
546
+ Period: Period,
547
+ Vault: Vault,
548
+ RiskLevel: RiskLevel,
549
+ Action: "Auto Bid" + " ".concat(x.size, " ").concat(x.o_token),
550
+ Amount: x.bidder_balance + " ".concat(x.b_token),
551
+ Tails: x.number,
552
+ Exp: x.exp_earn,
553
+ Date: new Date(Number(x.ts_ms)),
554
+ txDigest: x.transaction_hash,
555
+ };
556
+ return txHistory;
557
+ })];
558
+ }
507
559
  });
508
560
  });
509
561
  }
562
+ exports.getNewBidFromSentio = getNewBidFromSentio;
563
+ function parseVaultInfo(vaults, Index, action) {
564
+ var v = vaults[Index];
565
+ var Period;
566
+ var Vault;
567
+ var RiskLevel;
568
+ var d_token;
569
+ var b_token;
570
+ var o_token;
571
+ var period;
572
+ if (v) {
573
+ switch (v.info.period) {
574
+ case "0":
575
+ period = "Daily";
576
+ break;
577
+ case "1":
578
+ period = "Weekly";
579
+ break;
580
+ case "2":
581
+ period = "Monthly";
582
+ break;
583
+ case "3":
584
+ period = "Hourly";
585
+ break;
586
+ case "4":
587
+ period = "10 Minutes";
588
+ break;
589
+ default:
590
+ period = "";
591
+ break;
592
+ }
593
+ Period = period;
594
+ var optionType = void 0;
595
+ switch (v.info.optionType) {
596
+ case "0":
597
+ switch (action) {
598
+ case "DepositEvent":
599
+ case "WithdrawEvent":
600
+ case "UnsubscribeEvent":
601
+ case "ClaimEvent":
602
+ case "CompoundEvent":
603
+ case "HarvestEvent":
604
+ case "RedeemEvent":
605
+ optionType = "Covered Call";
606
+ break;
607
+ default:
608
+ optionType = "Call";
609
+ break;
610
+ }
611
+ break;
612
+ case "1":
613
+ switch (action) {
614
+ case "DepositEvent":
615
+ case "WithdrawEvent":
616
+ case "UnsubscribeEvent":
617
+ case "ClaimEvent":
618
+ case "CompoundEvent":
619
+ case "HarvestEvent":
620
+ case "RedeemEvent":
621
+ optionType = "Put Selling";
622
+ break;
623
+ default:
624
+ optionType = "Put";
625
+ break;
626
+ }
627
+ break;
628
+ case "2":
629
+ optionType = "Call Spread";
630
+ break;
631
+ case "3":
632
+ optionType = "Put Spread";
633
+ break;
634
+ case "4":
635
+ optionType = "Capped Call";
636
+ break;
637
+ case "5":
638
+ optionType = "Capped Put";
639
+ break;
640
+ case "6":
641
+ optionType = "Capped Call";
642
+ break;
643
+ default:
644
+ optionType = "";
645
+ break;
646
+ }
647
+ switch (v.config.riskLevel) {
648
+ case "1":
649
+ RiskLevel = "Conservative";
650
+ break;
651
+ case "2":
652
+ RiskLevel = "Moderate";
653
+ break;
654
+ case "3":
655
+ RiskLevel = "Aggressive";
656
+ break;
657
+ default:
658
+ RiskLevel = "";
659
+ break;
660
+ }
661
+ Vault = "".concat(v.info.settlementBaseName, " ").concat(period, " ").concat(optionType);
662
+ d_token = (0, token_1.typeArgToAsset)("0x" + v.info.depositToken);
663
+ b_token = (0, token_1.typeArgToAsset)("0x" + v.info.bidToken);
664
+ o_token = (0, token_1.typeArgToAsset)("0x" + v.info.settlementBase);
665
+ }
666
+ return [Period, Vault, RiskLevel, d_token, b_token, o_token];
667
+ }
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-v1",
6
6
  "dependencies": {
7
7
  "@mysten/bcs": "^0.7.3",
8
8
  "@mysten/kiosk": "0.7.12",