@sonarwatch/portfolio-plugins 0.14.163 → 0.14.165
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/CHANGELOG.md +14 -1
- package/package.json +1 -3
- package/src/index.js +4 -0
- package/src/index.js.map +1 -1
- package/src/plugins/citrus/constants.d.ts +0 -2
- package/src/plugins/citrus/constants.js +1 -7
- package/src/plugins/citrus/constants.js.map +1 -1
- package/src/plugins/citrus/loansFetcher.js +25 -16
- package/src/plugins/citrus/loansFetcher.js.map +1 -1
- package/src/plugins/citrus/structs.d.ts +59 -0
- package/src/plugins/citrus/structs.js +59 -0
- package/src/plugins/citrus/structs.js.map +1 -0
- package/src/plugins/citrus/types.d.ts +0 -48
- package/src/plugins/divvy/housePoolFetcher.js +0 -1
- package/src/plugins/divvy/housePoolFetcher.js.map +1 -1
- package/src/plugins/drift/perpHelpers/idls.d.ts +0 -2
- package/src/plugins/drift/perpHelpers/idls.js +1 -6
- package/src/plugins/drift/perpHelpers/idls.js.map +1 -1
- package/src/plugins/drift/perpHelpers/pythPull.js +9 -16
- package/src/plugins/drift/perpHelpers/pythPull.js.map +1 -1
- package/src/plugins/famousfoxfederation/constants.d.ts +0 -3
- package/src/plugins/famousfoxfederation/constants.js +1 -13
- package/src/plugins/famousfoxfederation/constants.js.map +1 -1
- package/src/plugins/famousfoxfederation/helpers.d.ts +1 -1
- package/src/plugins/famousfoxfederation/stakingFetcher.js +6 -11
- package/src/plugins/famousfoxfederation/stakingFetcher.js.map +1 -1
- package/src/plugins/famousfoxfederation/stakingJob.js +2 -1
- package/src/plugins/famousfoxfederation/stakingJob.js.map +1 -1
- package/src/plugins/famousfoxfederation/structs.d.ts +40 -0
- package/src/plugins/famousfoxfederation/structs.js +39 -0
- package/src/plugins/famousfoxfederation/structs.js.map +1 -0
- package/src/plugins/famousfoxfederation/tokenMarketFetcher.js +7 -10
- package/src/plugins/famousfoxfederation/tokenMarketFetcher.js.map +1 -1
- package/src/plugins/futarchy/constants.d.ts +2 -0
- package/src/plugins/futarchy/constants.js +33 -1
- package/src/plugins/futarchy/constants.js.map +1 -1
- package/src/plugins/futarchy/daosJob.js +18 -42
- package/src/plugins/futarchy/daosJob.js.map +1 -1
- package/src/plugins/jupiter/constants.d.ts +8 -0
- package/src/plugins/jupiter/constants.js +10 -0
- package/src/plugins/jupiter/constants.js.map +1 -0
- package/src/plugins/jupiter/governance/asrAirdropFetcher.js +2 -1
- package/src/plugins/jupiter/governance/asrAirdropFetcher.js.map +1 -1
- package/src/plugins/jupiter/governance/constants.js +9 -9
- package/src/plugins/jupiter/governance/constants.js.map +1 -1
- package/src/plugins/jupiter/governance/voteFetcher.js +7 -7
- package/src/plugins/jupiter/governance/voteFetcher.js.map +1 -1
- package/src/plugins/jupiter/helpers.js +3 -2
- package/src/plugins/jupiter/helpers.js.map +1 -1
- package/src/plugins/jupiter/launchpad/constants.d.ts +0 -8
- package/src/plugins/jupiter/launchpad/constants.js +8 -13
- package/src/plugins/jupiter/launchpad/constants.js.map +1 -1
- package/src/plugins/jupiter/pricingJob.js +2 -2
- package/src/plugins/jupiter/pricingJob.js.map +1 -1
- package/src/plugins/loopscale/loansFetcher.js +1 -1
- package/src/plugins/loopscale/loansFetcher.js.map +1 -1
- package/src/plugins/loopscale/structs.d.ts +6 -1
- package/src/plugins/loopscale/structs.js +7 -1
- package/src/plugins/loopscale/structs.js.map +1 -1
- package/src/plugins/nirvana/constants.d.ts +11 -0
- package/src/plugins/nirvana/constants.js +13 -0
- package/src/plugins/nirvana/constants.js.map +1 -0
- package/src/plugins/nirvana/depositFetcher.d.ts +3 -0
- package/src/plugins/nirvana/depositFetcher.js +64 -0
- package/src/plugins/nirvana/depositFetcher.js.map +1 -0
- package/src/plugins/nirvana/index.d.ts +4 -0
- package/src/plugins/nirvana/index.js +10 -0
- package/src/plugins/nirvana/index.js.map +1 -0
- package/src/plugins/nirvana/structs.d.ts +47 -0
- package/src/plugins/nirvana/structs.js +40 -0
- package/src/plugins/nirvana/structs.js.map +1 -0
- package/src/plugins/nxfinance/constants.d.ts +0 -4
- package/src/plugins/nxfinance/constants.js +1 -19
- package/src/plugins/nxfinance/constants.js.map +1 -1
- package/src/plugins/nxfinance/helpers.d.ts +6 -5
- package/src/plugins/nxfinance/helpers.js +6 -5
- package/src/plugins/nxfinance/helpers.js.map +1 -1
- package/src/plugins/nxfinance/lendingPoolsJob.js +2 -1
- package/src/plugins/nxfinance/lendingPoolsJob.js.map +1 -1
- package/src/plugins/nxfinance/positionsFetcher.js +18 -18
- package/src/plugins/nxfinance/positionsFetcher.js.map +1 -1
- package/src/plugins/nxfinance/solayerPoolsJob.js +6 -12
- package/src/plugins/nxfinance/solayerPoolsJob.js.map +1 -1
- package/src/plugins/nxfinance/stakingFetcher.js +3 -2
- package/src/plugins/nxfinance/stakingFetcher.js.map +1 -1
- package/src/plugins/nxfinance/stakingPoolJob.js +4 -1
- package/src/plugins/nxfinance/stakingPoolJob.js.map +1 -1
- package/src/plugins/nxfinance/structs.d.ts +156 -0
- package/src/plugins/nxfinance/structs.js +143 -0
- package/src/plugins/nxfinance/structs.js.map +1 -0
- package/src/plugins/nxfinance/types.d.ts +0 -122
- package/src/plugins/pumpkin/constants.d.ts +5 -0
- package/src/plugins/pumpkin/constants.js +7 -0
- package/src/plugins/pumpkin/constants.js.map +1 -0
- package/src/plugins/pumpkin/index.d.ts +4 -0
- package/src/plugins/pumpkin/index.js +10 -0
- package/src/plugins/pumpkin/index.js.map +1 -0
- package/src/plugins/pumpkin/stakingFetcher.d.ts +3 -0
- package/src/plugins/pumpkin/stakingFetcher.js +47 -0
- package/src/plugins/pumpkin/stakingFetcher.js.map +1 -0
- package/src/plugins/pumpkin/structs.d.ts +12 -0
- package/src/plugins/pumpkin/structs.js +13 -0
- package/src/plugins/pumpkin/structs.js.map +1 -0
- package/src/plugins/quarry/calculatePositions.d.ts +3 -2
- package/src/plugins/quarry/calculatePositions.js +4 -4
- package/src/plugins/quarry/calculatePositions.js.map +1 -1
- package/src/plugins/quarry/constants.d.ts +0 -5
- package/src/plugins/quarry/constants.js +1 -25
- package/src/plugins/quarry/constants.js.map +1 -1
- package/src/plugins/quarry/getClaimableRewards.d.ts +2 -2
- package/src/plugins/quarry/getClaimableRewards.js +3 -2
- package/src/plugins/quarry/getClaimableRewards.js.map +1 -1
- package/src/plugins/quarry/helpers.d.ts +2 -1
- package/src/plugins/quarry/helpers.js.map +1 -1
- package/src/plugins/quarry/positionsFetcher.js +17 -5
- package/src/plugins/quarry/positionsFetcher.js.map +1 -1
- package/src/plugins/quarry/redeemersJob.js +8 -7
- package/src/plugins/quarry/redeemersJob.js.map +1 -1
- package/src/plugins/quarry/structs.d.ts +59 -0
- package/src/plugins/quarry/structs.js +56 -0
- package/src/plugins/quarry/structs.js.map +1 -0
- package/src/plugins/quarry/types.d.ts +0 -31
- package/src/plugins/sanctum/s1AirdropFetcher.js +16 -15
- package/src/plugins/sanctum/s1AirdropFetcher.js.map +1 -1
- package/src/plugins/streamflow/constants.d.ts +2 -0
- package/src/plugins/streamflow/constants.js +3 -1
- package/src/plugins/streamflow/constants.js.map +1 -1
- package/src/plugins/streamflow/helpers.d.ts +5 -0
- package/src/plugins/streamflow/helpers.js +18 -1
- package/src/plugins/streamflow/helpers.js.map +1 -1
- package/src/plugins/streamflow/index.js +4 -2
- package/src/plugins/streamflow/index.js.map +1 -1
- package/src/plugins/streamflow/merkleDistirbutorsJob.d.ts +3 -0
- package/src/plugins/streamflow/merkleDistirbutorsJob.js +47 -0
- package/src/plugins/streamflow/merkleDistirbutorsJob.js.map +1 -0
- package/src/plugins/streamflow/merkleFetcher.d.ts +3 -0
- package/src/plugins/streamflow/merkleFetcher.js +64 -0
- package/src/plugins/streamflow/merkleFetcher.js.map +1 -0
- package/src/plugins/streamflow/structs.d.ts +78 -0
- package/src/plugins/streamflow/structs.js +79 -1
- package/src/plugins/streamflow/structs.js.map +1 -1
- package/src/plugins/streamflow/types.d.ts +4 -0
- package/src/plugins/streamflow/vestingFetcher.js +1 -6
- package/src/plugins/streamflow/vestingFetcher.js.map +1 -1
- package/src/utils/elementbuilder/AssetGenericBuilder.js +1 -3
- package/src/utils/elementbuilder/AssetGenericBuilder.js.map +1 -1
- package/src/utils/elementbuilder/AssetTokenBuilder.js +3 -3
- package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -1
- package/src/utils/solana/index.d.ts +0 -2
- package/src/utils/solana/index.js +0 -2
- package/src/utils/solana/index.js.map +1 -1
- package/src/utils/solana/pyth/structs.d.ts +12 -11
- package/src/utils/solana/pyth/structs.js +16 -12
- package/src/utils/solana/pyth/structs.js.map +1 -1
- package/src/plugins/citrus/filters.d.ts +0 -4
- package/src/plugins/citrus/filters.js +0 -32
- package/src/plugins/citrus/filters.js.map +0 -1
- package/src/plugins/famousfoxfederation/types.d.ts +0 -25
- package/src/plugins/famousfoxfederation/types.js +0 -3
- package/src/plugins/famousfoxfederation/types.js.map +0 -1
- package/src/plugins/quarry/filters.d.ts +0 -5
- package/src/plugins/quarry/filters.js +0 -24
- package/src/plugins/quarry/filters.js.map +0 -1
- package/src/utils/solana/getAutoParsedMultipleAccountsInfo.d.ts +0 -6
- package/src/utils/solana/getAutoParsedMultipleAccountsInfo.js +0 -38
- package/src/utils/solana/getAutoParsedMultipleAccountsInfo.js.map +0 -1
- package/src/utils/solana/getAutoParsedProgramAccounts.d.ts +0 -6
- package/src/utils/solana/getAutoParsedProgramAccounts.js +0 -37
- package/src/utils/solana/getAutoParsedProgramAccounts.js.map +0 -1
@@ -1,10 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.stakingProgramId = exports.stakePool = exports.lendingPools = exports.solayerPoolKey = exports.stakingPoolKey = exports.lendingPoolKey = exports.lendProgramId = exports.leverageVaultsMints = exports.leverageFiProgramID = exports.ID = exports.platformId = void 0;
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
5
|
-
const leverageIdl_1 = require("./leverageIdl");
|
6
|
-
const lendIdl_1 = require("./lendIdl");
|
7
|
-
const stakingIdl_1 = require("./stakingIdl");
|
8
5
|
exports.platformId = 'nxfinance';
|
9
6
|
// https://nxfinance.io/nx-data/doc
|
10
7
|
exports.ID = new web3_js_1.PublicKey('RaXcyfW8jK295UAU1XN2uLMTHnTWEaeCcNWLeDB4iD6');
|
@@ -16,17 +13,7 @@ exports.leverageVaultsMints = [
|
|
16
13
|
'sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh', // sSOL
|
17
14
|
'HUBsveNpjo5pWqNkH57QzxjQASdTVXcSK7bVKTSZtcSX', // hubSOL
|
18
15
|
];
|
19
|
-
exports.nxfinanceLeverageIdlItem = {
|
20
|
-
programId: exports.leverageFiProgramID.toString(),
|
21
|
-
idl: leverageIdl_1.NxfinanceLeverageIDL,
|
22
|
-
idlType: 'anchor',
|
23
|
-
};
|
24
16
|
exports.lendProgramId = new web3_js_1.PublicKey('NXFiKimQN3QSL3CDhCXddyVmLfrai8HK36bHKaAzK7g');
|
25
|
-
exports.nxfinanceLendIdlItem = {
|
26
|
-
programId: exports.lendProgramId.toString(),
|
27
|
-
idl: lendIdl_1.NxfinanceLendIdl,
|
28
|
-
idlType: 'anchor',
|
29
|
-
};
|
30
17
|
exports.lendingPoolKey = 'lending-pools';
|
31
18
|
exports.stakingPoolKey = 'staking-pool';
|
32
19
|
exports.solayerPoolKey = 'solayer-pools';
|
@@ -35,9 +22,4 @@ exports.lendingPools = [
|
|
35
22
|
];
|
36
23
|
exports.stakePool = '2P1eeegdbEhN3bnCroJJPXiH13i4rw1XYk8ftdh9meRY';
|
37
24
|
exports.stakingProgramId = '9un1MopS4NRhgVDLXB1DqoQDTmq1un48YKJuPiMLpSc9';
|
38
|
-
exports.nxfinanceStakingIdlItem = {
|
39
|
-
programId: new web3_js_1.PublicKey(exports.stakingProgramId).toString(),
|
40
|
-
idl: stakingIdl_1.NxfinanceStakingIdl,
|
41
|
-
idlType: 'anchor',
|
42
|
-
};
|
43
25
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/constants.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,WAAW,CAAC;AACtC,mCAAmC;AAEtB,QAAA,EAAE,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAElE,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,mBAAmB,GAAG;IACjC,8CAA8C,EAAE,MAAM;IACtD,6CAA6C,EAAE,SAAS;IACxD,6CAA6C,EAAE,OAAO;IACtD,6CAA6C,EAAE,OAAO;IACtD,8CAA8C,EAAE,SAAS;CAC1D,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,cAAc,GAAG,eAAe,CAAC;AACjC,QAAA,cAAc,GAAG,cAAc,CAAC;AAChC,QAAA,cAAc,GAAG,eAAe,CAAC;AAEjC,QAAA,YAAY,GAAG;IAC1B,IAAI,mBAAS,CAAC,8CAA8C,CAAC;CAC9D,CAAC;AAEW,QAAA,SAAS,GAAG,8CAA8C,CAAC;AAC3D,QAAA,gBAAgB,GAAG,8CAA8C,CAAC"}
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
2
|
-
import { FormattedLendingPool
|
2
|
+
import { FormattedLendingPool } from './types';
|
3
3
|
import { ParsedAccount } from '../../utils/solana';
|
4
|
+
import { LendingPool, SolayerPool, MarginPool } from './structs';
|
4
5
|
export declare const getSupplyNoteRate: (marginPool: MarginPool) => BigNumber;
|
5
6
|
export declare const getBorrowNoteRate: (marginPool: MarginPool) => BigNumber;
|
6
7
|
export declare const formatLendingPool: (t: LendingPool, decimals: number) => FormattedLendingPool;
|
7
|
-
export declare const getLendingAccounts: (lendingPools: ParsedAccount<LendingPool>[], owner: string) => Promise<(ParsedAccount<LendingAccount> | null)[]>;
|
8
|
-
export declare const getVSolPositionAccounts: (lendingPools: ParsedAccount<LendingPool>[], owner: string) => Promise<(ParsedAccount<
|
9
|
-
export declare const getSolayerUserAccounts: (solayerPools: ParsedAccount<SolayerPool>[], owner: string) => Promise<(ParsedAccount<SolayerUser> | null)[]>;
|
10
|
-
export declare const getMarginAccount: (owner: string) => Promise<ParsedAccount<MarginAccount> | null>;
|
8
|
+
export declare const getLendingAccounts: (lendingPools: ParsedAccount<LendingPool>[], owner: string) => Promise<(ParsedAccount<import("./structs").LendingAccount> | null)[]>;
|
9
|
+
export declare const getVSolPositionAccounts: (lendingPools: ParsedAccount<LendingPool>[], owner: string) => Promise<(ParsedAccount<import("./structs").VSolPosition> | null)[]>;
|
10
|
+
export declare const getSolayerUserAccounts: (solayerPools: ParsedAccount<SolayerPool>[], owner: string) => Promise<(ParsedAccount<import("./structs").SolayerUser> | null)[]>;
|
11
|
+
export declare const getMarginAccount: (owner: string) => Promise<ParsedAccount<import("./structs").MarginAccount> | null>;
|
11
12
|
export declare const getMarginPools: (mints: Set<string>) => Promise<(ParsedAccount<MarginPool> | null)[]>;
|
@@ -18,6 +18,7 @@ const web3_js_1 = require("@solana/web3.js");
|
|
18
18
|
const solana_1 = require("../../utils/solana");
|
19
19
|
const constants_1 = require("./constants");
|
20
20
|
const clients_1 = require("../../utils/clients");
|
21
|
+
const structs_1 = require("./structs");
|
21
22
|
const getBorrowApr = (utilization) => {
|
22
23
|
if (utilization.isLessThanOrEqualTo(0.8)) {
|
23
24
|
return parseFloat(utilization.times(0.125).plus(0.1).toFixed(4, bignumber_js_1.default.ROUND_DOWN));
|
@@ -141,7 +142,7 @@ const getLendingAccounts = (lendingPools, owner) => {
|
|
141
142
|
new web3_js_1.PublicKey(owner).toBuffer(),
|
142
143
|
], constants_1.lendProgramId)[0];
|
143
144
|
});
|
144
|
-
return (0, solana_1.
|
145
|
+
return (0, solana_1.getParsedMultipleAccountsInfo)((0, clients_1.getClientSolana)(), structs_1.lendingAccountStruct, pdas);
|
145
146
|
};
|
146
147
|
exports.getLendingAccounts = getLendingAccounts;
|
147
148
|
const getVSolPositionAccounts = (lendingPools, owner) => {
|
@@ -150,7 +151,7 @@ const getVSolPositionAccounts = (lendingPools, owner) => {
|
|
150
151
|
new web3_js_1.PublicKey(lendingPool.nxMarket).toBuffer(),
|
151
152
|
new web3_js_1.PublicKey(owner).toBuffer(),
|
152
153
|
], constants_1.lendProgramId)[0]);
|
153
|
-
return (0, solana_1.
|
154
|
+
return (0, solana_1.getParsedMultipleAccountsInfo)((0, clients_1.getClientSolana)(), structs_1.vSolPositionStruct, pdas);
|
154
155
|
};
|
155
156
|
exports.getVSolPositionAccounts = getVSolPositionAccounts;
|
156
157
|
const getSolayerUserAccounts = (solayerPools, owner) => {
|
@@ -160,7 +161,7 @@ const getSolayerUserAccounts = (solayerPools, owner) => {
|
|
160
161
|
new web3_js_1.PublicKey(solayerPool.lrtMint).toBuffer(),
|
161
162
|
new web3_js_1.PublicKey(owner).toBuffer(),
|
162
163
|
], constants_1.lendProgramId)[0]);
|
163
|
-
return (0, solana_1.
|
164
|
+
return (0, solana_1.getParsedMultipleAccountsInfo)((0, clients_1.getClientSolana)(), structs_1.solayerUserStruct, pdas);
|
164
165
|
};
|
165
166
|
exports.getSolayerUserAccounts = getSolayerUserAccounts;
|
166
167
|
const getMarginAccount = (owner) => __awaiter(void 0, void 0, void 0, function* () {
|
@@ -169,7 +170,7 @@ const getMarginAccount = (owner) => __awaiter(void 0, void 0, void 0, function*
|
|
169
170
|
new web3_js_1.PublicKey(owner).toBuffer(),
|
170
171
|
Buffer.from('account'),
|
171
172
|
], constants_1.leverageFiProgramID)[0];
|
172
|
-
return (yield (0, solana_1.
|
173
|
+
return (yield (0, solana_1.getParsedMultipleAccountsInfo)((0, clients_1.getClientSolana)(), structs_1.marginAccountStruct, [pdas]))[0];
|
173
174
|
});
|
174
175
|
exports.getMarginAccount = getMarginAccount;
|
175
176
|
const getMarginPools = (mints) => __awaiter(void 0, void 0, void 0, function* () {
|
@@ -177,7 +178,7 @@ const getMarginPools = (mints) => __awaiter(void 0, void 0, void 0, function* ()
|
|
177
178
|
web3_js_1.PublicKey.findProgramAddressSync([constants_1.ID.toBuffer()], constants_1.leverageFiProgramID)[0].toBuffer(),
|
178
179
|
new web3_js_1.PublicKey(mint).toBuffer(),
|
179
180
|
], constants_1.leverageFiProgramID)[0]);
|
180
|
-
return (0, solana_1.
|
181
|
+
return (0, solana_1.getParsedMultipleAccountsInfo)((0, clients_1.getClientSolana)(), structs_1.marginPoolStruct, marginPoolsPublicKeys);
|
181
182
|
});
|
182
183
|
exports.getMarginPools = getMarginPools;
|
183
184
|
//# sourceMappingURL=helpers.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AACrC,6CAA4C;
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/helpers.ts"],"names":[],"mappings":"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"}
|
@@ -13,9 +13,10 @@ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
|
13
13
|
const solana_1 = require("../../utils/solana");
|
14
14
|
const constants_1 = require("./constants");
|
15
15
|
const clients_1 = require("../../utils/clients");
|
16
|
+
const structs_1 = require("./structs");
|
16
17
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
17
18
|
const connection = (0, clients_1.getClientSolana)();
|
18
|
-
const lendingPoolAccounts = yield (0, solana_1.
|
19
|
+
const lendingPoolAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.lendingPoolStruct, constants_1.lendingPools);
|
19
20
|
yield cache.setItem(constants_1.lendingPoolKey, lendingPoolAccounts, {
|
20
21
|
prefix: constants_1.platformId,
|
21
22
|
networkId: portfolio_core_1.NetworkId.solana,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lendingPoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/lendingPoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,+
|
1
|
+
{"version":3,"file":"lendingPoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/lendingPoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,+CAAmE;AACnE,2CAAuE;AACvE,iDAAsD;AACtD,uCAA8C;AAE9C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,mBAAmB,GAAG,MAAM,IAAA,sCAA6B,EAC7D,UAAU,EACV,2BAAiB,EACjB,wBAAY,CACb,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,0BAAc,EAAE,mBAAmB,EAAE;QACvD,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,gBAAgB;IACjC,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -48,17 +48,17 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
48
48
|
return [];
|
49
49
|
const mints = new Set();
|
50
50
|
if (marginAccount) {
|
51
|
-
marginAccount.deposits.forEach((d) => mints.add(d.tokenMint));
|
52
|
-
marginAccount.loans.forEach((l) => mints.add(l.tokenMint));
|
51
|
+
marginAccount.deposits.forEach((d) => mints.add(d.tokenMint.toString()));
|
52
|
+
marginAccount.loans.forEach((l) => mints.add(l.tokenMint.toString()));
|
53
53
|
}
|
54
54
|
vSolPositionsAccounts.forEach((vSolPositionsAccount) => {
|
55
55
|
vSolPositionsAccount === null || vSolPositionsAccount === void 0 ? void 0 : vSolPositionsAccount.positions.forEach((position) => {
|
56
|
-
mints.add(position.borrowMint);
|
57
|
-
mints.add(position.collateralMint);
|
58
|
-
mints.add(position.leverageMint);
|
56
|
+
mints.add(position.borrowMint.toString());
|
57
|
+
mints.add(position.collateralMint.toString());
|
58
|
+
mints.add(position.leverageMint.toString());
|
59
59
|
});
|
60
60
|
});
|
61
|
-
lendingPools.forEach((l) => mints.add(l.tokenMint));
|
61
|
+
lendingPools.forEach((l) => mints.add(l.tokenMint.toString()));
|
62
62
|
const [marginPools, tokenPrices] = yield Promise.all([
|
63
63
|
(0, helpers_1.getMarginPools)(mints),
|
64
64
|
cache.getTokenPricesAsMap(mints, portfolio_core_1.NetworkId.solana),
|
@@ -67,12 +67,12 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
67
67
|
lendingAccounts.forEach((lendingAccount) => {
|
68
68
|
if (!lendingAccount)
|
69
69
|
return;
|
70
|
-
if (lendingAccount.depositNotes
|
70
|
+
if (lendingAccount.depositNotes.isZero())
|
71
71
|
return;
|
72
|
-
const lendingPool = lendingPools.find((lp) => lp.nxMarket === lendingAccount.nxMarket);
|
72
|
+
const lendingPool = lendingPools.find((lp) => lp.nxMarket.toString() === lendingAccount.nxMarket.toString());
|
73
73
|
if (!lendingPool)
|
74
74
|
return;
|
75
|
-
const tokenPrice = tokenPrices.get(lendingPool.tokenMint);
|
75
|
+
const tokenPrice = tokenPrices.get(lendingPool.tokenMint.toString());
|
76
76
|
if (!tokenPrice)
|
77
77
|
return;
|
78
78
|
const element = elementRegistry.addElementLiquidity({
|
@@ -102,16 +102,16 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
102
102
|
vSolPositionsAccount.positions.forEach((position) => {
|
103
103
|
if (!position)
|
104
104
|
return;
|
105
|
-
const lendingPool = lendingPools.find((lp) => lp.nxMarket === vSolPositionsAccount.nxMarket);
|
105
|
+
const lendingPool = lendingPools.find((lp) => lp.nxMarket.toString() === vSolPositionsAccount.nxMarket.toString());
|
106
106
|
if (!lendingPool)
|
107
107
|
return;
|
108
|
-
const tokenPrice = tokenPrices.get(lendingPool.tokenMint);
|
108
|
+
const tokenPrice = tokenPrices.get(lendingPool.tokenMint.toString());
|
109
109
|
if (!tokenPrice)
|
110
110
|
return;
|
111
111
|
const formattedLendingPool = (0, helpers_1.formatLendingPool)(lendingPools[0], tokenPrice.decimals);
|
112
|
-
const collateralTokenPrice = tokenPrices.get(position.collateralMint);
|
113
|
-
const loanTokenPrice = tokenPrices.get(position.borrowMint);
|
114
|
-
const leverageTokenPrice = tokenPrices.get(position.leverageMint);
|
112
|
+
const collateralTokenPrice = tokenPrices.get(position.collateralMint.toString());
|
113
|
+
const loanTokenPrice = tokenPrices.get(position.borrowMint.toString());
|
114
|
+
const leverageTokenPrice = tokenPrices.get(position.leverageMint.toString());
|
115
115
|
if (!collateralTokenPrice || !loanTokenPrice || !leverageTokenPrice)
|
116
116
|
return;
|
117
117
|
const element = elementRegistry.addElementMultiple({
|
@@ -156,7 +156,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
156
156
|
ref: marginAccount.pubkey,
|
157
157
|
});
|
158
158
|
marginAccount.deposits.forEach((deposit) => {
|
159
|
-
const marginPool = marginPools.find((mp) => (mp === null || mp === void 0 ? void 0 : mp.tokenMint) === deposit.tokenMint);
|
159
|
+
const marginPool = marginPools.find((mp) => (mp === null || mp === void 0 ? void 0 : mp.tokenMint.toString()) === deposit.tokenMint.toString());
|
160
160
|
if (!marginPool)
|
161
161
|
return;
|
162
162
|
const supplyNoteRate = (0, helpers_1.getSupplyNoteRate)(marginPool);
|
@@ -165,7 +165,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
165
165
|
address: deposit.tokenMint,
|
166
166
|
amount,
|
167
167
|
};
|
168
|
-
if (constants_1.leverageVaultsMints.includes(deposit.tokenMint)) {
|
168
|
+
if (constants_1.leverageVaultsMints.includes(deposit.tokenMint.toString())) {
|
169
169
|
asset.amount = asset.amount
|
170
170
|
.multipliedBy(marginAccount.leverage)
|
171
171
|
.dividedBy(100);
|
@@ -176,10 +176,10 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
176
176
|
}
|
177
177
|
});
|
178
178
|
marginAccount.loans.forEach((loan) => {
|
179
|
-
const marginPool = marginPools.find((mp) => (mp === null || mp === void 0 ? void 0 : mp.tokenMint) === loan.tokenMint);
|
179
|
+
const marginPool = marginPools.find((mp) => (mp === null || mp === void 0 ? void 0 : mp.tokenMint.toString()) === loan.tokenMint.toString());
|
180
180
|
if (!marginPool)
|
181
181
|
return;
|
182
|
-
if (loan.loanNote
|
182
|
+
if (loan.loanNote.isZero())
|
183
183
|
return;
|
184
184
|
const borrowNoteRate = (0, helpers_1.getBorrowNoteRate)(marginPool);
|
185
185
|
elementBorrowlend.addBorrowedAsset({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"positionsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/positionsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAIoC;AACpC,gEAAqC;AAErC,2CAKqB;AAIrB,kEAA+D;AAC/D,uCASmB;AACnB,gFAA6E;AAE7E,MAAM,gBAAgB,GAAG,IAAI,6BAAa,CACxC,0BAAc,EACd;IACE,MAAM,EAAE,sBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CACF,CAAC;AACF,MAAM,gBAAgB,GAAG,IAAI,6BAAa,CACxC,0BAAc,EACd;IACE,MAAM,EAAE,sBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;CAC5B,CACF,CAAC;AAEF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/B,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;KAChC,CAAC,CAAC;IACH,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEtE,MAAM,CACJ,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACpB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,IAAA,4BAAkB,EAAC,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM;QAC/C,IAAA,iCAAuB,EAAC,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO;QACrD,IAAA,0BAAgB,EAAC,KAAK,CAAC,EAAE,uBAAuB;QAChD,IAAA,gCAAsB,EAAC,YAAY,EAAE,KAAK,CAAC,EAAE,UAAU;KACxD,CAAC,CAAC;IAEH,IACE,eAAe,CAAC,MAAM,KAAK,CAAC;QAC5B,qBAAqB,CAAC,MAAM,KAAK,CAAC;QAClC,CAAC,aAAa;QACd,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAEhC,OAAO,EAAE,CAAC;IAEZ,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"positionsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/positionsFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -10,22 +10,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
10
10
|
};
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
13
|
-
const solana_1 = require("../../utils/solana");
|
14
13
|
const constants_1 = require("./constants");
|
15
14
|
const clients_1 = require("../../utils/clients");
|
15
|
+
const structs_1 = require("./structs");
|
16
|
+
const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
|
16
17
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
17
18
|
const connection = (0, clients_1.getClientSolana)();
|
18
|
-
const solayerPoolAccounts = yield (
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
bytes: 'J27HTcn2xq3',
|
23
|
-
},
|
24
|
-
},
|
25
|
-
{
|
26
|
-
dataSize: 184,
|
27
|
-
},
|
28
|
-
]);
|
19
|
+
const solayerPoolAccounts = yield ParsedGpa_1.ParsedGpa.build(connection, structs_1.solayerPoolStruct, constants_1.lendProgramId)
|
20
|
+
.addRawFilter(0, 'J27HTcn2xq3')
|
21
|
+
.addDataSizeFilter(184)
|
22
|
+
.run();
|
29
23
|
yield cache.setItem(constants_1.solayerPoolKey, solayerPoolAccounts, {
|
30
24
|
prefix: constants_1.platformId,
|
31
25
|
networkId: portfolio_core_1.NetworkId.solana,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solayerPoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/solayerPoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD
|
1
|
+
{"version":3,"file":"solayerPoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/solayerPoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAAwE;AACxE,iDAAsD;AACtD,uCAA8C;AAC9C,kEAA+D;AAE/D,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,mBAAmB,GAAG,MAAM,qBAAS,CAAC,KAAK,CAC/C,UAAU,EACV,2BAAiB,EACjB,yBAAa,CACd;SACE,YAAY,CAAC,CAAC,EAAE,aAAa,CAAC;SAC9B,iBAAiB,CAAC,GAAG,CAAC;SACtB,GAAG,EAAE,CAAC;IAET,MAAM,KAAK,CAAC,OAAO,CAAC,0BAAc,EAAE,mBAAmB,EAAE;QACvD,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,gBAAgB;IACjC,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -19,9 +19,10 @@ const constants_1 = require("./constants");
|
|
19
19
|
const clients_1 = require("../../utils/clients");
|
20
20
|
const solana_1 = require("../../utils/solana");
|
21
21
|
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
22
|
+
const structs_1 = require("./structs");
|
22
23
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
23
24
|
const connection = (0, clients_1.getClientSolana)();
|
24
|
-
const stakingAccount = (yield (0, solana_1.
|
25
|
+
const stakingAccount = (yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.stakeAccountStruct, [
|
25
26
|
web3_js_1.PublicKey.findProgramAddressSync([
|
26
27
|
new web3_js_1.PublicKey(constants_1.stakePool).toBuffer(),
|
27
28
|
Buffer.from('nx_account', 'utf8'),
|
@@ -41,7 +42,7 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
41
42
|
label: 'Staked',
|
42
43
|
link: 'https://nxfinance.io/stake',
|
43
44
|
ref: stakingAccount.pubkey.toString(),
|
44
|
-
sourceRefs: [{ name: 'Pool', address: stakePoolAccount.pubkey }],
|
45
|
+
sourceRefs: [{ name: 'Pool', address: stakePoolAccount.pubkey.toString() }],
|
45
46
|
});
|
46
47
|
element.addAsset({
|
47
48
|
address: stakePoolAccount.stakeTokenMint,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA4E;AAC5E,6CAA4C;AAC5C,gEAAqC;AAErC,
|
1
|
+
{"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAA4E;AAC5E,6CAA4C;AAC5C,gEAAqC;AAErC,2CAKqB;AAErB,iDAAsD;AACtD,+CAG4B;AAC5B,gFAA6E;AAC7E,uCAA0D;AAE1D,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,sCAA6B,EAAC,UAAU,EAAE,4BAAkB,EAAE;QAClE,mBAAS,CAAC,sBAAsB,CAC9B;YACE,IAAI,mBAAS,CAAC,qBAAS,CAAC,CAAC,QAAQ,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC;YACjC,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;SAChC,EACD,IAAI,mBAAS,CAAC,4BAAgB,CAAC,CAChC,CAAC,CAAC,CAAC;KACL,CAAC,CACH,CAAC,CAAC,CAAC,CAAC;IACL,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,OAAO,CAC1C,0BAAc,EACd;QACE,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CACF,CAAC;IACF,IAAI,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAEzE,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;QACf,IAAI,EAAE,4BAA4B;QAClC,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE;QACrC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;KAC5E,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC;QACf,OAAO,EAAE,gBAAgB,CAAC,cAAc;QACxC,MAAM,EAAE,cAAc,CAAC,YAAY;KACpC,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC;QACf,OAAO,EAAE,oCAAmB;QAC5B,MAAM,EAAE,cAAc,CAAC,eAAe;QACtC,UAAU,EAAE;YACV,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC;QACf,OAAO,EAAE,gBAAgB,CAAC,cAAc;QACxC,MAAM,EAAE,cAAc,CAAC,iBAAiB;QACxC,UAAU,EAAE;YACV,WAAW,EAAE,IAAI,sBAAS,CAAC,cAAc,CAAC,mBAAmB,CAAC;iBAC3D,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU;iBAClC,YAAY,CAAC,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;iBAChC,QAAQ,EAAE;SACd;KACF,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"}
|
@@ -14,9 +14,12 @@ const web3_js_1 = require("@solana/web3.js");
|
|
14
14
|
const solana_1 = require("../../utils/solana");
|
15
15
|
const constants_1 = require("./constants");
|
16
16
|
const clients_1 = require("../../utils/clients");
|
17
|
+
const structs_1 = require("./structs");
|
17
18
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
18
19
|
const connection = (0, clients_1.getClientSolana)();
|
19
|
-
const stakePoolAccount = (yield (0, solana_1.
|
20
|
+
const stakePoolAccount = (yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.stakePoolStruct, [
|
21
|
+
new web3_js_1.PublicKey('2P1eeegdbEhN3bnCroJJPXiH13i4rw1XYk8ftdh9meRY'),
|
22
|
+
]))[0];
|
20
23
|
yield cache.setItem(constants_1.stakingPoolKey, stakePoolAccount, {
|
21
24
|
prefix: constants_1.platformId,
|
22
25
|
networkId: portfolio_core_1.NetworkId.solana,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stakingPoolJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/stakingPoolJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,6CAA4C;AAG5C,+
|
1
|
+
{"version":3,"file":"stakingPoolJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/nxfinance/stakingPoolJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AACvD,6CAA4C;AAG5C,+CAAmE;AACnE,2CAAyD;AACzD,iDAAsD;AACtD,uCAA4C;AAE5C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IAErC,MAAM,gBAAgB,GAAG,CACvB,MAAM,IAAA,sCAA6B,EAAC,UAAU,EAAE,yBAAe,EAAE;QAC/D,IAAI,mBAAS,CAAC,8CAA8C,CAAC;KAC9D,CAAC,CACH,CAAC,CAAC,CAAC,CAAC;IAEL,MAAM,KAAK,CAAC,OAAO,CAAC,0BAAc,EAAE,gBAAgB,EAAE;QACpD,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,eAAe;IAChC,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -0,0 +1,156 @@
|
|
1
|
+
/// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
|
2
|
+
/// <reference types="jito-ts/node_modules/@solana/web3.js" />
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
4
|
+
import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
|
5
|
+
import BigNumber from 'bignumber.js';
|
6
|
+
export type StakePool = {
|
7
|
+
accountDiscriminator: number[];
|
8
|
+
stakeTokenMint: PublicKey;
|
9
|
+
stakedTokens: BigNumber;
|
10
|
+
stakedNotes: BigNumber;
|
11
|
+
withdrawingTokens: BigNumber;
|
12
|
+
increaseNoteRatePerSecond: BigNumber;
|
13
|
+
maxMultipleOfNote: BigNumber;
|
14
|
+
};
|
15
|
+
export declare const stakePoolStruct: BeetStruct<StakePool, Partial<StakePool>>;
|
16
|
+
export type StakeAccount = {
|
17
|
+
accountDiscriminator: number[];
|
18
|
+
owner: PublicKey;
|
19
|
+
notes: BigNumber;
|
20
|
+
stakedTokens: BigNumber;
|
21
|
+
stakedNotes: BigNumber;
|
22
|
+
withdrawingTokens: BigNumber;
|
23
|
+
timeOfWithdrawApply: BigNumber;
|
24
|
+
claimableReward: BigNumber;
|
25
|
+
lastUpdateNoteTime: BigNumber;
|
26
|
+
lastDistributedAndNoteRate: BigNumber;
|
27
|
+
};
|
28
|
+
export declare const stakeAccountStruct: BeetStruct<StakeAccount, Partial<StakeAccount>>;
|
29
|
+
export type InterestRateData = {
|
30
|
+
utilizationRate: number;
|
31
|
+
kValue: number;
|
32
|
+
bValue: number;
|
33
|
+
};
|
34
|
+
export declare const interestRateDataStruct: BeetStruct<InterestRateData, Partial<InterestRateData>>;
|
35
|
+
export type LendingPool = {
|
36
|
+
accountDiscriminator: number[];
|
37
|
+
nxMarket: PublicKey;
|
38
|
+
tokenMint: PublicKey;
|
39
|
+
borrowTokens: BigNumber;
|
40
|
+
borrowNotes: BigNumber;
|
41
|
+
depositTokens: BigNumber;
|
42
|
+
depositNotes: BigNumber;
|
43
|
+
depositInterest: BigNumber;
|
44
|
+
borrowInterest: BigNumber;
|
45
|
+
protocolFee: BigNumber;
|
46
|
+
accruedUntil: BigNumber;
|
47
|
+
utilizationFlag: number;
|
48
|
+
interestRateConfigs: InterestRateData[];
|
49
|
+
};
|
50
|
+
export declare const lendingPoolStruct: BeetStruct<LendingPool, Partial<LendingPool>>;
|
51
|
+
export type SolayerPool = {
|
52
|
+
accountDiscriminator: number[];
|
53
|
+
nxMarket: PublicKey;
|
54
|
+
lrtMint: PublicKey;
|
55
|
+
amount: BigNumber;
|
56
|
+
totalNxSolayerPoints: BigNumber;
|
57
|
+
lastUpdateTime: BigNumber;
|
58
|
+
};
|
59
|
+
export declare const solayerPoolStruct: BeetStruct<SolayerPool, Partial<SolayerPool>>;
|
60
|
+
export type LendingAccount = {
|
61
|
+
accountDiscriminator: number[];
|
62
|
+
nxMarket: PublicKey;
|
63
|
+
owner: PublicKey;
|
64
|
+
depositNotes: BigNumber;
|
65
|
+
depositTokens: BigNumber;
|
66
|
+
lastNoteRate: BigNumber;
|
67
|
+
totalReward: BigNumber;
|
68
|
+
};
|
69
|
+
export declare const lendingAccountStruct: BeetStruct<LendingAccount, Partial<LendingAccount>>;
|
70
|
+
export type VSolPositionDetail = {
|
71
|
+
collateralMint: PublicKey;
|
72
|
+
borrowMint: PublicKey;
|
73
|
+
leverageMint: PublicKey;
|
74
|
+
collateralNote: BigNumber;
|
75
|
+
collateralTokens: BigNumber;
|
76
|
+
borrowNote: BigNumber;
|
77
|
+
borrowTokens: BigNumber;
|
78
|
+
leverageNote: BigNumber;
|
79
|
+
leverageTokens: BigNumber;
|
80
|
+
leverageMultiples: BigNumber;
|
81
|
+
lastPointsAndLeverageNotesRate: BigNumber;
|
82
|
+
pointReward: BigNumber;
|
83
|
+
};
|
84
|
+
export declare const vSolPositionDetailStruct: BeetStruct<VSolPositionDetail, Partial<VSolPositionDetail>>;
|
85
|
+
export type SwapTemp = {
|
86
|
+
beforeAmount: BigNumber;
|
87
|
+
expected: BigNumber;
|
88
|
+
};
|
89
|
+
export declare const swapTempStruct: BeetStruct<SwapTemp, Partial<SwapTemp>>;
|
90
|
+
export type VSolPosition = {
|
91
|
+
accountDiscriminator: number[];
|
92
|
+
nxMarket: PublicKey;
|
93
|
+
owner: PublicKey;
|
94
|
+
positions: VSolPositionDetail[];
|
95
|
+
swapTemp: SwapTemp;
|
96
|
+
};
|
97
|
+
export declare const vSolPositionStruct: FixableBeetStruct<VSolPosition, Partial<VSolPosition>>;
|
98
|
+
export type StakePoolWithdrawal = {
|
99
|
+
stakeAccount: PublicKey;
|
100
|
+
solAmount: BigNumber;
|
101
|
+
};
|
102
|
+
export declare const stakePoolWithdrawalStruct: BeetStruct<StakePoolWithdrawal, Partial<StakePoolWithdrawal>>;
|
103
|
+
export type SolayerUser = {
|
104
|
+
accountDiscriminator: number[];
|
105
|
+
nxMarket: PublicKey;
|
106
|
+
lrtMint: PublicKey;
|
107
|
+
amount: BigNumber;
|
108
|
+
nxSolayerPoints: BigNumber;
|
109
|
+
lastUpdateTime: BigNumber;
|
110
|
+
withdrawals: StakePoolWithdrawal[][];
|
111
|
+
};
|
112
|
+
export declare const solayerUserStruct: FixableBeetStruct<SolayerUser, Partial<SolayerUser>>;
|
113
|
+
export type CollateralDetail = {
|
114
|
+
tokenMint: PublicKey;
|
115
|
+
depositNote: BigNumber;
|
116
|
+
depositToken: BigNumber;
|
117
|
+
marketValue: BigNumber;
|
118
|
+
};
|
119
|
+
export declare const collateralDetailStruct: BeetStruct<CollateralDetail, Partial<CollateralDetail>>;
|
120
|
+
export type LoanDetail = {
|
121
|
+
tokenMint: PublicKey;
|
122
|
+
loanNote: BigNumber;
|
123
|
+
loanToken: BigNumber;
|
124
|
+
loanValue: BigNumber;
|
125
|
+
};
|
126
|
+
export declare const loanDetailStruct: BeetStruct<LoanDetail, Partial<LoanDetail>>;
|
127
|
+
export type MarginAccount = {
|
128
|
+
accountDiscriminator: number[];
|
129
|
+
leveragefi: PublicKey;
|
130
|
+
owner: PublicKey;
|
131
|
+
deposits: CollateralDetail[];
|
132
|
+
loans: LoanDetail[];
|
133
|
+
leverage: BigNumber;
|
134
|
+
jlpNotes: BigNumber;
|
135
|
+
activeLoan: PublicKey;
|
136
|
+
};
|
137
|
+
export declare const marginAccountStruct: FixableBeetStruct<MarginAccount, Partial<MarginAccount>>;
|
138
|
+
export type MarginPool = {
|
139
|
+
accountDiscriminator: number[];
|
140
|
+
leveragefi: PublicKey;
|
141
|
+
vault: PublicKey;
|
142
|
+
feeDestination: PublicKey;
|
143
|
+
poolAuthority: PublicKey;
|
144
|
+
tokenMint: PublicKey;
|
145
|
+
tokenPriceOracle: PublicKey;
|
146
|
+
borrowedTokens: BigNumber;
|
147
|
+
depositTokens: BigNumber;
|
148
|
+
depositNotes: BigNumber;
|
149
|
+
loanNotes: BigNumber;
|
150
|
+
depositInterest: BigNumber;
|
151
|
+
loanInterest: BigNumber;
|
152
|
+
protocolFee: BigNumber;
|
153
|
+
accruedUntil: BigNumber;
|
154
|
+
utilizationFlag: number;
|
155
|
+
};
|
156
|
+
export declare const marginPoolStruct: BeetStruct<MarginPool, Partial<MarginPool>>;
|