@sonarwatch/portfolio-plugins 0.12.179 → 0.12.181
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +1514 -1506
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/index.js +5 -0
- package/src/index.js.map +1 -1
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/bucket/bucketsJob.js +71 -0
- package/src/plugins/bucket/bucketsJob.js.map +1 -0
- package/src/plugins/bucket/collateralFetcher.js +46 -60
- package/src/plugins/bucket/collateralFetcher.js.map +1 -1
- package/src/plugins/bucket/constants.d.ts +8 -5
- package/src/plugins/bucket/constants.js +11 -20
- package/src/plugins/bucket/constants.js.map +1 -1
- package/src/plugins/bucket/index.js +5 -2
- package/src/plugins/bucket/index.js.map +1 -1
- package/src/plugins/bucket/sbuckJob.js +56 -0
- package/src/plugins/bucket/sbuckJob.js.map +1 -0
- package/src/plugins/bucket/stakingFetcher.d.ts +3 -0
- package/src/plugins/bucket/stakingFetcher.js +47 -0
- package/src/plugins/bucket/stakingFetcher.js.map +1 -0
- package/src/plugins/bucket/types.d.ts +113 -0
- package/src/plugins/loopscale/constants.d.ts +3 -1
- package/src/plugins/loopscale/constants.js +4 -4
- package/src/plugins/loopscale/constants.js.map +1 -1
- package/src/plugins/loopscale/filters.d.ts +7 -0
- package/src/plugins/loopscale/filters.js +62 -0
- package/src/plugins/loopscale/filters.js.map +1 -0
- package/src/plugins/loopscale/helpers.d.ts +33 -0
- package/src/plugins/loopscale/helpers.js +162 -0
- package/src/plugins/loopscale/helpers.js.map +1 -0
- package/src/plugins/loopscale/index.js +1 -2
- package/src/plugins/loopscale/index.js.map +1 -1
- package/src/plugins/loopscale/positionsFetcher.js +89 -40
- package/src/plugins/loopscale/positionsFetcher.js.map +1 -1
- package/src/plugins/loopscale/structs.d.ts +95 -14
- package/src/plugins/loopscale/structs.js +87 -13
- package/src/plugins/loopscale/structs.js.map +1 -1
- package/src/plugins/moonwalk/constants.d.ts +1 -0
- package/src/plugins/moonwalk/constants.js +2 -1
- package/src/plugins/moonwalk/constants.js.map +1 -1
- package/src/plugins/moonwalk/gamesFetcher.js +24 -61
- package/src/plugins/moonwalk/gamesFetcher.js.map +1 -1
- package/src/plugins/moonwalk/index.js +1 -2
- package/src/plugins/moonwalk/index.js.map +1 -1
- package/src/plugins/moonwalk/types.d.ts +12 -0
- package/src/plugins/moonwalk/types.js +3 -0
- package/src/plugins/moonwalk/types.js.map +1 -0
- package/src/plugins/save/obligationsFetcher.js +3 -3
- package/src/plugins/save/obligationsFetcher.js.map +1 -1
- package/src/plugins/stabble/constants.js +1 -1
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/plugins/zeta/airdropFetcher.js +14 -14
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/plugins/loopscale/marketsJob.js +0 -26
- package/src/plugins/loopscale/marketsJob.js.map +0 -1
- package/src/plugins/moonwalk/gamesJob.js +0 -37
- package/src/plugins/moonwalk/gamesJob.js.map +0 -1
- /package/src/plugins/{loopscale/marketsJob.d.ts → bucket/bucketsJob.d.ts} +0 -0
- /package/src/plugins/{moonwalk/gamesJob.d.ts → bucket/sbuckJob.d.ts} +0 -0
package/README.md
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
# @sonarwatch/portfolio-plugins
|
2
|
-
|
3
|
-
This library is @sonarwatch/portfolio-plugins
|
1
|
+
# @sonarwatch/portfolio-plugins
|
2
|
+
|
3
|
+
This library is @sonarwatch/portfolio-plugins
|
package/package.json
CHANGED
package/src/index.js
CHANGED
@@ -146,6 +146,7 @@ const elemental_1 = require("./plugins/elemental");
|
|
146
146
|
const adrena_1 = require("./plugins/adrena");
|
147
147
|
const joule_1 = require("./plugins/joule");
|
148
148
|
const meso_1 = require("./plugins/meso");
|
149
|
+
const loopscale_1 = require("./plugins/loopscale");
|
149
150
|
var constants_1 = require("./plugins/tokens/constants");
|
150
151
|
Object.defineProperty(exports, "walletTokensPlatform", { enumerable: true, get: function () { return constants_1.walletTokensPlatform; } });
|
151
152
|
Object.defineProperty(exports, "walletNftsPlatform", { enumerable: true, get: function () { return constants_1.walletNftsPlatform; } });
|
@@ -285,6 +286,7 @@ exports.platforms = [
|
|
285
286
|
...adrena_1.platforms,
|
286
287
|
...joule_1.platforms,
|
287
288
|
...meso_1.platforms,
|
289
|
+
...loopscale_1.platforms,
|
288
290
|
];
|
289
291
|
// JOBS //
|
290
292
|
exports.jobs = [
|
@@ -312,6 +314,7 @@ exports.jobs = [
|
|
312
314
|
...aftermath_1.jobs,
|
313
315
|
...liquidswap_1.jobs,
|
314
316
|
...kamino_1.jobs,
|
317
|
+
...bucket_1.jobs,
|
315
318
|
...navi_1.jobs,
|
316
319
|
...scallop_1.jobs,
|
317
320
|
...curve_1.jobs,
|
@@ -407,6 +410,7 @@ exports.jobs = [
|
|
407
410
|
...adrena_1.jobs,
|
408
411
|
...joule_1.jobs,
|
409
412
|
...meso_1.jobs,
|
413
|
+
...loopscale_1.jobs,
|
410
414
|
];
|
411
415
|
// FETCHERS //
|
412
416
|
exports.fetchers = [
|
@@ -531,6 +535,7 @@ exports.fetchers = [
|
|
531
535
|
...adrena_1.fetchers,
|
532
536
|
...joule_1.fetchers,
|
533
537
|
...meso_1.fetchers,
|
538
|
+
...loopscale_1.fetchers,
|
534
539
|
];
|
535
540
|
exports.fetchersByAddressSystem = (0, getFetchersByAddressSystem_1.getFetchersByAddressSystem)(exports.fetchers);
|
536
541
|
exports.airdropFetchers = [
|
package/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA,wFAAqF;AACrF,wEAAgD;AAChD,6CAI0B;AAC1B,yDAIgC;AAChC,uDAAgE;AAChE,iDAG4B;AAC5B,iDAI4B;AAC5B,2CAGyB;AACzB,yCAIwB;AACxB,+CAI2B;AAC3B,yCAIwB;AACxB,+CAI2B;AAC3B,2CAIyB;AACzB,6CAI0B;AAC1B,2CAIyB;AACzB,6CAG0B;AAC1B,6CAI0B;AAC1B,yCAIwB;AACxB,2DAGiC;AACjC,6CAI0B;AAC1B,2CAKyB;AACzB,2CAIyB;AACzB,qDAA6D;AAC7D,qEAIsC;AACtC,uDAI+B;AAC/B,mDAI6B;AAC7B,qDAG8B;AAC9B,uDAG+B;AAC/B,2CAIyB;AACzB,6CAK0B;AAC1B,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":"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"}
|
@@ -36,27 +36,27 @@ exports.getBalancerPoolsV2 = void 0;
|
|
36
36
|
const graphql_request_1 = __importStar(require("graphql-request"));
|
37
37
|
function getBalancerPoolsV2(url) {
|
38
38
|
return __awaiter(this, void 0, void 0, function* () {
|
39
|
-
const query = (0, graphql_request_1.gql) `
|
40
|
-
query pools {
|
41
|
-
pools(
|
42
|
-
first: 1000
|
43
|
-
orderBy: totalLiquidity
|
44
|
-
orderDirection: desc
|
45
|
-
where: { totalLiquidity_gt: "500" }
|
46
|
-
) {
|
47
|
-
id
|
48
|
-
address
|
49
|
-
symbol
|
50
|
-
totalLiquidity
|
51
|
-
totalShares
|
52
|
-
tokens {
|
53
|
-
balance
|
54
|
-
decimals
|
55
|
-
symbol
|
56
|
-
address
|
57
|
-
}
|
58
|
-
}
|
59
|
-
}
|
39
|
+
const query = (0, graphql_request_1.gql) `
|
40
|
+
query pools {
|
41
|
+
pools(
|
42
|
+
first: 1000
|
43
|
+
orderBy: totalLiquidity
|
44
|
+
orderDirection: desc
|
45
|
+
where: { totalLiquidity_gt: "500" }
|
46
|
+
) {
|
47
|
+
id
|
48
|
+
address
|
49
|
+
symbol
|
50
|
+
totalLiquidity
|
51
|
+
totalShares
|
52
|
+
tokens {
|
53
|
+
balance
|
54
|
+
decimals
|
55
|
+
symbol
|
56
|
+
address
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}
|
60
60
|
`;
|
61
61
|
const res = yield (0, graphql_request_1.default)(url, query);
|
62
62
|
const pools = res.pools;
|
@@ -0,0 +1,71 @@
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
13
|
+
const constants_1 = require("./constants");
|
14
|
+
const clients_1 = require("../../utils/clients");
|
15
|
+
const getObject_1 = require("../../utils/sui/getObject");
|
16
|
+
const getDynamicFieldObjects_1 = require("../../utils/sui/getDynamicFieldObjects");
|
17
|
+
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
18
|
+
const client = (0, clients_1.getClientSui)();
|
19
|
+
const [bucketProtocol, fields] = yield Promise.all([
|
20
|
+
(0, getObject_1.getObject)(client, constants_1.bucketProtocolId),
|
21
|
+
(0, getDynamicFieldObjects_1.getDynamicFieldObjects)(client, constants_1.bucketProtocolId),
|
22
|
+
]);
|
23
|
+
const buckets = [];
|
24
|
+
fields.forEach((field) => {
|
25
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
26
|
+
if (!((_a = field.data) === null || _a === void 0 ? void 0 : _a.content))
|
27
|
+
return;
|
28
|
+
if ((_c = (_b = field.data) === null || _b === void 0 ? void 0 : _b.type) === null || _c === void 0 ? void 0 : _c.includes('::bucket::Bucket')) {
|
29
|
+
const token = (_f = (_e = (_d = field.data.type) === null || _d === void 0 ? void 0 : _d.split('<').pop()) === null || _e === void 0 ? void 0 : _e.replace('>', '')) !== null && _f !== void 0 ? _f : '';
|
30
|
+
const a = field.data.content.fields;
|
31
|
+
buckets.push({
|
32
|
+
token,
|
33
|
+
baseFeeRate: Number((_g = a.base_fee_rate) !== null && _g !== void 0 ? _g : 5e3),
|
34
|
+
bottleTableSize: (_h = a.bottle_table.fields.table.fields.size) !== null && _h !== void 0 ? _h : '',
|
35
|
+
bottleTableId: (_j = a.bottle_table.fields.table.fields.id.id) !== null && _j !== void 0 ? _j : '',
|
36
|
+
collateralDecimal: (_k = a.collateral_decimal) !== null && _k !== void 0 ? _k : 0,
|
37
|
+
collateralVault: (_l = a.collateral_vault) !== null && _l !== void 0 ? _l : '',
|
38
|
+
latestRedemptionTime: Number((_m = a.latest_redemption_time) !== null && _m !== void 0 ? _m : 0),
|
39
|
+
minCollateralRatio: (_o = a.min_collateral_ratio) !== null && _o !== void 0 ? _o : '',
|
40
|
+
mintedBuckAmount: (_p = a.minted_buck_amount) !== null && _p !== void 0 ? _p : '',
|
41
|
+
minBottleSize: (_r = (_q = bucketProtocol.data) === null || _q === void 0 ? void 0 : _q.content) === null || _r === void 0 ? void 0 : _r.fields.min_bottle_size,
|
42
|
+
maxMintAmount: (_s = a.max_mint_amount) !== null && _s !== void 0 ? _s : '',
|
43
|
+
recoveryModeThreshold: (_t = a.recovery_mode_threshold) !== null && _t !== void 0 ? _t : '',
|
44
|
+
});
|
45
|
+
}
|
46
|
+
});
|
47
|
+
fields.forEach((field) => {
|
48
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
49
|
+
if (!((_a = field.data) === null || _a === void 0 ? void 0 : _a.content))
|
50
|
+
return;
|
51
|
+
if ((_c = (_b = field.data) === null || _b === void 0 ? void 0 : _b.type) === null || _c === void 0 ? void 0 : _c.includes('::pipe::Pipe')) {
|
52
|
+
const token = (_h = (_g = (_f = (_e = (_d = field.data) === null || _d === void 0 ? void 0 : _d.type) === null || _e === void 0 ? void 0 : _e.split('<').pop()) === null || _f === void 0 ? void 0 : _f.replace('>', '').split(', ')[0]) === null || _g === void 0 ? void 0 : _g.trim()) !== null && _h !== void 0 ? _h : '';
|
53
|
+
const bucket = buckets.find((b) => b.token === token);
|
54
|
+
if (bucket) {
|
55
|
+
const a = field.data.content.fields;
|
56
|
+
bucket.collateralVault = (BigInt(bucket.collateralVault) + BigInt(a.output_volume)).toString();
|
57
|
+
}
|
58
|
+
}
|
59
|
+
});
|
60
|
+
yield cache.setItem(constants_1.bucketsCacheKey, buckets, {
|
61
|
+
prefix: constants_1.platformId,
|
62
|
+
networkId: portfolio_core_1.NetworkId.sui,
|
63
|
+
});
|
64
|
+
});
|
65
|
+
const job = {
|
66
|
+
id: `${constants_1.platformId}-buckets`,
|
67
|
+
executor,
|
68
|
+
label: 'normal',
|
69
|
+
};
|
70
|
+
exports.default = job;
|
71
|
+
//# sourceMappingURL=bucketsJob.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bucketsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/bucketsJob.ts"],"names":[],"mappings":"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"}
|
@@ -8,78 +8,64 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
9
|
});
|
10
10
|
};
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
12
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
16
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
17
13
|
const constants_1 = require("./constants");
|
18
14
|
const clients_1 = require("../../utils/clients");
|
19
|
-
const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
|
20
15
|
const getDynamicFieldObject_1 = require("../../utils/sui/getDynamicFieldObject");
|
16
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
17
|
+
const MemoizedCache_1 = require("../../utils/misc/MemoizedCache");
|
18
|
+
const bucketsMemo = new MemoizedCache_1.MemoizedCache(constants_1.bucketsCacheKey, {
|
19
|
+
prefix: constants_1.platformId,
|
20
|
+
networkId: portfolio_core_1.NetworkId.sui,
|
21
|
+
});
|
21
22
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
22
|
-
var _a;
|
23
23
|
const client = (0, clients_1.getClientSui)();
|
24
|
-
const
|
25
|
-
if (!
|
24
|
+
const buckets = yield bucketsMemo.getItem(cache);
|
25
|
+
if (!buckets || !buckets.length)
|
26
26
|
return [];
|
27
|
-
const
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
27
|
+
const positions = yield Promise.all(buckets.map((bucket) => __awaiter(void 0, void 0, void 0, function* () {
|
28
|
+
var _a, _b;
|
29
|
+
let address = owner;
|
30
|
+
if (Object.keys(constants_1.bottleTableException).includes(bucket.token)) {
|
31
|
+
const stakeProof = yield (0, getDynamicFieldObject_1.getDynamicFieldObject)(client, {
|
32
|
+
parentId: constants_1.bottleTableException[bucket.token],
|
33
|
+
name: {
|
34
|
+
type: 'address',
|
35
|
+
value: owner,
|
36
|
+
},
|
37
|
+
});
|
38
|
+
address =
|
39
|
+
((_b = (_a = stakeProof.data) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.fields.value[0].fields.strap_address) ||
|
40
|
+
owner;
|
41
|
+
}
|
42
|
+
return (0, getDynamicFieldObject_1.getDynamicFieldObject)(client, {
|
43
|
+
parentId: bucket.bottleTableId,
|
36
44
|
name: {
|
37
45
|
type: 'address',
|
38
|
-
value:
|
46
|
+
value: address,
|
39
47
|
},
|
40
|
-
};
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
continue;
|
50
|
-
const suppliedQuantity = new bignumber_js_1.default(collateralInfo.collateral_amount)
|
51
|
-
.dividedBy(Math.pow(10, tokenPrice.decimals))
|
52
|
-
.toNumber();
|
53
|
-
if (suppliedQuantity === 0)
|
54
|
-
continue;
|
55
|
-
const borrowedQuantity = new bignumber_js_1.default(collateralInfo.buck_amount)
|
56
|
-
.dividedBy(Math.pow(10, buckPrice.decimals))
|
57
|
-
.toNumber();
|
58
|
-
borrowedAssets.push((0, tokenPriceToAssetToken_1.default)(constants_1.buckId, borrowedQuantity, portfolio_core_1.NetworkId.sui, buckPrice));
|
59
|
-
suppliedAssets.push((0, tokenPriceToAssetToken_1.default)(collateral.tokenId, suppliedQuantity, portfolio_core_1.NetworkId.sui, tokenPrice));
|
60
|
-
const { borrowedValue, healthRatio, suppliedValue, value, rewardValue } = (0, portfolio_core_1.getElementLendingValues)({ suppliedAssets, borrowedAssets, rewardAssets });
|
61
|
-
const element = {
|
62
|
-
type: portfolio_core_1.PortfolioElementType.borrowlend,
|
63
|
-
networkId: portfolio_core_1.NetworkId.sui,
|
64
|
-
platformId: constants_1.platformId,
|
48
|
+
});
|
49
|
+
})));
|
50
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.sui, constants_1.platformId);
|
51
|
+
buckets.forEach((bucket, i) => {
|
52
|
+
var _a, _b, _c, _d, _e, _f;
|
53
|
+
const positionData = positions[i];
|
54
|
+
if (!((_b = (_a = positionData.data) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.fields.value.fields.value.fields))
|
55
|
+
return;
|
56
|
+
const element = elementRegistry.addElementBorrowlend({
|
65
57
|
label: 'Lending',
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
value,
|
78
|
-
},
|
79
|
-
};
|
80
|
-
elements.push(element);
|
81
|
-
}
|
82
|
-
return elements;
|
58
|
+
});
|
59
|
+
element.addBorrowedAsset({
|
60
|
+
address: constants_1.buckId,
|
61
|
+
amount: (_d = (_c = positionData.data) === null || _c === void 0 ? void 0 : _c.content) === null || _d === void 0 ? void 0 : _d.fields.value.fields.value.fields.buck_amount,
|
62
|
+
});
|
63
|
+
element.addSuppliedAsset({
|
64
|
+
address: bucket.token,
|
65
|
+
amount: (_f = (_e = positionData.data) === null || _e === void 0 ? void 0 : _e.content) === null || _f === void 0 ? void 0 : _f.fields.value.fields.value.fields.collateral_amount,
|
66
|
+
});
|
67
|
+
});
|
68
|
+
return elementRegistry.getElements(cache);
|
83
69
|
});
|
84
70
|
const fetcher = {
|
85
71
|
id: `${constants_1.platformId}-collateral`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collateralFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/collateralFetcher.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"collateralFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/collateralFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,12 @@
|
|
1
1
|
import { Platform } from '@sonarwatch/portfolio-core';
|
2
2
|
export declare const platformId = "bucket";
|
3
3
|
export declare const platform: Platform;
|
4
|
-
export declare const bottleType = "0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::bottle::Bottle";
|
5
4
|
export declare const buckId = "0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK";
|
6
|
-
export declare const
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
export declare const sbuckId = "0x1798f84ee72176114ddbf5525a6d964c5f8ea1b3738d08d50d0d3de4cf584884::sbuck::SBUCK";
|
6
|
+
export declare const sBuckFlask = "0xc6ecc9731e15d182bc0a46ebe1754a779a4bfb165c201102ad51a36838a1a7b8";
|
7
|
+
export declare const stakeProofParentId = "0xbb4c253eec08636e0416cb8e820b4386c1042747fbdc5a5df6c025c9c6a06fef";
|
8
|
+
export declare const bucketProtocolId = "0x9e3dab13212b27f5434416939db5dec6a319d15b89a84fd074d03ece6350d3df";
|
9
|
+
export declare const bucketsCacheKey = "buckets";
|
10
|
+
export declare const bottleTableException: {
|
11
|
+
[key: string]: string;
|
12
|
+
};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.bottleTableException = exports.bucketsCacheKey = exports.bucketProtocolId = exports.stakeProofParentId = exports.sBuckFlask = exports.sbuckId = exports.buckId = exports.platform = exports.platformId = void 0;
|
4
4
|
exports.platformId = 'bucket';
|
5
5
|
exports.platform = {
|
6
6
|
id: exports.platformId,
|
@@ -9,24 +9,15 @@ exports.platform = {
|
|
9
9
|
defiLlamaId: 'bucket-protocol',
|
10
10
|
website: 'https://bucketprotocol.io/',
|
11
11
|
};
|
12
|
-
exports.bottleType = '0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::bottle::Bottle';
|
13
12
|
exports.buckId = '0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK';
|
14
|
-
exports.
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
tokenId: '0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN',
|
25
|
-
parentId: '0x9cba3b4a99686c924ff3dc8940b70b35348bbe457767419be19feaec5594255c',
|
26
|
-
},
|
27
|
-
{
|
28
|
-
tokenId: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN',
|
29
|
-
parentId: '0xd21552e2b0df056f5f86206d758d4c87438d302e592575099726bd9d0ea16128',
|
30
|
-
},
|
31
|
-
];
|
13
|
+
exports.sbuckId = '0x1798f84ee72176114ddbf5525a6d964c5f8ea1b3738d08d50d0d3de4cf584884::sbuck::SBUCK';
|
14
|
+
exports.sBuckFlask = '0xc6ecc9731e15d182bc0a46ebe1754a779a4bfb165c201102ad51a36838a1a7b8';
|
15
|
+
exports.stakeProofParentId = '0xbb4c253eec08636e0416cb8e820b4386c1042747fbdc5a5df6c025c9c6a06fef';
|
16
|
+
exports.bucketProtocolId = '0x9e3dab13212b27f5434416939db5dec6a319d15b89a84fd074d03ece6350d3df';
|
17
|
+
exports.bucketsCacheKey = 'buckets';
|
18
|
+
exports.bottleTableException = {
|
19
|
+
'0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI': '0x95d0d20ab42f78f75a7d63513ed60415b9dcb41c58ef493a7a69b531b212e713',
|
20
|
+
'0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI': '0x3674f3183780166553d42174d02229c679e431b9a5911d02a28271a8fd9abd88',
|
21
|
+
'0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT': '0x502760cac10dd4fae78672c1e27bc0e5cdbae449aa2b15dbfb72434af33cb8f6',
|
22
|
+
};
|
32
23
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,+CAA+C;IACtD,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,4BAA4B;CACtC,CAAC;AAEW,QAAA,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,+CAA+C;IACtD,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,4BAA4B;CACtC,CAAC;AAEW,QAAA,MAAM,GACjB,gFAAgF,CAAC;AACtE,QAAA,OAAO,GAClB,kFAAkF,CAAC;AAExE,QAAA,UAAU,GACrB,oEAAoE,CAAC;AAC1D,QAAA,kBAAkB,GAC7B,oEAAoE,CAAC;AAE1D,QAAA,gBAAgB,GAC3B,oEAAoE,CAAC;AAE1D,QAAA,eAAe,GAAG,SAAS,CAAC;AAE5B,QAAA,oBAAoB,GAA8B;IAC7D,kFAAkF,EAChF,oEAAoE;IACtE,kFAAkF,EAChF,oEAAoE;IACtE,gFAAgF,EAC9E,oEAAoE;CACvE,CAAC"}
|
@@ -6,7 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.platforms = exports.fetchers = exports.jobs = void 0;
|
7
7
|
const collateralFetcher_1 = __importDefault(require("./collateralFetcher"));
|
8
8
|
const constants_1 = require("./constants");
|
9
|
-
|
10
|
-
|
9
|
+
const sbuckJob_1 = __importDefault(require("./sbuckJob"));
|
10
|
+
const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
|
11
|
+
const bucketsJob_1 = __importDefault(require("./bucketsJob"));
|
12
|
+
exports.jobs = [sbuckJob_1.default, bucketsJob_1.default];
|
13
|
+
exports.fetchers = [collateralFetcher_1.default, stakingFetcher_1.default];
|
11
14
|
exports.platforms = [constants_1.platform];
|
12
15
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/index.ts"],"names":[],"mappings":";;;;;;AAGA,4EAAoD;AACpD,2CAAuC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/index.ts"],"names":[],"mappings":";;;;;;AAGA,4EAAoD;AACpD,2CAAuC;AACvC,0DAAkC;AAClC,sEAA8C;AAC9C,8DAAsC;AAEzB,QAAA,IAAI,GAAU,CAAC,kBAAQ,EAAE,oBAAU,CAAC,CAAC;AACrC,QAAA,QAAQ,GAAc,CAAC,2BAAiB,EAAE,wBAAc,CAAC,CAAC;AAC1D,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC"}
|
@@ -0,0 +1,56 @@
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
16
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
17
|
+
const constants_1 = require("./constants");
|
18
|
+
const clients_1 = require("../../utils/clients");
|
19
|
+
const getObject_1 = require("../../utils/sui/getObject");
|
20
|
+
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
21
|
+
var _a;
|
22
|
+
const client = (0, clients_1.getClientSui)();
|
23
|
+
const [flask, buckPrice] = yield Promise.all([
|
24
|
+
(0, getObject_1.getObject)(client, constants_1.sBuckFlask),
|
25
|
+
cache.getTokenPrice(constants_1.buckId, portfolio_core_1.NetworkId.sui),
|
26
|
+
]);
|
27
|
+
if (!buckPrice || !((_a = flask.data) === null || _a === void 0 ? void 0 : _a.content))
|
28
|
+
return;
|
29
|
+
const ratio = new bignumber_js_1.default(flask.data.content.fields.reserves).dividedBy(flask.data.content.fields.sbuck_supply.fields.value);
|
30
|
+
yield cache.setTokenPriceSource({
|
31
|
+
id: constants_1.sBuckFlask,
|
32
|
+
weight: 1,
|
33
|
+
address: constants_1.sbuckId,
|
34
|
+
networkId: portfolio_core_1.NetworkId.sui,
|
35
|
+
platformId: constants_1.platformId,
|
36
|
+
decimals: 9,
|
37
|
+
price: ratio.multipliedBy(buckPrice.price).toNumber(),
|
38
|
+
underlyings: [
|
39
|
+
{
|
40
|
+
networkId: portfolio_core_1.NetworkId.sui,
|
41
|
+
address: constants_1.buckId,
|
42
|
+
price: buckPrice.price,
|
43
|
+
decimals: 9,
|
44
|
+
amountPerLp: ratio.toNumber(),
|
45
|
+
},
|
46
|
+
],
|
47
|
+
timestamp: Date.now(),
|
48
|
+
});
|
49
|
+
});
|
50
|
+
const job = {
|
51
|
+
id: `${constants_1.platformId}-sbuck`,
|
52
|
+
executor,
|
53
|
+
label: 'normal',
|
54
|
+
};
|
55
|
+
exports.default = job;
|
56
|
+
//# sourceMappingURL=sbuckJob.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sbuckJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/sbuckJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gEAAqC;AACrC,+DAAuD;AAGvD,2CAAsE;AACtE,iDAAmD;AACnD,yDAAsD;AAGtD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;;IACnD,MAAM,MAAM,GAAG,IAAA,sBAAY,GAAE,CAAC;IAE9B,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,IAAA,qBAAS,EAAQ,MAAM,EAAE,sBAAU,CAAC;QACpC,KAAK,CAAC,aAAa,CAAC,kBAAM,EAAE,0BAAS,CAAC,GAAG,CAAC;KAC3C,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,OAAO,CAAA;QAAE,OAAO;IAE/C,MAAM,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CACvE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CACpD,CAAC;IAEF,MAAM,KAAK,CAAC,mBAAmB,CAAC;QAC9B,EAAE,EAAE,sBAAU;QACd,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,mBAAO;QAChB,SAAS,EAAE,0BAAS,CAAC,GAAG;QACxB,UAAU,EAAV,sBAAU;QACV,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QACrD,WAAW,EAAE;YACX;gBACE,SAAS,EAAE,0BAAS,CAAC,GAAG;gBACxB,OAAO,EAAE,kBAAM;gBACf,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE;aAC9B;SACF;QACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -0,0 +1,47 @@
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
13
|
+
const constants_1 = require("./constants");
|
14
|
+
const clients_1 = require("../../utils/clients");
|
15
|
+
const getDynamicFieldObject_1 = require("../../utils/sui/getDynamicFieldObject");
|
16
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
17
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
18
|
+
var _a;
|
19
|
+
const client = (0, clients_1.getClientSui)();
|
20
|
+
const stakeProof = yield (0, getDynamicFieldObject_1.getDynamicFieldObject)(client, {
|
21
|
+
parentId: constants_1.stakeProofParentId,
|
22
|
+
name: {
|
23
|
+
type: 'address',
|
24
|
+
value: owner,
|
25
|
+
},
|
26
|
+
});
|
27
|
+
if (!((_a = stakeProof.data) === null || _a === void 0 ? void 0 : _a.content))
|
28
|
+
return [];
|
29
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.sui, constants_1.platformId);
|
30
|
+
stakeProof.data.content.fields.value.forEach((pos) => {
|
31
|
+
const element = elementRegistry.addElementMultiple({
|
32
|
+
label: 'Staked',
|
33
|
+
});
|
34
|
+
element.addAsset({
|
35
|
+
address: constants_1.sbuckId,
|
36
|
+
amount: pos.fields.stake_amount,
|
37
|
+
});
|
38
|
+
});
|
39
|
+
return elementRegistry.getElements(cache);
|
40
|
+
});
|
41
|
+
const fetcher = {
|
42
|
+
id: `${constants_1.platformId}-staking`,
|
43
|
+
networkId: portfolio_core_1.NetworkId.sui,
|
44
|
+
executor,
|
45
|
+
};
|
46
|
+
exports.default = fetcher;
|
47
|
+
//# sourceMappingURL=stakingFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/bucket/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAAsE;AACtE,iDAAmD;AACnD,iFAA8E;AAC9E,gFAA6E;AAG7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;;IACtE,MAAM,MAAM,GAAG,IAAA,sBAAY,GAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,MAAM,IAAA,6CAAqB,EAAa,MAAM,EAAE;QACjE,QAAQ,EAAE,8BAAkB;QAC5B,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,KAAK;SACb;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,OAAO,CAAA;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,GAAG,EAAE,sBAAU,CAAC,CAAC;IAEvE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnD,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;YACjD,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,mBAAO;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,GAAG;IACxB,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|