@sonarwatch/portfolio-plugins 0.14.20 → 0.14.21
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +1672 -1668
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/index.js +12 -0
- package/src/index.js.map +1 -1
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/grass/constants.d.ts +6 -0
- package/src/plugins/grass/constants.js +15 -0
- package/src/plugins/grass/constants.js.map +1 -0
- package/src/plugins/grass/helpers.d.ts +2 -0
- package/src/plugins/grass/helpers.js +10 -0
- package/src/plugins/grass/helpers.js.map +1 -0
- package/src/plugins/grass/index.d.ts +6 -0
- package/src/plugins/grass/index.js +12 -0
- package/src/plugins/grass/index.js.map +1 -0
- package/src/plugins/grass/stakingFetcher.js +52 -0
- package/src/plugins/grass/stakingFetcher.js.map +1 -0
- package/src/plugins/grass/structs.d.ts +28 -0
- package/src/plugins/grass/structs.js +28 -0
- package/src/plugins/grass/structs.js.map +1 -0
- package/src/plugins/hxro/constants.d.ts +6 -0
- package/src/plugins/hxro/constants.js +16 -0
- package/src/plugins/hxro/constants.js.map +1 -0
- package/src/plugins/hxro/index.d.ts +6 -0
- package/src/plugins/hxro/index.js +12 -0
- package/src/plugins/hxro/index.js.map +1 -0
- package/src/plugins/hxro/stakingFetcher.d.ts +3 -0
- package/src/plugins/hxro/stakingFetcher.js +57 -0
- package/src/plugins/hxro/stakingFetcher.js.map +1 -0
- package/src/plugins/hxro/structs.d.ts +37 -0
- package/src/plugins/hxro/structs.js +36 -0
- package/src/plugins/hxro/structs.js.map +1 -0
- package/src/plugins/hxro/types.d.ts +5 -0
- package/src/plugins/hxro/types.js +3 -0
- package/src/plugins/hxro/types.js.map +1 -0
- package/src/plugins/jupiter/helpers.js +22 -8
- package/src/plugins/jupiter/helpers.js.map +1 -1
- package/src/plugins/jupiter/pricingJob.js +0 -4
- package/src/plugins/jupiter/pricingJob.js.map +1 -1
- package/src/plugins/orca/getWhirlpoolPositions.js +9 -6
- package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
- package/src/plugins/spdr/constants.d.ts +7 -0
- package/src/plugins/spdr/constants.js +17 -0
- package/src/plugins/spdr/constants.js.map +1 -0
- package/src/plugins/spdr/index.d.ts +6 -0
- package/src/plugins/spdr/index.js +12 -0
- package/src/plugins/spdr/index.js.map +1 -0
- package/src/plugins/spdr/stakingFetcher.d.ts +3 -0
- package/src/plugins/spdr/stakingFetcher.js +78 -0
- package/src/plugins/spdr/stakingFetcher.js.map +1 -0
- package/src/plugins/spdr/structs.d.ts +26 -0
- package/src/plugins/spdr/structs.js +26 -0
- package/src/plugins/spdr/structs.js.map +1 -0
- package/src/plugins/spdr/types.d.ts +21 -0
- package/src/plugins/spdr/types.js +3 -0
- package/src/plugins/spdr/types.js.map +1 -0
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/tensor/index.js +0 -2
- package/src/plugins/tensor/index.js.map +1 -1
- 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/tensor/locksFetcher.js +0 -62
- package/src/plugins/tensor/locksFetcher.js.map +0 -1
- /package/src/plugins/{tensor/locksFetcher.d.ts → grass/stakingFetcher.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
@@ -150,6 +150,9 @@ const loopscale_1 = require("./plugins/loopscale");
|
|
150
150
|
const vaultka_1 = require("./plugins/vaultka");
|
151
151
|
const loverflow_1 = require("./plugins/loverflow");
|
152
152
|
const zelo_1 = require("./plugins/zelo");
|
153
|
+
const hxro_1 = require("./plugins/hxro");
|
154
|
+
const spdr_1 = require("./plugins/spdr");
|
155
|
+
const grass_1 = require("./plugins/grass");
|
153
156
|
var constants_1 = require("./plugins/tokens/constants");
|
154
157
|
Object.defineProperty(exports, "walletTokensPlatform", { enumerable: true, get: function () { return constants_1.walletTokensPlatform; } });
|
155
158
|
Object.defineProperty(exports, "walletNftsPlatform", { enumerable: true, get: function () { return constants_1.walletNftsPlatform; } });
|
@@ -293,6 +296,9 @@ exports.platforms = [
|
|
293
296
|
...vaultka_1.platforms,
|
294
297
|
...loverflow_1.platforms,
|
295
298
|
...zelo_1.platforms,
|
299
|
+
...hxro_1.platforms,
|
300
|
+
...spdr_1.platforms,
|
301
|
+
...grass_1.platforms,
|
296
302
|
];
|
297
303
|
// JOBS //
|
298
304
|
exports.jobs = [
|
@@ -420,6 +426,9 @@ exports.jobs = [
|
|
420
426
|
...vaultka_1.jobs,
|
421
427
|
...loverflow_1.jobs,
|
422
428
|
...zelo_1.jobs,
|
429
|
+
...hxro_1.jobs,
|
430
|
+
...spdr_1.jobs,
|
431
|
+
...grass_1.jobs,
|
423
432
|
];
|
424
433
|
// FETCHERS //
|
425
434
|
exports.fetchers = [
|
@@ -548,6 +557,9 @@ exports.fetchers = [
|
|
548
557
|
...vaultka_1.fetchers,
|
549
558
|
...loverflow_1.fetchers,
|
550
559
|
...zelo_1.fetchers,
|
560
|
+
...hxro_1.fetchers,
|
561
|
+
...spdr_1.fetchers,
|
562
|
+
...grass_1.fetchers,
|
551
563
|
];
|
552
564
|
exports.fetchersByAddressSystem = (0, getFetchersByAddressSystem_1.getFetchersByAddressSystem)(exports.fetchers);
|
553
565
|
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,6CAI0B;AAC1B,yCAIwB;AACxB,+CAI2B;AAC3B,uDAG+B;AAC/B,yCAGwB;AACxB,2CAIyB;AACzB,iDAI4B;AAC5B,iDAI4B;AAC5B,6CAI0B;AAC1B,+CAI2B;AAC3B,qDAG8B;AAC9B,iDAI4B;AAC5B,iDAI4B;AAC5B,mDAG6B;AAC7B,yCAIwB;AACxB,2CAIyB;AACzB,yCAIwB;AACxB,iDAI4B;AAC5B,+CAK2B;AAC3B,yCAIwB;AACxB,2CAIyB;AACzB,mDAI6B;AAC7B,2CAIyB;AACzB,2CAIyB;AACzB,sCAIsB;AACtB,+CAI2B;AAC3B,yCAIwB;AACxB,iDAI4B;AAC5B,yCAIwB;AACxB,mDAI6B;AAC7B,qDAI8B;AAC9B,2CAIyB;AACzB,2CAKyB;AACzB,yCAIwB;AACxB,iFAI4C;AAC5C,2CAIyB;AACzB,2CAIyB;AACzB,uDAI+B;AAC/B,6DAIkC;AAClC,2CAIyB;AACzB,yCAIwB;AACxB,mDAI6B;AAC7B,6CAI0B;AAC1B,iEAIoC;AACpC,6DAIkC;AAClC,yCAIwB;AACxB,uCAIuB;AACvB,+CAI2B;AAC3B,iDAI4B;AAC5B,mDAI6B;AAC7B,2CAIyB;AACzB,+CAI2B;AAC3B,uCAIuB;AACvB,iDAI4B;AAC5B,yCAIwB;AACxB,6CAI0B;AAC1B,yCAIwB;AACxB,mDAI6B;AAC7B,2CAIyB;AACzB,mDAI6B;AAC7B,2CAIyB;AACzB,6CAI0B;AAC1B,2CAIyB;AACzB,2CAIyB;AACzB,yCAIwB;AACxB,+CAI2B;AAC3B,+CAI2B;AAC3B,iDAI4B;AAC5B,yDAIgC;AAChC,iDAI4B;AAC5B,6CAI0B;AAC1B,iDAI4B;AAC5B,+CAI2B;AAC3B,6CAI0B;AAC1B,6CAI0B;AAC1B,+CAK2B;AAC3B,mDAI6B;AAC7B,uEAIuC;AACvC,mDAI6B;AAC7B,+CAI2B;AAC3B,+CAI2B;AAC3B,+CAI2B;AAC3B,6CAI0B;AAC1B,iDAI4B;AAC5B,iDAK4B;AAC5B,2CAKyB;AACzB,iDAK4B;AAC5B,+CAI2B;AAC3B,2CAIyB;AACzB,mDAI6B;AAC7B,iDAI4B;AAC5B,+CAI2B;AAC3B,iDAI4B;AAC5B,iDAI4B;AAC5B,mDAI6B;AAC7B,6CAI0B;AAC1B,2CAIyB;AACzB,yCAIwB;AACxB,mDAI6B;AAC7B,+CAI2B;AAC3B,mDAI6B;AAC7B,yCAIwB;
|
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,6 @@
|
|
1
|
+
import { Platform } from '@sonarwatch/portfolio-core';
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
3
|
+
export declare const platformId = "grass";
|
4
|
+
export declare const platform: Platform;
|
5
|
+
export declare const pid: PublicKey;
|
6
|
+
export declare const grassMint = "Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs";
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.grassMint = exports.pid = exports.platform = exports.platformId = void 0;
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
exports.platformId = 'grass';
|
6
|
+
exports.platform = {
|
7
|
+
id: exports.platformId,
|
8
|
+
name: 'Grass',
|
9
|
+
image: 'https://sonar.watch/img/platforms/grass.webp',
|
10
|
+
website: 'https://www.grassfoundation.io/stake',
|
11
|
+
twitter: 'https://twitter.com/getgrass_io',
|
12
|
+
};
|
13
|
+
exports.pid = new web3_js_1.PublicKey('EyxPPowqBRTpZpiDb2ixUR6XUU1VJwTCNgJdK8eyc6kc');
|
14
|
+
exports.grassMint = 'Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs';
|
15
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/grass/constants.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,8CAA8C;IACrD,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,iCAAiC;CAC3C,CAAC;AAEW,QAAA,GAAG,GAAG,IAAI,mBAAS,CAC9B,8CAA8C,CAC/C,CAAC;AACW,QAAA,SAAS,GAAG,8CAA8C,CAAC"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getStakePda = void 0;
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
const constants_1 = require("./constants");
|
6
|
+
function getStakePda(owner) {
|
7
|
+
return web3_js_1.PublicKey.findProgramAddressSync([new web3_js_1.PublicKey(owner).toBytes(), Buffer.from('userStakeInfo', 'utf-8')], constants_1.pid)[0];
|
8
|
+
}
|
9
|
+
exports.getStakePda = getStakePda;
|
10
|
+
//# sourceMappingURL=helpers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/grass/helpers.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2CAAkC;AAElC,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,EACvE,eAAG,CACJ,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AALD,kCAKC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.fetchers = exports.jobs = exports.platforms = void 0;
|
7
|
+
const constants_1 = require("./constants");
|
8
|
+
const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
|
9
|
+
exports.platforms = [constants_1.platform];
|
10
|
+
exports.jobs = [];
|
11
|
+
exports.fetchers = [stakingFetcher_1.default];
|
12
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/grass/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,sEAA8C;AAEjC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
|
@@ -0,0 +1,52 @@
|
|
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 ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
16
|
+
const getParsedAccountInfo_1 = require("../../utils/solana/getParsedAccountInfo");
|
17
|
+
const structs_1 = require("./structs");
|
18
|
+
const helpers_1 = require("./helpers");
|
19
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
20
|
+
const connection = (0, clients_1.getClientSolana)();
|
21
|
+
const userStakeAccount = yield (0, getParsedAccountInfo_1.getParsedAccountInfo)(connection, structs_1.userStakeInfoStruct, (0, helpers_1.getStakePda)(owner));
|
22
|
+
if (!userStakeAccount)
|
23
|
+
return [];
|
24
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
25
|
+
const element = elementRegistry.addElementMultiple({
|
26
|
+
label: 'Staked',
|
27
|
+
});
|
28
|
+
userStakeAccount.unstake_requests.forEach((req) => {
|
29
|
+
if (req.staking_pool_key.toString() !== portfolio_core_1.solanaNativeAddress) {
|
30
|
+
const lockedUntil = req.cooldown_end_time.times(1000).toNumber();
|
31
|
+
element.addAsset({
|
32
|
+
address: constants_1.grassMint,
|
33
|
+
amount: req.withdrawal_amount,
|
34
|
+
attributes: {
|
35
|
+
lockedUntil,
|
36
|
+
},
|
37
|
+
});
|
38
|
+
}
|
39
|
+
});
|
40
|
+
element.addAsset({
|
41
|
+
address: constants_1.grassMint,
|
42
|
+
amount: userStakeAccount.amount_staked,
|
43
|
+
});
|
44
|
+
return elementRegistry.getElements(cache);
|
45
|
+
});
|
46
|
+
const fetcher = {
|
47
|
+
id: `${constants_1.platformId}-staking`,
|
48
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
49
|
+
executor,
|
50
|
+
};
|
51
|
+
exports.default = fetcher;
|
52
|
+
//# sourceMappingURL=stakingFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/grass/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAA4E;AAE5E,2CAAoD;AAEpD,iDAAsD;AACtD,gFAA6E;AAC7E,kFAA+E;AAC/E,uCAAgD;AAChD,uCAAwC;AAExC,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,MAAM,IAAA,2CAAoB,EACjD,UAAU,EACV,6BAAmB,EACnB,IAAA,qBAAW,EAAC,KAAK,CAAC,CACnB,CAAC;IACF,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;QACjD,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChD,IAAI,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,oCAAmB,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjE,OAAO,CAAC,QAAQ,CAAC;gBACf,OAAO,EAAE,qBAAS;gBAClB,MAAM,EAAE,GAAG,CAAC,iBAAiB;gBAC7B,UAAU,EAAE;oBACV,WAAW;iBACZ;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC;QACf,OAAO,EAAE,qBAAS;QAClB,MAAM,EAAE,gBAAgB,CAAC,aAAa;KACvC,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,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
4
|
+
import BigNumber from 'bignumber.js';
|
5
|
+
export type UnstakeRequest = {
|
6
|
+
staking_pool_key: PublicKey;
|
7
|
+
withdrawal_amount: BigNumber;
|
8
|
+
request_time: BigNumber;
|
9
|
+
cooldown_end_time: BigNumber;
|
10
|
+
_padding: number[];
|
11
|
+
};
|
12
|
+
export declare const unstakeRequestStruct: BeetStruct<UnstakeRequest, Partial<UnstakeRequest>>;
|
13
|
+
export type Deposit = {
|
14
|
+
staking_pool_key: PublicKey;
|
15
|
+
pool_multiplier: BigNumber;
|
16
|
+
amount_staked: BigNumber;
|
17
|
+
accrued_rewards: BigNumber;
|
18
|
+
};
|
19
|
+
export declare const depositStruct: BeetStruct<Deposit, Partial<Deposit>>;
|
20
|
+
export type UserStakeInfo = {
|
21
|
+
buffer: Buffer;
|
22
|
+
unstake_requests: UnstakeRequest[];
|
23
|
+
deposits: Deposit[];
|
24
|
+
amount_staked: BigNumber;
|
25
|
+
bump: number;
|
26
|
+
_padding: number[];
|
27
|
+
};
|
28
|
+
export declare const userStakeInfoStruct: FixableBeetStruct<UserStakeInfo, Partial<UserStakeInfo>>;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.userStakeInfoStruct = exports.depositStruct = exports.unstakeRequestStruct = void 0;
|
4
|
+
const beet_1 = require("@metaplex-foundation/beet");
|
5
|
+
const beet_solana_1 = require("@metaplex-foundation/beet-solana");
|
6
|
+
const solana_1 = require("../../utils/solana");
|
7
|
+
exports.unstakeRequestStruct = new beet_1.BeetStruct([
|
8
|
+
['staking_pool_key', beet_solana_1.publicKey],
|
9
|
+
['withdrawal_amount', solana_1.u64],
|
10
|
+
['request_time', solana_1.u64],
|
11
|
+
['cooldown_end_time', solana_1.u64],
|
12
|
+
['_padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
|
13
|
+
], (args) => args);
|
14
|
+
exports.depositStruct = new beet_1.BeetStruct([
|
15
|
+
['staking_pool_key', beet_solana_1.publicKey],
|
16
|
+
['pool_multiplier', solana_1.u128],
|
17
|
+
['amount_staked', solana_1.u64],
|
18
|
+
['accrued_rewards', solana_1.u64],
|
19
|
+
], (args) => args);
|
20
|
+
exports.userStakeInfoStruct = new beet_1.FixableBeetStruct([
|
21
|
+
['buffer', (0, solana_1.blob)(8)],
|
22
|
+
['unstake_requests', (0, beet_1.uniformFixedSizeArray)(exports.unstakeRequestStruct, 20)],
|
23
|
+
['deposits', (0, beet_1.uniformFixedSizeArray)(exports.depositStruct, 20)],
|
24
|
+
['amount_staked', solana_1.u64],
|
25
|
+
['bump', beet_1.u8],
|
26
|
+
['_padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 7)],
|
27
|
+
], (args) => args);
|
28
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/grass/structs.ts"],"names":[],"mappings":";;;AAAA,oDAKmC;AACnC,kEAA6D;AAG7D,+CAAqD;AAUxC,QAAA,oBAAoB,GAAG,IAAI,iBAAU,CAChD;IACE,CAAC,kBAAkB,EAAE,uBAAS,CAAC;IAC/B,CAAC,mBAAmB,EAAE,YAAG,CAAC;IAC1B,CAAC,cAAc,EAAE,YAAG,CAAC;IACrB,CAAC,mBAAmB,EAAE,YAAG,CAAC;IAC1B,CAAC,UAAU,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;CAC3C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAsB,CACjC,CAAC;AASW,QAAA,aAAa,GAAG,IAAI,iBAAU,CACzC;IACE,CAAC,kBAAkB,EAAE,uBAAS,CAAC;IAC/B,CAAC,iBAAiB,EAAE,aAAI,CAAC;IACzB,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,iBAAiB,EAAE,YAAG,CAAC;CACzB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAe,CAC1B,CAAC;AAWW,QAAA,mBAAmB,GAAG,IAAI,wBAAiB,CACtD;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,kBAAkB,EAAE,IAAA,4BAAqB,EAAC,4BAAoB,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC,UAAU,EAAE,IAAA,4BAAqB,EAAC,qBAAa,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,MAAM,EAAE,SAAE,CAAC;IACZ,CAAC,UAAU,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;CAC3C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAqB,CAChC,CAAC"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Platform } from '@sonarwatch/portfolio-core';
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
3
|
+
export declare const platformId = "hxro";
|
4
|
+
export declare const platform: Platform;
|
5
|
+
export declare const pid: PublicKey;
|
6
|
+
export declare const hxroMint = "HxhWkVpk5NS4Ltg5nij2G671CKXFRKPK8vy271Ub4uEK";
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.hxroMint = exports.pid = exports.platform = exports.platformId = void 0;
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
5
|
+
exports.platformId = 'hxro';
|
6
|
+
exports.platform = {
|
7
|
+
id: exports.platformId,
|
8
|
+
name: 'Hxro',
|
9
|
+
image: 'https://sonar.watch/img/platforms/hxro.webp',
|
10
|
+
website: 'https://app.hxro.finance/',
|
11
|
+
twitter: 'https://twitter.com/HxroNetwork',
|
12
|
+
defiLlamaId: 'hxro-network', // from https://defillama.com/docs/api
|
13
|
+
};
|
14
|
+
exports.pid = new web3_js_1.PublicKey('2jmux3fWV5zHirkEZCoSMEgTgdYZqkE9Qx2oQnxoHRgA');
|
15
|
+
exports.hxroMint = 'HxhWkVpk5NS4Ltg5nij2G671CKXFRKPK8vy271Ub4uEK';
|
16
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hxro/constants.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,MAAM,CAAC;AACpB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,6CAA6C;IACpD,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,iCAAiC;IAC1C,WAAW,EAAE,cAAc,EAAE,sCAAsC;CACpE,CAAC;AAEW,QAAA,GAAG,GAAG,IAAI,mBAAS,CAC9B,8CAA8C,CAC/C,CAAC;AACW,QAAA,QAAQ,GAAG,8CAA8C,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.fetchers = exports.jobs = exports.platforms = void 0;
|
7
|
+
const constants_1 = require("./constants");
|
8
|
+
const stakingFetcher_1 = __importDefault(require("./stakingFetcher"));
|
9
|
+
exports.platforms = [constants_1.platform];
|
10
|
+
exports.jobs = [];
|
11
|
+
exports.fetchers = [stakingFetcher_1.default];
|
12
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hxro/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,sEAAsD;AAEzC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAsB,CAAC,CAAC"}
|
@@ -0,0 +1,57 @@
|
|
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 solana_1 = require("../../utils/solana");
|
16
|
+
const structs_1 = require("./structs");
|
17
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
18
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
19
|
+
const connection = (0, clients_1.getClientSolana)();
|
20
|
+
const accounts = yield (0, solana_1.getParsedProgramAccounts)(connection, structs_1.stakeRewardsStruct, constants_1.pid, [
|
21
|
+
{
|
22
|
+
dataSize: 384,
|
23
|
+
},
|
24
|
+
{
|
25
|
+
memcmp: {
|
26
|
+
bytes: owner,
|
27
|
+
offset: 8,
|
28
|
+
},
|
29
|
+
},
|
30
|
+
]);
|
31
|
+
if (accounts.length === 0)
|
32
|
+
return [];
|
33
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
34
|
+
const element = elementRegistry.addElementMultiple({
|
35
|
+
label: 'Staked',
|
36
|
+
});
|
37
|
+
accounts.forEach((acc) => {
|
38
|
+
element.addAsset({
|
39
|
+
address: constants_1.hxroMint,
|
40
|
+
amount: acc.stakeState.amountStaked,
|
41
|
+
attributes: {
|
42
|
+
lockedUntil: acc.depositTimestamp
|
43
|
+
.plus(acc.stakeDuration)
|
44
|
+
.times(1000)
|
45
|
+
.toNumber(),
|
46
|
+
},
|
47
|
+
});
|
48
|
+
});
|
49
|
+
return elementRegistry.getElements(cache);
|
50
|
+
});
|
51
|
+
const fetcher = {
|
52
|
+
id: `${constants_1.platformId}-staking`,
|
53
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
54
|
+
executor,
|
55
|
+
};
|
56
|
+
exports.default = fetcher;
|
57
|
+
//# sourceMappingURL=stakingFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hxro/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAEvD,2CAAwD;AAExD,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA+C;AAC/C,gFAA6E;AAE7E,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,UAAU,EACV,4BAAkB,EAClB,eAAG,EACH;QACE;YACE,QAAQ,EAAE,GAAG;SACd;QACD;YACE,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC;aACV;SACF;KACF,CACF,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC;QACjD,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,oBAAQ;YACjB,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,YAAY;YACnC,UAAU,EAAE;gBACV,WAAW,EAAE,GAAG,CAAC,gBAAgB;qBAC9B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;qBACvB,KAAK,CAAC,IAAI,CAAC;qBACX,QAAQ,EAAE;aACd;SACF,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,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
import { BeetStruct } from '@metaplex-foundation/beet';
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
4
|
+
import BigNumber from 'bignumber.js';
|
5
|
+
export type StakeRewardsState = {
|
6
|
+
effectiveAmountStaked: BigNumber;
|
7
|
+
amountStaked: BigNumber;
|
8
|
+
claimedShares: BigNumber;
|
9
|
+
};
|
10
|
+
export declare const stakeRewardsStateStruct: BeetStruct<StakeRewardsState, Partial<StakeRewardsState>>;
|
11
|
+
export type StakingRewards = {
|
12
|
+
buffer: Buffer;
|
13
|
+
staker: PublicKey;
|
14
|
+
stakepool: PublicKey;
|
15
|
+
poolShares: PublicKey;
|
16
|
+
stakerShares: PublicKey;
|
17
|
+
vaultNeedsMultisig: boolean;
|
18
|
+
depositTimestamp: BigNumber;
|
19
|
+
stakeDuration: BigNumber;
|
20
|
+
lastClaimTimestamp: BigNumber;
|
21
|
+
padding: Buffer;
|
22
|
+
stakeState: StakeRewardsState;
|
23
|
+
};
|
24
|
+
export declare const stakeRewardsStruct: BeetStruct<StakingRewards, Partial<StakingRewards>>;
|
25
|
+
export type ClaimableRewards = {
|
26
|
+
buffer: Buffer;
|
27
|
+
staker: PublicKey;
|
28
|
+
stakepool: PublicKey;
|
29
|
+
poolShares: PublicKey;
|
30
|
+
stakerShares: PublicKey;
|
31
|
+
vaultNeedsMultisig: boolean;
|
32
|
+
depositTimestamp: BigNumber;
|
33
|
+
stakeDuration: BigNumber;
|
34
|
+
lastClaimTimestamp: BigNumber;
|
35
|
+
claimableShares: BigNumber;
|
36
|
+
};
|
37
|
+
export declare const claimableRewardsStruct: BeetStruct<ClaimableRewards, Partial<ClaimableRewards>>;
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.claimableRewardsStruct = exports.stakeRewardsStruct = exports.stakeRewardsStateStruct = void 0;
|
4
|
+
const beet_1 = require("@metaplex-foundation/beet");
|
5
|
+
const beet_solana_1 = require("@metaplex-foundation/beet-solana");
|
6
|
+
const solana_1 = require("../../utils/solana");
|
7
|
+
exports.stakeRewardsStateStruct = new beet_1.BeetStruct([
|
8
|
+
['effectiveAmountStaked', solana_1.u128],
|
9
|
+
['amountStaked', solana_1.u64],
|
10
|
+
['claimedShares', solana_1.u128],
|
11
|
+
], (args) => args);
|
12
|
+
exports.stakeRewardsStruct = new beet_1.BeetStruct([
|
13
|
+
['buffer', (0, solana_1.blob)(8)],
|
14
|
+
['staker', beet_solana_1.publicKey],
|
15
|
+
['stakepool', beet_solana_1.publicKey],
|
16
|
+
['poolShares', beet_solana_1.publicKey],
|
17
|
+
['stakerShares', beet_solana_1.publicKey],
|
18
|
+
['vaultNeedsMultisig', beet_1.bool],
|
19
|
+
['depositTimestamp', solana_1.i64],
|
20
|
+
['stakeDuration', solana_1.u64],
|
21
|
+
['lastClaimTimestamp', solana_1.i64],
|
22
|
+
['padding', (0, solana_1.blob)(1)],
|
23
|
+
['stakeState', exports.stakeRewardsStateStruct],
|
24
|
+
], (args) => args);
|
25
|
+
exports.claimableRewardsStruct = new beet_1.BeetStruct([
|
26
|
+
['buffer', (0, solana_1.blob)(8)],
|
27
|
+
['staker', beet_solana_1.publicKey],
|
28
|
+
['stakepool', beet_solana_1.publicKey],
|
29
|
+
['poolShares', beet_solana_1.publicKey],
|
30
|
+
['stakerShares', beet_solana_1.publicKey],
|
31
|
+
['depositTimestamp', solana_1.i64],
|
32
|
+
['stakeDuration', solana_1.u64],
|
33
|
+
['lastClaimTimestamp', solana_1.u64],
|
34
|
+
['claimableShares', solana_1.u64],
|
35
|
+
], (args) => args);
|
36
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hxro/structs.ts"],"names":[],"mappings":";;;AAAA,oDAA6D;AAC7D,kEAA6D;AAG7D,+CAA0D;AAQ7C,QAAA,uBAAuB,GAAG,IAAI,iBAAU,CACnD;IACE,CAAC,uBAAuB,EAAE,aAAI,CAAC;IAC/B,CAAC,cAAc,EAAE,YAAG,CAAC;IACrB,CAAC,eAAe,EAAE,aAAI,CAAC;CACxB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAyB,CACpC,CAAC;AAgBW,QAAA,kBAAkB,GAAG,IAAI,iBAAU,CAC9C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,oBAAoB,EAAE,WAAI,CAAC;IAC5B,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,oBAAoB,EAAE,YAAG,CAAC;IAC3B,CAAC,SAAS,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACpB,CAAC,YAAY,EAAE,+BAAuB,CAAC;CACxC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAsB,CACjC,CAAC;AAeW,QAAA,sBAAsB,GAAG,IAAI,iBAAU,CAClD;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,QAAQ,EAAE,uBAAS,CAAC;IACrB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,oBAAoB,EAAE,YAAG,CAAC;IAC3B,CAAC,iBAAiB,EAAE,YAAG,CAAC;CACzB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAwB,CACnC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hxro/types.ts"],"names":[],"mappings":""}
|
@@ -25,17 +25,31 @@ function getVotePda(owner) {
|
|
25
25
|
], constants_1.voteProgramId)[0];
|
26
26
|
}
|
27
27
|
exports.getVotePda = getVotePda;
|
28
|
+
const maxIdsPerRequest = 100;
|
28
29
|
function getJupiterPrices(mints, vsMint) {
|
29
30
|
return __awaiter(this, void 0, void 0, function* () {
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
let res;
|
32
|
+
const pricesData = [];
|
33
|
+
let subMints;
|
34
|
+
let start = 0;
|
35
|
+
let end = maxIdsPerRequest - 1;
|
36
|
+
do {
|
37
|
+
subMints = mints.slice(start, end);
|
38
|
+
res = yield axios_1.default.get('https://api.jup.ag/price/v2', {
|
39
|
+
params: {
|
40
|
+
ids: subMints.map((m) => m.toString()).join(','),
|
41
|
+
vsToken: vsMint.toString(),
|
42
|
+
},
|
43
|
+
});
|
44
|
+
start += maxIdsPerRequest;
|
45
|
+
end += maxIdsPerRequest;
|
46
|
+
pricesData.push(res.data.data);
|
47
|
+
} while (mints.at(start));
|
36
48
|
const prices = new Map();
|
37
|
-
for (const
|
38
|
-
|
49
|
+
for (const priceData of pricesData) {
|
50
|
+
for (const [, value] of Object.entries(priceData)) {
|
51
|
+
prices.set(value.id, value.price);
|
52
|
+
}
|
39
53
|
}
|
40
54
|
return prices;
|
41
55
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA4C;AAC5C,kDAA6C;AAC7C,+DAGoC;AAEpC,qDAAoE;AAEpE,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,mBAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrB,wBAAY,CAAC,OAAO,EAAE;QACtB,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;KAC/B,EACD,yBAAa,CACd,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AATD,gCASC;AAED,SAAsB,gBAAgB,CAAC,KAAkB,EAAE,MAAiB;;QAC1E,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/helpers.ts"],"names":[],"mappings":"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"}
|