@1delta/margin-fetcher 0.0.31 → 0.0.33
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/dist/abis/oracle/UniV3.d.ts +50 -0
- package/dist/abis/oracle/UniV3.d.ts.map +1 -0
- package/dist/abis/oracle/UniV3.js +63 -0
- package/dist/assets/index.d.ts +3 -8
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +12 -30
- package/dist/assets/liquidityThresholds.d.ts.map +1 -1
- package/dist/assets/liquidityThresholds.js +3 -3
- package/dist/flash-liquidity/assets.d.ts.map +1 -1
- package/dist/flash-liquidity/assets.js +22 -13
- package/dist/flash-liquidity/fetchLiquidity.d.ts +2 -2
- package/dist/flash-liquidity/fetchLiquidity.d.ts.map +1 -1
- package/dist/flash-liquidity/fetchLiquidity.js +11 -10
- package/dist/flash-liquidity/utils.d.ts +3 -2
- package/dist/flash-liquidity/utils.d.ts.map +1 -1
- package/dist/flash-liquidity/utils.js +5 -5
- package/dist/lending/aave-v2-type/misc.d.ts +1 -1
- package/dist/lending/aave-v2-type/misc.d.ts.map +1 -1
- package/dist/lending/aave-v2-type/misc.js +7 -3
- package/dist/lending/aave-v2-type/publicCallBuild.d.ts +1 -1
- package/dist/lending/aave-v2-type/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/aave-v2-type/publicCallBuild.js +11 -11
- package/dist/lending/aave-v2-type/publicCallParse.d.ts +1 -1
- package/dist/lending/aave-v2-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/aave-v2-type/publicCallParse.js +5 -5
- package/dist/lending/aave-v3-type/publicCallBuild.d.ts +1 -1
- package/dist/lending/aave-v3-type/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/aave-v3-type/publicCallBuild.js +1 -1
- package/dist/lending/aave-v3-type/publicCallParse.d.ts +1 -1
- package/dist/lending/aave-v3-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/aave-v3-type/publicCallParse.js +5 -14
- package/dist/lending/addresses/aave.js +1 -1
- package/dist/lending/addresses/aaveV2.js +1 -1
- package/dist/lending/addresses/aurelius.js +1 -1
- package/dist/lending/addresses/compoundV3.d.ts +1 -1
- package/dist/lending/addresses/compoundV3.d.ts.map +1 -1
- package/dist/lending/addresses/compoundV3.js +5 -4
- package/dist/lending/addresses/contracts.d.ts +1 -1
- package/dist/lending/addresses/contracts.d.ts.map +1 -1
- package/dist/lending/addresses/contracts.js +1 -1
- package/dist/lending/addresses/hana.js +1 -1
- package/dist/lending/addresses/init.js +1 -1
- package/dist/lending/addresses/lendle.js +1 -1
- package/dist/lending/addresses/meridian.js +1 -1
- package/dist/lending/addresses/takotako.js +1 -1
- package/dist/lending/compound-v3/publicCallBuild.d.ts +1 -1
- package/dist/lending/compound-v3/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/compound-v3/publicCallParse.d.ts +1 -1
- package/dist/lending/compound-v3/publicCallParse.d.ts.map +1 -1
- package/dist/lending/compound-v3/publicCallParse.js +3 -9
- package/dist/lending/fetchLender.d.ts +1 -1
- package/dist/lending/fetchLender.d.ts.map +1 -1
- package/dist/lending/fetchLender.js +1 -1
- package/dist/lending/fetchLenderAll.d.ts +1 -1
- package/dist/lending/fetchLenderAll.d.ts.map +1 -1
- package/dist/lending/fetchLenderAll.js +1 -1
- package/dist/lending/fetchLenderExt.d.ts +1 -1
- package/dist/lending/fetchLenderExt.d.ts.map +1 -1
- package/dist/lending/index.d.ts +1 -0
- package/dist/lending/index.d.ts.map +1 -1
- package/dist/lending/index.js +1 -0
- package/dist/lending/init/publicCallBuild.d.ts +1 -1
- package/dist/lending/init/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/init/publicCallParse.d.ts +4 -4
- package/dist/lending/init/publicCallParse.d.ts.map +1 -1
- package/dist/lending/init/publicCallParse.js +7 -7
- package/dist/lending/meta/index.d.ts +19 -0
- package/dist/lending/meta/index.d.ts.map +1 -0
- package/dist/lending/meta/index.js +83 -0
- package/dist/lending/morpho/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallBuild.js +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts +2 -2
- package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallParse.js +44 -38
- package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParse.js +5 -5
- package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts +2 -2
- package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParseYldr.js +15 -15
- package/dist/lending/user-data/abis.d.ts +1 -1
- package/dist/lending/user-data/abis.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallBuild.d.ts +1 -1
- package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts +1 -1
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallParse.js +4 -4
- package/dist/lending/user-data/init/userCallBuild.d.ts +2 -2
- package/dist/lending/user-data/init/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/init/userCallBuild.js +3 -3
- package/dist/lending/user-data/init/userCallParse.d.ts +1 -1
- package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/init/userCallParse.js +4 -4
- package/dist/lending/user-data/morpho/userCallBuild.d.ts +1 -1
- package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallBuild.js +6 -4
- package/dist/lending/user-data/morpho/userCallParse.d.ts +1 -1
- package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallParse.js +5 -5
- package/dist/lending/user-data/types.js +1 -1
- package/dist/lending-pairs/computeLendingPairs.d.ts.map +1 -1
- package/dist/lending-pairs/computeLendingPairs.js +6 -6
- package/dist/prices/defillama/index.d.ts.map +1 -1
- package/dist/prices/defillama/index.js +21 -0
- package/dist/prices/main-prices/addresses/api3.js +1 -1
- package/dist/prices/main-prices/addresses/chainlink.js +1 -1
- package/dist/prices/main-prices/fetchOracleData.d.ts +6 -0
- package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -1
- package/dist/prices/main-prices/fetchOracleData.js +80 -20
- package/dist/types/index.d.ts +8 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -2
- package/dist/utils/constants.js +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +29 -26
- package/dist/utils/parsing.d.ts +1 -1
- package/dist/utils/parsing.d.ts.map +1 -1
- package/dist/utils/parsing.js +9 -8
- package/dist/yields/index.d.ts.map +1 -1
- package/dist/yields/index.js +7 -3
- package/package.json +2 -2
- package/src/abis/oracle/UniV3.ts +63 -0
- package/src/assets/index.ts +26 -66
- package/src/assets/liquidityThresholds.ts +55 -43
- package/src/flash-liquidity/assets.ts +68 -44
- package/src/flash-liquidity/fetchLiquidity.ts +13 -14
- package/src/flash-liquidity/utils.ts +22 -16
- package/src/lending/aave-v2-type/misc.ts +7 -3
- package/src/lending/aave-v2-type/publicCallBuild.ts +28 -17
- package/src/lending/aave-v2-type/publicCallParse.ts +5 -5
- package/src/lending/aave-v3-type/publicCallBuild.ts +1 -1
- package/src/lending/aave-v3-type/publicCallParse.ts +4 -14
- package/src/lending/addresses/aave.ts +1 -1
- package/src/lending/addresses/aaveV2.ts +1 -1
- package/src/lending/addresses/aurelius.ts +1 -1
- package/src/lending/addresses/compoundV3.ts +5 -12
- package/src/lending/addresses/contracts.ts +1 -1
- package/src/lending/addresses/hana.ts +1 -1
- package/src/lending/addresses/init.ts +1 -1
- package/src/lending/addresses/lendle.ts +1 -1
- package/src/lending/addresses/meridian.ts +1 -1
- package/src/lending/addresses/takotako.ts +1 -1
- package/src/lending/compound-v3/publicCallBuild.ts +1 -1
- package/src/lending/compound-v3/publicCallParse.ts +3 -10
- package/src/lending/fetchLender.ts +1 -1
- package/src/lending/fetchLenderAll.ts +1 -1
- package/src/lending/fetchLenderExt.ts +1 -1
- package/src/lending/index.ts +1 -0
- package/src/lending/init/publicCallBuild.ts +1 -1
- package/src/lending/init/publicCallParse.ts +64 -48
- package/src/lending/meta/index.ts +124 -0
- package/src/lending/morpho/publicCallBuild.ts +0 -1
- package/src/lending/user-data/aave-v2-type/userCallBuild.ts +1 -1
- package/src/lending/user-data/aave-v2-type/userCallParse.ts +181 -122
- package/src/lending/user-data/aave-v3-type/userCallBuild.ts +1 -1
- package/src/lending/user-data/aave-v3-type/userCallParse.ts +7 -8
- package/src/lending/user-data/aave-v3-type/userCallParseYldr.ts +37 -34
- package/src/lending/user-data/abis.ts +1 -1
- package/src/lending/user-data/compound-v3/userCallBuild.ts +1 -1
- package/src/lending/user-data/compound-v3/userCallParse.ts +4 -6
- package/src/lending/user-data/fetchUserData.ts +1 -1
- package/src/lending/user-data/init/userCallBuild.ts +11 -7
- package/src/lending/user-data/init/userCallParse.ts +5 -5
- package/src/lending/user-data/morpho/userCallBuild.ts +7 -4
- package/src/lending/user-data/morpho/userCallParse.ts +8 -5
- package/src/lending/user-data/types.ts +1 -1
- package/src/lending-pairs/computeLendingPairs.ts +6 -12
- package/src/prices/defillama/index.ts +24 -0
- package/src/prices/main-prices/addresses/api3.ts +1 -1
- package/src/prices/main-prices/addresses/chainlink.ts +1 -1
- package/src/prices/main-prices/fetchOracleData.ts +118 -20
- package/src/types/index.ts +10 -4
- package/src/utils/constants.ts +1 -1
- package/src/utils/index.ts +48 -39
- package/src/utils/parsing.ts +37 -35
- package/src/yields/index.ts +7 -3
- package/test/flashLiquidity.test.ts +6 -6
- package/test/index.test.ts +1 -1
- package/test/lenderData.test.ts +10 -11
- package/test/lenderDataBasic.test.ts +1 -1
- package/test/mainPriceMB.test.ts +1 -1
- package/test/mainPrices.test.ts +16 -15
- package/test/morpho.test.ts +1 -1
- package/test/morphoPrice.test.ts +1 -1
- package/test/userData.test.ts +2 -1
- package/test/userDataAave.test.ts +1 -1
- package/test/userDataAaveMainnet.test.ts +1 -1
- package/test/userDataAll.test.ts +2 -1
- package/test/userDataCompound.test.ts +2 -1
- package/test/userDataMorpho.test.ts +2 -1
- package/test/userDataMorphoEthereum.test.ts +2 -1
- package/test/userDataMorphoKatana.test.ts +2 -1
- package/test/utils.ts +11 -1
- package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts +0 -11
- package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts.map +0 -1
- package/dist/lending/user-data/morpho/userCallParseNoDeploy.js +0 -112
- package/dist/prices/main-prices/addresses/aaveOracles.d.ts +0 -300
- package/dist/prices/main-prices/addresses/aaveOracles.d.ts.map +0 -1
- package/dist/prices/main-prices/addresses/aaveOracles.js +0 -299
- package/dist/prices/main-prices/addresses/morpho.d.ts +0 -11
- package/dist/prices/main-prices/addresses/morpho.d.ts.map +0 -1
- package/dist/prices/main-prices/addresses/morpho.js +0 -2554
- package/src/lending/user-data/morpho/userCallParseNoDeploy.ts +0 -168
- package/src/prices/main-prices/addresses/aaveOracles.ts +0 -299
- package/src/prices/main-prices/addresses/morpho.ts +0 -2563
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { Lender } from
|
|
2
|
-
import {
|
|
3
|
-
import { AaveV2TypeGetUserReserveData } from
|
|
4
|
-
import { AURELIUS_REWARD_ASSETS } from
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { parseRawAmount } from "../../../utils/parsing";
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
|
+
import { toGenericPriceKey, toOracleKey } from '../../../assets';
|
|
3
|
+
import { AaveV2TypeGetUserReserveData, } from '../types';
|
|
4
|
+
import { AURELIUS_REWARD_ASSETS } from '../../aave-v2-type/misc';
|
|
5
|
+
import { createBaseTypeUserState } from '../utils';
|
|
6
|
+
import { parseRawAmount } from '../../../utils/parsing';
|
|
8
7
|
export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
|
|
9
8
|
switch (lender) {
|
|
10
9
|
case Lender.AURELIUS: {
|
|
11
|
-
const assetsToQuery =
|
|
10
|
+
const assetsToQuery = Object.keys(lenderData);
|
|
12
11
|
const expectedNumberOfCalls = assetsToQuery.length + 1;
|
|
13
12
|
return [
|
|
14
13
|
(data) => {
|
|
@@ -20,7 +19,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
20
19
|
let totalDeposits24h = 0;
|
|
21
20
|
for (let i = 0; i < assetsToQuery.length; i++) {
|
|
22
21
|
const asset = assetsToQuery[i];
|
|
23
|
-
const { dataForAsset, addedDebt, addedDeposits } = createAaveV2Entry(i, data, chainId, asset, prices, pricesHist, 0);
|
|
22
|
+
const { dataForAsset, addedDebt, addedDeposits } = createAaveV2Entry(i, data, chainId, lenderData[asset].asset, prices, pricesHist, 0);
|
|
24
23
|
if (!dataForAsset)
|
|
25
24
|
continue;
|
|
26
25
|
totalDebt24h += addedDebt;
|
|
@@ -28,21 +27,24 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
28
27
|
lendingPositions[asset] = dataForAsset;
|
|
29
28
|
}
|
|
30
29
|
const startIndex = assetsToQuery.length;
|
|
31
|
-
const rewardMapping = Object.fromEntries(data[startIndex][0].map((key, index) => [
|
|
30
|
+
const rewardMapping = Object.fromEntries(data[startIndex][0].map((key, index) => [
|
|
31
|
+
key.toLowerCase(),
|
|
32
|
+
data[startIndex][1][index],
|
|
33
|
+
]));
|
|
32
34
|
const rewards = {};
|
|
33
35
|
for (let i = 0; i < AURELIUS_REWARD_ASSETS.length; i++) {
|
|
34
36
|
const asset = AURELIUS_REWARD_ASSETS[i];
|
|
35
37
|
const reward = Number(parseRawAmount(rewardMapping[asset.address.toLowerCase()].toString(), asset.decimals));
|
|
36
38
|
rewards[asset.symbol] = {
|
|
37
39
|
totalRewards: reward,
|
|
38
|
-
claimableRewards: reward
|
|
40
|
+
claimableRewards: reward,
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
43
|
const payload = {
|
|
42
44
|
chainId,
|
|
43
45
|
account,
|
|
44
|
-
lendingPositions: {
|
|
45
|
-
rewards
|
|
46
|
+
lendingPositions: { '0': lendingPositions },
|
|
47
|
+
rewards,
|
|
46
48
|
};
|
|
47
49
|
const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h);
|
|
48
50
|
return {
|
|
@@ -54,7 +56,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
54
56
|
];
|
|
55
57
|
}
|
|
56
58
|
case Lender.LENDLE: {
|
|
57
|
-
const assetsToQuery =
|
|
59
|
+
const assetsToQuery = Object.keys(lenderData);
|
|
58
60
|
const expectedNumberOfCalls = assetsToQuery.length + 2;
|
|
59
61
|
return [
|
|
60
62
|
(data) => {
|
|
@@ -67,7 +69,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
67
69
|
const mappedClaimableRewardsToTokens = assetsToQuery.map((name, index) => {
|
|
68
70
|
return {
|
|
69
71
|
[name]: Number(parseRawAmount(claimableRewards?.[index * 2]?.toString(), 18)) +
|
|
70
|
-
Number(parseRawAmount(claimableRewards?.[index * 2 + 1]?.toString(), 18))
|
|
72
|
+
Number(parseRawAmount(claimableRewards?.[index * 2 + 1]?.toString(), 18)),
|
|
71
73
|
};
|
|
72
74
|
});
|
|
73
75
|
const lendingPositions = {};
|
|
@@ -77,7 +79,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
77
79
|
for (let i = 0; i < assetsToQuery.length; i++) {
|
|
78
80
|
const asset = assetsToQuery[i];
|
|
79
81
|
totalClaimableLend += mappedClaimableRewardsToTokens[i][asset];
|
|
80
|
-
const { dataForAsset, addedDebt, addedDeposits } = createAaveV2Entry(i, data, chainId, asset, prices, pricesHist, mappedClaimableRewardsToTokens[i][asset]);
|
|
82
|
+
const { dataForAsset, addedDebt, addedDeposits } = createAaveV2Entry(i, data, chainId, lenderData[asset].asset, prices, pricesHist, mappedClaimableRewardsToTokens[i][asset]);
|
|
81
83
|
if (!dataForAsset)
|
|
82
84
|
continue;
|
|
83
85
|
totalDebt24h += addedDebt;
|
|
@@ -87,12 +89,15 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
87
89
|
const rewards = {};
|
|
88
90
|
const earnedBalances = data[expectedNumberOfCalls - 1];
|
|
89
91
|
const lendRewards = Number(parseRawAmount(earnedBalances[0].toString(), 18));
|
|
90
|
-
rewards[
|
|
92
|
+
rewards['LEND'] = {
|
|
93
|
+
totalRewards: lendRewards + totalClaimableLend,
|
|
94
|
+
claimableRewards: totalClaimableLend,
|
|
95
|
+
};
|
|
91
96
|
const payload = {
|
|
92
97
|
chainId,
|
|
93
98
|
account,
|
|
94
|
-
lendingPositions: {
|
|
95
|
-
rewards
|
|
99
|
+
lendingPositions: { '0': lendingPositions },
|
|
100
|
+
rewards,
|
|
96
101
|
};
|
|
97
102
|
const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h);
|
|
98
103
|
return {
|
|
@@ -104,7 +109,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
104
109
|
];
|
|
105
110
|
}
|
|
106
111
|
case Lender.MERIDIAN: {
|
|
107
|
-
const assetsToQuery =
|
|
112
|
+
const assetsToQuery = Object.keys(lenderData);
|
|
108
113
|
const expectedNumberOfCalls = assetsToQuery.length + 2;
|
|
109
114
|
return [
|
|
110
115
|
(data) => {
|
|
@@ -118,8 +123,8 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
118
123
|
// foreach asset, we sum the l and v token rewards from the rewards balance array
|
|
119
124
|
const mappedClaimableRewardsToTokens = assetsToQuery.map((name, index) => {
|
|
120
125
|
return {
|
|
121
|
-
[name]: Number(parseRawAmount(rewardsBalanceArray[index * 2]?.toString() ||
|
|
122
|
-
Number(parseRawAmount(rewardsBalanceArray[index * 2 + 1]?.toString() ||
|
|
126
|
+
[name]: Number(parseRawAmount(rewardsBalanceArray[index * 2]?.toString() || '0', 18)) +
|
|
127
|
+
Number(parseRawAmount(rewardsBalanceArray[index * 2 + 1]?.toString() || '0', 18)),
|
|
123
128
|
};
|
|
124
129
|
});
|
|
125
130
|
const lendingPositions = {};
|
|
@@ -130,7 +135,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
130
135
|
const asset = assetsToQuery[i];
|
|
131
136
|
const assetClaimableRewards = mappedClaimableRewardsToTokens[i][asset];
|
|
132
137
|
totalClaimableRewards += assetClaimableRewards;
|
|
133
|
-
const { dataForAsset, addedDebt, addedDeposits } = createAaveV2Entry(i, data, chainId, asset, prices, pricesHist, assetClaimableRewards);
|
|
138
|
+
const { dataForAsset, addedDebt, addedDeposits } = createAaveV2Entry(i, data, chainId, lenderData[asset].asset, prices, pricesHist, assetClaimableRewards);
|
|
134
139
|
if (!dataForAsset)
|
|
135
140
|
continue;
|
|
136
141
|
totalDebt24h += addedDebt;
|
|
@@ -138,15 +143,15 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
138
143
|
lendingPositions[asset] = dataForAsset;
|
|
139
144
|
}
|
|
140
145
|
const rewards = {};
|
|
141
|
-
rewards[
|
|
146
|
+
rewards['TAIKO'] = {
|
|
142
147
|
totalRewards,
|
|
143
|
-
claimableRewards: totalClaimableRewards
|
|
148
|
+
claimableRewards: totalClaimableRewards,
|
|
144
149
|
};
|
|
145
150
|
const payload = {
|
|
146
151
|
chainId,
|
|
147
152
|
account,
|
|
148
|
-
lendingPositions: {
|
|
149
|
-
rewards
|
|
153
|
+
lendingPositions: { '0': lendingPositions },
|
|
154
|
+
rewards,
|
|
150
155
|
};
|
|
151
156
|
const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h);
|
|
152
157
|
return {
|
|
@@ -158,7 +163,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
158
163
|
];
|
|
159
164
|
}
|
|
160
165
|
default: {
|
|
161
|
-
const assetsToQuery =
|
|
166
|
+
const assetsToQuery = Object.keys(lenderData);
|
|
162
167
|
const expectedNumberOfCalls = assetsToQuery.length;
|
|
163
168
|
return [
|
|
164
169
|
(data) => {
|
|
@@ -170,7 +175,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
170
175
|
let totalDeposits24h = 0;
|
|
171
176
|
for (let i = 0; i < assetsToQuery.length; i++) {
|
|
172
177
|
const asset = assetsToQuery[i];
|
|
173
|
-
const { dataForAsset, addedDebt, addedDeposits } = createAaveV2Entry(i, data, chainId, asset, prices, pricesHist, 0);
|
|
178
|
+
const { dataForAsset, addedDebt, addedDeposits } = createAaveV2Entry(i, data, chainId, lenderData[asset].asset, prices, pricesHist, 0);
|
|
174
179
|
if (!dataForAsset)
|
|
175
180
|
continue;
|
|
176
181
|
totalDebt24h += addedDebt;
|
|
@@ -180,8 +185,8 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
180
185
|
const payload = {
|
|
181
186
|
chainId,
|
|
182
187
|
account,
|
|
183
|
-
lendingPositions: {
|
|
184
|
-
rewards: {}
|
|
188
|
+
lendingPositions: { '0': lendingPositions },
|
|
189
|
+
rewards: {},
|
|
185
190
|
};
|
|
186
191
|
const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h);
|
|
187
192
|
return {
|
|
@@ -199,21 +204,22 @@ function createAaveV2Entry(i, data, chainId, asset, prices, pricesHist, claimabl
|
|
|
199
204
|
const currentATokenBalanceRaw = reserveData[AaveV2TypeGetUserReserveData.currentATokenBalance]?.toString();
|
|
200
205
|
const currentStableDebtRaw = reserveData[AaveV2TypeGetUserReserveData.currentStableDebt]?.toString();
|
|
201
206
|
const currentVariableDebtRaw = reserveData[AaveV2TypeGetUserReserveData.currentVariableDebt]?.toString();
|
|
202
|
-
if (currentATokenBalanceRaw ===
|
|
203
|
-
currentStableDebtRaw ===
|
|
204
|
-
currentVariableDebtRaw ===
|
|
207
|
+
if (currentATokenBalanceRaw === '0' &&
|
|
208
|
+
currentStableDebtRaw === '0' &&
|
|
209
|
+
currentVariableDebtRaw === '0') {
|
|
205
210
|
return {
|
|
206
211
|
dataForAsset: undefined,
|
|
207
212
|
addedDeposits: 0,
|
|
208
|
-
addedDebt: 0
|
|
213
|
+
addedDebt: 0,
|
|
209
214
|
};
|
|
210
215
|
}
|
|
211
|
-
const assetMeta =
|
|
216
|
+
const assetMeta = asset;
|
|
212
217
|
const decimals = assetMeta?.decimals ?? 18;
|
|
213
218
|
const currentATokenBalance = parseRawAmount(currentATokenBalanceRaw, decimals);
|
|
214
219
|
const currentStableDebt = parseRawAmount(currentStableDebtRaw, decimals);
|
|
215
220
|
const currentVariableDebt = parseRawAmount(currentVariableDebtRaw, decimals);
|
|
216
|
-
const key = toOracleKey(assetMeta?.assetGroup) ??
|
|
221
|
+
const key = toOracleKey(assetMeta?.assetGroup) ??
|
|
222
|
+
toGenericPriceKey(asset.address, chainId);
|
|
217
223
|
const price = prices[key] ?? 1;
|
|
218
224
|
const priceHist = pricesHist?.[key] ?? price;
|
|
219
225
|
const dataForAsset = {
|
|
@@ -233,6 +239,6 @@ function createAaveV2Entry(i, data, chainId, asset, prices, pricesHist, claimabl
|
|
|
233
239
|
return {
|
|
234
240
|
dataForAsset,
|
|
235
241
|
addedDeposits: Number(currentATokenBalance) * priceHist,
|
|
236
|
-
addedDebt: (Number(currentVariableDebt) + Number(currentStableDebt)) * priceHist
|
|
242
|
+
addedDebt: (Number(currentVariableDebt) + Number(currentStableDebt)) * priceHist,
|
|
237
243
|
};
|
|
238
244
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Lender } from
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
2
|
import { Call } from "../../../utils/multicall";
|
|
3
3
|
export declare const buildAaveV3UserCall: (chainId: string, lender: Lender, account: string) => Call[];
|
|
4
4
|
//# sourceMappingURL=userCallBuild.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAmB/C,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,IAAI,EAqB1F,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Lender } from '@1delta/
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
2
|
import { AaveV3UserReserveResponse } from '../types';
|
|
3
3
|
export declare const getAaveV3UserDataConverter: (lender: Lender, chainId: string, account: string, prices: {
|
|
4
4
|
[asset: string]: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAMpD,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,yBAAyB,GAAG,SAAS,EAAE,MAAM,CAqDjE,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toGenericPriceKey, toOracleKey, } from '../../../assets';
|
|
2
2
|
import { createBaseTypeUserState } from '../utils';
|
|
3
3
|
import { AaveTypeGetUserReserveIndexes } from '../../aave-v3-type/types';
|
|
4
4
|
import { parseRawAmount } from '../../../utils/parsing';
|
|
5
5
|
export const getAaveV3UserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
|
|
6
|
-
const assetsToQuery =
|
|
6
|
+
const assetsToQuery = Object.keys(lenderData);
|
|
7
7
|
const expectedNumberOfCalls = assetsToQuery.length + 1;
|
|
8
8
|
return [
|
|
9
9
|
(data) => {
|
|
@@ -16,7 +16,7 @@ export const getAaveV3UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
16
16
|
let totalDeposits24h = 0;
|
|
17
17
|
for (let i = 0; i < assetsToQuery.length; i++) {
|
|
18
18
|
const asset = assetsToQuery[i];
|
|
19
|
-
const { dataForAsset, addedDebt, addedDeposits } = createAaveV3Entry(i, data, chainId, asset, prices, pricesHist);
|
|
19
|
+
const { dataForAsset, addedDebt, addedDeposits } = createAaveV3Entry(i, data, chainId, lenderData[asset].asset, prices, pricesHist);
|
|
20
20
|
if (!dataForAsset)
|
|
21
21
|
continue;
|
|
22
22
|
totalDebt24h += addedDebt;
|
|
@@ -53,12 +53,12 @@ function createAaveV3Entry(i, data, chainId, asset, prices, pricesHist) {
|
|
|
53
53
|
addedDebt: 0,
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
const assetMeta =
|
|
56
|
+
const assetMeta = asset;
|
|
57
57
|
const decimals = assetMeta?.decimals ?? 18;
|
|
58
58
|
const currentATokenBalance = parseRawAmount(currentATokenBalanceRaw, decimals);
|
|
59
59
|
const currentStableDebt = parseRawAmount(currentStableDebtRaw, decimals);
|
|
60
60
|
const currentVariableDebt = parseRawAmount(currentVariableDebtRaw, decimals);
|
|
61
|
-
const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId);
|
|
61
|
+
const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset.address, chainId);
|
|
62
62
|
// prices
|
|
63
63
|
const price = prices[key] ?? 1;
|
|
64
64
|
const priceHist = pricesHist?.[key] ?? price;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Lender } from
|
|
2
|
-
import { AaveV3UserReserveResponse } from
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
|
+
import { AaveV3UserReserveResponse } from '../types';
|
|
3
3
|
/** Like Aave V3, not stable debt data and no emode */
|
|
4
4
|
export declare const getYldrUserDataConverter: (lender: Lender, chainId: string, account: string, prices: {
|
|
5
5
|
[asset: string]: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParseYldr.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallParseYldr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"userCallParseYldr.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v3-type/userCallParseYldr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAMpD,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,yBAAyB,GAAG,SAAS,EAAE,MAAM,CAkDjE,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { createBaseTypeUserState } from
|
|
3
|
-
import { YldrTypeGetUserReserveIndexes } from
|
|
4
|
-
import { parseRawAmount } from
|
|
1
|
+
import { toGenericPriceKey, toOracleKey } from '../../../assets';
|
|
2
|
+
import { createBaseTypeUserState } from '../utils';
|
|
3
|
+
import { YldrTypeGetUserReserveIndexes } from '../../aave-v3-type/types';
|
|
4
|
+
import { parseRawAmount } from '../../../utils/parsing';
|
|
5
5
|
/** Like Aave V3, not stable debt data and no emode */
|
|
6
6
|
export const getYldrUserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
|
|
7
|
-
const assetsToQuery =
|
|
7
|
+
const assetsToQuery = Object.keys(lenderData);
|
|
8
8
|
const expectedNumberOfCalls = assetsToQuery.length;
|
|
9
9
|
return [
|
|
10
10
|
(data) => {
|
|
@@ -16,7 +16,7 @@ export const getYldrUserDataConverter = (lender, chainId, account, prices, price
|
|
|
16
16
|
let totalDeposits24h = 0;
|
|
17
17
|
for (let i = 0; i < assetsToQuery.length; i++) {
|
|
18
18
|
const asset = assetsToQuery[i];
|
|
19
|
-
const { dataForAsset, addedDebt, addedDeposits } = createAaveV3Entry(i, data, chainId, asset
|
|
19
|
+
const { dataForAsset, addedDebt, addedDeposits } = createAaveV3Entry(i, data, chainId, lenderData[asset].asset ``, prices, pricesHist);
|
|
20
20
|
if (!dataForAsset)
|
|
21
21
|
continue;
|
|
22
22
|
totalDebt24h += addedDebt;
|
|
@@ -26,14 +26,14 @@ export const getYldrUserDataConverter = (lender, chainId, account, prices, price
|
|
|
26
26
|
const payload = {
|
|
27
27
|
chainId,
|
|
28
28
|
account,
|
|
29
|
-
lendingPositions: {
|
|
29
|
+
lendingPositions: { '0': lendingPositions },
|
|
30
30
|
rewards: {},
|
|
31
31
|
userEMode: 0,
|
|
32
32
|
};
|
|
33
33
|
const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h);
|
|
34
34
|
return {
|
|
35
35
|
...payload,
|
|
36
|
-
...userData
|
|
36
|
+
...userData,
|
|
37
37
|
};
|
|
38
38
|
},
|
|
39
39
|
expectedNumberOfCalls,
|
|
@@ -43,19 +43,19 @@ function createAaveV3Entry(i, data, chainId, asset, prices, pricesHist) {
|
|
|
43
43
|
const reserveData = data[i];
|
|
44
44
|
const currentATokenBalanceRaw = reserveData[YldrTypeGetUserReserveIndexes.currentYTokenBalance]?.toString();
|
|
45
45
|
const currentVariableDebtRaw = reserveData[YldrTypeGetUserReserveIndexes.currentVariableDebt]?.toString();
|
|
46
|
-
if (currentATokenBalanceRaw ===
|
|
47
|
-
currentVariableDebtRaw === "0") {
|
|
46
|
+
if (currentATokenBalanceRaw === '0' && currentVariableDebtRaw === '0') {
|
|
48
47
|
return {
|
|
49
48
|
dataForAsset: undefined,
|
|
50
49
|
addedDeposits: 0,
|
|
51
|
-
addedDebt: 0
|
|
50
|
+
addedDebt: 0,
|
|
52
51
|
};
|
|
53
52
|
}
|
|
54
|
-
const assetMeta =
|
|
53
|
+
const assetMeta = asset;
|
|
55
54
|
const decimals = assetMeta?.decimals ?? 18;
|
|
56
55
|
const currentATokenBalance = parseRawAmount(currentATokenBalanceRaw, decimals);
|
|
57
56
|
const currentVariableDebt = parseRawAmount(currentVariableDebtRaw, decimals);
|
|
58
|
-
const key = toOracleKey(assetMeta?.assetGroup) ??
|
|
57
|
+
const key = toOracleKey(assetMeta?.assetGroup) ??
|
|
58
|
+
toGenericPriceKey(asset.address, chainId);
|
|
59
59
|
// prices
|
|
60
60
|
const price = prices[key] ?? 1;
|
|
61
61
|
const priceHist = pricesHist?.[key] ?? price;
|
|
@@ -64,7 +64,7 @@ function createAaveV3Entry(i, data, chainId, asset, prices, pricesHist) {
|
|
|
64
64
|
underlying: asset,
|
|
65
65
|
deposits: currentATokenBalance,
|
|
66
66
|
depositsRaw: currentATokenBalanceRaw,
|
|
67
|
-
debtStable:
|
|
67
|
+
debtStable: '0',
|
|
68
68
|
debt: currentVariableDebt,
|
|
69
69
|
depositsUSD: Number(currentATokenBalance) * price,
|
|
70
70
|
debtStableUSD: 0,
|
|
@@ -76,6 +76,6 @@ function createAaveV3Entry(i, data, chainId, asset, prices, pricesHist) {
|
|
|
76
76
|
return {
|
|
77
77
|
dataForAsset,
|
|
78
78
|
addedDeposits: Number(currentATokenBalance) * priceHist,
|
|
79
|
-
addedDebt: Number(currentVariableDebt) * priceHist
|
|
79
|
+
addedDebt: Number(currentVariableDebt) * priceHist,
|
|
80
80
|
};
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/abis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/abis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAoBhD,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCpC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Lender } from '@1delta/
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
2
|
import { Call } from '../../../utils/multicall';
|
|
3
3
|
export declare const buildCompoundV3UserCall: (chainId: string, lender: Lender, account: string) => Call[];
|
|
4
4
|
//# sourceMappingURL=userCallBuild.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAQ/C,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,IAAI,EAkCN,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Lender } from '@1delta/
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
2
|
import { CompoundV3UserReserveResponse } from '../types';
|
|
3
3
|
export declare const getCompoundV3UserDataConverter: (lender: Lender, chainId: string, account: string, prices: {
|
|
4
4
|
[asset: string]: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AASxD,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,6BAA6B,GAAG,SAAS,EAAE,MAAM,CAmHrE,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toGenericPriceKey, toOracleKey, } from '../../../assets';
|
|
2
2
|
import { getCompoundV3BaseAsset } from '../../addresses/compoundV3';
|
|
3
3
|
import { parseRawAmount } from '../../../utils/parsing';
|
|
4
4
|
import { createBaseTypeUserState } from '../utils';
|
|
5
5
|
export const getCompoundV3UserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
|
|
6
|
-
const assetAddresses =
|
|
6
|
+
const assetAddresses = Object.keys(lenderData);
|
|
7
7
|
const baseAsset = getCompoundV3BaseAsset(lender, chainId)?.baseAsset;
|
|
8
8
|
const assetsNoBase = assetAddresses.filter((a) => a !== baseAsset);
|
|
9
9
|
const expectedNumberOfCalls = assetsNoBase.length + 2 + 1;
|
|
@@ -17,7 +17,7 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
17
17
|
let result = {};
|
|
18
18
|
for (let i = 0; i < assetsNoBase.length; i++) {
|
|
19
19
|
const asset = assetsNoBase[i];
|
|
20
|
-
const assetMeta =
|
|
20
|
+
const assetMeta = lenderData[asset].asset;
|
|
21
21
|
const decimals = assetMeta?.decimals ?? 18;
|
|
22
22
|
const depositsRaw = data[i][0]?.toString();
|
|
23
23
|
if (depositsRaw === '0')
|
|
@@ -46,7 +46,7 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
46
46
|
}
|
|
47
47
|
const depositsRaw = data[assetsNoBase.length]?.toString();
|
|
48
48
|
const debtRaw = data[assetsNoBase.length + 1]?.toString();
|
|
49
|
-
const baseMeta =
|
|
49
|
+
const baseMeta = lenderData[baseAsset].asset;
|
|
50
50
|
const baseDecimals = baseMeta.decimals ?? 18;
|
|
51
51
|
const deposits = parseRawAmount(depositsRaw, baseDecimals);
|
|
52
52
|
const debt = parseRawAmount(debtRaw, baseDecimals);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Lender } from
|
|
2
|
-
import { Call } from
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
|
+
import { Call } from '../../../utils/multicall';
|
|
3
3
|
export declare const initBrokerAddresses: {
|
|
4
4
|
"5000": string;
|
|
5
5
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/init/userCallBuild.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/init/userCallBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAG/C,eAAO,MAAM,mBAAmB;;CAE/B,CAAA;AAED,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE,MAAM,sBAG7D;AAED,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,IAAI,EAWN,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Chain } from
|
|
2
|
-
import { getInitLensAddress } from
|
|
1
|
+
import { Chain } from '@1delta/chain-registry';
|
|
2
|
+
import { getInitLensAddress } from '../../addresses/init';
|
|
3
3
|
export const initBrokerAddresses = {
|
|
4
|
-
[Chain.MANTLE]: '0xc08BFef7E778f3519D79E96780b77066F5d4FCC0'
|
|
4
|
+
[Chain.MANTLE]: '0xc08BFef7E778f3519D79E96780b77066F5d4FCC0',
|
|
5
5
|
};
|
|
6
6
|
export function getInitFlashAggregatorAddress(chainId) {
|
|
7
7
|
if (!chainId)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Lender } from
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
2
|
import { InitUserReserveResponse } from "../types";
|
|
3
3
|
export declare const getInitUserDataConverter: (lender: Lender, chainId: string, account: string, prices: {
|
|
4
4
|
[asset: string]: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/init/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/init/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAQlD,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,uBAAuB,GAAG,SAAS,EAAE,MAAM,CAkG/D,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getInitFlashAggregatorAddress } from "./userCallBuild";
|
|
2
2
|
import { InitGetUserPositionDataIndexes } from "../../init/types";
|
|
3
3
|
import { getLenderAssets } from "../../../utils";
|
|
4
|
-
import {
|
|
4
|
+
import { toOracleKey } from "../../../assets";
|
|
5
5
|
import { parseRawAmount } from "../../../utils/parsing";
|
|
6
6
|
import { createMultiAccountTypeUserState } from "../utils/createMultiAccountStyleUserState";
|
|
7
7
|
export const getInitUserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
|
|
@@ -25,13 +25,13 @@ export const getInitUserDataConverter = (lender, chainId, account, prices, price
|
|
|
25
25
|
const id = entry.posId.toString();
|
|
26
26
|
const collatData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.collaterals][index].map((c) => {
|
|
27
27
|
const asset = c.underlying.toLowerCase();
|
|
28
|
-
const decimals =
|
|
28
|
+
const decimals = lenderData[asset].asset?.decimals ?? 18;
|
|
29
29
|
const depositsRaw = c.amount.toString();
|
|
30
30
|
return { [asset]: { deposits: parseRawAmount(depositsRaw, decimals), depositsRaw } };
|
|
31
31
|
}));
|
|
32
32
|
const debtData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.debts][index].map((c) => {
|
|
33
33
|
const asset = c.underlying.toLowerCase();
|
|
34
|
-
const decimals =
|
|
34
|
+
const decimals = lenderData[asset]?.asset?.decimals ?? 18;
|
|
35
35
|
return { [asset]: { debt: parseRawAmount(c.amount.toString(), decimals) } };
|
|
36
36
|
}));
|
|
37
37
|
// sub account to asset data
|
|
@@ -39,7 +39,7 @@ export const getInitUserDataConverter = (lender, chainId, account, prices, price
|
|
|
39
39
|
[id]: {
|
|
40
40
|
mode,
|
|
41
41
|
...Object.assign({}, ...assets.map(a => {
|
|
42
|
-
const ams = toOracleKey(
|
|
42
|
+
const ams = toOracleKey(lenderData[a]?.asset?.assetGroup);
|
|
43
43
|
const price = prices[ams] ?? 1;
|
|
44
44
|
const priceHist = pricesHist?.[ams] ?? price;
|
|
45
45
|
if (!histData[id])
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Lender } from '@1delta/
|
|
1
|
+
import { Lender } from '@1delta/lender-registry';
|
|
2
2
|
import { Call } from '../../../utils/multicall';
|
|
3
3
|
export declare const buildMorphoUserCall: (chainId: string, account: string, lender: Lender, marketsToQuery: string[]) => Call[];
|
|
4
4
|
export declare const buildMorphoUserCallWithLens: (chainId: string, account: string, lender: Lender, marketsToQuery: string[]) => Call[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAqC/C,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,gBAAgB,MAAM,EAAE,KACvB,IAAI,EAIN,CAAA;AAED,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,gBAAgB,MAAM,EAAE,KACvB,IAAI,EAaN,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Chain
|
|
1
|
+
import { Chain } from '@1delta/chain-registry';
|
|
2
2
|
import { chunk } from 'lodash';
|
|
3
|
+
import { morphoPools } from '@1delta/data-sdk';
|
|
3
4
|
const MORPHO_LENS = {
|
|
4
5
|
[Chain.BASE]: '0x98542B95B44a4732EffB1F4F01A696F1546236d3',
|
|
5
6
|
[Chain.POLYGON_MAINNET]: '0x105eb87D2b3127f43B1b4C0F125dbEb0EDF3d6C6',
|
|
@@ -10,16 +11,17 @@ const MORPHO_LENS = {
|
|
|
10
11
|
[Chain.ETHEREUM_MAINNET]: '0x0bd7473CbBf81d9dD936c61117eD230d95006CA2',
|
|
11
12
|
};
|
|
12
13
|
const getBaseMorphoCalls = (lender, chainId, account, marketsToQuery) => {
|
|
14
|
+
const mbPool = morphoPools()?.[lender]?.[chainId];
|
|
13
15
|
return marketsToQuery.flatMap((id) => [
|
|
14
16
|
{
|
|
15
17
|
// @ts-ignore
|
|
16
|
-
address:
|
|
18
|
+
address: mbPool,
|
|
17
19
|
name: 'position',
|
|
18
20
|
params: ['0x' + id.split('_')[1], account],
|
|
19
21
|
},
|
|
20
22
|
{
|
|
21
23
|
// @ts-ignore
|
|
22
|
-
address:
|
|
24
|
+
address: mbPool,
|
|
23
25
|
name: 'market',
|
|
24
26
|
params: ['0x' + id.split('_')[1]],
|
|
25
27
|
},
|
|
@@ -39,7 +41,7 @@ export const buildMorphoUserCallWithLens = (chainId, account, lender, marketsToQ
|
|
|
39
41
|
marketsInChunk.map((a) => a.replace('MORPHO_BLUE_', '0x')),
|
|
40
42
|
account,
|
|
41
43
|
// @ts-ignore
|
|
42
|
-
|
|
44
|
+
morphoPools()?.[lender]?.[chainId],
|
|
43
45
|
],
|
|
44
46
|
}));
|
|
45
47
|
};
|