@typus/typus-sdk 1.2.58-v1d → 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
- // import { getUserHistory } from "../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");
@@ -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"),
445
+ target: "".concat(input.typusDovSinglePackageId, "::tails_staking::new_bid_v2"),
446
446
  typeArguments: input.typeArguments,
447
447
  arguments: [
448
448
  input.tx.object(input.typusDovSingleRegistry),
@@ -453,6 +453,11 @@ 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.makeMoveVec({ objects: [input.tx.object(result[1])] }), input.tx.pure(input.user)],
460
+ });
456
461
  }
457
462
  else {
458
463
  var balance = input.tx.moveCall({
@@ -469,7 +474,7 @@ function getNewBidTx(input) {
469
474
  arguments: [input.tx.object(balance)],
470
475
  });
471
476
  var result = input.tx.moveCall({
472
- target: "".concat(input.typusDovSinglePackageId, "::tails_staking::new_bid"),
477
+ target: "".concat(input.typusDovSinglePackageId, "::tails_staking::new_bid_v2"),
473
478
  typeArguments: input.typeArguments,
474
479
  arguments: [
475
480
  input.tx.object(input.typusDovSingleRegistry),
@@ -480,6 +485,11 @@ function getNewBidTx(input) {
480
485
  ],
481
486
  });
482
487
  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.makeMoveVec({ objects: [input.tx.object(result[1])] }), input.tx.pure(input.user)],
492
+ });
483
493
  }
484
494
  return input.tx;
485
495
  }
@@ -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) {
46
- 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, 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) {
61
+ function getUserEvents(provider, sender, cursor) {
79
62
  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
  });
@@ -170,114 +149,20 @@ function parseTxHistory(datas, originPackage, vaults) {
170
149
  }
171
150
  })
172
151
  .reduce(function (promise, event) { return __awaiter(_this, void 0, void 0, function () {
173
- 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;
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;
174
153
  var _a;
175
- return __generator(this, function (_b) {
176
- switch (_b.label) {
154
+ var _b;
155
+ return __generator(this, function (_c) {
156
+ switch (_c.label) {
177
157
  case 0: return [4 /*yield*/, promise];
178
158
  case 1:
179
- txHistory = _b.sent();
180
- 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);
181
161
  action = functionType[2];
182
162
  Tails = undefined;
183
163
  Index = event.parsedJson.index || event.parsedJson.vault_index;
184
164
  if (Index) {
185
- v = vaults[Index];
186
- if (v) {
187
- period = void 0;
188
- switch (v.info.period) {
189
- case "0":
190
- period = "Daily";
191
- break;
192
- case "1":
193
- period = "Weekly";
194
- break;
195
- case "2":
196
- period = "Monthly";
197
- break;
198
- case "3":
199
- period = "Hourly";
200
- break;
201
- case "4":
202
- period = "10 Minutes";
203
- break;
204
- default:
205
- period = "";
206
- break;
207
- }
208
- Period = period;
209
- optionType = void 0;
210
- switch (v.info.optionType) {
211
- case "0":
212
- switch (action) {
213
- case "DepositEvent":
214
- case "WithdrawEvent":
215
- case "UnsubscribeEvent":
216
- case "ClaimEvent":
217
- case "CompoundEvent":
218
- case "HarvestEvent":
219
- case "RedeemEvent":
220
- optionType = "Covered Call";
221
- break;
222
- default:
223
- optionType = "Call";
224
- break;
225
- }
226
- break;
227
- case "1":
228
- switch (action) {
229
- case "DepositEvent":
230
- case "WithdrawEvent":
231
- case "UnsubscribeEvent":
232
- case "ClaimEvent":
233
- case "CompoundEvent":
234
- case "HarvestEvent":
235
- case "RedeemEvent":
236
- optionType = "Put Selling";
237
- break;
238
- default:
239
- optionType = "Put";
240
- break;
241
- }
242
- break;
243
- case "2":
244
- optionType = "Call Spread";
245
- break;
246
- case "3":
247
- optionType = "Put Spread";
248
- break;
249
- case "4":
250
- optionType = "Capped Call";
251
- break;
252
- case "5":
253
- optionType = "Capped Put";
254
- break;
255
- case "6":
256
- optionType = "Capped Call";
257
- break;
258
- default:
259
- optionType = "";
260
- break;
261
- }
262
- switch (v.config.riskLevel) {
263
- case "1":
264
- RiskLevel = "Conservative";
265
- break;
266
- case "2":
267
- RiskLevel = "Moderate";
268
- break;
269
- case "3":
270
- RiskLevel = "Aggressive";
271
- break;
272
- default:
273
- RiskLevel = "";
274
- break;
275
- }
276
- Vault = "".concat(v.info.settlementBaseName, " ").concat(period, " ").concat(optionType);
277
- d_token = (0, token_1.typeArgToAsset)("0x" + v.info.depositToken);
278
- b_token = (0, token_1.typeArgToAsset)("0x" + v.info.bidToken);
279
- o_token = (0, token_1.typeArgToAsset)("0x" + v.info.settlementBase);
280
- }
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];
281
166
  }
282
167
  switch (action) {
283
168
  case "StakeNftEvent":
@@ -461,6 +346,7 @@ function parseTxHistory(datas, originPackage, vaults) {
461
346
  });
462
347
  });
463
348
  }
349
+ exports.parseTxHistory = parseTxHistory;
464
350
  function getFromSentio(event, userAddress, startTimestamp) {
465
351
  return __awaiter(this, void 0, void 0, function () {
466
352
  var apiUrl, headers, requestData, jsonData, response, data;
@@ -495,10 +381,155 @@ function getFromSentio(event, userAddress, startTimestamp) {
495
381
  });
496
382
  }
497
383
  exports.getFromSentio = getFromSentio;
498
- function getUserHistoryFromSentio(vaults, sender, startTimeMs) {
384
+ function getNewBidFromSentio(vaults, userAddress, startTimestamp) {
499
385
  return __awaiter(this, void 0, void 0, function () {
386
+ var apiUrl, headers, requestData, jsonData, response, data;
500
387
  return __generator(this, function (_a) {
501
- 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
+ }
502
429
  });
503
430
  });
504
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-v1d",
5
+ "version": "1.2.59",
6
6
  "dependencies": {
7
7
  "@mysten/bcs": "^0.7.3",
8
8
  "@mysten/kiosk": "0.7.12",