@typus/typus-sdk 1.9.0 → 1.9.2
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/bidding.d.ts +88 -0
- package/dist/src/typus-dov-single-v2/function/bidding.js +652 -0
- package/dist/src/typus-dov-single-v2/function/index.d.ts +1 -0
- package/dist/src/typus-dov-single-v2/function/index.js +1 -0
- package/dist/src/typus-dov-single-v2/view-function.d.ts +0 -3
- package/dist/src/typus-dov-single-v2/view-function.js +1 -43
- package/dist/src/typus-launch/funding-vault/view-function.js +1 -1
- package/dist/src/utils/api/price.js +57 -5
- 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 +3 -4
- package/dist/src/typus-nft/fetch.d.ts +0 -36
- package/dist/src/typus-nft/fetch.js +0 -269
- package/dist/src/typus-nft/index.d.ts +0 -1
- package/dist/src/typus-nft/index.js +0 -17
|
@@ -51,15 +51,6 @@ 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
|
-
};
|
|
63
54
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
55
|
exports.getVaults = getVaults;
|
|
65
56
|
exports.getAuctions = getAuctions;
|
|
@@ -67,7 +58,6 @@ exports.getAuctionBids = getAuctionBids;
|
|
|
67
58
|
exports.getDepositShares = getDepositShares;
|
|
68
59
|
exports.getMyBids = getMyBids;
|
|
69
60
|
exports.getRefundShares = getRefundShares;
|
|
70
|
-
exports.getUserOwnedObjects = getUserOwnedObjects;
|
|
71
61
|
var transactions_1 = require("@mysten/sui/transactions");
|
|
72
62
|
var bcs_1 = require("@mysten/bcs");
|
|
73
63
|
var utils_1 = require("../../src/utils");
|
|
@@ -513,7 +503,7 @@ function getMyBids(config, input) {
|
|
|
513
503
|
// early return if no results
|
|
514
504
|
return [2 /*return*/, {}];
|
|
515
505
|
}
|
|
516
|
-
bytes = results[results.length - 1].returnValues[0]
|
|
506
|
+
bytes = results[results.length - 1].returnValues[0][0];
|
|
517
507
|
reader = new bcs_1.BcsReader(new Uint8Array(bytes));
|
|
518
508
|
result = Array.from(new Map()).reduce(function (map, _a) {
|
|
519
509
|
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
@@ -593,35 +583,3 @@ function getRefundShares(config, input) {
|
|
|
593
583
|
});
|
|
594
584
|
});
|
|
595
585
|
}
|
|
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);
|
|
122
121
|
results === null || results === void 0 ? void 0 : results.forEach(function (result, i) {
|
|
123
122
|
// @ts-ignore
|
|
124
123
|
var bytes = result.returnValues[0].bcs;
|
|
125
124
|
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(),
|
|
@@ -51,6 +51,17 @@ 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
|
+
};
|
|
54
65
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
66
|
exports.getPairPrices = getPairPrices;
|
|
56
67
|
exports.getLatestPrice = getLatestPrice;
|
|
@@ -197,13 +208,54 @@ function getPythLatestPriceBySymbols(symbols) {
|
|
|
197
208
|
}
|
|
198
209
|
function getLatestPriceUSD() {
|
|
199
210
|
return __awaiter(this, void 0, void 0, function () {
|
|
200
|
-
var prices;
|
|
201
|
-
|
|
202
|
-
|
|
211
|
+
var prices, _a, _b, pair, currentTimestampInSeconds, minuteAgo, res, price, result, e_2_1;
|
|
212
|
+
var e_2, _c;
|
|
213
|
+
return __generator(this, function (_d) {
|
|
214
|
+
switch (_d.label) {
|
|
203
215
|
case 0: return [4 /*yield*/, getPythLatestPrice()];
|
|
204
216
|
case 1:
|
|
205
|
-
prices = (
|
|
206
|
-
|
|
217
|
+
prices = (_d.sent());
|
|
218
|
+
_d.label = 2;
|
|
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];
|
|
207
259
|
}
|
|
208
260
|
});
|
|
209
261
|
});
|
|
@@ -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": "RIobs1PpAZ4SmHxY2InErtz0pL5LqHTtY",
|
|
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 distinct_id = '").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
|
-
console.log(data);
|
|
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, distinct_id, 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.distinct_id = '").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": "RIobs1PpAZ4SmHxY2InErtz0pL5LqHTtY",
|
|
54
54
|
"Content-Type": "application/json",
|
|
55
55
|
};
|
|
56
56
|
function getExpLeaderBoard(startTimestamp, endTimestamp) {
|
|
@@ -55,7 +55,7 @@ exports.getAccumulatedUser = getAccumulatedUser;
|
|
|
55
55
|
exports.getAccumulatedNotionalVolumeUSD = getAccumulatedNotionalVolumeUSD;
|
|
56
56
|
exports.getSafuAccumulatedRewardGeneratedUSD = getSafuAccumulatedRewardGeneratedUSD;
|
|
57
57
|
var headers = {
|
|
58
|
-
"api-key": "
|
|
58
|
+
"api-key": "RIobs1PpAZ4SmHxY2InErtz0pL5LqHTtY",
|
|
59
59
|
"Content-Type": "application/json",
|
|
60
60
|
};
|
|
61
61
|
function getTotalDepositorIncentive() {
|
|
@@ -96,7 +96,7 @@ function getTotalPremium() {
|
|
|
96
96
|
apiUrl = "https://app.sentio.xyz/api/v1/insights/typus/typus_v2/query";
|
|
97
97
|
requestData = {
|
|
98
98
|
timeRange: {
|
|
99
|
-
start: "now
|
|
99
|
+
start: "now",
|
|
100
100
|
end: "now",
|
|
101
101
|
step: 3600,
|
|
102
102
|
timezone: "Europe/Paris",
|
|
@@ -148,7 +148,7 @@ function getAccumulatedRewardGeneratedUSD() {
|
|
|
148
148
|
apiUrlV1 = "https://app.sentio.xyz/api/v1/insights/typus/typus_v1/query";
|
|
149
149
|
requestDataV1 = {
|
|
150
150
|
timeRange: {
|
|
151
|
-
start: "now
|
|
151
|
+
start: "now",
|
|
152
152
|
end: "now",
|
|
153
153
|
step: 3600,
|
|
154
154
|
timezone: "Asia/Taipei",
|
|
@@ -188,7 +188,7 @@ function getAccumulatedRewardGeneratedUSD() {
|
|
|
188
188
|
apiUrl = "https://app.sentio.xyz/api/v1/insights/typus/typus_v2/query";
|
|
189
189
|
requestData = {
|
|
190
190
|
timeRange: {
|
|
191
|
-
start: "now
|
|
191
|
+
start: "now",
|
|
192
192
|
end: "now",
|
|
193
193
|
step: 3600,
|
|
194
194
|
timezone: "Asia/Taipei",
|
|
@@ -283,10 +283,12 @@ function getAccumulatedUser() {
|
|
|
283
283
|
apiUrl = apiUrls_1_1.value;
|
|
284
284
|
requestData = {
|
|
285
285
|
timeRange: {
|
|
286
|
-
start: "now-
|
|
286
|
+
start: "now-1h",
|
|
287
287
|
end: "now",
|
|
288
|
-
step:
|
|
288
|
+
step: 3600,
|
|
289
|
+
timezone: "Asia/Taipei",
|
|
289
290
|
},
|
|
291
|
+
limit: 1,
|
|
290
292
|
queries: [
|
|
291
293
|
{
|
|
292
294
|
eventsQuery: {
|
|
@@ -305,7 +307,7 @@ function getAccumulatedUser() {
|
|
|
305
307
|
},
|
|
306
308
|
},
|
|
307
309
|
groupBy: [],
|
|
308
|
-
limit:
|
|
310
|
+
limit: 1,
|
|
309
311
|
functions: [],
|
|
310
312
|
disabled: false,
|
|
311
313
|
},
|
|
@@ -326,8 +328,8 @@ function getAccumulatedUser() {
|
|
|
326
328
|
return [4 /*yield*/, response.json()];
|
|
327
329
|
case 4:
|
|
328
330
|
data = _b.sent();
|
|
329
|
-
// console.
|
|
330
|
-
result.push(data.results[0].matrix.samples[0].values.
|
|
331
|
+
// console.log(data.results[0].matrix.samples[0].values[0].value);
|
|
332
|
+
result.push(data.results[0].matrix.samples[0].values[0].value);
|
|
331
333
|
_b.label = 5;
|
|
332
334
|
case 5:
|
|
333
335
|
apiUrls_1_1 = apiUrls_1.next();
|
|
@@ -373,9 +375,10 @@ function getAccumulatedNotionalVolumeUSD() {
|
|
|
373
375
|
apiUrl = apiUrls_2_1.value;
|
|
374
376
|
requestData = {
|
|
375
377
|
timeRange: {
|
|
376
|
-
start: "now
|
|
378
|
+
start: "now",
|
|
377
379
|
end: "now",
|
|
378
380
|
step: 3600,
|
|
381
|
+
timezone: "Asia/Taipei",
|
|
379
382
|
},
|
|
380
383
|
limit: 1,
|
|
381
384
|
queries: [
|
|
@@ -443,7 +446,7 @@ function getSafuAccumulatedRewardGeneratedUSD() {
|
|
|
443
446
|
apiUrl = "https://app.sentio.xyz/api/v1/insights/typus/typus_v2/query";
|
|
444
447
|
requestData = {
|
|
445
448
|
timeRange: {
|
|
446
|
-
start: "now
|
|
449
|
+
start: "now",
|
|
447
450
|
end: "now",
|
|
448
451
|
step: 3600,
|
|
449
452
|
timezone: "Asia/Taipei",
|
|
@@ -486,8 +489,5 @@ function getSafuAccumulatedRewardGeneratedUSD() {
|
|
|
486
489
|
});
|
|
487
490
|
});
|
|
488
491
|
}
|
|
489
|
-
//
|
|
490
|
-
//
|
|
491
|
-
// getAccumulatedNotionalVolumeUSD().then((res) => console.log(res));
|
|
492
|
-
// getAccumulatedUser().then((res) => console.log(res));
|
|
493
|
-
// getAccumulatedRewardGeneratedUSD().then((res) => console.log(res));
|
|
492
|
+
// getAccumulatedNotionalVolumeUSD();
|
|
493
|
+
// getAccumulatedUser();
|
|
@@ -40,7 +40,7 @@ exports.getVaultHistorySummary = getVaultHistorySummary;
|
|
|
40
40
|
exports.getFilledSummary = getFilledSummary;
|
|
41
41
|
exports.getVaultHistory = getVaultHistory;
|
|
42
42
|
var headers = {
|
|
43
|
-
"api-key": "
|
|
43
|
+
"api-key": "RIobs1PpAZ4SmHxY2InErtz0pL5LqHTtY",
|
|
44
44
|
"Content-Type": "application/json",
|
|
45
45
|
};
|
|
46
46
|
function getVaultHistorySummary(startTimestamp) {
|
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.9.
|
|
5
|
+
"version": "1.9.2",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@mysten/bcs": "2.0.3",
|
|
8
8
|
"@mysten/kiosk": "1.2.0",
|
|
@@ -50,6 +50,5 @@
|
|
|
50
50
|
"bugs": {
|
|
51
51
|
"url": "https://github.com/Typus-Lab/typus-sdk/issues"
|
|
52
52
|
},
|
|
53
|
-
"homepage": "https://github.com/Typus-Lab/typus-sdk#readme"
|
|
54
|
-
|
|
55
|
-
}
|
|
53
|
+
"homepage": "https://github.com/Typus-Lab/typus-sdk#readme"
|
|
54
|
+
}
|
|
@@ -1,36 +0,0 @@
|
|
|
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[];
|
|
@@ -1,269 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./fetch";
|
|
@@ -1,17 +0,0 @@
|
|
|
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);
|