@typus/typus-sdk 1.4.18 → 1.4.19
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/dist/config-mainnet.json +3 -3
- package/dist/src/auto-bid/token-user-entry.d.ts +9 -0
- package/dist/src/auto-bid/token-user-entry.js +126 -0
- package/dist/src/typus/airdrop/authority-entry.d.ts +14 -2
- package/dist/src/typus/airdrop/authority-entry.js +27 -32
- package/dist/src/typus/airdrop/user-entry.d.ts +2 -5
- package/dist/src/typus/airdrop/user-entry.js +8 -8
- package/dist/src/typus/airdrop/view-function.d.ts +2 -5
- package/dist/src/typus/airdrop/view-function.js +5 -5
- package/dist/src/typus/leaderboard/authority-entry.d.ts +10 -2
- package/dist/src/typus/leaderboard/authority-entry.js +12 -13
- package/dist/src/typus/leaderboard/view-function.d.ts +2 -5
- package/dist/src/typus/leaderboard/view-function.js +6 -6
- package/dist/src/typus/tails-staking/authority-entry.d.ts +12 -55
- package/dist/src/typus/tails-staking/authority-entry.js +73 -97
- package/dist/src/typus/tails-staking/user-entry.d.ts +14 -44
- package/dist/src/typus/tails-staking/user-entry.js +123 -123
- package/dist/src/typus/tails-staking/view-function.d.ts +3 -11
- package/dist/src/typus/tails-staking/view-function.js +10 -10
- package/dist/src/typus/user/view-function.d.ts +2 -5
- package/dist/src/typus/user/view-function.js +5 -5
- package/dist/src/typus-dov-single-v2/authority-entry.d.ts +26 -18
- package/dist/src/typus-dov-single-v2/authority-entry.js +23 -114
- package/dist/src/typus-dov-single-v2/function/bidding.js +4 -5
- package/dist/src/typus-dov-single-v2/token-user-entry.d.ts +11 -84
- package/dist/src/typus-dov-single-v2/token-user-entry.js +191 -316
- package/dist/src/typus-dov-single-v2/user-entry.d.ts +11 -69
- package/dist/src/typus-dov-single-v2/user-entry.js +183 -194
- package/dist/src/typus-dov-single-v2/view-function.d.ts +20 -6
- package/dist/src/typus-dov-single-v2/view-function.js +37 -43
- package/dist/src/typus-perp/user/orderWithBidReceipt.js +1 -5
- package/dist/src/typus-safu/index.d.ts +2 -1
- package/dist/src/typus-safu/index.js +2 -1
- package/dist/src/typus-safu/user-history.d.ts +12 -0
- package/dist/src/typus-safu/user-history.js +312 -0
- package/dist/src/utils/typusConfig.d.ts +1 -0
- package/package.json +1 -1
|
@@ -60,24 +60,23 @@ exports.getMyBids = getMyBids;
|
|
|
60
60
|
exports.getRefundShares = getRefundShares;
|
|
61
61
|
var transactions_1 = require("@mysten/sui.js/transactions");
|
|
62
62
|
var bcs_1 = require("@mysten/bcs");
|
|
63
|
-
var utils_1 = require("
|
|
63
|
+
var utils_1 = require("src/utils");
|
|
64
64
|
var SENDER = "0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
|
65
|
-
function getVaults(
|
|
66
|
-
return __awaiter(this,
|
|
65
|
+
function getVaults(config, provider, input) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
67
67
|
var transactionBlock, target, transactionBlockArguments, results, bytes, reader, result;
|
|
68
|
-
if (sender === void 0) { sender = SENDER; }
|
|
69
68
|
return __generator(this, function (_a) {
|
|
70
69
|
switch (_a.label) {
|
|
71
70
|
case 0:
|
|
72
71
|
transactionBlock = new transactions_1.TransactionBlock();
|
|
73
|
-
target = "".concat(
|
|
74
|
-
transactionBlockArguments = [transactionBlock.pure(registry), transactionBlock.pure(indexes)];
|
|
72
|
+
target = "".concat(config.package.dovSingle, "::tds_view_function::get_vault_data_bcs");
|
|
73
|
+
transactionBlockArguments = [transactionBlock.pure(config.registry.dov.dovSingle), transactionBlock.pure(input.indexes)];
|
|
75
74
|
transactionBlock.moveCall({
|
|
76
75
|
target: target,
|
|
77
76
|
typeArguments: [],
|
|
78
77
|
arguments: transactionBlockArguments,
|
|
79
78
|
});
|
|
80
|
-
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender:
|
|
79
|
+
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: SENDER })];
|
|
81
80
|
case 1:
|
|
82
81
|
results = (_a.sent()).results;
|
|
83
82
|
bytes = results[results.length - 1].returnValues[0][0];
|
|
@@ -293,22 +292,21 @@ function getVaults(provider_1, packageId_1, registry_1, indexes_1) {
|
|
|
293
292
|
});
|
|
294
293
|
});
|
|
295
294
|
}
|
|
296
|
-
function getAuctions(
|
|
297
|
-
return __awaiter(this,
|
|
295
|
+
function getAuctions(config, provider, input) {
|
|
296
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
298
297
|
var transactionBlock, target, transactionBlockArguments, results, bytes, reader, result;
|
|
299
|
-
if (sender === void 0) { sender = SENDER; }
|
|
300
298
|
return __generator(this, function (_a) {
|
|
301
299
|
switch (_a.label) {
|
|
302
300
|
case 0:
|
|
303
301
|
transactionBlock = new transactions_1.TransactionBlock();
|
|
304
|
-
target = "".concat(
|
|
305
|
-
transactionBlockArguments = [transactionBlock.pure(registry), transactionBlock.pure(indexes)];
|
|
302
|
+
target = "".concat(config.package.dovSingle, "::tds_view_function::get_auction_bcs");
|
|
303
|
+
transactionBlockArguments = [transactionBlock.pure(config.registry.dov.dovSingle), transactionBlock.pure(input.indexes)];
|
|
306
304
|
transactionBlock.moveCall({
|
|
307
305
|
target: target,
|
|
308
306
|
typeArguments: [],
|
|
309
307
|
arguments: transactionBlockArguments,
|
|
310
308
|
});
|
|
311
|
-
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender:
|
|
309
|
+
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: SENDER })];
|
|
312
310
|
case 1:
|
|
313
311
|
results = (_a.sent()).results;
|
|
314
312
|
bytes = results[results.length - 1].returnValues[0][0];
|
|
@@ -361,22 +359,21 @@ function getAuctions(provider_1, packageId_1, registry_1, indexes_1) {
|
|
|
361
359
|
});
|
|
362
360
|
});
|
|
363
361
|
}
|
|
364
|
-
function getAuctionBids(
|
|
365
|
-
return __awaiter(this,
|
|
362
|
+
function getAuctionBids(config, provider, input) {
|
|
363
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
366
364
|
var transactionBlock, target, transactionBlockArguments, results, bytes, reader, result;
|
|
367
|
-
if (sender === void 0) { sender = SENDER; }
|
|
368
365
|
return __generator(this, function (_a) {
|
|
369
366
|
switch (_a.label) {
|
|
370
367
|
case 0:
|
|
371
368
|
transactionBlock = new transactions_1.TransactionBlock();
|
|
372
|
-
target = "".concat(
|
|
373
|
-
transactionBlockArguments = [transactionBlock.pure(registry), transactionBlock.pure(index)];
|
|
369
|
+
target = "".concat(config.package.dovSingle, "::tds_view_function::get_auction_bids_bcs");
|
|
370
|
+
transactionBlockArguments = [transactionBlock.pure(config.registry.dov.dovSingle), transactionBlock.pure(input.index)];
|
|
374
371
|
transactionBlock.moveCall({
|
|
375
372
|
target: target,
|
|
376
373
|
typeArguments: [],
|
|
377
374
|
arguments: transactionBlockArguments,
|
|
378
375
|
});
|
|
379
|
-
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender:
|
|
376
|
+
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: SENDER })];
|
|
380
377
|
case 1:
|
|
381
378
|
results = (_a.sent()).results;
|
|
382
379
|
bytes = results[results.length - 1].returnValues[0][0];
|
|
@@ -400,29 +397,28 @@ function getAuctionBids(provider_1, packageId_1, registry_1, index_1) {
|
|
|
400
397
|
});
|
|
401
398
|
});
|
|
402
399
|
}
|
|
403
|
-
function getDepositShares(
|
|
404
|
-
return __awaiter(this,
|
|
400
|
+
function getDepositShares(config, provider, input) {
|
|
401
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
405
402
|
var transactionBlock, target, transactionBlockArguments, results, bytes, reader, depositShare, depositSnapshot;
|
|
406
|
-
if (sender === void 0) { sender = SENDER; }
|
|
407
403
|
return __generator(this, function (_a) {
|
|
408
404
|
switch (_a.label) {
|
|
409
405
|
case 0:
|
|
410
406
|
transactionBlock = new transactions_1.TransactionBlock();
|
|
411
|
-
target = "".concat(
|
|
407
|
+
target = "".concat(config.package.dovSingle, "::tds_view_function::get_deposit_shares_bcs");
|
|
412
408
|
transactionBlockArguments = [
|
|
413
|
-
transactionBlock.pure(registry),
|
|
409
|
+
transactionBlock.pure(config.registry.dov.dovSingle),
|
|
414
410
|
transactionBlock.makeMoveVec({
|
|
415
|
-
type: "".concat(
|
|
416
|
-
objects: receipts.map(function (id) { return transactionBlock.object(id); }),
|
|
411
|
+
type: "".concat(config.package.framework, "::vault::TypusDepositReceipt"),
|
|
412
|
+
objects: input.receipts.map(function (id) { return transactionBlock.object(id); }),
|
|
417
413
|
}),
|
|
418
|
-
transactionBlock.pure(user),
|
|
414
|
+
transactionBlock.pure(input.user),
|
|
419
415
|
];
|
|
420
416
|
transactionBlock.moveCall({
|
|
421
417
|
target: target,
|
|
422
418
|
typeArguments: [],
|
|
423
419
|
arguments: transactionBlockArguments,
|
|
424
420
|
});
|
|
425
|
-
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender:
|
|
421
|
+
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: SENDER })];
|
|
426
422
|
case 1:
|
|
427
423
|
results = (_a.sent()).results;
|
|
428
424
|
bytes = results[results.length - 1].returnValues[0][0];
|
|
@@ -471,20 +467,19 @@ function getDepositShares(provider_1, typusFrameworkPackageId_1, packageId_1, re
|
|
|
471
467
|
});
|
|
472
468
|
});
|
|
473
469
|
}
|
|
474
|
-
function getMyBids(
|
|
475
|
-
return __awaiter(this,
|
|
470
|
+
function getMyBids(config, provider, input) {
|
|
471
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
476
472
|
var transactionBlock, target, transactionBlockArguments, results, bytes, reader, result;
|
|
477
|
-
if (sender === void 0) { sender = SENDER; }
|
|
478
473
|
return __generator(this, function (_a) {
|
|
479
474
|
switch (_a.label) {
|
|
480
475
|
case 0:
|
|
481
476
|
transactionBlock = new transactions_1.TransactionBlock();
|
|
482
|
-
target = "".concat(
|
|
477
|
+
target = "".concat(config.package.dovSingle, "::tds_view_function::get_my_bids_bcs");
|
|
483
478
|
transactionBlockArguments = [
|
|
484
|
-
transactionBlock.pure(registry),
|
|
479
|
+
transactionBlock.pure(config.registry.dov.dovSingle),
|
|
485
480
|
transactionBlock.makeMoveVec({
|
|
486
|
-
type: "".concat(
|
|
487
|
-
objects: receipts.map(function (id) { return transactionBlock.object(id); }),
|
|
481
|
+
type: "".concat(config.package.framework, "::vault::TypusBidReceipt"),
|
|
482
|
+
objects: input.receipts.map(function (id) { return transactionBlock.object(id); }),
|
|
488
483
|
}),
|
|
489
484
|
];
|
|
490
485
|
transactionBlock.moveCall({
|
|
@@ -492,7 +487,7 @@ function getMyBids(provider_1, typusFrameworkPackageId_1, packageId_1, registry_
|
|
|
492
487
|
typeArguments: [],
|
|
493
488
|
arguments: transactionBlockArguments,
|
|
494
489
|
});
|
|
495
|
-
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender:
|
|
490
|
+
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: SENDER })];
|
|
496
491
|
case 1:
|
|
497
492
|
results = (_a.sent()).results;
|
|
498
493
|
bytes = results[results.length - 1].returnValues[0][0];
|
|
@@ -534,17 +529,16 @@ function getMyBids(provider_1, typusFrameworkPackageId_1, packageId_1, registry_
|
|
|
534
529
|
});
|
|
535
530
|
});
|
|
536
531
|
}
|
|
537
|
-
function getRefundShares(
|
|
538
|
-
return __awaiter(this,
|
|
532
|
+
function getRefundShares(config, provider, input) {
|
|
533
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
539
534
|
var transactionBlock, target, transactionBlockArguments, results, refundShares;
|
|
540
|
-
if (sender === void 0) { sender = SENDER; }
|
|
541
535
|
return __generator(this, function (_a) {
|
|
542
536
|
switch (_a.label) {
|
|
543
537
|
case 0:
|
|
544
538
|
transactionBlock = new transactions_1.TransactionBlock();
|
|
545
|
-
target = "".concat(
|
|
546
|
-
transactionBlockArguments = [transactionBlock.pure(registry)];
|
|
547
|
-
typeArguments.forEach(function (typeArgument) {
|
|
539
|
+
target = "".concat(config.package.dovSingle, "::tds_view_function::get_refund_shares_bcs");
|
|
540
|
+
transactionBlockArguments = [transactionBlock.pure(config.registry.dov.dovSingle)];
|
|
541
|
+
input.typeArguments.forEach(function (typeArgument) {
|
|
548
542
|
transactionBlock.moveCall({
|
|
549
543
|
target: target,
|
|
550
544
|
typeArguments: [typeArgument],
|
|
@@ -553,7 +547,7 @@ function getRefundShares(provider_1, packageId_1, registry_1, typeArguments_1) {
|
|
|
553
547
|
});
|
|
554
548
|
return [4 /*yield*/, provider.devInspectTransactionBlock({
|
|
555
549
|
transactionBlock: transactionBlock,
|
|
556
|
-
sender:
|
|
550
|
+
sender: SENDER,
|
|
557
551
|
})];
|
|
558
552
|
case 1:
|
|
559
553
|
results = (_a.sent()).results;
|
|
@@ -59,11 +59,7 @@ function createTradingOrderWithBidReceipt(config, input) {
|
|
|
59
59
|
baseToken = constants_1.tokenType[__1.NETWORK][BASE_TOKEN];
|
|
60
60
|
(0, utils_1.updateOracleWithPyth)(input.pythClient, input.tx, config.package.oracle, config.oracle[BASE_TOKEN.toLocaleLowerCase()], BASE_TOKEN, "USDC");
|
|
61
61
|
if (input.share) {
|
|
62
|
-
collateralBidReceipt = (0, typus_dov_single_v2_1.getSplitBidReceiptTx)({
|
|
63
|
-
tx: input.tx,
|
|
64
|
-
typusFrameworkOriginPackageId: config.packageOrigin.framework,
|
|
65
|
-
typusDovSinglePackageId: config.package.dovSingle,
|
|
66
|
-
typusDovSingleRegistry: config.registry.dov.dovSingle,
|
|
62
|
+
collateralBidReceipt = (0, typus_dov_single_v2_1.getSplitBidReceiptTx)(config, input.tx, {
|
|
67
63
|
index: input.index,
|
|
68
64
|
receipts: [input.bidReceipt],
|
|
69
65
|
share: input.share,
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.NETWORK = void 0;
|
|
18
18
|
__exportStar(require("./view-function"), exports);
|
|
19
19
|
__exportStar(require("./user-entry"), exports);
|
|
20
|
-
|
|
20
|
+
__exportStar(require("./user-history"), exports);
|
|
21
|
+
exports.NETWORK = "MAINNET";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventId, SuiClient, SuiEvent } from "@mysten/sui.js/client";
|
|
2
|
+
export declare function getUserEvents(provider: SuiClient, sender: string, cursor?: EventId | null): Promise<[SuiEvent[], EventId | null | undefined]>;
|
|
3
|
+
export interface TxHistory {
|
|
4
|
+
Action: string;
|
|
5
|
+
Index: string;
|
|
6
|
+
Amount: string;
|
|
7
|
+
Exp: string | undefined;
|
|
8
|
+
Date: Date;
|
|
9
|
+
txDigest: string;
|
|
10
|
+
log: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare function parseTxHistory(datas: Array<any>, originPackage: string): Promise<Array<TxHistory>>;
|
|
@@ -0,0 +1,312 @@
|
|
|
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.getUserEvents = getUserEvents;
|
|
40
|
+
exports.parseTxHistory = parseTxHistory;
|
|
41
|
+
function getUserEvents(provider, sender, cursor) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
+
var senderFilter, hasNextPage, datas, result;
|
|
44
|
+
return __generator(this, function (_a) {
|
|
45
|
+
switch (_a.label) {
|
|
46
|
+
case 0:
|
|
47
|
+
senderFilter = {
|
|
48
|
+
Sender: sender,
|
|
49
|
+
};
|
|
50
|
+
hasNextPage = true;
|
|
51
|
+
datas = [];
|
|
52
|
+
_a.label = 1;
|
|
53
|
+
case 1:
|
|
54
|
+
if (!hasNextPage) return [3 /*break*/, 3];
|
|
55
|
+
return [4 /*yield*/, provider.queryEvents({
|
|
56
|
+
query: senderFilter,
|
|
57
|
+
order: "ascending",
|
|
58
|
+
cursor: cursor,
|
|
59
|
+
})];
|
|
60
|
+
case 2:
|
|
61
|
+
result = _a.sent();
|
|
62
|
+
// console.log(result);
|
|
63
|
+
hasNextPage = result.hasNextPage;
|
|
64
|
+
cursor = result.nextCursor;
|
|
65
|
+
// @ts-ignore
|
|
66
|
+
datas = datas.concat(result.data);
|
|
67
|
+
return [3 /*break*/, 1];
|
|
68
|
+
case 3: return [2 /*return*/, [datas, cursor]];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function parseTxHistory(datas, originPackage // safu package
|
|
74
|
+
) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
76
|
+
var results;
|
|
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
|
+
return event.packageId == originPackage;
|
|
83
|
+
})
|
|
84
|
+
.sort(function (a, b) {
|
|
85
|
+
// From Old to New!
|
|
86
|
+
if (a.timestampMs == b.timestampMs) {
|
|
87
|
+
return Number(a.id.eventSeq) - Number(b.id.eventSeq);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return Number(a.timestampMs) - Number(b.timestampMs);
|
|
91
|
+
}
|
|
92
|
+
})
|
|
93
|
+
.reduce(function (promise, event) { return __awaiter(_this, void 0, void 0, function () {
|
|
94
|
+
var txHistory, action, log;
|
|
95
|
+
return __generator(this, function (_a) {
|
|
96
|
+
switch (_a.label) {
|
|
97
|
+
case 0: return [4 /*yield*/, promise];
|
|
98
|
+
case 1:
|
|
99
|
+
txHistory = _a.sent();
|
|
100
|
+
action = event.parsedJson.action;
|
|
101
|
+
log = event.parsedJson.log;
|
|
102
|
+
switch (action) {
|
|
103
|
+
case "raise_fund":
|
|
104
|
+
if (Number(log[2]) + Number(log[3]) + Number(log[4]) + Number(log[5]) > 0) {
|
|
105
|
+
txHistory.push({
|
|
106
|
+
Action: "Deposit",
|
|
107
|
+
Index: log[0],
|
|
108
|
+
Amount: (Number(log[2]) + Number(log[3]) + Number(log[4]) + Number(log[5])).toString(),
|
|
109
|
+
Exp: log[6],
|
|
110
|
+
Date: new Date(Number(event.timestampMs)),
|
|
111
|
+
txDigest: event.id.txDigest,
|
|
112
|
+
log: log,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
if (Number(log[5]) > 0) {
|
|
116
|
+
txHistory.push({
|
|
117
|
+
Action: "Compound",
|
|
118
|
+
Index: log[0],
|
|
119
|
+
Amount: Number(log[5]).toString(),
|
|
120
|
+
Exp: log[6],
|
|
121
|
+
Date: new Date(Number(event.timestampMs)),
|
|
122
|
+
txDigest: event.id.txDigest,
|
|
123
|
+
log: log,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
break;
|
|
127
|
+
case "reduce_fund":
|
|
128
|
+
if (Number(log[2]) > 0) {
|
|
129
|
+
txHistory.push({
|
|
130
|
+
Action: "Withdraw",
|
|
131
|
+
Index: log[0],
|
|
132
|
+
Amount: Number(log[2]).toString(),
|
|
133
|
+
Exp: log[5],
|
|
134
|
+
Date: new Date(Number(event.timestampMs)),
|
|
135
|
+
txDigest: event.id.txDigest,
|
|
136
|
+
log: log,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
if (Number(log[3]) > 0) {
|
|
140
|
+
txHistory.push({
|
|
141
|
+
Action: "Unsubscribe",
|
|
142
|
+
Index: log[0],
|
|
143
|
+
Amount: Number(log[3]).toString(),
|
|
144
|
+
Exp: log[5],
|
|
145
|
+
Date: new Date(Number(event.timestampMs)),
|
|
146
|
+
txDigest: event.id.txDigest,
|
|
147
|
+
log: log,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
if (Number(log[4]) > 0) {
|
|
151
|
+
txHistory.push({
|
|
152
|
+
Action: "Claim",
|
|
153
|
+
Index: log[0],
|
|
154
|
+
Amount: Number(log[4]).toString(),
|
|
155
|
+
Exp: log[5],
|
|
156
|
+
Date: new Date(Number(event.timestampMs)),
|
|
157
|
+
txDigest: event.id.txDigest,
|
|
158
|
+
log: log,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
break;
|
|
162
|
+
case "claim_reward":
|
|
163
|
+
txHistory.push({
|
|
164
|
+
Action: "Harvest Options Profit",
|
|
165
|
+
Index: log[0],
|
|
166
|
+
Amount: Number(log[2]).toString(),
|
|
167
|
+
Exp: undefined,
|
|
168
|
+
Date: new Date(Number(event.timestampMs)),
|
|
169
|
+
txDigest: event.id.txDigest,
|
|
170
|
+
log: log,
|
|
171
|
+
});
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
return [2 /*return*/, txHistory];
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}); }, Promise.resolve(new Array()))];
|
|
178
|
+
case 1:
|
|
179
|
+
results = _a.sent();
|
|
180
|
+
return [2 /*return*/, results];
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
// export function getDepositorCashFlows(userHistory: TxHistory[]) {
|
|
186
|
+
// let depositorCashFlows = new Map<string, DepositorCashFlow>();
|
|
187
|
+
// for (let history of userHistory) {
|
|
188
|
+
// const index = history.Index!;
|
|
189
|
+
// if (history.Action!.startsWith("Harvest Reward")) {
|
|
190
|
+
// let historyAmounts = history.Amount?.split("\n")!;
|
|
191
|
+
// for (let historyAmount of historyAmounts) {
|
|
192
|
+
// const [amount, token] = historyAmount.split(" ")!;
|
|
193
|
+
// if (depositorCashFlows.has(index)) {
|
|
194
|
+
// let depositorCashFlow = depositorCashFlows.get(index)!;
|
|
195
|
+
// let totalHarvest = depositorCashFlow.totalHarvest;
|
|
196
|
+
// if (totalHarvest.has(token)) {
|
|
197
|
+
// let sum = totalHarvest.get(token)!;
|
|
198
|
+
// totalHarvest.set(token, sum + Number(amount));
|
|
199
|
+
// } else {
|
|
200
|
+
// totalHarvest.set(token, Number(amount));
|
|
201
|
+
// }
|
|
202
|
+
// depositorCashFlow.totalHarvest = totalHarvest;
|
|
203
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
204
|
+
// } else {
|
|
205
|
+
// let totalHarvest = new Map();
|
|
206
|
+
// totalHarvest.set(token, Number(amount));
|
|
207
|
+
// let depositorCashFlow: DepositorCashFlow = {
|
|
208
|
+
// D_TOKEN: undefined,
|
|
209
|
+
// totalDeposit: 0,
|
|
210
|
+
// totalWithdraw: 0,
|
|
211
|
+
// totalClaim: 0,
|
|
212
|
+
// totalCompound: 0,
|
|
213
|
+
// netDeposit: undefined,
|
|
214
|
+
// totalHarvest,
|
|
215
|
+
// };
|
|
216
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
217
|
+
// }
|
|
218
|
+
// }
|
|
219
|
+
// } else if (history.Action!.startsWith("Deposit")) {
|
|
220
|
+
// const [amount, token] = history.Amount?.split(" ")!;
|
|
221
|
+
// if (depositorCashFlows.has(index)) {
|
|
222
|
+
// let depositorCashFlow = depositorCashFlows.get(index)!;
|
|
223
|
+
// depositorCashFlow.D_TOKEN = token;
|
|
224
|
+
// depositorCashFlow.totalDeposit += Number(amount);
|
|
225
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
226
|
+
// } else {
|
|
227
|
+
// let depositorCashFlow: DepositorCashFlow = {
|
|
228
|
+
// D_TOKEN: token,
|
|
229
|
+
// totalDeposit: Number(amount),
|
|
230
|
+
// totalWithdraw: 0,
|
|
231
|
+
// totalClaim: 0,
|
|
232
|
+
// totalCompound: 0,
|
|
233
|
+
// netDeposit: undefined,
|
|
234
|
+
// totalHarvest: new Map(),
|
|
235
|
+
// };
|
|
236
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
237
|
+
// }
|
|
238
|
+
// } else if (history.Action!.startsWith("Withdraw")) {
|
|
239
|
+
// const [amount, token] = history.Amount?.split(" ")!;
|
|
240
|
+
// if (depositorCashFlows.has(index)) {
|
|
241
|
+
// let depositorCashFlow = depositorCashFlows.get(index)!;
|
|
242
|
+
// depositorCashFlow.D_TOKEN = token;
|
|
243
|
+
// depositorCashFlow.totalWithdraw += Number(amount);
|
|
244
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
245
|
+
// } else {
|
|
246
|
+
// let depositorCashFlow: DepositorCashFlow = {
|
|
247
|
+
// D_TOKEN: token,
|
|
248
|
+
// totalDeposit: 0,
|
|
249
|
+
// totalWithdraw: Number(amount),
|
|
250
|
+
// totalClaim: 0,
|
|
251
|
+
// totalCompound: 0,
|
|
252
|
+
// netDeposit: undefined,
|
|
253
|
+
// totalHarvest: new Map(),
|
|
254
|
+
// };
|
|
255
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
256
|
+
// }
|
|
257
|
+
// } else if (history.Action! == "Claim") {
|
|
258
|
+
// const [amount, token] = history.Amount?.split(" ")!;
|
|
259
|
+
// if (depositorCashFlows.has(index)) {
|
|
260
|
+
// let depositorCashFlow = depositorCashFlows.get(index)!;
|
|
261
|
+
// depositorCashFlow.D_TOKEN = token;
|
|
262
|
+
// depositorCashFlow.totalClaim += Number(amount);
|
|
263
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
264
|
+
// } else {
|
|
265
|
+
// let depositorCashFlow: DepositorCashFlow = {
|
|
266
|
+
// D_TOKEN: token,
|
|
267
|
+
// totalDeposit: 0,
|
|
268
|
+
// totalWithdraw: 0,
|
|
269
|
+
// totalClaim: Number(amount),
|
|
270
|
+
// totalCompound: 0,
|
|
271
|
+
// netDeposit: undefined,
|
|
272
|
+
// totalHarvest: new Map(),
|
|
273
|
+
// };
|
|
274
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
275
|
+
// }
|
|
276
|
+
// } else if (history.Action! == "Compound") {
|
|
277
|
+
// const [amount, token] = history.Amount?.split(" ")!;
|
|
278
|
+
// if (depositorCashFlows.has(index)) {
|
|
279
|
+
// let depositorCashFlow = depositorCashFlows.get(index)!;
|
|
280
|
+
// depositorCashFlow.D_TOKEN = token;
|
|
281
|
+
// depositorCashFlow.totalCompound += Number(amount);
|
|
282
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
283
|
+
// } else {
|
|
284
|
+
// let depositorCashFlow: DepositorCashFlow = {
|
|
285
|
+
// D_TOKEN: token,
|
|
286
|
+
// totalDeposit: 0,
|
|
287
|
+
// totalWithdraw: 0,
|
|
288
|
+
// totalClaim: 0,
|
|
289
|
+
// totalCompound: Number(amount),
|
|
290
|
+
// netDeposit: undefined,
|
|
291
|
+
// totalHarvest: new Map(),
|
|
292
|
+
// };
|
|
293
|
+
// depositorCashFlows.set(index, depositorCashFlow);
|
|
294
|
+
// }
|
|
295
|
+
// }
|
|
296
|
+
// }
|
|
297
|
+
// // console.log(depositorCashFlows);
|
|
298
|
+
// for (let [index, share] of depositorCashFlows.entries()) {
|
|
299
|
+
// share.netDeposit = share.totalDeposit + share.totalCompound - share.totalWithdraw - share.totalClaim;
|
|
300
|
+
// depositorCashFlows.set(index, share);
|
|
301
|
+
// }
|
|
302
|
+
// return depositorCashFlows;
|
|
303
|
+
// }
|
|
304
|
+
// export interface DepositorCashFlow {
|
|
305
|
+
// D_TOKEN: string | undefined;
|
|
306
|
+
// totalDeposit: number;
|
|
307
|
+
// totalWithdraw: number;
|
|
308
|
+
// totalClaim: number;
|
|
309
|
+
// totalCompound: number;
|
|
310
|
+
// netDeposit: number | undefined;
|
|
311
|
+
// totalHarvest: Map<string, number>;
|
|
312
|
+
// }
|