@typus/typus-sdk 1.2.58 → 1.2.60
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.
- package/lib/utils/recap2023.js +3 -6
- package/lib/utils/typus-dov-single-v2/mfud-user-entry.d.ts +1 -0
- package/lib/utils/typus-dov-single-v2/mfud-user-entry.js +6 -1
- package/lib/utils/typus-dov-single-v2/user-entry.js +2 -2
- package/lib/utils/typus-dov-single-v2/user-history.d.ts +8 -5
- package/lib/utils/typus-dov-single-v2/user-history.js +188 -162
- package/package.json +1 -1
package/lib/utils/recap2023.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
|
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]];
|
|
@@ -94,6 +94,7 @@ export declare function getRedeemTx(input: {
|
|
|
94
94
|
}): TransactionBlock;
|
|
95
95
|
export declare function getNewBidTx(input: {
|
|
96
96
|
tx: TransactionBlock;
|
|
97
|
+
typusFrameworkPackageId: string;
|
|
97
98
|
typusDovSinglePackageId: string;
|
|
98
99
|
typusDovSingleRegistry: string;
|
|
99
100
|
mfudPackageId: string;
|
|
@@ -308,7 +308,7 @@ function getNewBidTx(input) {
|
|
|
308
308
|
],
|
|
309
309
|
});
|
|
310
310
|
var result = input.tx.moveCall({
|
|
311
|
-
target: "".concat(input.typusDovSinglePackageId, "::tails_staking::
|
|
311
|
+
target: "".concat(input.typusDovSinglePackageId, "::tails_staking::new_bid_v2"),
|
|
312
312
|
typeArguments: input.typeArguments,
|
|
313
313
|
arguments: [
|
|
314
314
|
input.tx.object(input.typusDovSingleRegistry),
|
|
@@ -324,6 +324,11 @@ function getNewBidTx(input) {
|
|
|
324
324
|
arguments: [input.tx.object(input.mfudRegistry), input.tx.object(result[1])],
|
|
325
325
|
});
|
|
326
326
|
input.tx.transferObjects([input.tx.object(fud_coin)], input.user);
|
|
327
|
+
input.tx.moveCall({
|
|
328
|
+
target: "".concat(input.typusFrameworkPackageId, "::utils::transfer_coins"),
|
|
329
|
+
typeArguments: [input.typeArguments[1]],
|
|
330
|
+
arguments: [input.tx.makeMoveVec({ objects: [input.tx.object(result[1])] }), input.tx.pure(input.user)],
|
|
331
|
+
});
|
|
327
332
|
return input.tx;
|
|
328
333
|
}
|
|
329
334
|
exports.getNewBidTx = getNewBidTx;
|
|
@@ -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
|
|
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.
|
|
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
|
|
61
|
+
function getUserEvents(provider, sender, cursor) {
|
|
46
62
|
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
var
|
|
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: "
|
|
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,
|
|
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
|
-
|
|
167
|
-
|
|
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 =
|
|
171
|
-
functionType = (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
+
}
|