@sonarwatch/portfolio-plugins 0.11.149 → 0.11.151
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +1331 -1323
- package/README.md +3 -3
- package/package.json +2 -2
- package/src/index.js +8 -12
- package/src/index.js.map +1 -1
- package/src/plugins/armada-staking/constants.js.map +1 -0
- package/src/plugins/armada-staking/filters.js.map +1 -0
- package/src/plugins/{spl-staking → armada-staking}/index.js +7 -1
- package/src/plugins/armada-staking/index.js.map +1 -0
- package/src/plugins/armada-staking/poolsJob.js.map +1 -0
- package/src/plugins/armada-staking/stakingFetcher.js.map +1 -0
- package/src/plugins/armada-staking/structs.js.map +1 -0
- package/src/plugins/armada-staking/types.js.map +1 -0
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/{realms → daos}/constants.d.ts +4 -2
- package/src/plugins/{realms → daos}/constants.js +10 -3
- package/src/plugins/daos/constants.js.map +1 -0
- package/src/plugins/daos/filters.js.map +1 -0
- package/src/plugins/daos/helpers.d.ts +10 -0
- package/src/plugins/{realms → daos}/helpers.js +21 -29
- package/src/plugins/daos/helpers.js.map +1 -0
- package/src/plugins/daos/index.js +13 -0
- package/src/plugins/daos/index.js.map +1 -0
- package/src/plugins/{realms/depositsFetcher.js → daos/realmsDepositsFetcher.js} +1 -1
- package/src/plugins/daos/realmsDepositsFetcher.js.map +1 -0
- package/src/plugins/{realms/programsJob.js → daos/realmsProgramsJob.js} +4 -4
- package/src/plugins/daos/realmsProgramsJob.js.map +1 -0
- package/src/plugins/daos/structs/realms.js.map +1 -0
- package/src/plugins/{realms → daos}/types.d.ts +1 -1
- package/src/plugins/daos/types.js.map +1 -0
- package/src/plugins/flexlend/depositsFetcher.js +63 -4
- package/src/plugins/flexlend/depositsFetcher.js.map +1 -1
- package/src/plugins/flexlend/struct.d.ts +18 -0
- package/src/plugins/flexlend/struct.js +18 -0
- package/src/plugins/flexlend/struct.js.map +1 -0
- package/src/plugins/hawksight/positionsFetcher.js +31 -13
- package/src/plugins/hawksight/positionsFetcher.js.map +1 -1
- package/src/plugins/meteora/poolsJob.js +25 -3
- package/src/plugins/meteora/poolsJob.js.map +1 -1
- package/src/plugins/orca/getWhirlpoolPositions.d.ts +2 -3
- package/src/plugins/orca/getWhirlpoolPositions.js +2 -14
- package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
- package/src/plugins/orca/helpers.d.ts +2 -2
- package/src/plugins/orca/helpers.js +1 -1
- package/src/plugins/orca/helpers.js.map +1 -1
- package/src/plugins/raydium/getRaydiumCLMMPositions.d.ts +2 -3
- package/src/plugins/raydium/getRaydiumCLMMPositions.js +3 -3
- package/src/plugins/raydium/getRaydiumCLMMPositions.js.map +1 -1
- package/src/plugins/raydium/helpers.d.ts +2 -2
- package/src/plugins/raydium/helpers.js +6 -1
- package/src/plugins/raydium/helpers.js.map +1 -1
- package/src/plugins/solend/constants.d.ts +1 -0
- package/src/plugins/solend/constants.js +2 -1
- package/src/plugins/solend/constants.js.map +1 -1
- package/src/plugins/solend/helpers.d.ts +6 -0
- package/src/plugins/solend/helpers.js +132 -1
- package/src/plugins/solend/helpers.js.map +1 -1
- package/src/plugins/solend/marketsJob.js +6 -0
- package/src/plugins/solend/marketsJob.js.map +1 -1
- package/src/plugins/solend/obligationsFetcher.js +27 -156
- package/src/plugins/solend/obligationsFetcher.js.map +1 -1
- package/src/plugins/solend/reservesJob.js +15 -6
- package/src/plugins/solend/reservesJob.js.map +1 -1
- package/src/plugins/solend/types.d.ts +1 -1
- package/src/plugins/suilend/obligationsFetcher.js +2 -0
- package/src/plugins/suilend/obligationsFetcher.js.map +1 -1
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js +26 -15
- package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js.map +1 -1
- package/src/plugins/tokens/fetchers/solana.js +3 -1
- package/src/plugins/tokens/fetchers/solana.js.map +1 -1
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/utils/solana/das/getAssetsByOwnerDas.d.ts +2 -2
- package/src/utils/solana/das/getAssetsByOwnerDas.js +3 -9
- package/src/utils/solana/das/getAssetsByOwnerDas.js.map +1 -1
- package/src/utils/solana/das/getDisplayOptions.d.ts +2 -0
- package/src/utils/solana/das/getDisplayOptions.js +16 -0
- package/src/utils/solana/das/getDisplayOptions.js.map +1 -0
- package/src/utils/solana/das/types.d.ts +8 -0
- package/src/plugins/phoenix/constants.d.ts +0 -7
- package/src/plugins/phoenix/constants.js +0 -17
- package/src/plugins/phoenix/constants.js.map +0 -1
- package/src/plugins/phoenix/helpers.d.ts +0 -6
- package/src/plugins/phoenix/helpers.js +0 -46
- package/src/plugins/phoenix/helpers.js.map +0 -1
- package/src/plugins/phoenix/helpers2.d.ts +0 -0
- package/src/plugins/phoenix/helpers2.js +0 -179
- package/src/plugins/phoenix/helpers2.js.map +0 -1
- package/src/plugins/phoenix/index.js +0 -10
- package/src/plugins/phoenix/index.js.map +0 -1
- package/src/plugins/phoenix/marketsJob.js +0 -39
- package/src/plugins/phoenix/marketsJob.js.map +0 -1
- package/src/plugins/phoenix/positionsFetcher.js +0 -64
- package/src/plugins/phoenix/positionsFetcher.js.map +0 -1
- package/src/plugins/phoenix/structs.d.ts +0 -67
- package/src/plugins/phoenix/structs.js +0 -82
- package/src/plugins/phoenix/structs.js.map +0 -1
- package/src/plugins/phoenix/types.d.ts +0 -29
- package/src/plugins/phoenix/types.js.map +0 -1
- package/src/plugins/realms/constants.js.map +0 -1
- package/src/plugins/realms/depositsFetcher.d.ts +0 -3
- package/src/plugins/realms/depositsFetcher.js.map +0 -1
- package/src/plugins/realms/filters.js.map +0 -1
- package/src/plugins/realms/helpers.d.ts +0 -11
- package/src/plugins/realms/helpers.js.map +0 -1
- package/src/plugins/realms/index.js +0 -13
- package/src/plugins/realms/index.js.map +0 -1
- package/src/plugins/realms/programsJob.d.ts +0 -3
- package/src/plugins/realms/programsJob.js.map +0 -1
- package/src/plugins/realms/structs/realms.js.map +0 -1
- package/src/plugins/realms/types.js.map +0 -1
- package/src/plugins/spl-staking/constants.js.map +0 -1
- package/src/plugins/spl-staking/filters.js.map +0 -1
- package/src/plugins/spl-staking/index.d.ts +0 -6
- package/src/plugins/spl-staking/index.js.map +0 -1
- package/src/plugins/spl-staking/poolsJob.js.map +0 -1
- package/src/plugins/spl-staking/stakingFetcher.js.map +0 -1
- package/src/plugins/spl-staking/structs.js.map +0 -1
- package/src/plugins/spl-staking/types.js +0 -3
- package/src/plugins/spl-staking/types.js.map +0 -1
- /package/src/plugins/{spl-staking → armada-staking}/constants.d.ts +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/constants.js +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/filters.d.ts +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/filters.js +0 -0
- /package/src/plugins/{phoenix → armada-staking}/index.d.ts +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/poolsJob.d.ts +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/poolsJob.js +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/stakingFetcher.d.ts +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/stakingFetcher.js +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/structs.d.ts +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/structs.js +0 -0
- /package/src/plugins/{spl-staking → armada-staking}/types.d.ts +0 -0
- /package/src/plugins/{phoenix → armada-staking}/types.js +0 -0
- /package/src/plugins/{realms → daos}/filters.d.ts +0 -0
- /package/src/plugins/{realms → daos}/filters.js +0 -0
- /package/src/plugins/{realms → daos}/index.d.ts +0 -0
- /package/src/plugins/{phoenix/positionsFetcher.d.ts → daos/realmsDepositsFetcher.d.ts} +0 -0
- /package/src/plugins/{phoenix/marketsJob.d.ts → daos/realmsProgramsJob.d.ts} +0 -0
- /package/src/plugins/{realms → daos}/structs/realms.d.ts +0 -0
- /package/src/plugins/{realms → daos}/structs/realms.js +0 -0
- /package/src/plugins/{realms → daos}/types.js +0 -0
@@ -1,8 +1,17 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.parseDataflat = exports.getObligationSeed = exports.upperFirst = void 0;
|
6
|
+
exports.getElementsFromObligations = exports.parseDataflat = exports.getObligationSeed = exports.upperFirst = void 0;
|
4
7
|
const beet_1 = require("@metaplex-foundation/beet");
|
8
|
+
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
9
|
+
const web3_js_1 = require("@solana/web3.js");
|
10
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
5
11
|
const structs_1 = require("./structs");
|
12
|
+
const constants_1 = require("./constants");
|
13
|
+
const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
|
14
|
+
const helpers_1 = require("../../utils/solana/pyth/helpers");
|
6
15
|
const upperFirst = (string) => string ? string.charAt(0).toUpperCase() + string.slice(1) : '';
|
7
16
|
exports.upperFirst = upperFirst;
|
8
17
|
function getObligationSeed(marketAddress, accountId) {
|
@@ -27,4 +36,126 @@ const parseDataflat = (dataFlat, depositsLen, borrowsLen) => {
|
|
27
36
|
};
|
28
37
|
};
|
29
38
|
exports.parseDataflat = parseDataflat;
|
39
|
+
function getElementsFromObligations(obligations, reserveByAddress, marketByAddress, tokenPriceByAddress, pythAccountByAddress) {
|
40
|
+
const elements = [];
|
41
|
+
for (let i = 0; i < obligations.length; i += 1) {
|
42
|
+
const obligation = obligations[i];
|
43
|
+
if (!obligation)
|
44
|
+
continue;
|
45
|
+
const market = marketByAddress.get(obligation.lendingMarket.toString());
|
46
|
+
if (!market)
|
47
|
+
continue;
|
48
|
+
const { depositsMap, borrowsMap } = (0, exports.parseDataflat)(obligation.dataFlat, obligation.depositsLen, obligation.borrowsLen);
|
49
|
+
if (depositsMap.size === 0 && borrowsMap.size === 0)
|
50
|
+
continue;
|
51
|
+
const borrowedAssets = [];
|
52
|
+
const borrowedYields = [];
|
53
|
+
const suppliedAssets = [];
|
54
|
+
const suppliedYields = [];
|
55
|
+
const rewardAssets = [];
|
56
|
+
const suppliedLtvs = [];
|
57
|
+
const borrowedWeights = [];
|
58
|
+
for (let j = 0; j < market.reserves.length; j += 1) {
|
59
|
+
const { address: reserveAddress } = market.reserves[j];
|
60
|
+
const reserveInfo = reserveByAddress.get(reserveAddress);
|
61
|
+
if (!reserveInfo)
|
62
|
+
continue;
|
63
|
+
const { reserve } = reserveInfo;
|
64
|
+
const { liquidity, collateral } = reserve;
|
65
|
+
const lMint = liquidity.mintPubkey;
|
66
|
+
const lTokenPrice = tokenPriceByAddress.get(lMint);
|
67
|
+
let price;
|
68
|
+
if (!lTokenPrice) {
|
69
|
+
const pythOracle = new web3_js_1.PublicKey(reserve.liquidity.pythOracle);
|
70
|
+
const pythAccount = pythAccountByAddress.get(pythOracle.toString());
|
71
|
+
const pythPrice = pythAccount
|
72
|
+
? (0, helpers_1.parsePriceData)(pythAccount.data)
|
73
|
+
: undefined;
|
74
|
+
if (pythPrice)
|
75
|
+
price = pythPrice.price;
|
76
|
+
}
|
77
|
+
const decimals = liquidity.mintDecimals;
|
78
|
+
const reserveBorrowAmount = new bignumber_js_1.default(liquidity.borrowedAmountWads)
|
79
|
+
.dividedBy(Math.pow(10, (constants_1.wadsDecimal + decimals)))
|
80
|
+
.toNumber();
|
81
|
+
const reserveAvailableAmount = new bignumber_js_1.default(liquidity.availableAmount)
|
82
|
+
.dividedBy(Math.pow(10, decimals))
|
83
|
+
.toNumber();
|
84
|
+
const collateralSupply = new bignumber_js_1.default(collateral.mintTotalSupply)
|
85
|
+
.dividedBy(Math.pow(10, decimals))
|
86
|
+
.toNumber();
|
87
|
+
const reserveDepositAmount = reserveBorrowAmount + reserveAvailableAmount;
|
88
|
+
// Deposit
|
89
|
+
const deposit = depositsMap.get(reserveAddress);
|
90
|
+
if (deposit) {
|
91
|
+
if (!deposit.depositedAmount.isZero()) {
|
92
|
+
const suppliedAmount = deposit.depositedAmount
|
93
|
+
.div(Math.pow(10, decimals))
|
94
|
+
.times(reserveDepositAmount / collateralSupply)
|
95
|
+
.toNumber();
|
96
|
+
suppliedLtvs.push(reserve.config.liquidationThreshold / 100);
|
97
|
+
const apy = +reserveInfo.rates.supplyInterest / 100;
|
98
|
+
const cSuppliedYields = [
|
99
|
+
{
|
100
|
+
apr: (0, portfolio_core_1.apyToApr)(apy),
|
101
|
+
apy,
|
102
|
+
},
|
103
|
+
];
|
104
|
+
suppliedYields.push(cSuppliedYields);
|
105
|
+
suppliedAssets.push((0, tokenPriceToAssetToken_1.default)(lMint, suppliedAmount, portfolio_core_1.NetworkId.solana, lTokenPrice, price));
|
106
|
+
}
|
107
|
+
}
|
108
|
+
// Borrow
|
109
|
+
const borrow = borrowsMap.get(reserveAddress);
|
110
|
+
if (borrow) {
|
111
|
+
if (!borrow.borrowedAmountWads.isZero()) {
|
112
|
+
const borrowedAmount = borrow.borrowedAmountWads
|
113
|
+
.times(new bignumber_js_1.default(liquidity.cumulativeBorrowRateWads))
|
114
|
+
.div(borrow.cumulativeBorrowRateWads)
|
115
|
+
.dividedBy(new bignumber_js_1.default(Math.pow(10, (constants_1.wadsDecimal + decimals))))
|
116
|
+
.toNumber();
|
117
|
+
borrowedWeights.push(new bignumber_js_1.default(reserve.config.addedBorrowWeightBPS)
|
118
|
+
.dividedBy(Math.pow(10, 4))
|
119
|
+
.plus(1)
|
120
|
+
.toNumber());
|
121
|
+
const apy = +reserveInfo.rates.borrowInterest / 100;
|
122
|
+
const cBorrowedYields = [
|
123
|
+
{
|
124
|
+
apr: -(0, portfolio_core_1.apyToApr)(apy),
|
125
|
+
apy: -apy,
|
126
|
+
},
|
127
|
+
];
|
128
|
+
borrowedYields.push(cBorrowedYields);
|
129
|
+
borrowedAssets.push((0, tokenPriceToAssetToken_1.default)(lMint, borrowedAmount, portfolio_core_1.NetworkId.solana, lTokenPrice, price));
|
130
|
+
}
|
131
|
+
}
|
132
|
+
}
|
133
|
+
if (suppliedAssets.length === 0 && borrowedAssets.length === 0)
|
134
|
+
continue;
|
135
|
+
const { borrowedValue, suppliedValue, value, healthRatio, rewardValue } = (0, portfolio_core_1.getElementLendingValues)(suppliedAssets, borrowedAssets, rewardAssets, suppliedLtvs, borrowedWeights);
|
136
|
+
elements.push({
|
137
|
+
type: portfolio_core_1.PortfolioElementType.borrowlend,
|
138
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
139
|
+
platformId: constants_1.platformId,
|
140
|
+
label: 'Lending',
|
141
|
+
value,
|
142
|
+
name: market.name,
|
143
|
+
data: {
|
144
|
+
borrowedAssets,
|
145
|
+
borrowedValue,
|
146
|
+
borrowedYields,
|
147
|
+
suppliedAssets,
|
148
|
+
suppliedValue,
|
149
|
+
suppliedYields,
|
150
|
+
collateralRatio: null,
|
151
|
+
healthRatio,
|
152
|
+
rewardAssets,
|
153
|
+
rewardValue,
|
154
|
+
value,
|
155
|
+
},
|
156
|
+
});
|
157
|
+
}
|
158
|
+
return elements;
|
159
|
+
}
|
160
|
+
exports.getElementsFromObligations = getElementsFromObligations;
|
30
161
|
//# sourceMappingURL=helpers.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/helpers.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/helpers.ts"],"names":[],"mappings":"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"}
|
@@ -19,12 +19,18 @@ const helpers_1 = require("./helpers");
|
|
19
19
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
20
20
|
const marketsInfoRes = yield axios_1.default.get(constants_1.marketsEndpoint);
|
21
21
|
const marketsInfo = marketsInfoRes.data;
|
22
|
+
const marketsEnhanced = [];
|
22
23
|
for (const marketInfo of marketsInfo) {
|
24
|
+
marketsEnhanced.push(Object.assign(Object.assign({}, marketInfo), { name: (0, helpers_1.upperFirst)(marketInfo.name) }));
|
23
25
|
yield cache.setItem(marketInfo.address, Object.assign(Object.assign({}, marketInfo), { name: (0, helpers_1.upperFirst)(marketInfo.name) }), {
|
24
26
|
prefix: constants_1.marketsPrefix,
|
25
27
|
networkId: portfolio_core_1.NetworkId.solana,
|
26
28
|
});
|
27
29
|
}
|
30
|
+
yield cache.setItem(constants_1.marketsKey, marketsEnhanced, {
|
31
|
+
prefix: constants_1.solendPlatform.id,
|
32
|
+
networkId: portfolio_core_1.NetworkId.solana,
|
33
|
+
});
|
28
34
|
});
|
29
35
|
const job = {
|
30
36
|
id: `${constants_1.platformId}-markets`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"marketsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/marketsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,kDAA6C;AAC7C,
|
1
|
+
{"version":3,"file":"marketsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/marketsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,kDAA6C;AAC7C,2CAMqB;AAErB,uCAAuC;AAIvC,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,cAAc,GAAgC,MAAM,eAAK,CAAC,GAAG,CACjE,2BAAe,CAChB,CAAC;IACF,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC;IACxC,MAAM,eAAe,GAAiB,EAAE,CAAC;IACzC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,eAAe,CAAC,IAAI,iCACf,UAAU,KACb,IAAI,EAAE,IAAA,oBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,IACjC,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CACjB,UAAU,CAAC,OAAO,kCAEb,UAAU,KACb,IAAI,EAAE,IAAA,oBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,KAEnC;YACE,MAAM,EAAN,yBAAM;YACN,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CACF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,CAAC,OAAO,CAAC,sBAAU,EAAE,eAAe,EAAE;QAC/C,MAAM,EAAE,0BAAc,CAAC,EAAE;QACzB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
|
@@ -8,39 +8,32 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
9
|
});
|
10
10
|
};
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
12
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
16
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
17
13
|
const web3_js_1 = require("@solana/web3.js");
|
18
14
|
const constants_1 = require("./constants");
|
19
15
|
const helpers_1 = require("./helpers");
|
20
16
|
const solana_1 = require("../../utils/solana");
|
21
17
|
const clients_1 = require("../../utils/clients");
|
22
18
|
const structs_1 = require("./structs");
|
23
|
-
const
|
24
|
-
const runInBatch_1 = __importDefault(require("../../utils/misc/runInBatch"));
|
25
|
-
const constants_2 = require("../flexlend/constants");
|
26
|
-
const helpers_2 = require("../../utils/solana/pyth/helpers");
|
19
|
+
const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAccountsInfoSafe");
|
27
20
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
28
21
|
const client = (0, clients_1.getClientSolana)();
|
29
22
|
const obligationAddresses = [];
|
30
|
-
const markets = yield cache.
|
31
|
-
prefix: constants_1.
|
23
|
+
const markets = yield cache.getItem(constants_1.marketsKey, {
|
24
|
+
prefix: constants_1.platformId,
|
32
25
|
networkId: portfolio_core_1.NetworkId.solana,
|
33
26
|
});
|
34
|
-
if (markets
|
27
|
+
if (!markets)
|
35
28
|
return [];
|
36
29
|
const marketsByAddress = new Map();
|
37
30
|
markets.forEach((market) => {
|
38
31
|
if (market)
|
39
32
|
marketsByAddress.set(market.address.toString(), market);
|
40
33
|
});
|
41
|
-
|
34
|
+
yield marketsByAddress.forEach((marketInfo) => __awaiter(void 0, void 0, void 0, function* () {
|
42
35
|
if (!marketInfo)
|
43
|
-
|
36
|
+
return;
|
44
37
|
const seeds = [
|
45
38
|
(0, helpers_1.getObligationSeed)(marketInfo.address, 0),
|
46
39
|
(0, helpers_1.getObligationSeed)(marketInfo.address, 1),
|
@@ -51,28 +44,25 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
51
44
|
const obligationAddress = yield web3_js_1.PublicKey.createWithSeed(new web3_js_1.PublicKey(owner), seed, constants_1.pid);
|
52
45
|
obligationAddresses.push(obligationAddress);
|
53
46
|
}
|
54
|
-
}
|
55
|
-
|
56
|
-
|
57
|
-
const ownerSeed = owner.slice(0, 16);
|
58
|
-
const obligationSeed = ownerSeed + marketSeed;
|
59
|
-
const oldFlexlendObligAddress = yield web3_js_1.PublicKey.createWithSeed(constants_2.AUTOMATION_PUBLIC_KEY, obligationSeed, constants_1.pid);
|
60
|
-
const newFlexlendObligAddress = yield web3_js_1.PublicKey.createWithSeed(new web3_js_1.PublicKey(owner), obligationSeed, constants_1.pid);
|
61
|
-
obligationAddresses.push(...[oldFlexlendObligAddress, newFlexlendObligAddress]);
|
62
|
-
const obligations = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.obligationStruct, obligationAddresses);
|
63
|
-
if (obligations.length === 0)
|
47
|
+
}));
|
48
|
+
const obligationsRaw = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.obligationStruct, obligationAddresses);
|
49
|
+
if (obligationsRaw.length === 0)
|
64
50
|
return [];
|
51
|
+
const obligations = [];
|
65
52
|
const reserveAddresses = new Set();
|
66
|
-
|
53
|
+
obligationsRaw.forEach((obligation) => {
|
67
54
|
if (!obligation)
|
68
55
|
return;
|
69
56
|
const market = marketsByAddress.get(obligation.lendingMarket.toString());
|
70
57
|
if (!market)
|
71
58
|
return;
|
59
|
+
obligations.push(obligation);
|
72
60
|
market.reserves.forEach((reserve) => {
|
73
61
|
reserveAddresses.add(reserve.address);
|
74
62
|
});
|
75
63
|
});
|
64
|
+
if (obligations.length === 0)
|
65
|
+
return [];
|
76
66
|
const reservesInfos = yield cache.getItems(Array.from(reserveAddresses), {
|
77
67
|
prefix: constants_1.reservesPrefix,
|
78
68
|
networkId: portfolio_core_1.NetworkId.solana,
|
@@ -80,144 +70,25 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
80
70
|
if (!reservesInfos)
|
81
71
|
return [];
|
82
72
|
const reserveByAddress = new Map();
|
83
|
-
|
84
|
-
|
85
|
-
return;
|
86
|
-
reserveByAddress.set(reserve.pubkey, reserve);
|
87
|
-
});
|
88
|
-
const tokensAddresses = new Set();
|
73
|
+
const mints = new Set();
|
74
|
+
const pythAddresses = [];
|
89
75
|
reservesInfos.forEach((reserveInfo) => {
|
90
76
|
if (!reserveInfo)
|
91
77
|
return;
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
const tokenPrices = new Map();
|
96
|
-
tokenPriceResults.forEach((r) => {
|
97
|
-
if (r.status === 'rejected')
|
98
|
-
return;
|
99
|
-
if (!r.value)
|
100
|
-
return;
|
101
|
-
tokenPrices.set(r.value.address, r.value);
|
78
|
+
mints.add(reserveInfo.reserve.liquidity.mintPubkey);
|
79
|
+
reserveByAddress.set(reserveInfo.pubkey, reserveInfo);
|
80
|
+
pythAddresses.push(new web3_js_1.PublicKey(reserveInfo.reserve.liquidity.pythOracle));
|
102
81
|
});
|
103
|
-
const
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
if (!market)
|
110
|
-
continue;
|
111
|
-
const { depositsMap, borrowsMap } = (0, helpers_1.parseDataflat)(obligation.dataFlat, obligation.depositsLen, obligation.borrowsLen);
|
112
|
-
if (depositsMap.size === 0 && borrowsMap.size === 0)
|
82
|
+
const tokenPriceByAddress = yield cache.getTokenPricesAsMap(Array.from(mints), portfolio_core_1.NetworkId.solana);
|
83
|
+
const pythAccounts = yield (0, getMultipleAccountsInfoSafe_1.getMultipleAccountsInfoSafe)(client, pythAddresses);
|
84
|
+
const pythAccByAddress = new Map();
|
85
|
+
for (let i = 0; i < pythAddresses.length; i++) {
|
86
|
+
const account = pythAccounts[i];
|
87
|
+
if (account === null)
|
113
88
|
continue;
|
114
|
-
|
115
|
-
const borrowedYields = [];
|
116
|
-
const suppliedAssets = [];
|
117
|
-
const suppliedYields = [];
|
118
|
-
const rewardAssets = [];
|
119
|
-
const suppliedLtvs = [];
|
120
|
-
const borrowedWeights = [];
|
121
|
-
for (let j = 0; j < market.reserves.length; j += 1) {
|
122
|
-
const { address: reserveAddress } = market.reserves[j];
|
123
|
-
const reserveInfo = reserveByAddress.get(reserveAddress);
|
124
|
-
if (!reserveInfo)
|
125
|
-
continue;
|
126
|
-
const { reserve } = reserveInfo;
|
127
|
-
const { liquidity, collateral } = reserve;
|
128
|
-
const lMint = liquidity.mintPubkey;
|
129
|
-
const lTokenPrice = tokenPrices.get(lMint);
|
130
|
-
let price;
|
131
|
-
if (!lTokenPrice) {
|
132
|
-
const pythOracle = new web3_js_1.PublicKey(reserve.liquidity.pythOracle);
|
133
|
-
const pythAccount = yield client.getAccountInfo(pythOracle);
|
134
|
-
const pythPrice = pythAccount
|
135
|
-
? (0, helpers_2.parsePriceData)(pythAccount.data)
|
136
|
-
: undefined;
|
137
|
-
if (pythPrice)
|
138
|
-
price = pythPrice.price;
|
139
|
-
}
|
140
|
-
const decimals = liquidity.mintDecimals;
|
141
|
-
const reserveBorrowAmount = new bignumber_js_1.default(liquidity.borrowedAmountWads)
|
142
|
-
.dividedBy(Math.pow(10, (constants_1.wadsDecimal + decimals)))
|
143
|
-
.toNumber();
|
144
|
-
const reserveAvailableAmount = new bignumber_js_1.default(liquidity.availableAmount)
|
145
|
-
.dividedBy(Math.pow(10, decimals))
|
146
|
-
.toNumber();
|
147
|
-
const collateralSupply = new bignumber_js_1.default(collateral.mintTotalSupply)
|
148
|
-
.dividedBy(Math.pow(10, decimals))
|
149
|
-
.toNumber();
|
150
|
-
const reserveDepositAmount = reserveBorrowAmount + reserveAvailableAmount;
|
151
|
-
// Deposit
|
152
|
-
const deposit = depositsMap.get(reserveAddress);
|
153
|
-
if (deposit) {
|
154
|
-
if (!deposit.depositedAmount.isZero()) {
|
155
|
-
const suppliedAmount = deposit.depositedAmount
|
156
|
-
.div(Math.pow(10, decimals))
|
157
|
-
.times(reserveDepositAmount / collateralSupply)
|
158
|
-
.toNumber();
|
159
|
-
suppliedLtvs.push(reserve.config.liquidationThreshold / 100);
|
160
|
-
const apy = +reserveInfo.rates.supplyInterest / 100;
|
161
|
-
const cSuppliedYields = [
|
162
|
-
{
|
163
|
-
apr: (0, portfolio_core_1.apyToApr)(apy),
|
164
|
-
apy,
|
165
|
-
},
|
166
|
-
];
|
167
|
-
suppliedYields.push(cSuppliedYields);
|
168
|
-
suppliedAssets.push((0, tokenPriceToAssetToken_1.default)(lMint, suppliedAmount, portfolio_core_1.NetworkId.solana, lTokenPrice, price));
|
169
|
-
}
|
170
|
-
}
|
171
|
-
// Borrow
|
172
|
-
const borrow = borrowsMap.get(reserveAddress);
|
173
|
-
if (borrow) {
|
174
|
-
if (!borrow.borrowedAmountWads.isZero()) {
|
175
|
-
const borrowedAmount = borrow.borrowedAmountWads
|
176
|
-
.times(new bignumber_js_1.default(liquidity.cumulativeBorrowRateWads))
|
177
|
-
.div(borrow.cumulativeBorrowRateWads)
|
178
|
-
.dividedBy(new bignumber_js_1.default(Math.pow(10, (constants_1.wadsDecimal + decimals))))
|
179
|
-
.toNumber();
|
180
|
-
borrowedWeights.push(new bignumber_js_1.default(reserve.config.addedBorrowWeightBPS)
|
181
|
-
.dividedBy(Math.pow(10, 4))
|
182
|
-
.plus(1)
|
183
|
-
.toNumber());
|
184
|
-
const apy = +reserveInfo.rates.borrowInterest / 100;
|
185
|
-
const cBorrowedYields = [
|
186
|
-
{
|
187
|
-
apr: -(0, portfolio_core_1.apyToApr)(apy),
|
188
|
-
apy: -apy,
|
189
|
-
},
|
190
|
-
];
|
191
|
-
borrowedYields.push(cBorrowedYields);
|
192
|
-
borrowedAssets.push((0, tokenPriceToAssetToken_1.default)(lMint, borrowedAmount, portfolio_core_1.NetworkId.solana, lTokenPrice, price));
|
193
|
-
}
|
194
|
-
}
|
195
|
-
}
|
196
|
-
if (suppliedAssets.length === 0 && borrowedAssets.length === 0)
|
197
|
-
continue;
|
198
|
-
const { borrowedValue, suppliedValue, value, healthRatio, rewardValue } = (0, portfolio_core_1.getElementLendingValues)(suppliedAssets, borrowedAssets, rewardAssets, suppliedLtvs, borrowedWeights);
|
199
|
-
elements.push({
|
200
|
-
type: portfolio_core_1.PortfolioElementType.borrowlend,
|
201
|
-
networkId: portfolio_core_1.NetworkId.solana,
|
202
|
-
platformId: constants_1.platformId,
|
203
|
-
label: 'Lending',
|
204
|
-
value,
|
205
|
-
name: market.name,
|
206
|
-
data: {
|
207
|
-
borrowedAssets,
|
208
|
-
borrowedValue,
|
209
|
-
borrowedYields,
|
210
|
-
suppliedAssets,
|
211
|
-
suppliedValue,
|
212
|
-
suppliedYields,
|
213
|
-
collateralRatio: null,
|
214
|
-
healthRatio,
|
215
|
-
rewardAssets,
|
216
|
-
rewardValue,
|
217
|
-
value,
|
218
|
-
},
|
219
|
-
});
|
89
|
+
pythAccByAddress.set(pythAddresses[i].toString(), account);
|
220
90
|
}
|
91
|
+
const elements = (0, helpers_1.getElementsFromObligations)(obligations, reserveByAddress, marketsByAddress, tokenPriceByAddress, pythAccByAddress);
|
221
92
|
return elements;
|
222
93
|
});
|
223
94
|
const fetcher = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"obligationsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/obligationsFetcher.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"obligationsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/obligationsFetcher.ts"],"names":[],"mappings":"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"}
|
@@ -22,20 +22,29 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
22
|
});
|
23
23
|
const reservesAddressesByMarket = markets.map((m) => m.reserves.map((r) => r.address));
|
24
24
|
const promises = [];
|
25
|
+
const reservesInfosResponses = [];
|
26
|
+
const mints = new Set();
|
25
27
|
for (let i = 0; i < reservesAddressesByMarket.length; i += 1) {
|
26
28
|
const reservesAddresses = reservesAddressesByMarket[i];
|
27
|
-
const poolName = markets[i].name;
|
28
29
|
const reservesInfoRes = yield axios_1.default
|
29
30
|
.get(`${constants_1.reserveEndpoint}${reservesAddresses.join(',')}`)
|
30
31
|
.catch(() => {
|
31
32
|
//
|
32
33
|
});
|
34
|
+
reservesInfosResponses.push(reservesInfoRes);
|
35
|
+
if (!reservesInfoRes)
|
36
|
+
continue;
|
37
|
+
reservesInfoRes.data.results.forEach((res) => {
|
38
|
+
mints.add(res.reserve.liquidity.mintPubkey);
|
39
|
+
});
|
40
|
+
}
|
41
|
+
const tokenPriceById = yield cache.getTokenPricesAsMap(Array.from(mints), portfolio_core_1.NetworkId.solana);
|
42
|
+
for (let i = 0; i < reservesAddressesByMarket.length; i += 1) {
|
43
|
+
const reservesAddresses = reservesAddressesByMarket[i];
|
44
|
+
const poolName = markets[i].name;
|
45
|
+
const reservesInfoRes = reservesInfosResponses[i];
|
33
46
|
if (!reservesInfoRes)
|
34
47
|
continue;
|
35
|
-
const mints = reservesInfoRes.data.results.map((res) => res.reserve.liquidity.mintPubkey);
|
36
|
-
const tokensPrices = yield cache.getTokenPrices(mints, portfolio_core_1.NetworkId.solana);
|
37
|
-
const tokenPriceById = new Map();
|
38
|
-
tokensPrices.forEach((tokenPrice) => tokenPrice ? tokenPriceById.set(tokenPrice.address, tokenPrice) : []);
|
39
48
|
for (let j = 0; j < reservesInfoRes.data.results.length; j += 1) {
|
40
49
|
const reserveInfo = reservesInfoRes.data.results[j];
|
41
50
|
const reserveAddress = reservesAddresses[j];
|
@@ -47,7 +56,7 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
56
|
const { liquidity, collateral } = reserve;
|
48
57
|
const { mintPubkey } = liquidity;
|
49
58
|
const decimals = liquidity.mintDecimals;
|
50
|
-
const cTokenExchangeRate = new bignumber_js_1.default(
|
59
|
+
const cTokenExchangeRate = new bignumber_js_1.default(reserveInfo.cTokenExchangeRate);
|
51
60
|
const tokenAddress = reserveInfo.reserve.collateral.mintPubkey;
|
52
61
|
const borrowApy = +reserveInfo.rates.borrowInterest / 100;
|
53
62
|
const depositApy = +reserveInfo.rates.supplyInterest / 100;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"reservesJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/reservesJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+
|
1
|
+
{"version":3,"file":"reservesJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solend/reservesJob.ts"],"names":[],"mappings":"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"}
|
@@ -37,6 +37,7 @@ export interface ReserveInfo {
|
|
37
37
|
reserve: ReserveData;
|
38
38
|
rates: RatesInfo;
|
39
39
|
rewards: RewardInfo[];
|
40
|
+
cTokenExchangeRate: string;
|
40
41
|
}
|
41
42
|
export type ReserveInfoExtended = ReserveInfo & {
|
42
43
|
pubkey: string;
|
@@ -80,7 +81,6 @@ export interface ReserveData {
|
|
80
81
|
borrowedAmountWads: string;
|
81
82
|
addedBorrowWeightBPS: string;
|
82
83
|
};
|
83
|
-
cTokenExchangeRate: string;
|
84
84
|
}
|
85
85
|
export interface RatesInfo {
|
86
86
|
supplyInterest: string;
|
@@ -140,6 +140,8 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
|
|
140
140
|
for (const userRewardManager of userRewardManagers) {
|
141
141
|
const share = new bignumber_js_1.default(userRewardManager.fields.share);
|
142
142
|
for (const userReward of userRewardManager.fields.rewards) {
|
143
|
+
if (!userReward)
|
144
|
+
continue;
|
143
145
|
const poolReward = poolRewardById.get(userReward.fields.pool_reward_id);
|
144
146
|
if (!poolReward)
|
145
147
|
continue;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"obligationsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/obligationsFetcher.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"obligationsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/suilend/obligationsFetcher.ts"],"names":[],"mappings":"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"}
|