@typus/typus-sdk 1.8.43-upgrade-0.2 → 1.8.43-upgrade-0.3
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/src/auto-bid/view-function.js +1 -1
- package/dist/src/dice/fetch.js +1 -1
- package/dist/src/typus-dov-single-v2/function/index.d.ts +0 -1
- package/dist/src/typus-dov-single-v2/function/index.js +0 -1
- package/dist/src/typus-dov-single-v2/view-function.d.ts +3 -0
- package/dist/src/typus-dov-single-v2/view-function.js +43 -1
- package/dist/src/typus-launch/funding-vault/view-function.js +1 -1
- package/dist/src/typus-nft/fetch.d.ts +36 -0
- package/dist/src/typus-nft/fetch.js +269 -0
- package/dist/src/typus-nft/index.d.ts +1 -0
- package/dist/src/typus-nft/index.js +17 -0
- package/dist/src/utils/api/price.js +5 -57
- package/dist/src/utils/api/sentio/events.js +4 -4
- package/dist/src/utils/api/sentio/leader-board.js +1 -1
- package/dist/src/utils/api/sentio/reward-generated.js +16 -16
- package/dist/src/utils/api/sentio/vault-history.js +1 -1
- package/package.json +2 -2
- package/dist/src/typus-dov-single-v2/function/bidding.d.ts +0 -88
- package/dist/src/typus-dov-single-v2/function/bidding.js +0 -652
|
@@ -200,7 +200,7 @@ function getStrategyPool(config) {
|
|
|
200
200
|
switch (_f.label) {
|
|
201
201
|
case 0:
|
|
202
202
|
provider = config.gRpcClient();
|
|
203
|
-
return [4 /*yield*/, provider.getObject({
|
|
203
|
+
return [4 /*yield*/, provider.getObject({ objectId: config.registry.dov.autoBid, include: { content: true } })];
|
|
204
204
|
case 1:
|
|
205
205
|
pool = (_e = (_f.sent()).data) === null || _e === void 0 ? void 0 : _e.content.fields;
|
|
206
206
|
vaults = pool.strategies.fields.contents;
|
package/dist/src/dice/fetch.js
CHANGED
|
@@ -228,7 +228,7 @@ function parseHistory(datas, playgrounds) {
|
|
|
228
228
|
// }
|
|
229
229
|
// export async function getProfitSharing(provider: SuiClient, diceProfitSharing: string) {
|
|
230
230
|
// let object = await provider.getObject({
|
|
231
|
-
//
|
|
231
|
+
// objectId: diceProfitSharing,
|
|
232
232
|
// include: { content: true },
|
|
233
233
|
// });
|
|
234
234
|
// // @ts-ignore
|
|
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./bidding"), exports);
|
|
18
17
|
__exportStar(require("./token"), exports);
|
|
19
18
|
__exportStar(require("./vault"), exports);
|
|
@@ -224,3 +224,6 @@ export declare function getRefundShares(config: TypusConfig, input: {
|
|
|
224
224
|
}): Promise<{
|
|
225
225
|
[key: string]: string;
|
|
226
226
|
}>;
|
|
227
|
+
export declare function getUserOwnedObjects(config: TypusConfig, user: string): Promise<import("@mysten/sui/client", { with: { "resolution-mode": "import" } }).SuiClientTypes.Object<{
|
|
228
|
+
content: true;
|
|
229
|
+
}>[]>;
|
|
@@ -51,6 +51,15 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
51
51
|
}
|
|
52
52
|
return ar;
|
|
53
53
|
};
|
|
54
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
55
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
56
|
+
if (ar || !(i in from)) {
|
|
57
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
58
|
+
ar[i] = from[i];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
62
|
+
};
|
|
54
63
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
64
|
exports.getVaults = getVaults;
|
|
56
65
|
exports.getAuctions = getAuctions;
|
|
@@ -58,6 +67,7 @@ exports.getAuctionBids = getAuctionBids;
|
|
|
58
67
|
exports.getDepositShares = getDepositShares;
|
|
59
68
|
exports.getMyBids = getMyBids;
|
|
60
69
|
exports.getRefundShares = getRefundShares;
|
|
70
|
+
exports.getUserOwnedObjects = getUserOwnedObjects;
|
|
61
71
|
var transactions_1 = require("@mysten/sui/transactions");
|
|
62
72
|
var bcs_1 = require("@mysten/bcs");
|
|
63
73
|
var utils_1 = require("../../src/utils");
|
|
@@ -503,7 +513,7 @@ function getMyBids(config, input) {
|
|
|
503
513
|
// early return if no results
|
|
504
514
|
return [2 /*return*/, {}];
|
|
505
515
|
}
|
|
506
|
-
bytes = results[results.length - 1].returnValues[0]
|
|
516
|
+
bytes = results[results.length - 1].returnValues[0].bcs;
|
|
507
517
|
reader = new bcs_1.BcsReader(new Uint8Array(bytes));
|
|
508
518
|
result = Array.from(new Map()).reduce(function (map, _a) {
|
|
509
519
|
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
@@ -583,3 +593,35 @@ function getRefundShares(config, input) {
|
|
|
583
593
|
});
|
|
584
594
|
});
|
|
585
595
|
}
|
|
596
|
+
function getUserOwnedObjects(config, user) {
|
|
597
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
598
|
+
var provider, result, hasNextPage, data, cursor;
|
|
599
|
+
return __generator(this, function (_a) {
|
|
600
|
+
switch (_a.label) {
|
|
601
|
+
case 0:
|
|
602
|
+
provider = config.gRpcClient();
|
|
603
|
+
return [4 /*yield*/, provider.listOwnedObjects({ owner: user, include: { content: true } })];
|
|
604
|
+
case 1:
|
|
605
|
+
result = _a.sent();
|
|
606
|
+
hasNextPage = result.hasNextPage;
|
|
607
|
+
data = result.objects;
|
|
608
|
+
cursor = result.cursor;
|
|
609
|
+
_a.label = 2;
|
|
610
|
+
case 2:
|
|
611
|
+
if (!hasNextPage) return [3 /*break*/, 4];
|
|
612
|
+
return [4 /*yield*/, provider.listOwnedObjects({
|
|
613
|
+
owner: user,
|
|
614
|
+
cursor: cursor,
|
|
615
|
+
include: { content: true },
|
|
616
|
+
})];
|
|
617
|
+
case 3:
|
|
618
|
+
result = _a.sent();
|
|
619
|
+
data = __spreadArray(__spreadArray([], __read(data), false), __read(result.objects), false);
|
|
620
|
+
hasNextPage = result.hasNextPage;
|
|
621
|
+
cursor = result.cursor;
|
|
622
|
+
return [3 /*break*/, 2];
|
|
623
|
+
case 4: return [2 /*return*/, data];
|
|
624
|
+
}
|
|
625
|
+
});
|
|
626
|
+
});
|
|
627
|
+
}
|
|
@@ -118,11 +118,11 @@ function getFund(config, input) {
|
|
|
118
118
|
results = (_a.sent())
|
|
119
119
|
.commandResults;
|
|
120
120
|
funds = {};
|
|
121
|
+
// console.log(results);
|
|
121
122
|
results === null || results === void 0 ? void 0 : results.forEach(function (result, i) {
|
|
122
123
|
// @ts-ignore
|
|
123
124
|
var bytes = result.returnValues[0].bcs;
|
|
124
125
|
var reader = new bcs_1.BcsReader(new Uint8Array(bytes));
|
|
125
|
-
reader.readULEB();
|
|
126
126
|
var fund = reader.readVec(function (reader) {
|
|
127
127
|
return {
|
|
128
128
|
balance: reader.read64(),
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { KioskClient, KioskListing } from "@mysten/kiosk";
|
|
2
|
+
import { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
3
|
+
export interface TailsId {
|
|
4
|
+
nftId: string;
|
|
5
|
+
kiosk: string;
|
|
6
|
+
kioskCap: string;
|
|
7
|
+
tails: Tails | undefined;
|
|
8
|
+
isPersonal: boolean;
|
|
9
|
+
listing?: KioskListing;
|
|
10
|
+
}
|
|
11
|
+
export interface kioskOwnerCap {
|
|
12
|
+
kioskId: string;
|
|
13
|
+
objectId: string;
|
|
14
|
+
isPersonal: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function getTailsIds(kioskClient: KioskClient, NFT_PACKAGE_ORIGIN: string, kioskOwnerCaps: kioskOwnerCap[]): Promise<TailsId[]>;
|
|
17
|
+
export interface TailsWithType extends Tails {
|
|
18
|
+
type: string | null | undefined;
|
|
19
|
+
}
|
|
20
|
+
export declare function getTails(provider: SuiGraphQLClient, tailsIds: string[]): Promise<TailsWithType[]>;
|
|
21
|
+
export interface Tails {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
number: string;
|
|
25
|
+
url: string;
|
|
26
|
+
level: string;
|
|
27
|
+
exp: string;
|
|
28
|
+
first_bid: string;
|
|
29
|
+
first_deposit: string;
|
|
30
|
+
first_deposit_nft: string;
|
|
31
|
+
attributes: Map<string, string>;
|
|
32
|
+
u64_padding: Map<string, string>;
|
|
33
|
+
}
|
|
34
|
+
export declare function getLevelExp(level: number): number | undefined;
|
|
35
|
+
export declare const LevelExpVec: number[];
|
|
36
|
+
export declare function calculateLevelReward(totalRewards: number, levelShares: number[], numOfHolders: number[]): number[];
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
24
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
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;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __values = (this && this.__values) || function(o) {
|
|
50
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
51
|
+
if (m) return m.call(o);
|
|
52
|
+
if (o && typeof o.length === "number") return {
|
|
53
|
+
next: function () {
|
|
54
|
+
if (o && i >= o.length) o = void 0;
|
|
55
|
+
return { value: o && o[i++], done: !o };
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
59
|
+
};
|
|
60
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
+
exports.LevelExpVec = void 0;
|
|
62
|
+
exports.getTailsIds = getTailsIds;
|
|
63
|
+
exports.getTails = getTails;
|
|
64
|
+
exports.getLevelExp = getLevelExp;
|
|
65
|
+
exports.calculateLevelReward = calculateLevelReward;
|
|
66
|
+
function getTailsIds(kioskClient, NFT_PACKAGE_ORIGIN, kioskOwnerCaps) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
68
|
+
var Tails, _loop_1, kioskOwnerCaps_1, kioskOwnerCaps_1_1, kioskOwnerCap, e_1_1;
|
|
69
|
+
var e_1, _a;
|
|
70
|
+
return __generator(this, function (_b) {
|
|
71
|
+
switch (_b.label) {
|
|
72
|
+
case 0:
|
|
73
|
+
Tails = [];
|
|
74
|
+
_loop_1 = function (kioskOwnerCap) {
|
|
75
|
+
var res, tails;
|
|
76
|
+
return __generator(this, function (_c) {
|
|
77
|
+
switch (_c.label) {
|
|
78
|
+
case 0: return [4 /*yield*/, kioskClient.getKiosk({ id: kioskOwnerCap.kioskId })];
|
|
79
|
+
case 1:
|
|
80
|
+
res = _c.sent();
|
|
81
|
+
tails = res.items
|
|
82
|
+
.filter(function (item) { return item.type == "".concat(NFT_PACKAGE_ORIGIN, "::typus_nft::Tails"); })
|
|
83
|
+
.map(function (item) {
|
|
84
|
+
// console.log(item);
|
|
85
|
+
// @ts-ignore
|
|
86
|
+
var tails = item.data;
|
|
87
|
+
var t = {
|
|
88
|
+
kiosk: kioskOwnerCap.kioskId,
|
|
89
|
+
kioskCap: kioskOwnerCap.objectId,
|
|
90
|
+
isPersonal: kioskOwnerCap.isPersonal,
|
|
91
|
+
nftId: item.objectId,
|
|
92
|
+
listing: item.listing,
|
|
93
|
+
tails: tails,
|
|
94
|
+
};
|
|
95
|
+
return t;
|
|
96
|
+
});
|
|
97
|
+
// console.log(tails);
|
|
98
|
+
Tails = Tails.concat(tails);
|
|
99
|
+
return [2 /*return*/];
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
_b.label = 1;
|
|
104
|
+
case 1:
|
|
105
|
+
_b.trys.push([1, 6, 7, 8]);
|
|
106
|
+
kioskOwnerCaps_1 = __values(kioskOwnerCaps), kioskOwnerCaps_1_1 = kioskOwnerCaps_1.next();
|
|
107
|
+
_b.label = 2;
|
|
108
|
+
case 2:
|
|
109
|
+
if (!!kioskOwnerCaps_1_1.done) return [3 /*break*/, 5];
|
|
110
|
+
kioskOwnerCap = kioskOwnerCaps_1_1.value;
|
|
111
|
+
return [5 /*yield**/, _loop_1(kioskOwnerCap)];
|
|
112
|
+
case 3:
|
|
113
|
+
_b.sent();
|
|
114
|
+
_b.label = 4;
|
|
115
|
+
case 4:
|
|
116
|
+
kioskOwnerCaps_1_1 = kioskOwnerCaps_1.next();
|
|
117
|
+
return [3 /*break*/, 2];
|
|
118
|
+
case 5: return [3 /*break*/, 8];
|
|
119
|
+
case 6:
|
|
120
|
+
e_1_1 = _b.sent();
|
|
121
|
+
e_1 = { error: e_1_1 };
|
|
122
|
+
return [3 /*break*/, 8];
|
|
123
|
+
case 7:
|
|
124
|
+
try {
|
|
125
|
+
if (kioskOwnerCaps_1_1 && !kioskOwnerCaps_1_1.done && (_a = kioskOwnerCaps_1.return)) _a.call(kioskOwnerCaps_1);
|
|
126
|
+
}
|
|
127
|
+
finally { if (e_1) throw e_1.error; }
|
|
128
|
+
return [7 /*endfinally*/];
|
|
129
|
+
case 8: return [2 /*return*/, Tails];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
function getTails(provider, tailsIds) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
136
|
+
var Tails, len, results, _loop_2, _a, _b, result;
|
|
137
|
+
var e_2, _c;
|
|
138
|
+
return __generator(this, function (_d) {
|
|
139
|
+
switch (_d.label) {
|
|
140
|
+
case 0:
|
|
141
|
+
Tails = [];
|
|
142
|
+
_d.label = 1;
|
|
143
|
+
case 1:
|
|
144
|
+
if (!(tailsIds.length > 0)) return [3 /*break*/, 3];
|
|
145
|
+
len = tailsIds.length > 50 ? 50 : tailsIds.length;
|
|
146
|
+
return [4 /*yield*/, provider.getObjects({ objectIds: tailsIds.splice(0, len), include: { json: true } })];
|
|
147
|
+
case 2:
|
|
148
|
+
results = _d.sent();
|
|
149
|
+
_loop_2 = function (result) {
|
|
150
|
+
if (result instanceof Error) {
|
|
151
|
+
console.error(result.cause);
|
|
152
|
+
return "continue";
|
|
153
|
+
}
|
|
154
|
+
var json = result.json;
|
|
155
|
+
// @ts-ignore
|
|
156
|
+
var tails = json;
|
|
157
|
+
var attributes = new Map();
|
|
158
|
+
// @ts-ignore
|
|
159
|
+
json.attributes.contents.forEach(function (f) { return attributes.set(f.key, f.value); });
|
|
160
|
+
var u64_padding = new Map();
|
|
161
|
+
// @ts-ignore
|
|
162
|
+
json.u64_padding.contents.forEach(function (f) { return u64_padding.set(f.key, f.value); });
|
|
163
|
+
tails.attributes = attributes;
|
|
164
|
+
tails.u64_padding = u64_padding;
|
|
165
|
+
// @ts-ignore
|
|
166
|
+
Tails.push(__assign(__assign({}, tails), { type: result.type }));
|
|
167
|
+
};
|
|
168
|
+
try {
|
|
169
|
+
for (_a = (e_2 = void 0, __values(results.objects)), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
170
|
+
result = _b.value;
|
|
171
|
+
_loop_2(result);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
175
|
+
finally {
|
|
176
|
+
try {
|
|
177
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
178
|
+
}
|
|
179
|
+
finally { if (e_2) throw e_2.error; }
|
|
180
|
+
}
|
|
181
|
+
return [3 /*break*/, 1];
|
|
182
|
+
case 3: return [2 /*return*/, Tails];
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
function getLevelExp(level) {
|
|
188
|
+
switch (level) {
|
|
189
|
+
case 1:
|
|
190
|
+
return exports.LevelExpVec[1];
|
|
191
|
+
case 2:
|
|
192
|
+
return exports.LevelExpVec[2];
|
|
193
|
+
case 3:
|
|
194
|
+
return exports.LevelExpVec[3];
|
|
195
|
+
case 4:
|
|
196
|
+
return exports.LevelExpVec[4];
|
|
197
|
+
case 5:
|
|
198
|
+
return exports.LevelExpVec[5];
|
|
199
|
+
case 6:
|
|
200
|
+
return exports.LevelExpVec[6];
|
|
201
|
+
case 7:
|
|
202
|
+
return exports.LevelExpVec[7];
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
exports.LevelExpVec = [0, 0, 1000, 50000, 250000, 1000000, 5000000, 20000000];
|
|
206
|
+
function calculateLevelReward(totalRewards, levelShares, numOfHolders) {
|
|
207
|
+
// Step 1: Calculate original level rewards (per holder)
|
|
208
|
+
var totalShares = levelShares.reduce(function (acc, share) { return acc + share; }, 0);
|
|
209
|
+
var originalRewardPerHolder = levelShares.map(function (levelShare, index) {
|
|
210
|
+
var num = numOfHolders[index];
|
|
211
|
+
var levelRewardPerHolder = num > 0 ? (totalRewards * levelShare) / totalShares / num : 0;
|
|
212
|
+
return Math.floor(levelRewardPerHolder);
|
|
213
|
+
});
|
|
214
|
+
var originalLevelRewards = originalRewardPerHolder.map(function (reward, index) { return reward * numOfHolders[index]; });
|
|
215
|
+
var distributedRewards = originalLevelRewards.reduce(function (acc, reward) { return acc + reward; }, 0);
|
|
216
|
+
var emptyLevelRewards = totalRewards - distributedRewards;
|
|
217
|
+
// Step 2: Distribute rewards from empty levels
|
|
218
|
+
var reversedOriginalRewardPerHolder = originalRewardPerHolder.slice().reverse();
|
|
219
|
+
var reversedNumOfHolders = numOfHolders.slice().reverse();
|
|
220
|
+
var reversedScaledRewardPerHolder = [];
|
|
221
|
+
if (emptyLevelRewards > 0) {
|
|
222
|
+
var undistributedRewards_1 = emptyLevelRewards;
|
|
223
|
+
var uncalculatedDistributedRewards_1 = distributedRewards;
|
|
224
|
+
reversedScaledRewardPerHolder = reversedOriginalRewardPerHolder.map(function (rewardPerHolder, index) {
|
|
225
|
+
var num = reversedNumOfHolders[index];
|
|
226
|
+
var scaledRewardPerHolder = num > 0
|
|
227
|
+
? uncalculatedDistributedRewards_1 > 0
|
|
228
|
+
? (rewardPerHolder * (uncalculatedDistributedRewards_1 + undistributedRewards_1)) / uncalculatedDistributedRewards_1
|
|
229
|
+
: rewardPerHolder
|
|
230
|
+
: 0;
|
|
231
|
+
undistributedRewards_1 -= (scaledRewardPerHolder - rewardPerHolder) * num;
|
|
232
|
+
uncalculatedDistributedRewards_1 -= rewardPerHolder * num;
|
|
233
|
+
return Math.floor(scaledRewardPerHolder);
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
reversedScaledRewardPerHolder = reversedOriginalRewardPerHolder.slice();
|
|
238
|
+
}
|
|
239
|
+
// Step 3: Capped level reward
|
|
240
|
+
var reversedCappedRewardPerHolder = [reversedOriginalRewardPerHolder[0]];
|
|
241
|
+
var tempHighLevelReward = 0;
|
|
242
|
+
reversedScaledRewardPerHolder.forEach(function (highLevelReward, index) {
|
|
243
|
+
var lowLevelReward = reversedScaledRewardPerHolder[index + 1] || 0;
|
|
244
|
+
tempHighLevelReward =
|
|
245
|
+
highLevelReward > 0
|
|
246
|
+
? tempHighLevelReward > 0
|
|
247
|
+
? Math.min(highLevelReward, tempHighLevelReward)
|
|
248
|
+
: highLevelReward
|
|
249
|
+
: tempHighLevelReward;
|
|
250
|
+
reversedCappedRewardPerHolder.push(tempHighLevelReward > 0 ? Math.min(lowLevelReward, tempHighLevelReward) : lowLevelReward);
|
|
251
|
+
});
|
|
252
|
+
reversedCappedRewardPerHolder.pop();
|
|
253
|
+
var cappedRewardPerHolder = reversedCappedRewardPerHolder.slice().reverse();
|
|
254
|
+
// Step 4: Distribute capped reward from Step 3 into each level
|
|
255
|
+
var distributedRewardsStep4 = reversedCappedRewardPerHolder.reduce(function (acc, reward, index) { return acc + reward * reversedNumOfHolders[index]; }, 0);
|
|
256
|
+
var undistributedRewardsStep4 = totalRewards - distributedRewardsStep4;
|
|
257
|
+
var uncalculatedDistributedRewardsStep4 = distributedRewardsStep4;
|
|
258
|
+
var levelReward = cappedRewardPerHolder.map(function (rewardPerHolder, index) {
|
|
259
|
+
var num = reversedNumOfHolders[index];
|
|
260
|
+
var scaledRewardPerHolder = uncalculatedDistributedRewardsStep4 > 0
|
|
261
|
+
? (rewardPerHolder * (uncalculatedDistributedRewardsStep4 + undistributedRewardsStep4)) /
|
|
262
|
+
uncalculatedDistributedRewardsStep4
|
|
263
|
+
: rewardPerHolder;
|
|
264
|
+
undistributedRewardsStep4 -= (scaledRewardPerHolder - rewardPerHolder) * num;
|
|
265
|
+
uncalculatedDistributedRewardsStep4 -= rewardPerHolder * num;
|
|
266
|
+
return Math.floor(scaledRewardPerHolder);
|
|
267
|
+
});
|
|
268
|
+
return levelReward;
|
|
269
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./fetch";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./fetch"), exports);
|
|
@@ -51,17 +51,6 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
51
51
|
}
|
|
52
52
|
return ar;
|
|
53
53
|
};
|
|
54
|
-
var __values = (this && this.__values) || function(o) {
|
|
55
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
56
|
-
if (m) return m.call(o);
|
|
57
|
-
if (o && typeof o.length === "number") return {
|
|
58
|
-
next: function () {
|
|
59
|
-
if (o && i >= o.length) o = void 0;
|
|
60
|
-
return { value: o && o[i++], done: !o };
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
64
|
-
};
|
|
65
54
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
55
|
exports.getPairPrices = getPairPrices;
|
|
67
56
|
exports.getLatestPrice = getLatestPrice;
|
|
@@ -208,54 +197,13 @@ function getPythLatestPriceBySymbols(symbols) {
|
|
|
208
197
|
}
|
|
209
198
|
function getLatestPriceUSD() {
|
|
210
199
|
return __awaiter(this, void 0, void 0, function () {
|
|
211
|
-
var prices
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
switch (_d.label) {
|
|
200
|
+
var prices;
|
|
201
|
+
return __generator(this, function (_a) {
|
|
202
|
+
switch (_a.label) {
|
|
215
203
|
case 0: return [4 /*yield*/, getPythLatestPrice()];
|
|
216
204
|
case 1:
|
|
217
|
-
prices = (
|
|
218
|
-
|
|
219
|
-
case 2:
|
|
220
|
-
_d.trys.push([2, 7, 8, 9]);
|
|
221
|
-
_a = __values(["SUIFUD", "SUIBUCK", "SUIAFSUI", "SCASUI", "USDYUSDC"]), _b = _a.next();
|
|
222
|
-
_d.label = 3;
|
|
223
|
-
case 3:
|
|
224
|
-
if (!!_b.done) return [3 /*break*/, 6];
|
|
225
|
-
pair = _b.value;
|
|
226
|
-
currentTimestampInSeconds = Math.floor(new Date().getTime() / 1000);
|
|
227
|
-
minuteAgo = currentTimestampInSeconds - 300;
|
|
228
|
-
return [4 /*yield*/, getPairPrices(pair, minuteAgo.toString(), currentTimestampInSeconds.toString())];
|
|
229
|
-
case 4:
|
|
230
|
-
res = _d.sent();
|
|
231
|
-
price = res.at(-1).price;
|
|
232
|
-
result = void 0;
|
|
233
|
-
if (pair.startsWith("SUI")) {
|
|
234
|
-
result = prices.get("SUI") / Number(price);
|
|
235
|
-
}
|
|
236
|
-
else if (pair.endsWith("SUI")) {
|
|
237
|
-
result = prices.get("SUI") * Number(price);
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
result = Number(price);
|
|
241
|
-
}
|
|
242
|
-
prices.set(pair.replace("SUI", ""), result);
|
|
243
|
-
_d.label = 5;
|
|
244
|
-
case 5:
|
|
245
|
-
_b = _a.next();
|
|
246
|
-
return [3 /*break*/, 3];
|
|
247
|
-
case 6: return [3 /*break*/, 9];
|
|
248
|
-
case 7:
|
|
249
|
-
e_2_1 = _d.sent();
|
|
250
|
-
e_2 = { error: e_2_1 };
|
|
251
|
-
return [3 /*break*/, 9];
|
|
252
|
-
case 8:
|
|
253
|
-
try {
|
|
254
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
255
|
-
}
|
|
256
|
-
finally { if (e_2) throw e_2.error; }
|
|
257
|
-
return [7 /*endfinally*/];
|
|
258
|
-
case 9: return [2 /*return*/, prices];
|
|
205
|
+
prices = (_a.sent());
|
|
206
|
+
return [2 /*return*/, prices];
|
|
259
207
|
}
|
|
260
208
|
});
|
|
261
209
|
});
|
|
@@ -59,7 +59,7 @@ exports.getExerciseFromSentio = getExerciseFromSentio;
|
|
|
59
59
|
var typus_dov_single_v2_1 = require("../../../../src/typus-dov-single-v2");
|
|
60
60
|
var constants_1 = require("../../../../src/constants");
|
|
61
61
|
var headers = {
|
|
62
|
-
"api-key": "
|
|
62
|
+
"api-key": "g8vRPVCM3CScaTVGVT5X9Eh4fyEJDbmAE",
|
|
63
63
|
"Content-Type": "application/json",
|
|
64
64
|
};
|
|
65
65
|
function getFromSentio(event, userAddress, startTimestamp) {
|
|
@@ -71,7 +71,7 @@ function getFromSentio(event, userAddress, startTimestamp) {
|
|
|
71
71
|
apiUrl = "https://app.sentio.xyz/api/v1/analytics/typus/typus_v2/sql/execute";
|
|
72
72
|
requestData = {
|
|
73
73
|
sqlQuery: {
|
|
74
|
-
sql: "\n SELECT *\n FROM ".concat(event, "\n WHERE
|
|
74
|
+
sql: "\n SELECT *\n FROM ".concat(event, "\n WHERE distinctId = '").concat(userAddress, "' AND timestamp >= ").concat(startTimestamp, "\n ORDER BY timestamp DESC;\n "),
|
|
75
75
|
size: 1000,
|
|
76
76
|
},
|
|
77
77
|
};
|
|
@@ -86,7 +86,7 @@ function getFromSentio(event, userAddress, startTimestamp) {
|
|
|
86
86
|
return [4 /*yield*/, response.json()];
|
|
87
87
|
case 2:
|
|
88
88
|
data = _a.sent();
|
|
89
|
-
|
|
89
|
+
console.log(data);
|
|
90
90
|
return [2 /*return*/, data.result.rows];
|
|
91
91
|
}
|
|
92
92
|
});
|
|
@@ -101,7 +101,7 @@ function getFromSentioWithExpUp(event, userAddress, startTimestamp) {
|
|
|
101
101
|
apiUrl = "https://app.sentio.xyz/api/v1/analytics/typus/typus_v2/sql/execute";
|
|
102
102
|
requestData = {
|
|
103
103
|
sqlQuery: {
|
|
104
|
-
sql: "\n SELECT *\n FROM ".concat(event, " N\n LEFT JOIN (\n SELECT number,
|
|
104
|
+
sql: "\n SELECT *\n FROM ".concat(event, " N\n LEFT JOIN (\n SELECT number, distinctId, exp_earn, transaction_hash, log_index\n FROM ExpUp\n ) S ON N.transaction_hash = S.transaction_hash AND N.log_index + 1 = S.log_index\n WHERE N.distinctId = '").concat(userAddress, "' AND N.timestamp >= ").concat(startTimestamp, "\n ORDER BY N.timestamp DESC;\n "),
|
|
105
105
|
size: 1000,
|
|
106
106
|
},
|
|
107
107
|
};
|
|
@@ -50,7 +50,7 @@ function getExpLeaderBoardWithOwner(expLeaderBoard, ownerMap) {
|
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
var headers = {
|
|
53
|
-
"api-key": "
|
|
53
|
+
"api-key": "g8vRPVCM3CScaTVGVT5X9Eh4fyEJDbmAE",
|
|
54
54
|
"Content-Type": "application/json",
|
|
55
55
|
};
|
|
56
56
|
function getExpLeaderBoard(startTimestamp, endTimestamp) {
|