@typus/typus-sdk 1.0.55 → 1.0.56

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.
@@ -16,7 +16,7 @@ export interface SponsorRpc {
16
16
  }
17
17
  export declare const sponsorTransactionBlock: (gaslessTxb: any, sponsor: any, provider: any, gasBudget: any, signerAddress: any) => Promise<[SponsoredTransaction, Uint8Array]>;
18
18
  export declare const executeSponsorTransactionBlock: (provider: any, sponsoredResponse: any, senderSig: any) => Promise<any>;
19
- export declare const sponsorTransactionE2E: (gaslessTxb: any, sponsor: any, provider: any, signer: any, gasBudget: any) => Promise<void>;
19
+ export declare const sponsorTransactionE2E: (gaslessTxb: any, sponsor: any, provider: any, signer: any, gasBudget: any) => Promise<any>;
20
20
  export declare function getSponsoredDeposit(sponsorApi: string, packageId: string, typeArguments: string[], registry: string, index: string, coins: string[], amount: string, signerAddress: string): Promise<[SponsoredTransaction, Uint8Array]>;
21
21
  export declare function getSponsoredCompound(sponsorApi: string, packageId: string, typeArguments: string[], registry: string, index: string, signerAddress: string): Promise<[SponsoredTransaction, Uint8Array]>;
22
22
  export declare function getSponsoredNewBid(sponsorApi: string, packageId: string, typeArguments: string[], registry: string, index: string, priceOracle: string, coins: string[], size: string, signerAddress: string): Promise<[SponsoredTransaction, Uint8Array]>;
@@ -65,9 +65,9 @@ exports.sponsorTransactionBlock = sponsorTransactionBlock;
65
65
  // const senderSig = await signer.signTransactionBlock({ transactionBlock });
66
66
  var executeSponsorTransactionBlock = function (provider, sponsoredResponse, senderSig) { return __awaiter(void 0, void 0, void 0, function () {
67
67
  var executeResponse;
68
- var _a, _b;
69
- return __generator(this, function (_c) {
70
- switch (_c.label) {
68
+ var _a;
69
+ return __generator(this, function (_b) {
70
+ switch (_b.label) {
71
71
  case 0: return [4 /*yield*/, provider.executeTransactionBlock({
72
72
  transactionBlock: sponsoredResponse.txBytes,
73
73
  signature: [senderSig.signature, sponsoredResponse.signature],
@@ -75,9 +75,9 @@ var executeSponsorTransactionBlock = function (provider, sponsoredResponse, send
75
75
  requestType: "WaitForLocalExecution",
76
76
  })];
77
77
  case 1:
78
- executeResponse = _c.sent();
79
- console.log("Execution Status:", (_a = executeResponse.effects) === null || _a === void 0 ? void 0 : _a.status.status);
80
- return [2 /*return*/, (_b = executeResponse.effects) === null || _b === void 0 ? void 0 : _b.status.status];
78
+ executeResponse = _b.sent();
79
+ console.log("SDK Execution Status:", (_a = executeResponse.effects) === null || _a === void 0 ? void 0 : _a.status.status);
80
+ return [2 /*return*/, executeResponse];
81
81
  }
82
82
  });
83
83
  }); };
@@ -114,7 +114,7 @@ var sponsorTransactionE2E = function (gaslessTxb, sponsor, provider, signer, gas
114
114
  case 6:
115
115
  executeResponse = _e.sent();
116
116
  console.log("Execution Status:", (_d = executeResponse.effects) === null || _d === void 0 ? void 0 : _d.status.status);
117
- return [2 /*return*/];
117
+ return [2 /*return*/, executeResponse];
118
118
  }
119
119
  });
120
120
  }); };
@@ -0,0 +1,2 @@
1
+ export declare function typeArgsToAssets(typeArgs: string[]): string[];
2
+ export declare function assetToDecimal(asset: string): number | undefined;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assetToDecimal = exports.typeArgsToAssets = void 0;
4
+ var sui_js_1 = require("@mysten/sui.js");
5
+ function typeArgsToAssets(typeArgs) {
6
+ var assets = typeArgs.map(function (x) {
7
+ var typeArgs = x.split("::");
8
+ switch ((0, sui_js_1.normalizeSuiAddress)(typeArgs[0])) {
9
+ case "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881":
10
+ return "WBTC";
11
+ case "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5":
12
+ return "WETH";
13
+ case "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf":
14
+ return "USDC";
15
+ case "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c":
16
+ return "USDT";
17
+ default:
18
+ return typeArgs[2];
19
+ }
20
+ });
21
+ return assets;
22
+ }
23
+ exports.typeArgsToAssets = typeArgsToAssets;
24
+ function assetToDecimal(asset) {
25
+ switch (asset) {
26
+ case "SUI":
27
+ return 9;
28
+ case "WBTC":
29
+ return 8;
30
+ case "WETH":
31
+ return 8;
32
+ case "USDC":
33
+ return 6;
34
+ case "USDT":
35
+ return 6;
36
+ case "CETUS":
37
+ return 9;
38
+ }
39
+ }
40
+ exports.assetToDecimal = assetToDecimal;
@@ -37,9 +37,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getPortfolioVaults = void 0;
40
- var sui_js_1 = require("@mysten/sui.js");
41
40
  var vault_1 = require("../typus-framework/vault");
42
41
  var dutch_1 = require("../typus-framework/dutch");
42
+ var token_1 = require("../token");
43
43
  function getPortfolioVaults(provider, registry, token_deposit_vault_registry, usd_deposit_vault_registry, bid_vault_registry, index) {
44
44
  return __awaiter(this, void 0, void 0, function () {
45
45
  var portfolioVaultIds, portfolioVaults, tokenDepositVaultIds, usdDepositVaultIds, bidVaultIds;
@@ -65,21 +65,7 @@ function getPortfolioVaults(provider, registry, token_deposit_vault_registry, us
65
65
  var vaultId = portfolioVault.data.content.fields.id.id;
66
66
  // @ts-ignore
67
67
  var typeArgs = new RegExp(".*<(.*), (.*), (.*)>").exec(portfolioVault.data.content.type).slice(1, 4);
68
- var assets = typeArgs.map(function (x) {
69
- var typeArgs = x.split("::");
70
- switch ((0, sui_js_1.normalizeSuiAddress)(typeArgs[0])) {
71
- case "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881":
72
- return "WBTC";
73
- case "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5":
74
- return "WETH";
75
- case "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf":
76
- return "USDC";
77
- case "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c":
78
- return "USDT";
79
- default:
80
- return typeArgs[2];
81
- }
82
- });
68
+ var assets = (0, token_1.typeArgsToAssets)(typeArgs);
83
69
  var oracleInfo = {
84
70
  // @ts-ignore
85
71
  price: portfolioVault.data.content.fields.info.fields.oracle_info.fields.price,
@@ -1,4 +1,19 @@
1
- export declare function getDb(functionName: string, vaultIndex?: string | undefined): Promise<void>;
1
+ import { PortfolioVault } from "./portfolio-vault";
2
+ export declare function getDb(functionNames: string[], vaultIndex?: string | undefined): Promise<any>;
2
3
  export declare function getNewAuction(vaultIndex?: string | undefined): Promise<void>;
3
4
  export declare function getDelivery(vaultIndex?: string | undefined): Promise<void>;
4
5
  export declare function getSettle(vaultIndex?: string | undefined): Promise<void>;
6
+ export declare function getShowMap(portfolioVaults: Map<string, PortfolioVault>, vaultIndex?: string | undefined): Promise<Map<string, Map<string, Show>>>;
7
+ interface Show {
8
+ ProjectedAPY: number;
9
+ ActivationDate: Date;
10
+ SettlementTime: Date;
11
+ StrikePrice: number[];
12
+ SettlePrice: number;
13
+ Return: number;
14
+ Filled: number;
15
+ PaidToDepositors: number;
16
+ PaidToBidders: any;
17
+ EarnedByDepositors: any;
18
+ }
19
+ export {};
@@ -36,15 +36,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getSettle = exports.getDelivery = exports.getNewAuction = exports.getDb = void 0;
40
- var dbFilter = function (functionName, vaultIndex) {
39
+ exports.getShowMap = exports.getSettle = exports.getDelivery = exports.getNewAuction = exports.getDb = void 0;
40
+ var dbFilter = function (functionNames, vaultIndex) {
41
41
  if (vaultIndex === void 0) { vaultIndex = undefined; }
42
42
  return ({
43
43
  collection: "typus_dov_single",
44
44
  database: "mainnet_1_0_0",
45
45
  dataSource: "typus",
46
46
  filter: {
47
- function: functionName,
47
+ function: { $in: functionNames },
48
48
  index: vaultIndex,
49
49
  },
50
50
  });
@@ -54,14 +54,14 @@ var headers = {
54
54
  "api-key": "ZnJu3wGqGoYotyvHl5Qis0UvUJRDJkBBwIsRaHdmBuzfy4jyPBH1LzazIfOO0GSm",
55
55
  "Content-Type": "application/json",
56
56
  };
57
- function getDb(functionName, vaultIndex) {
57
+ function getDb(functionNames, vaultIndex) {
58
58
  if (vaultIndex === void 0) { vaultIndex = undefined; }
59
59
  return __awaiter(this, void 0, void 0, function () {
60
60
  var jsonData, response, data;
61
61
  return __generator(this, function (_a) {
62
62
  switch (_a.label) {
63
63
  case 0:
64
- jsonData = JSON.stringify(dbFilter(functionName));
64
+ jsonData = JSON.stringify(dbFilter(functionNames, vaultIndex));
65
65
  return [4 /*yield*/, fetch(apiUrl, {
66
66
  method: "POST",
67
67
  headers: headers,
@@ -73,10 +73,7 @@ function getDb(functionName, vaultIndex) {
73
73
  return [4 /*yield*/, response.json()];
74
74
  case 2:
75
75
  data = _a.sent();
76
- data.documents.map(function (document) {
77
- console.log(document);
78
- });
79
- _a.label = 3;
76
+ return [2 /*return*/, data.documents];
80
77
  case 3: return [2 /*return*/];
81
78
  }
82
79
  });
@@ -88,7 +85,7 @@ function getNewAuction(vaultIndex) {
88
85
  return __awaiter(this, void 0, void 0, function () {
89
86
  return __generator(this, function (_a) {
90
87
  switch (_a.label) {
91
- case 0: return [4 /*yield*/, getDb("NewAuction", vaultIndex)];
88
+ case 0: return [4 /*yield*/, getDb(["NewAuction"], vaultIndex)];
92
89
  case 1:
93
90
  _a.sent();
94
91
  return [2 /*return*/];
@@ -102,7 +99,7 @@ function getDelivery(vaultIndex) {
102
99
  return __awaiter(this, void 0, void 0, function () {
103
100
  return __generator(this, function (_a) {
104
101
  switch (_a.label) {
105
- case 0: return [4 /*yield*/, getDb("Delivery", vaultIndex)];
102
+ case 0: return [4 /*yield*/, getDb(["Delivery"], vaultIndex)];
106
103
  case 1:
107
104
  _a.sent();
108
105
  return [2 /*return*/];
@@ -114,24 +111,162 @@ exports.getDelivery = getDelivery;
114
111
  function getSettle(vaultIndex) {
115
112
  if (vaultIndex === void 0) { vaultIndex = undefined; }
116
113
  return __awaiter(this, void 0, void 0, function () {
114
+ var settleEvents;
117
115
  return __generator(this, function (_a) {
118
116
  switch (_a.label) {
119
- case 0: return [4 /*yield*/, getDb("Settle", vaultIndex)];
117
+ case 0: return [4 /*yield*/, getDb(["Settle"], vaultIndex)];
120
118
  case 1:
121
- _a.sent();
119
+ settleEvents = _a.sent();
120
+ console.log(settleEvents);
122
121
  return [2 /*return*/];
123
122
  }
124
123
  });
125
124
  });
126
125
  }
127
126
  exports.getSettle = getSettle;
128
- (function () { return __awaiter(void 0, void 0, void 0, function () {
129
- return __generator(this, function (_a) {
130
- switch (_a.label) {
131
- case 0: return [4 /*yield*/, getSettle()];
132
- case 1:
133
- _a.sent();
134
- return [2 /*return*/];
135
- }
127
+ function getShowMap(portfolioVaults, vaultIndex) {
128
+ if (vaultIndex === void 0) { vaultIndex = undefined; }
129
+ return __awaiter(this, void 0, void 0, function () {
130
+ var events, groupEventMap, showMap;
131
+ var _this = this;
132
+ return __generator(this, function (_a) {
133
+ switch (_a.label) {
134
+ case 0: return [4 /*yield*/, getDb(["NewAuction", "Delivery", "Settle"], vaultIndex)];
135
+ case 1:
136
+ events = _a.sent();
137
+ return [4 /*yield*/, events.reduce(function (promise, event) { return __awaiter(_this, void 0, void 0, function () {
138
+ var map, index, round, round_event, round_events, round_events, round_events;
139
+ return __generator(this, function (_a) {
140
+ switch (_a.label) {
141
+ case 0: return [4 /*yield*/, promise];
142
+ case 1:
143
+ map = _a.sent();
144
+ index = event.index.toString();
145
+ round = event.round.toString();
146
+ round_event = {
147
+ newAuctionEvent: undefined,
148
+ deliveryEvent: undefined,
149
+ settleEvent: undefined,
150
+ };
151
+ if (map.has(index)) {
152
+ round_events = map.get(index);
153
+ if (round_events.has(round)) {
154
+ round_event = round_events.get(round);
155
+ }
156
+ }
157
+ switch (event.function) {
158
+ case "NewAuction":
159
+ round_event.newAuctionEvent = event;
160
+ round_event.newAuctionEvent.vault_config = {
161
+ payoffConfigs: event.vault_config.payoff_configs.map(function (x) {
162
+ return ({
163
+ strikePct: x.strike_pct,
164
+ weight: x.weight,
165
+ isBuyer: x.is_buyer,
166
+ strike: x.strike,
167
+ });
168
+ }),
169
+ strikeIncrement: event.vault_config.strike_increment,
170
+ decaySpeed: event.vault_config.decay_speed,
171
+ initialPrice: event.vault_config.initial_price,
172
+ finalPrice: event.vault_config.final_price,
173
+ auctionDurationInMs: event.vault_config.auction_duration_in_ms,
174
+ };
175
+ break;
176
+ case "Delivery":
177
+ round_event.deliveryEvent = event;
178
+ break;
179
+ case "Settle":
180
+ round_event.settleEvent = event;
181
+ break;
182
+ }
183
+ if (map.get(index)) {
184
+ round_events = map.get(index);
185
+ round_events.set(round, round_event);
186
+ map.set(index, round_events);
187
+ }
188
+ else {
189
+ round_events = new Map();
190
+ round_events.set(round, round_event);
191
+ map.set(index, round_events);
192
+ }
193
+ return [2 /*return*/, map];
194
+ }
195
+ });
196
+ }); }, Promise.resolve(new Map()))];
197
+ case 2:
198
+ groupEventMap = _a.sent();
199
+ showMap = new Map();
200
+ return [4 /*yield*/, groupEventMap.forEach(function (innerMap, outerKey) { return __awaiter(_this, void 0, void 0, function () {
201
+ var newInnerMap_1;
202
+ var _this = this;
203
+ return __generator(this, function (_a) {
204
+ if (portfolioVaults[outerKey]) {
205
+ newInnerMap_1 = new Map();
206
+ innerMap.forEach(function (groupEvent, innerKey) { return __awaiter(_this, void 0, void 0, function () {
207
+ var show;
208
+ return __generator(this, function (_a) {
209
+ switch (_a.label) {
210
+ case 0:
211
+ if (!groupEvent.settleEvent) return [3 /*break*/, 2];
212
+ return [4 /*yield*/, groupEventToShow(groupEvent, portfolioVaults[outerKey])];
213
+ case 1:
214
+ show = _a.sent();
215
+ // console.log(show);
216
+ newInnerMap_1.set(innerKey, show);
217
+ _a.label = 2;
218
+ case 2: return [2 /*return*/];
219
+ }
220
+ });
221
+ }); });
222
+ showMap.set(outerKey, newInnerMap_1);
223
+ }
224
+ return [2 /*return*/];
225
+ });
226
+ }); })];
227
+ case 3:
228
+ _a.sent();
229
+ // console.log(showMap);
230
+ return [2 /*return*/, showMap];
231
+ }
232
+ });
136
233
  });
137
- }); })();
234
+ }
235
+ exports.getShowMap = getShowMap;
236
+ function groupEventToShow(groupEvent, portfolioVault) {
237
+ return __awaiter(this, void 0, void 0, function () {
238
+ var newAuctionEvent, deliveryEvent, settleEvent, PaidToDepositors, portfolio_payoff, PaidToBidders, exp, result;
239
+ return __generator(this, function (_a) {
240
+ newAuctionEvent = groupEvent.newAuctionEvent;
241
+ deliveryEvent = groupEvent.deliveryEvent;
242
+ settleEvent = groupEvent.settleEvent;
243
+ PaidToDepositors = Number(deliveryEvent.premium_value) / Math.pow(10, Number(portfolioVault.config.bTokenDecimal));
244
+ portfolio_payoff = settleEvent.portfolio_payoff_is_neg ? Number(-settleEvent.portfolio_payoff) : Number(settleEvent.portfolio_payoff);
245
+ PaidToBidders = portfolio_payoff / Math.pow(10, Number(portfolioVault.config.oTokenDecimal));
246
+ switch (portfolioVault.config.period) {
247
+ case 0:
248
+ exp = 365;
249
+ break;
250
+ case 1:
251
+ exp = 52;
252
+ break;
253
+ case 2:
254
+ exp = 12;
255
+ break;
256
+ }
257
+ result = {
258
+ ProjectedAPY: Math.pow((1 + (1.01 * Number(deliveryEvent.delivery_price)) / Math.pow(10, Number(portfolioVault.config.bTokenDecimal))), exp) - 1,
259
+ ActivationDate: new Date(Number(newAuctionEvent.timestamp_ms)),
260
+ SettlementTime: new Date(Number(settleEvent.timestamp_ms)),
261
+ StrikePrice: newAuctionEvent.vault_config.payoffConfigs.map(function (payoffConfig) { return Number(payoffConfig.strike) / Math.pow(10, 8); }),
262
+ SettlePrice: Number(settleEvent.oracle_price) / Math.pow(10, 8),
263
+ Return: Number(settleEvent.share_price) / Math.pow(10, 8) - 1,
264
+ Filled: Number(deliveryEvent.delivery_size) / Number(deliveryEvent.max_size),
265
+ PaidToDepositors: PaidToDepositors,
266
+ PaidToBidders: PaidToBidders,
267
+ EarnedByDepositors: PaidToDepositors - PaidToBidders,
268
+ };
269
+ return [2 /*return*/, result];
270
+ });
271
+ });
272
+ }
@@ -37,9 +37,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getPortfolioVaultAuctionDelayTsMs = exports.getPortfolioVaults = void 0;
40
- var sui_js_1 = require("@mysten/sui.js");
41
40
  var vault_1 = require("../typus-framework/vault");
42
41
  var dutch_1 = require("../typus-framework/dutch");
42
+ var token_1 = require("../token");
43
43
  function getPortfolioVaults(provider, registry, deposit_vault_registry, bid_vault_registry, index) {
44
44
  return __awaiter(this, void 0, void 0, function () {
45
45
  var portfolioVaultIds, portfolioVaults, depositVaultIds, bidVaultIds;
@@ -69,21 +69,7 @@ function getPortfolioVaults(provider, registry, deposit_vault_registry, bid_vaul
69
69
  vaultId = portfolioVault.data.content.fields.id.id;
70
70
  auctionDelayTsMs = "0";
71
71
  typeArgs = new RegExp(".*<(.*), (.*), (.*)>").exec(portfolioVault.data.content.type).slice(1, 4);
72
- assets = typeArgs.map(function (x) {
73
- var typeArgs = x.split("::");
74
- switch ((0, sui_js_1.normalizeSuiAddress)(typeArgs[0])) {
75
- case "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881":
76
- return "WBTC";
77
- case "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5":
78
- return "WETH";
79
- case "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf":
80
- return "USDC";
81
- case "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c":
82
- return "USDT";
83
- default:
84
- return typeArgs[2];
85
- }
86
- });
72
+ assets = (0, token_1.typeArgsToAssets)(typeArgs);
87
73
  deliveryInfo =
88
74
  // @ts-ignore
89
75
  portfolioVault.data.content.fields.info.fields.delivery_info
@@ -0,0 +1,13 @@
1
+ import { JsonRpcProvider } from "@mysten/sui.js";
2
+ export declare function getUserHistory(provider: JsonRpcProvider, originPackage: string, sender: string): Promise<TxHistory[]>;
3
+ interface TxHistory {
4
+ Vault: string;
5
+ Action: string;
6
+ Date: Date;
7
+ txDigest: string;
8
+ Asset: string;
9
+ Amount: number;
10
+ Fee: number;
11
+ BidSize: number;
12
+ }
13
+ export {};
@@ -0,0 +1,121 @@
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 (g && (g = 0, op[0] && (_ = 0)), _) 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
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getUserHistory = void 0;
40
+ var token_1 = require("../token");
41
+ function getUserHistory(provider, originPackage, sender) {
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var senderFilter, result, txHistory, nextPage;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ senderFilter = {
48
+ Sender: sender,
49
+ };
50
+ return [4 /*yield*/, provider.queryEvents({ query: senderFilter })];
51
+ case 1:
52
+ result = _a.sent();
53
+ return [4 /*yield*/, parseTxHistory(result.data, originPackage)];
54
+ case 2:
55
+ txHistory = _a.sent();
56
+ _a.label = 3;
57
+ case 3:
58
+ if (!result.hasNextPage) return [3 /*break*/, 6];
59
+ return [4 /*yield*/, provider.queryEvents({ query: senderFilter, cursor: result.nextCursor })];
60
+ case 4:
61
+ result = _a.sent();
62
+ return [4 /*yield*/, parseTxHistory(result.data, originPackage)];
63
+ case 5:
64
+ nextPage = _a.sent();
65
+ txHistory = txHistory.concat(nextPage);
66
+ return [3 /*break*/, 3];
67
+ case 6:
68
+ // console.log(txHistory);
69
+ return [2 /*return*/, txHistory];
70
+ }
71
+ });
72
+ });
73
+ }
74
+ exports.getUserHistory = getUserHistory;
75
+ function parseTxHistory(datas, originPackage) {
76
+ return __awaiter(this, void 0, void 0, function () {
77
+ var _this = this;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0: return [4 /*yield*/, datas
81
+ .filter(function (event) {
82
+ var type = event.type;
83
+ return type.startsWith(originPackage);
84
+ })
85
+ .reduce(function (promise, event) { return __awaiter(_this, void 0, void 0, function () {
86
+ var txHistory, functionType, action, matches, typeArgs, assets, asset, parsedJson;
87
+ var _a;
88
+ return __generator(this, function (_b) {
89
+ switch (_b.label) {
90
+ case 0: return [4 /*yield*/, promise];
91
+ case 1:
92
+ txHistory = _b.sent();
93
+ functionType = (_a = new RegExp("^([^::]+)::([^::]+)::([^<]+)").exec(event.type)) === null || _a === void 0 ? void 0 : _a.slice(1, 4);
94
+ action = functionType[2];
95
+ matches = new RegExp("<([^>]+)>").exec(event.type);
96
+ if (matches) {
97
+ typeArgs = matches[1].split(",");
98
+ assets = (0, token_1.typeArgsToAssets)(typeArgs);
99
+ asset = action == "NewBid" ? assets[2] : assets[0];
100
+ parsedJson = event.parsedJson;
101
+ txHistory.push({
102
+ Vault: parsedJson.index,
103
+ Action: action,
104
+ Date: new Date(Number(event.timestampMs)),
105
+ txDigest: event.id.txDigest,
106
+ Asset: asset,
107
+ Amount: Number(parsedJson.amount) / Math.pow(10, (0, token_1.assetToDecimal)(asset)),
108
+ Fee: Number(parsedJson.fee) / Math.pow(10, (0, token_1.assetToDecimal)(asset)),
109
+ BidSize: Number(parsedJson.size) / Math.pow(10, (0, token_1.assetToDecimal)(asset)),
110
+ });
111
+ return [2 /*return*/, txHistory];
112
+ }
113
+ return [2 /*return*/];
114
+ }
115
+ });
116
+ }); }, Promise.resolve(new Array()))];
117
+ case 1: return [2 /*return*/, _a.sent()];
118
+ }
119
+ });
120
+ });
121
+ }
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.0.55",
5
+ "version": "1.0.56",
6
6
  "dependencies": {
7
7
  "@mysten/sui.js": "^0.34.1",
8
8
  "@types/node": "^17.0.0",