@sonarwatch/portfolio-plugins 0.12.169 → 0.12.171
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/src/Cache.d.ts +2 -1
- package/src/Cache.js +3 -3
- package/src/Cache.js.map +1 -1
- package/src/TokenPriceMap.d.ts +8 -0
- package/src/TokenPriceMap.js +21 -0
- package/src/TokenPriceMap.js.map +1 -0
- package/src/index.js +16 -0
- package/src/index.js.map +1 -1
- package/src/plugins/adrastea/constants.d.ts +9 -0
- package/src/plugins/adrastea/constants.js +19 -0
- package/src/plugins/adrastea/constants.js.map +1 -0
- package/src/plugins/adrastea/index.d.ts +6 -0
- package/src/plugins/adrastea/index.js +13 -0
- package/src/plugins/adrastea/index.js.map +1 -0
- package/src/plugins/adrastea/positionsFetcher.js +61 -0
- package/src/plugins/adrastea/positionsFetcher.js.map +1 -0
- package/src/plugins/adrastea/positionsJob.d.ts +3 -0
- package/src/plugins/adrastea/positionsJob.js +53 -0
- package/src/plugins/adrastea/positionsJob.js.map +1 -0
- package/src/plugins/adrastea/structs.d.ts +45 -0
- package/src/plugins/adrastea/structs.js +44 -0
- package/src/plugins/adrastea/structs.js.map +1 -0
- package/src/plugins/adrastea/types.d.ts +4 -0
- package/src/plugins/adrastea/types.js +3 -0
- package/src/plugins/adrastea/types.js.map +1 -0
- package/src/plugins/banx/stakingFetcher.js +11 -15
- package/src/plugins/banx/stakingFetcher.js.map +1 -1
- package/src/plugins/bluemove/constants.d.ts +7 -0
- package/src/plugins/bluemove/constants.js +17 -0
- package/src/plugins/bluemove/constants.js.map +1 -0
- package/src/plugins/bluemove/index.d.ts +6 -0
- package/src/plugins/bluemove/index.js +12 -0
- package/src/plugins/bluemove/index.js.map +1 -0
- package/src/plugins/bluemove/poolsJob.d.ts +3 -0
- package/src/plugins/bluemove/poolsJob.js +97 -0
- package/src/plugins/bluemove/poolsJob.js.map +1 -0
- package/src/plugins/bluemove/types.d.ts +21 -0
- package/src/plugins/bluemove/types.js +3 -0
- package/src/plugins/bluemove/types.js.map +1 -0
- package/src/plugins/cetus/clmmsFetcher.js +3 -3
- package/src/plugins/cetus/clmmsFetcher.js.map +1 -1
- package/src/plugins/cetus/constants.d.ts +4 -0
- package/src/plugins/cetus/constants.js +5 -1
- package/src/plugins/cetus/constants.js.map +1 -1
- package/src/plugins/cetus/dcaFetcher.js +77 -0
- package/src/plugins/cetus/dcaFetcher.js.map +1 -0
- package/src/plugins/cetus/farmsFetcher.js +2 -4
- package/src/plugins/cetus/farmsFetcher.js.map +1 -1
- package/src/plugins/cetus/index.js +8 -1
- package/src/plugins/cetus/index.js.map +1 -1
- package/src/plugins/cetus/limitFetcher.d.ts +3 -0
- package/src/plugins/cetus/limitFetcher.js +66 -0
- package/src/plugins/cetus/limitFetcher.js.map +1 -0
- package/src/plugins/cetus/types.d.ts +32 -0
- package/src/plugins/deepbook/constants.d.ts +3 -0
- package/src/plugins/deepbook/constants.js +4 -1
- package/src/plugins/deepbook/constants.js.map +1 -1
- package/src/plugins/deepbook/helpers.d.ts +4 -0
- package/src/plugins/deepbook/helpers.js +142 -0
- package/src/plugins/deepbook/helpers.js.map +1 -0
- package/src/plugins/deepbook/index.js +7 -2
- package/src/plugins/deepbook/index.js.map +1 -1
- package/src/plugins/deepbook/ordersFetcher.d.ts +3 -0
- package/src/plugins/deepbook/ordersFetcher.js +74 -0
- package/src/plugins/deepbook/ordersFetcher.js.map +1 -0
- package/src/plugins/deepbook/poolsJob.d.ts +3 -0
- package/src/plugins/deepbook/poolsJob.js +30 -0
- package/src/plugins/deepbook/poolsJob.js.map +1 -0
- package/src/plugins/deepbook/types.d.ts +12 -0
- package/src/plugins/deepbook/types.js +3 -0
- package/src/plugins/deepbook/types.js.map +1 -0
- package/src/plugins/flowx/stakingPoolFetcher.js +1 -1
- package/src/plugins/flowx/stakingPoolFetcher.js.map +1 -1
- package/src/plugins/flowx/stakingPoolV3Fetcher.js +1 -1
- package/src/plugins/flowx/stakingPoolV3Fetcher.js.map +1 -1
- package/src/plugins/foo/constants.d.ts +1 -1
- package/src/plugins/foo/constants.js +2 -2
- package/src/plugins/foo/constants.js.map +1 -1
- package/src/plugins/foo/index.js +2 -2
- package/src/plugins/foo/index.js.map +1 -1
- package/src/plugins/foo/marketsJob.js +3 -3
- package/src/plugins/foo/marketsJob.js.map +1 -1
- package/src/plugins/foo/positionsEthereumFetcher.d.ts +3 -0
- package/src/plugins/foo/positionsEthereumFetcher.js +33 -0
- package/src/plugins/foo/positionsEthereumFetcher.js.map +1 -0
- package/src/plugins/foo/positionsSolanaFetcher.js +10 -26
- package/src/plugins/foo/positionsSolanaFetcher.js.map +1 -1
- package/src/plugins/foo/positionsSuiFetcher.d.ts +3 -0
- package/src/plugins/foo/positionsSuiFetcher.js +46 -0
- package/src/plugins/foo/positionsSuiFetcher.js.map +1 -0
- package/src/plugins/foo/types.d.ts +5 -0
- package/src/plugins/foo/types.js +3 -0
- package/src/plugins/foo/types.js.map +1 -0
- package/src/plugins/francium/constants.d.ts +19 -0
- package/src/plugins/francium/constants.js +839 -0
- package/src/plugins/francium/constants.js.map +1 -0
- package/src/plugins/francium/helpers.d.ts +14 -0
- package/src/plugins/francium/helpers.js +85 -0
- package/src/plugins/francium/helpers.js.map +1 -0
- package/src/plugins/francium/index.d.ts +6 -0
- package/src/plugins/francium/index.js +13 -0
- package/src/plugins/francium/index.js.map +1 -0
- package/src/plugins/francium/lendingFetcher.d.ts +3 -0
- package/src/plugins/francium/lendingFetcher.js +70 -0
- package/src/plugins/francium/lendingFetcher.js.map +1 -0
- package/src/plugins/francium/lendingPoolJob.d.ts +3 -0
- package/src/plugins/francium/lendingPoolJob.js +49 -0
- package/src/plugins/francium/lendingPoolJob.js.map +1 -0
- package/src/plugins/francium/structs.d.ts +59 -0
- package/src/plugins/francium/structs.js +49 -0
- package/src/plugins/francium/structs.js.map +1 -0
- package/src/plugins/francium/tokens.d.ts +9 -0
- package/src/plugins/francium/tokens.js +524 -0
- package/src/plugins/francium/tokens.js.map +1 -0
- package/src/plugins/francium/types.d.ts +16 -0
- package/src/plugins/francium/types.js +3 -0
- package/src/plugins/francium/types.js.map +1 -0
- package/src/plugins/kamino/lendsFetcher.js +64 -167
- package/src/plugins/kamino/lendsFetcher.js.map +1 -1
- package/src/plugins/kriya/farmsFetcher.js +23 -48
- package/src/plugins/kriya/farmsFetcher.js.map +1 -1
- package/src/plugins/kriya/leverageVaultsFetcher.js +5 -5
- package/src/plugins/kriya/leverageVaultsFetcher.js.map +1 -1
- package/src/plugins/meteora/dlmmPositionsFetcher.js +5 -4
- package/src/plugins/meteora/dlmmPositionsFetcher.js.map +1 -1
- package/src/plugins/meteora/farmsFetcher.js +19 -68
- package/src/plugins/meteora/farmsFetcher.js.map +1 -1
- package/src/plugins/nxfinance/positionsFetcher.js +32 -80
- package/src/plugins/nxfinance/positionsFetcher.js.map +1 -1
- package/src/plugins/quarry/positionsFetcher.js +1 -1
- package/src/plugins/quarry/positionsFetcher.js.map +1 -1
- package/src/plugins/raydium/farmsFetcher.js +30 -74
- package/src/plugins/raydium/farmsFetcher.js.map +1 -1
- package/src/plugins/raydium/getRaydiumCLMMPositions.js +4 -4
- package/src/plugins/raydium/getRaydiumCLMMPositions.js.map +1 -1
- package/src/plugins/raydium/helpers.d.ts +3 -2
- package/src/plugins/raydium/helpers.js +5 -7
- package/src/plugins/raydium/helpers.js.map +1 -1
- package/src/plugins/raydium/index.js +1 -2
- package/src/plugins/raydium/index.js.map +1 -1
- package/src/plugins/raydium/lpTokensJob.js +1 -1
- package/src/plugins/raydium/lpTokensJob.js.map +1 -1
- package/src/plugins/stabble/constants.d.ts +8 -0
- package/src/plugins/stabble/constants.js +27 -0
- package/src/plugins/stabble/constants.js.map +1 -0
- package/src/plugins/stabble/filters.d.ts +3 -0
- package/src/plugins/stabble/filters.js +20 -0
- package/src/plugins/stabble/filters.js.map +1 -0
- package/src/plugins/stabble/index.d.ts +6 -0
- package/src/plugins/stabble/index.js +12 -0
- package/src/plugins/stabble/index.js.map +1 -0
- package/src/plugins/stabble/poolsJob.d.ts +3 -0
- package/src/plugins/stabble/poolsJob.js +84 -0
- package/src/plugins/stabble/poolsJob.js.map +1 -0
- package/src/plugins/stabble/stableIdl.d.ts +40 -0
- package/src/plugins/stabble/stableIdl.js +104 -0
- package/src/plugins/stabble/stableIdl.js.map +1 -0
- package/src/plugins/stabble/types.d.ts +40 -0
- package/src/plugins/stabble/types.js +3 -0
- package/src/plugins/stabble/types.js.map +1 -0
- package/src/plugins/stabble/weightedIdl.d.ts +40 -0
- package/src/plugins/stabble/weightedIdl.js +96 -0
- package/src/plugins/stabble/weightedIdl.js.map +1 -0
- package/src/utils/bitcoin/getBalance.js +1 -0
- package/src/utils/bitcoin/getBalance.js.map +1 -1
- package/src/utils/elementbuilder/AssetBuilder.d.ts +11 -0
- package/src/utils/elementbuilder/AssetBuilder.js +28 -0
- package/src/utils/elementbuilder/AssetBuilder.js.map +1 -0
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.d.ts +27 -0
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.js +110 -0
- package/src/utils/elementbuilder/ElementBorrowlendBuilder.js.map +1 -0
- package/src/utils/elementbuilder/ElementBuilder.d.ts +12 -0
- package/src/utils/elementbuilder/ElementBuilder.js +13 -0
- package/src/utils/elementbuilder/ElementBuilder.js.map +1 -0
- package/src/utils/elementbuilder/ElementLiquidityBuilder.d.ts +12 -0
- package/src/utils/elementbuilder/ElementLiquidityBuilder.js +42 -0
- package/src/utils/elementbuilder/ElementLiquidityBuilder.js.map +1 -0
- package/src/utils/elementbuilder/ElementMultipleBuilder.d.ts +13 -0
- package/src/utils/elementbuilder/ElementMultipleBuilder.js +40 -0
- package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -0
- package/src/utils/elementbuilder/ElementParams.d.ts +7 -0
- package/src/utils/elementbuilder/ElementParams.js +3 -0
- package/src/utils/elementbuilder/ElementParams.js.map +1 -0
- package/src/utils/elementbuilder/ElementRegistry.d.ts +17 -0
- package/src/utils/elementbuilder/ElementRegistry.js +49 -0
- package/src/utils/elementbuilder/ElementRegistry.js.map +1 -0
- package/src/utils/elementbuilder/LiquidityBuilder.d.ts +15 -0
- package/src/utils/elementbuilder/LiquidityBuilder.js +52 -0
- package/src/utils/elementbuilder/LiquidityBuilder.js.map +1 -0
- package/src/utils/elementbuilder/PortfolioAssetParams.d.ts +7 -0
- package/src/utils/elementbuilder/PortfolioAssetParams.js +3 -0
- package/src/utils/elementbuilder/PortfolioAssetParams.js.map +1 -0
- package/src/plugins/foo/positionsFetcher.js +0 -49
- package/src/plugins/foo/positionsFetcher.js.map +0 -1
- package/src/plugins/raydium/stakingFetcher.js +0 -50
- package/src/plugins/raydium/stakingFetcher.js.map +0 -1
- /package/src/plugins/{foo → adrastea}/positionsFetcher.d.ts +0 -0
- /package/src/plugins/{raydium/stakingFetcher.d.ts → cetus/dcaFetcher.d.ts} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/constants.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { Connection, PublicKey } from '@solana/web3.js';
|
2
|
+
import BigNumber from 'bignumber.js';
|
3
|
+
export declare function getUserRewardPosition(connection: Connection, userPublicKey: PublicKey): Promise<{
|
4
|
+
[key: string]: {
|
5
|
+
scale: number;
|
6
|
+
amount: BigNumber;
|
7
|
+
};
|
8
|
+
}>;
|
9
|
+
export declare function getLendingPoolBalance(client: Connection, userPublicKey: PublicKey): Promise<{
|
10
|
+
[key: string]: {
|
11
|
+
scale: number;
|
12
|
+
amount: BigNumber;
|
13
|
+
};
|
14
|
+
}>;
|
@@ -0,0 +1,85 @@
|
|
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
|
+
exports.getLendingPoolBalance = exports.getUserRewardPosition = void 0;
|
16
|
+
const web3_js_1 = require("@solana/web3.js");
|
17
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
18
|
+
const solana_1 = require("../../utils/solana");
|
19
|
+
const constants_1 = require("./constants");
|
20
|
+
const structs_1 = require("./structs");
|
21
|
+
const poolsWithReward = constants_1.lendingPoolList.filter((i) => {
|
22
|
+
const info = constants_1.lendRewardInfo[i.pool];
|
23
|
+
return !!info;
|
24
|
+
});
|
25
|
+
function findAssociatedTokenAddress(walletAddress, tokenMintAddress) {
|
26
|
+
const [publicKey] = web3_js_1.PublicKey.findProgramAddressSync([
|
27
|
+
walletAddress.toBuffer(),
|
28
|
+
solana_1.solanaTokenPidPk.toBuffer(),
|
29
|
+
tokenMintAddress.toBuffer(),
|
30
|
+
], solana_1.associatedTokenProgramId);
|
31
|
+
return publicKey;
|
32
|
+
}
|
33
|
+
function getUserRewardPosition(connection, userPublicKey) {
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
35
|
+
const infoAccounts = yield Promise.all(poolsWithReward.map((i) => __awaiter(this, void 0, void 0, function* () {
|
36
|
+
const info = constants_1.lendRewardInfo[i.pool];
|
37
|
+
const associatedAccount = findAssociatedTokenAddress(userPublicKey, info.farmingPoolStakeTknMint);
|
38
|
+
const [rewardInfoAccount] = web3_js_1.PublicKey.findProgramAddressSync([
|
39
|
+
userPublicKey.toBuffer(),
|
40
|
+
info.farmingPoolAccount.toBuffer(),
|
41
|
+
associatedAccount.toBuffer(),
|
42
|
+
], constants_1.lendRewardProgramId);
|
43
|
+
return rewardInfoAccount;
|
44
|
+
})));
|
45
|
+
const accountInfos = yield (0, solana_1.getParsedMultipleAccountsInfo)(connection, structs_1.rewardUserStruct, infoAccounts);
|
46
|
+
const result = {};
|
47
|
+
accountInfos.forEach((acc, index) => {
|
48
|
+
if (acc && (acc === null || acc === void 0 ? void 0 : acc.staked_amount) && acc.staked_amount.isGreaterThan(0)) {
|
49
|
+
const targetPool = poolsWithReward[index];
|
50
|
+
result[targetPool.pool] = {
|
51
|
+
scale: targetPool.scale,
|
52
|
+
amount: acc.staked_amount,
|
53
|
+
};
|
54
|
+
}
|
55
|
+
});
|
56
|
+
return result;
|
57
|
+
});
|
58
|
+
}
|
59
|
+
exports.getUserRewardPosition = getUserRewardPosition;
|
60
|
+
function getLendingPoolBalance(client, userPublicKey) {
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
62
|
+
const userTokenAccounts = yield client.getParsedTokenAccountsByOwner(userPublicKey, {
|
63
|
+
programId: solana_1.solanaTokenPidPk,
|
64
|
+
}, 'confirmed');
|
65
|
+
const result = {};
|
66
|
+
constants_1.lendingPoolList.forEach((i) => {
|
67
|
+
const info = constants_1.lendingPools[i.pool];
|
68
|
+
const mint = info.lendingPoolShareMint;
|
69
|
+
const account = userTokenAccounts.value.find((accountInfo) => {
|
70
|
+
const parsedInfo = accountInfo.account.data.parsed.info;
|
71
|
+
const mintAddress = parsedInfo.mint;
|
72
|
+
return mintAddress === mint.toBase58();
|
73
|
+
});
|
74
|
+
if (account) {
|
75
|
+
result[i.pool] = {
|
76
|
+
amount: new bignumber_js_1.default(account.account.data.parsed.info.tokenAmount.amount),
|
77
|
+
scale: i.scale,
|
78
|
+
};
|
79
|
+
}
|
80
|
+
});
|
81
|
+
return result;
|
82
|
+
});
|
83
|
+
}
|
84
|
+
exports.getLendingPoolBalance = getLendingPoolBalance;
|
85
|
+
//# sourceMappingURL=helpers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/helpers.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
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 lendingPoolJob_1 = __importDefault(require("./lendingPoolJob"));
|
9
|
+
const lendingFetcher_1 = __importDefault(require("./lendingFetcher"));
|
10
|
+
exports.platforms = [constants_1.platform];
|
11
|
+
exports.jobs = [lendingPoolJob_1.default];
|
12
|
+
exports.fetchers = [lendingFetcher_1.default];
|
13
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,sEAA8C;AAC9C,sEAA8C;AAEjC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,wBAAc,CAAC,CAAC;AAC/B,QAAA,QAAQ,GAAc,CAAC,wBAAc,CAAC,CAAC"}
|
@@ -0,0 +1,70 @@
|
|
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 portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
16
|
+
const web3_js_1 = require("@solana/web3.js");
|
17
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
18
|
+
const constants_1 = require("./constants");
|
19
|
+
const clients_1 = require("../../utils/clients");
|
20
|
+
const helpers_1 = require("./helpers");
|
21
|
+
const tokens_1 = require("./tokens");
|
22
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
23
|
+
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
24
|
+
const client = (0, clients_1.getClientSolana)();
|
25
|
+
const [rewardsList, balanceList] = yield Promise.all([
|
26
|
+
(0, helpers_1.getUserRewardPosition)(client, new web3_js_1.PublicKey(owner)),
|
27
|
+
(0, helpers_1.getLendingPoolBalance)(client, new web3_js_1.PublicKey(owner)),
|
28
|
+
]);
|
29
|
+
if (Object.keys(balanceList).length === 0 &&
|
30
|
+
Object.keys(rewardsList).length === 0)
|
31
|
+
return [];
|
32
|
+
const lendingPoolInfos = yield cache.getItem(constants_1.lendingPoolsCacheKey, {
|
33
|
+
prefix: constants_1.platformId,
|
34
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
35
|
+
});
|
36
|
+
if (!lendingPoolInfos)
|
37
|
+
return [];
|
38
|
+
const assets = lendingPoolInfos
|
39
|
+
.map((info) => {
|
40
|
+
var _a, _b;
|
41
|
+
if (!tokens_1.TOKENS[info.pool])
|
42
|
+
return null;
|
43
|
+
const rewardPosition = ((_a = rewardsList[info.pool]) === null || _a === void 0 ? void 0 : _a.amount) || new bignumber_js_1.default(0);
|
44
|
+
const balancePosition = ((_b = balanceList[info.pool]) === null || _b === void 0 ? void 0 : _b.amount) || new bignumber_js_1.default(0);
|
45
|
+
const totalPosition = rewardPosition.plus(balancePosition);
|
46
|
+
if (totalPosition.isZero())
|
47
|
+
return null;
|
48
|
+
const sharePrice = new bignumber_js_1.default(info.totalAmount).dividedBy(info.totalShareMintSupply);
|
49
|
+
return {
|
50
|
+
address: tokens_1.TOKENS[info.pool].mintAddress.toString(),
|
51
|
+
amount: sharePrice.multipliedBy(totalPosition),
|
52
|
+
};
|
53
|
+
})
|
54
|
+
.filter((i) => i !== null);
|
55
|
+
if (assets.length === 0)
|
56
|
+
return [];
|
57
|
+
const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
|
58
|
+
const element = elementRegistry.addElementBorrowlend({
|
59
|
+
label: 'Lending',
|
60
|
+
});
|
61
|
+
assets.forEach((asset) => asset && element.addSuppliedAsset(asset));
|
62
|
+
return elementRegistry.dump(cache);
|
63
|
+
});
|
64
|
+
const fetcher = {
|
65
|
+
id: `${constants_1.platformId}-lending`,
|
66
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
67
|
+
executor,
|
68
|
+
};
|
69
|
+
exports.default = fetcher;
|
70
|
+
//# sourceMappingURL=lendingFetcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"lendingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/lendingFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,49 @@
|
|
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 bn_js_1 = __importDefault(require("bn.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 solana_1 = require("../../utils/solana");
|
20
|
+
const structs_1 = require("./structs");
|
21
|
+
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
22
|
+
const client = (0, clients_1.getClientSolana)();
|
23
|
+
const lendingPoolPublicKeyList = constants_1.lendingPoolList.map((p) => constants_1.lendingPools[p.pool].lendingPoolInfoAccount);
|
24
|
+
const accountInfos = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.lendingPoolStruct, lendingPoolPublicKeyList);
|
25
|
+
const formatResults = accountInfos.map((accountInfo, index) => {
|
26
|
+
if (!accountInfo)
|
27
|
+
return null;
|
28
|
+
const availableAmount = new bn_js_1.default(String(accountInfo.liquidity_available_amount));
|
29
|
+
const borrowedAmount = new bn_js_1.default(accountInfo.liquidity_borrowed_amount_wads, 'le').div(new bn_js_1.default(10).pow(new bn_js_1.default(18)));
|
30
|
+
const totalAmount = availableAmount.add(borrowedAmount);
|
31
|
+
const totalShareMintSupply = new bn_js_1.default(accountInfo.share_mint_total_supply, 'le');
|
32
|
+
return {
|
33
|
+
pool: constants_1.lendingPoolList[index].pool,
|
34
|
+
totalAmount: totalAmount.toString(),
|
35
|
+
totalShareMintSupply: totalShareMintSupply.toString(),
|
36
|
+
};
|
37
|
+
});
|
38
|
+
yield cache.setItem(constants_1.lendingPoolsCacheKey, formatResults, {
|
39
|
+
prefix: constants_1.platformId,
|
40
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
41
|
+
});
|
42
|
+
});
|
43
|
+
const job = {
|
44
|
+
id: `${constants_1.platformId}-lending-pool`,
|
45
|
+
executor,
|
46
|
+
label: 'normal',
|
47
|
+
};
|
48
|
+
exports.default = job;
|
49
|
+
//# sourceMappingURL=lendingPoolJob.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"lendingPoolJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/lendingPoolJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAuB;AACvB,+DAAuD;AAGvD,2CAKqB;AACrB,iDAAsD;AACtD,+CAAmE;AACnE,uCAA8C;AAE9C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,wBAAwB,GAAG,2BAAe,CAAC,GAAG,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CACnD,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,IAAA,sCAA6B,EACtD,MAAM,EACN,2BAAiB,EACjB,wBAAwB,CACzB,CAAC;IAEF,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QAC5D,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,eAAe,GAAG,IAAI,eAAE,CAC5B,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAC/C,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,eAAE,CAC3B,WAAW,CAAC,8BAA8B,EAC1C,IAAI,CACL,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAExD,MAAM,oBAAoB,GAAG,IAAI,eAAE,CACjC,WAAW,CAAC,uBAAuB,EACnC,IAAI,CACL,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC,IAAI;YACjC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;SACtD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,OAAO,CAAC,gCAAoB,EAAE,aAAa,EAAE;QACvD,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,eAAe;IAChC,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -0,0 +1,59 @@
|
|
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 LendingPool = {
|
6
|
+
version: number;
|
7
|
+
last_update_stale: number;
|
8
|
+
liquidity_mint_decimals: number;
|
9
|
+
threshold_1: number;
|
10
|
+
threshold_2: number;
|
11
|
+
base_1: number;
|
12
|
+
base_2: number;
|
13
|
+
base_3: number;
|
14
|
+
interest_reverse_rate: number;
|
15
|
+
last_update_slot: BigNumber;
|
16
|
+
liquidity_available_amount: BigNumber;
|
17
|
+
accumulated_interest_reverse: BigNumber;
|
18
|
+
factor_1: number;
|
19
|
+
factor_2: number;
|
20
|
+
factor_3: number;
|
21
|
+
lending_market: PublicKey;
|
22
|
+
liquidity_mint_pubkey: PublicKey;
|
23
|
+
liquidity_supply_pubkey: PublicKey;
|
24
|
+
liquidity_fee_receiver: PublicKey;
|
25
|
+
oracle: number[];
|
26
|
+
liquidity_borrowed_amount_wads: Buffer;
|
27
|
+
liquidity_cumulative_borrow_rate_wads: Buffer;
|
28
|
+
liquidity_market_price: Buffer;
|
29
|
+
share_mint_pubkey: PublicKey;
|
30
|
+
share_mint_total_supply: Buffer;
|
31
|
+
share_supply_pubkey: PublicKey;
|
32
|
+
credit_mint_pubkey: PublicKey;
|
33
|
+
credit_mint_total_supply: Buffer;
|
34
|
+
credit_supply_pubkey: PublicKey;
|
35
|
+
};
|
36
|
+
export declare const lendingPoolStruct: BeetStruct<LendingPool, Partial<LendingPool>>;
|
37
|
+
export type RewardUser = {
|
38
|
+
version: number;
|
39
|
+
staked_amount: BigNumber;
|
40
|
+
rewards_debt: BigNumber;
|
41
|
+
rewards_debt_b: BigNumber;
|
42
|
+
farming_pool: PublicKey;
|
43
|
+
user_main: PublicKey;
|
44
|
+
stake_token_account: PublicKey;
|
45
|
+
rewards_token_accont: PublicKey;
|
46
|
+
rewards_token_account_b: PublicKey;
|
47
|
+
};
|
48
|
+
export declare const rewardUserStruct: BeetStruct<RewardUser, Partial<RewardUser>>;
|
49
|
+
export interface LendRewardInfo {
|
50
|
+
programId: PublicKey;
|
51
|
+
farmingPoolAccount: PublicKey;
|
52
|
+
farmingPoolAuthority: PublicKey;
|
53
|
+
farmingPoolStakeTknMint: PublicKey;
|
54
|
+
farmingPoolStakeTknAccount: PublicKey;
|
55
|
+
farmingPoolRewardsTknMint: PublicKey;
|
56
|
+
farmingPoolRewardsTknAccount: PublicKey;
|
57
|
+
farmingPoolRewardsTknMintB: PublicKey;
|
58
|
+
farmingPoolRewardsTknAccountB: PublicKey;
|
59
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.rewardUserStruct = exports.lendingPoolStruct = 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.lendingPoolStruct = new beet_1.BeetStruct([
|
8
|
+
['version', beet_1.u8],
|
9
|
+
['last_update_slot', solana_1.u64],
|
10
|
+
['last_update_stale', beet_1.u8],
|
11
|
+
['lending_market', beet_solana_1.publicKey],
|
12
|
+
['liquidity_mint_pubkey', beet_solana_1.publicKey],
|
13
|
+
['liquidity_mint_decimals', beet_1.u8],
|
14
|
+
['liquidity_supply_pubkey', beet_solana_1.publicKey],
|
15
|
+
['liquidity_fee_receiver', beet_solana_1.publicKey],
|
16
|
+
['oracle', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 36)],
|
17
|
+
['liquidity_available_amount', solana_1.u64],
|
18
|
+
['liquidity_borrowed_amount_wads', (0, solana_1.blob)(16)],
|
19
|
+
['liquidity_cumulative_borrow_rate_wads', (0, solana_1.blob)(16)],
|
20
|
+
['liquidity_market_price', (0, solana_1.blob)(8)],
|
21
|
+
['share_mint_pubkey', beet_solana_1.publicKey],
|
22
|
+
['share_mint_total_supply', (0, solana_1.blob)(8)],
|
23
|
+
['share_supply_pubkey', beet_solana_1.publicKey],
|
24
|
+
['credit_mint_pubkey', beet_solana_1.publicKey],
|
25
|
+
['credit_mint_total_supply', (0, solana_1.blob)(8)],
|
26
|
+
['credit_supply_pubkey', beet_solana_1.publicKey],
|
27
|
+
['threshold_1', beet_1.u8],
|
28
|
+
['threshold_2', beet_1.u8],
|
29
|
+
['base_1', beet_1.u8],
|
30
|
+
['factor_1', beet_1.u16],
|
31
|
+
['base_2', beet_1.u8],
|
32
|
+
['factor_2', beet_1.u16],
|
33
|
+
['base_3', beet_1.u8],
|
34
|
+
['factor_3', beet_1.u16],
|
35
|
+
['interest_reverse_rate', beet_1.u8],
|
36
|
+
['accumulated_interest_reverse', solana_1.u64],
|
37
|
+
], (args) => args);
|
38
|
+
exports.rewardUserStruct = new beet_1.BeetStruct([
|
39
|
+
['version', beet_1.u8],
|
40
|
+
['staked_amount', solana_1.u64],
|
41
|
+
['rewards_debt', solana_1.u64],
|
42
|
+
['rewards_debt_b', solana_1.u64],
|
43
|
+
['farming_pool', beet_solana_1.publicKey],
|
44
|
+
['user_main', beet_solana_1.publicKey],
|
45
|
+
['stake_token_account', beet_solana_1.publicKey],
|
46
|
+
['rewards_token_accont', beet_solana_1.publicKey],
|
47
|
+
['rewards_token_account_b', beet_solana_1.publicKey],
|
48
|
+
], (args) => args);
|
49
|
+
//# sourceMappingURL=structs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/francium/structs.ts"],"names":[],"mappings":";;;AAAA,oDAKmC;AACnC,kEAA6D;AAG7D,+CAA+C;AAkClC,QAAA,iBAAiB,GAAG,IAAI,iBAAU,CAC7C;IACE,CAAC,SAAS,EAAE,SAAE,CAAC;IACf,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,mBAAmB,EAAE,SAAE,CAAC;IACzB,CAAC,gBAAgB,EAAE,uBAAS,CAAC;IAC7B,CAAC,uBAAuB,EAAE,uBAAS,CAAC;IACpC,CAAC,yBAAyB,EAAE,SAAE,CAAC;IAC/B,CAAC,yBAAyB,EAAE,uBAAS,CAAC;IACtC,CAAC,wBAAwB,EAAE,uBAAS,CAAC;IACrC,CAAC,QAAQ,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,4BAA4B,EAAE,YAAG,CAAC;IACnC,CAAC,gCAAgC,EAAE,IAAA,aAAI,EAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,uCAAuC,EAAE,IAAA,aAAI,EAAC,EAAE,CAAC,CAAC;IACnD,CAAC,wBAAwB,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnC,CAAC,mBAAmB,EAAE,uBAAS,CAAC;IAChC,CAAC,yBAAyB,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC,qBAAqB,EAAE,uBAAS,CAAC;IAClC,CAAC,oBAAoB,EAAE,uBAAS,CAAC;IACjC,CAAC,0BAA0B,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACrC,CAAC,sBAAsB,EAAE,uBAAS,CAAC;IACnC,CAAC,aAAa,EAAE,SAAE,CAAC;IACnB,CAAC,aAAa,EAAE,SAAE,CAAC;IACnB,CAAC,QAAQ,EAAE,SAAE,CAAC;IACd,CAAC,UAAU,EAAE,UAAG,CAAC;IACjB,CAAC,QAAQ,EAAE,SAAE,CAAC;IACd,CAAC,UAAU,EAAE,UAAG,CAAC;IACjB,CAAC,QAAQ,EAAE,SAAE,CAAC;IACd,CAAC,UAAU,EAAE,UAAG,CAAC;IACjB,CAAC,uBAAuB,EAAE,SAAE,CAAC;IAC7B,CAAC,8BAA8B,EAAE,YAAG,CAAC;CACtC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAmB,CAC9B,CAAC;AAcW,QAAA,gBAAgB,GAAG,IAAI,iBAAU,CAC5C;IACE,CAAC,SAAS,EAAE,SAAE,CAAC;IACf,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,cAAc,EAAE,YAAG,CAAC;IACrB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,qBAAqB,EAAE,uBAAS,CAAC;IAClC,CAAC,sBAAsB,EAAE,uBAAS,CAAC;IACnC,CAAC,yBAAyB,EAAE,uBAAS,CAAC;CACvC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAkB,CAC7B,CAAC"}
|