@1delta/margin-fetcher 0.0.19 → 0.0.20
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/aave-v2/YLDR.d.ts.map +1 -1
- package/dist/abis/aave-v2/YLDR.js +176 -148
- package/dist/abis/aave-v3/YLDR.js +29 -29
- package/dist/abis/compound-v3/Comet.d.ts +0 -20
- package/dist/abis/compound-v3/Comet.d.ts.map +1 -1
- package/dist/abis/compound-v3/Comet.js +0 -25
- package/dist/lending/fetchLender.js +1 -1
- package/dist/lending/user-data/abis.d.ts +20 -20
- package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallBuild.js +1 -7
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts +2 -2
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallParse.js +19 -20
- package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallBuild.js +6 -4
- package/dist/prices/main-prices/addresses/morpho.d.ts.map +1 -1
- package/dist/prices/main-prices/addresses/morpho.js +191 -0
- package/dist/prices/main-prices/fetchOracleData.js +4 -2
- package/dist/yields/index.d.ts.map +1 -1
- package/dist/yields/index.js +13 -1
- package/package.json +2 -2
- package/src/abis/aave-v2/YLDR.ts +177 -149
- package/src/abis/aave-v3/YLDR.ts +45 -45
- package/src/abis/compound-v3/Comet.ts +0 -25
- package/src/lending/fetchLender.ts +1 -1
- package/src/lending/user-data/compound-v3/userCallBuild.ts +1 -8
- package/src/lending/user-data/compound-v3/userCallParse.ts +39 -29
- package/src/lending/user-data/morpho/userCallBuild.ts +6 -4
- package/src/prices/main-prices/addresses/morpho.ts +191 -0
- package/src/prices/main-prices/fetchOracleData.ts +4 -2
- package/src/yields/index.ts +15 -0
- package/test/index.test.ts +101 -97
- package/test/mainPriceMB.test.ts +1 -1
- package/test/mainPrices.test.ts +2 -2
- package/test/morpho.test.ts +1 -1
- package/test/morphoPrice.test.ts +1 -1
- package/test/yields.test.ts +27 -0
- package/tsconfig.json +2 -1
- package/dist/abis/aave/AToken.d.ts +0 -526
- package/dist/abis/aave/AToken.d.ts.map +0 -1
- package/dist/abis/aave/AToken.js +0 -686
- package/dist/abis/aave/AavePoolV3.d.ts +0 -819
- package/dist/abis/aave/AavePoolV3.d.ts.map +0 -1
- package/dist/abis/aave/AavePoolV3.js +0 -1060
- package/dist/abis/init/Core.d.ts +0 -523
- package/dist/abis/init/Core.d.ts.map +0 -1
- package/dist/abis/init/Core.js +0 -681
- package/dist/abis/init/InitFlashAggregator.d.ts +0 -624
- package/dist/abis/init/InitFlashAggregator.d.ts.map +0 -1
- package/dist/abis/init/InitFlashAggregator.js +0 -795
- package/dist/abis/init/PosManager.d.ts +0 -802
- package/dist/abis/init/PosManager.d.ts.map +0 -1
- package/dist/abis/init/PosManager.js +0 -1055
- package/dist/abis/uniswap/FeeOnTransferDetector.d.ts +0 -102
- package/dist/abis/uniswap/FeeOnTransferDetector.d.ts.map +0 -1
- package/dist/abis/uniswap/FeeOnTransferDetector.js +0 -133
- package/dist/abis/uniswap/UniswapV2Pair.d.ts +0 -513
- package/dist/abis/uniswap/UniswapV2Pair.d.ts.map +0 -1
- package/dist/abis/uniswap/UniswapV2Pair.js +0 -659
- package/src/abis/aave/AToken.ts +0 -686
- package/src/abis/aave/AavePoolV3.ts +0 -1060
- package/src/abis/init/Core.ts +0 -681
- package/src/abis/init/InitFlashAggregator.ts +0 -795
- package/src/abis/init/PosManager.ts +0 -1055
- package/src/abis/uniswap/FeeOnTransferDetector.ts +0 -133
- package/src/abis/uniswap/UniswapV2Pair.ts +0 -659
- /package/test/{userdata.test.ts → userData.test.ts} +0 -0
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { getAssetMeta, getCompoundV3Assets, toGenericPriceKey, toOracleKey } from
|
|
2
|
-
import { getCompoundV3BaseAsset } from
|
|
3
|
-
import { parseRawAmount } from
|
|
4
|
-
import { Asset as SupportedAssets } from
|
|
5
|
-
import { createBaseTypeUserState } from
|
|
1
|
+
import { getAssetMeta, getCompoundV3Assets, toGenericPriceKey, toOracleKey, } from '../../../assets';
|
|
2
|
+
import { getCompoundV3BaseAsset } from './addresses';
|
|
3
|
+
import { parseRawAmount } from '../../../utils/parsing';
|
|
4
|
+
import { Asset as SupportedAssets } from '@1delta/asset-registry';
|
|
5
|
+
import { createBaseTypeUserState } from '../utils';
|
|
6
6
|
export const getCompoundV3UserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
|
|
7
7
|
const assetAddresses = getCompoundV3Assets(chainId, lender);
|
|
8
8
|
const baseAsset = getCompoundV3BaseAsset(lender, chainId).baseAsset;
|
|
9
|
-
const assetsNoBase = assetAddresses.filter(a => a !== baseAsset);
|
|
10
|
-
const expectedNumberOfCalls = assetsNoBase.length + 2 + 1
|
|
9
|
+
const assetsNoBase = assetAddresses.filter((a) => a !== baseAsset);
|
|
10
|
+
const expectedNumberOfCalls = assetsNoBase.length + 2 + 1;
|
|
11
11
|
return [
|
|
12
12
|
(data) => {
|
|
13
13
|
if (data.length !== expectedNumberOfCalls) {
|
|
14
14
|
return undefined;
|
|
15
15
|
}
|
|
16
|
-
const isAllowed = Boolean(data[expectedNumberOfCalls - 2]);
|
|
17
16
|
let totalDebt24h = 0;
|
|
18
17
|
let totalDeposits24h = 0;
|
|
19
18
|
let result = {};
|
|
@@ -22,10 +21,11 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
22
21
|
const assetMeta = getAssetMeta(chainId, asset);
|
|
23
22
|
const decimals = assetMeta?.decimals ?? 18;
|
|
24
23
|
const depositsRaw = data[i][0]?.toString();
|
|
25
|
-
if (depositsRaw ===
|
|
24
|
+
if (depositsRaw === '0')
|
|
26
25
|
continue;
|
|
27
26
|
const deposits = parseRawAmount(depositsRaw, decimals);
|
|
28
|
-
const key = toOracleKey(assetMeta?.assetGroup) ??
|
|
27
|
+
const key = toOracleKey(assetMeta?.assetGroup) ??
|
|
28
|
+
toGenericPriceKey(asset, chainId);
|
|
29
29
|
const price = prices[key] ?? 1;
|
|
30
30
|
const priceHist = pricesHist?.[key] ?? price;
|
|
31
31
|
// accure
|
|
@@ -36,14 +36,13 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
36
36
|
deposits,
|
|
37
37
|
depositsUSD: Number(deposits) * price,
|
|
38
38
|
debtStableUSD: 0,
|
|
39
|
-
debt:
|
|
40
|
-
debtStable:
|
|
39
|
+
debt: '0',
|
|
40
|
+
debtStable: '0',
|
|
41
41
|
debtUSD: 0,
|
|
42
42
|
collateralActive: true,
|
|
43
43
|
// user depos raw
|
|
44
44
|
depositsRaw,
|
|
45
45
|
// flag for allowance
|
|
46
|
-
isAllowed,
|
|
47
46
|
};
|
|
48
47
|
}
|
|
49
48
|
const depositsRaw = data[assetsNoBase.length]?.toString();
|
|
@@ -52,7 +51,8 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
52
51
|
const baseDecimals = baseMeta.decimals ?? 18;
|
|
53
52
|
const deposits = parseRawAmount(depositsRaw, baseDecimals);
|
|
54
53
|
const debt = parseRawAmount(debtRaw, baseDecimals);
|
|
55
|
-
const oracleKeyBase = toOracleKey(baseMeta?.assetGroup) ??
|
|
54
|
+
const oracleKeyBase = toOracleKey(baseMeta?.assetGroup) ??
|
|
55
|
+
toGenericPriceKey(baseMeta.baseAsset, chainId);
|
|
56
56
|
const priceBase = prices[oracleKeyBase];
|
|
57
57
|
const priceBaseHist = pricesHist?.[oracleKeyBase] ?? priceBase;
|
|
58
58
|
// accrue base data
|
|
@@ -67,13 +67,12 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
67
67
|
depositsUSD: Number(deposits) * priceBase,
|
|
68
68
|
debtUSD: Number(debt) * priceBase,
|
|
69
69
|
// populate values for totals
|
|
70
|
-
debtStable:
|
|
70
|
+
debtStable: '0',
|
|
71
71
|
debtStableUSD: 0,
|
|
72
72
|
collateralActive: true,
|
|
73
73
|
// user depos raw
|
|
74
74
|
depositsRaw,
|
|
75
75
|
// flag for allowance
|
|
76
|
-
isAllowed,
|
|
77
76
|
},
|
|
78
77
|
};
|
|
79
78
|
// the result is an array: [tokenAddress, owedAmount] (tokenAddress should be always COMP)
|
|
@@ -87,15 +86,15 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
87
86
|
rewards: {
|
|
88
87
|
[SupportedAssets.COMP]: {
|
|
89
88
|
totalRewards: compRewards,
|
|
90
|
-
claimableRewards: compRewards
|
|
91
|
-
}
|
|
89
|
+
claimableRewards: compRewards,
|
|
90
|
+
},
|
|
92
91
|
},
|
|
93
|
-
account
|
|
92
|
+
account,
|
|
94
93
|
};
|
|
95
94
|
const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h);
|
|
96
95
|
return {
|
|
97
96
|
...payload,
|
|
98
|
-
...userData
|
|
97
|
+
...userData,
|
|
99
98
|
};
|
|
100
99
|
},
|
|
101
100
|
expectedNumberOfCalls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAyB,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAyB,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAkC/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"}
|
|
@@ -5,20 +5,22 @@ const MORPHO_LENS = {
|
|
|
5
5
|
[Chain.POLYGON_MAINNET]: '0x105eb87D2b3127f43B1b4C0F125dbEb0EDF3d6C6',
|
|
6
6
|
[Chain.OP_MAINNET]: '0xd184c5315B728c1C990f59dDD275c8155f8e255c',
|
|
7
7
|
[Chain.ARBITRUM_ONE]: '0xF64F862Fb7D687411585e06C08711B612e156530',
|
|
8
|
+
[Chain.KATANA]: '0xcB6Eb8df68153cebF60E1872273Ef52075a5C297',
|
|
9
|
+
[Chain.HYPEREVM]: '0xCe434378adacC51d54312c872113D687Ac19B516',
|
|
8
10
|
};
|
|
9
11
|
const getBaseMorphoCalls = (lender, chainId, account, marketsToQuery) => {
|
|
10
|
-
return marketsToQuery.flatMap(id => [
|
|
12
|
+
return marketsToQuery.flatMap((id) => [
|
|
11
13
|
{
|
|
12
14
|
// @ts-ignore
|
|
13
15
|
address: MORPHO_BLUE_POOL_DATA[lender][chainId],
|
|
14
16
|
name: 'position',
|
|
15
|
-
params: [
|
|
17
|
+
params: ['0x' + id.split('_')[1], account],
|
|
16
18
|
},
|
|
17
19
|
{
|
|
18
20
|
// @ts-ignore
|
|
19
21
|
address: MORPHO_BLUE_POOL_DATA[lender][chainId],
|
|
20
22
|
name: 'market',
|
|
21
|
-
params: [
|
|
23
|
+
params: ['0x' + id.split('_')[1]],
|
|
22
24
|
},
|
|
23
25
|
]);
|
|
24
26
|
};
|
|
@@ -33,7 +35,7 @@ export const buildMorphoUserCallWithLens = (chainId, account, lender, marketsToQ
|
|
|
33
35
|
address: MORPHO_LENS[chainId],
|
|
34
36
|
name: 'getUserDataCompact',
|
|
35
37
|
params: [
|
|
36
|
-
marketsInChunk.map(a => a.replace(
|
|
38
|
+
marketsInChunk.map((a) => a.replace('MORPHO_BLUE_', '0x')),
|
|
37
39
|
account,
|
|
38
40
|
// @ts-ignore
|
|
39
41
|
MORPHO_BLUE_POOL_DATA[lender][chainId],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morpho.d.ts","sourceRoot":"","sources":["../../../../src/prices/main-prices/addresses/morpho.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,uBAAuB,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"morpho.d.ts","sourceRoot":"","sources":["../../../../src/prices/main-prices/addresses/morpho.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,uBAAuB,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAsrC5D,CAAA"}
|
|
@@ -1014,4 +1014,195 @@ export const MrophoOracles = {
|
|
|
1014
1014
|
collateralAssetDecimals: 18,
|
|
1015
1015
|
},
|
|
1016
1016
|
],
|
|
1017
|
+
[Chain.KATANA]: [
|
|
1018
|
+
{
|
|
1019
|
+
oracle: '0xD0457014ae86DF159482Ad6ddaD9bB6827DF4bc9',
|
|
1020
|
+
loanAsset: '0xee7d8bcfb72bc1880d0cf19822eb0a2e6577ab62',
|
|
1021
|
+
collateralAsset: '0x9893989433e7a383cb313953e4c2365107dc19a7',
|
|
1022
|
+
loanAssetDecimals: 18,
|
|
1023
|
+
collateralAssetDecimals: 18,
|
|
1024
|
+
},
|
|
1025
|
+
{
|
|
1026
|
+
oracle: '0xC3dA445C9c4Cd78325C6DCDD314936C2Aa226372',
|
|
1027
|
+
loanAsset: '0x0913da6da4b42f538b445599b46bb4622342cf52',
|
|
1028
|
+
collateralAsset: '0xecac9c5f704e954931349da37f60e39f515c11c1',
|
|
1029
|
+
loanAssetDecimals: 8,
|
|
1030
|
+
collateralAssetDecimals: 8,
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
oracle: '0xbbD209f7b779c9747A4Fe10B3468ad64204de7A5',
|
|
1034
|
+
loanAsset: '0xee7d8bcfb72bc1880d0cf19822eb0a2e6577ab62',
|
|
1035
|
+
collateralAsset: '0x7fb4d0f51544f24f385a421db6e7d4fc71ad8e5c',
|
|
1036
|
+
loanAssetDecimals: 18,
|
|
1037
|
+
collateralAssetDecimals: 18,
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
oracle: '0xD423D353f890aD0D18532fFaf5c47B0Cb943bf47',
|
|
1041
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1042
|
+
collateralAsset: '0xee7d8bcfb72bc1880d0cf19822eb0a2e6577ab62',
|
|
1043
|
+
loanAssetDecimals: 6,
|
|
1044
|
+
collateralAssetDecimals: 18,
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
oracle: '0xB60F728BdcE5e3921C0E42c1a6F07A1313D0040e',
|
|
1048
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1049
|
+
collateralAsset: '0x0913da6da4b42f538b445599b46bb4622342cf52',
|
|
1050
|
+
loanAssetDecimals: 6,
|
|
1051
|
+
collateralAssetDecimals: 8,
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
oracle: '0x970b106C6C1df8276577dBdC8FdA010e418fC1EC',
|
|
1055
|
+
loanAsset: '0x00000000efe302beaa2b3e6e1b18d08d69a9012a',
|
|
1056
|
+
collateralAsset: '0xee7d8bcfb72bc1880d0cf19822eb0a2e6577ab62',
|
|
1057
|
+
loanAssetDecimals: 6,
|
|
1058
|
+
collateralAssetDecimals: 18,
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
oracle: '0xBa4c6d027b3c08Cb8c21840501Cd04ad6Bb37Cd0',
|
|
1062
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1063
|
+
collateralAsset: '0x4772d2e014f9fc3a820c444e3313968e9a5c8121',
|
|
1064
|
+
loanAssetDecimals: 6,
|
|
1065
|
+
collateralAssetDecimals: 18,
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
oracle: '0x3C40506CcD8f124f05a900446d38dDA4baAfd82d',
|
|
1069
|
+
loanAsset: '0x00000000efe302beaa2b3e6e1b18d08d69a9012a',
|
|
1070
|
+
collateralAsset: '0x0913da6da4b42f538b445599b46bb4622342cf52',
|
|
1071
|
+
loanAssetDecimals: 6,
|
|
1072
|
+
collateralAssetDecimals: 8,
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
oracle: '0x07A9c82f38aAD9855FaF76D398F9C64a7A12F0AE',
|
|
1076
|
+
loanAsset: '0x2dca96907fde857dd3d816880a0df407eeb2d2f2',
|
|
1077
|
+
collateralAsset: '0x0913da6da4b42f538b445599b46bb4622342cf52',
|
|
1078
|
+
loanAssetDecimals: 6,
|
|
1079
|
+
collateralAssetDecimals: 8,
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
oracle: '0x2477367cFF71b31b4BE6963e5691859E8fcDF084',
|
|
1083
|
+
loanAsset: '0x2dca96907fde857dd3d816880a0df407eeb2d2f2',
|
|
1084
|
+
collateralAsset: '0xee7d8bcfb72bc1880d0cf19822eb0a2e6577ab62',
|
|
1085
|
+
loanAssetDecimals: 6,
|
|
1086
|
+
collateralAssetDecimals: 18,
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
oracle: '0xcC139318686969b9D30Dd62aA206725B269DA40d',
|
|
1090
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1091
|
+
collateralAsset: '0xecac9c5f704e954931349da37f60e39f515c11c1',
|
|
1092
|
+
loanAssetDecimals: 6,
|
|
1093
|
+
collateralAssetDecimals: 8,
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
oracle: '0x83F4197076614efe8e4c37BB9EFBfeaD08d4719f',
|
|
1097
|
+
loanAsset: '0x00000000efe302beaa2b3e6e1b18d08d69a9012a',
|
|
1098
|
+
collateralAsset: '0xb0f70c0bd6fd87dbeb7c10dc692a2a6106817072',
|
|
1099
|
+
loanAssetDecimals: 6,
|
|
1100
|
+
collateralAssetDecimals: 8,
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
oracle: '0x83F4197076614efe8e4c37BB9EFBfeaD08d4719f',
|
|
1104
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1105
|
+
collateralAsset: '0xb0f70c0bd6fd87dbeb7c10dc692a2a6106817072',
|
|
1106
|
+
loanAssetDecimals: 6,
|
|
1107
|
+
collateralAssetDecimals: 8,
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
oracle: '0xCB1Bb9cBB52fff31EB7aD3aa2ff52c53080b9d3F',
|
|
1111
|
+
loanAsset: '0x9b8df6e244526ab5f6e6400d331db28c8fdddb55',
|
|
1112
|
+
collateralAsset: '0xee7d8bcfb72bc1880d0cf19822eb0a2e6577ab62',
|
|
1113
|
+
loanAssetDecimals: 18,
|
|
1114
|
+
collateralAssetDecimals: 18,
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
oracle: '0xD978CE03d8BB0eb3f09cB2a469DbbC25DB42F3Ae',
|
|
1118
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1119
|
+
collateralAsset: '0x9a6bd7b6fd5c4f87eb66356441502fc7dcdd185b',
|
|
1120
|
+
loanAssetDecimals: 6,
|
|
1121
|
+
collateralAssetDecimals: 6,
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
oracle: '0x116d44F7D784A6AA16E175C80d3382c93600d07a',
|
|
1125
|
+
loanAsset: '0x9b8df6e244526ab5f6e6400d331db28c8fdddb55',
|
|
1126
|
+
collateralAsset: '0x6c16e26013f2431e8b2e1ba7067ecccad0db6c52',
|
|
1127
|
+
loanAssetDecimals: 18,
|
|
1128
|
+
collateralAssetDecimals: 18,
|
|
1129
|
+
},
|
|
1130
|
+
{
|
|
1131
|
+
oracle: '0xe8F70671Bc494A96332c809d042bD9bF09452B57',
|
|
1132
|
+
loanAsset: '0x2dca96907fde857dd3d816880a0df407eeb2d2f2',
|
|
1133
|
+
collateralAsset: '0xecac9c5f704e954931349da37f60e39f515c11c1',
|
|
1134
|
+
loanAssetDecimals: 6,
|
|
1135
|
+
collateralAssetDecimals: 8,
|
|
1136
|
+
},
|
|
1137
|
+
{
|
|
1138
|
+
oracle: '0x83F4197076614efe8e4c37BB9EFBfeaD08d4719f',
|
|
1139
|
+
loanAsset: '0x2dca96907fde857dd3d816880a0df407eeb2d2f2',
|
|
1140
|
+
collateralAsset: '0xb0f70c0bd6fd87dbeb7c10dc692a2a6106817072',
|
|
1141
|
+
loanAssetDecimals: 6,
|
|
1142
|
+
collateralAssetDecimals: 8,
|
|
1143
|
+
},
|
|
1144
|
+
{
|
|
1145
|
+
oracle: '0x7554eDA5d53BF875ABB0FbDD174bbA175cD75E65',
|
|
1146
|
+
loanAsset: '0x9b8df6e244526ab5f6e6400d331db28c8fdddb55',
|
|
1147
|
+
collateralAsset: '0x0913da6da4b42f538b445599b46bb4622342cf52',
|
|
1148
|
+
loanAssetDecimals: 18,
|
|
1149
|
+
collateralAssetDecimals: 8,
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
oracle: '0x8b99035AF467A46c4B208B00348ad9456177d76E',
|
|
1153
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1154
|
+
collateralAsset: '0xb24e3035d1fcbc0e43cf3143c3fd92e53df2009b',
|
|
1155
|
+
loanAssetDecimals: 6,
|
|
1156
|
+
collateralAssetDecimals: 18,
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
oracle: '0x6d736e00AcD96032d8151b9989E61b5cF090c98c',
|
|
1160
|
+
loanAsset: '0x2dca96907fde857dd3d816880a0df407eeb2d2f2',
|
|
1161
|
+
collateralAsset: '0x80c34bd3a3569e126e7055831036aa7b212cb159',
|
|
1162
|
+
loanAssetDecimals: 6,
|
|
1163
|
+
collateralAssetDecimals: 6,
|
|
1164
|
+
},
|
|
1165
|
+
{
|
|
1166
|
+
oracle: '0xb220dd96B7A462f0A36228b255099Aa59716543C',
|
|
1167
|
+
loanAsset: '0x00000000efe302beaa2b3e6e1b18d08d69a9012a',
|
|
1168
|
+
collateralAsset: '0x7fb4d0f51544f24f385a421db6e7d4fc71ad8e5c',
|
|
1169
|
+
loanAssetDecimals: 6,
|
|
1170
|
+
collateralAssetDecimals: 18,
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
oracle: '0x1c5f3862c913E015eD0a2A9d71E13BE74101F47d',
|
|
1174
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1175
|
+
collateralAsset: '0x7fb4d0f51544f24f385a421db6e7d4fc71ad8e5c',
|
|
1176
|
+
loanAssetDecimals: 6,
|
|
1177
|
+
collateralAssetDecimals: 18,
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
oracle: '0x269013966Ef83A88B75f0573199CF1Cad8c30f82',
|
|
1181
|
+
loanAsset: '0x00000000efe302beaa2b3e6e1b18d08d69a9012a',
|
|
1182
|
+
collateralAsset: '0xecac9c5f704e954931349da37f60e39f515c11c1',
|
|
1183
|
+
loanAssetDecimals: 6,
|
|
1184
|
+
collateralAssetDecimals: 8,
|
|
1185
|
+
},
|
|
1186
|
+
{
|
|
1187
|
+
oracle: '0xe8F70671Bc494A96332c809d042bD9bF09452B57',
|
|
1188
|
+
loanAsset: '0x00000000efe302beaa2b3e6e1b18d08d69a9012a',
|
|
1189
|
+
collateralAsset: '0xecac9c5f704e954931349da37f60e39f515c11c1',
|
|
1190
|
+
loanAssetDecimals: 6,
|
|
1191
|
+
collateralAssetDecimals: 8,
|
|
1192
|
+
},
|
|
1193
|
+
{
|
|
1194
|
+
oracle: '0xe8F70671Bc494A96332c809d042bD9bF09452B57',
|
|
1195
|
+
loanAsset: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
1196
|
+
collateralAsset: '0xecac9c5f704e954931349da37f60e39f515c11c1',
|
|
1197
|
+
loanAssetDecimals: 6,
|
|
1198
|
+
collateralAssetDecimals: 8,
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
oracle: '0xC3dA445C9c4Cd78325C6DCDD314936C2Aa226372',
|
|
1202
|
+
loanAsset: '0xb0f70c0bd6fd87dbeb7c10dc692a2a6106817072',
|
|
1203
|
+
collateralAsset: '0xecac9c5f704e954931349da37f60e39f515c11c1',
|
|
1204
|
+
loanAssetDecimals: 8,
|
|
1205
|
+
collateralAssetDecimals: 8,
|
|
1206
|
+
},
|
|
1207
|
+
],
|
|
1017
1208
|
};
|
|
@@ -46,10 +46,10 @@ const RWA_DYNAMIC_ORACLE = '0xA96abbe61AfEdEB0D14a20440Ae7100D9aB4882f';
|
|
|
46
46
|
export const fetchMainPrices = async (chainIds, getEvmClient) => {
|
|
47
47
|
let promises = chainIds.map((chainId) => {
|
|
48
48
|
const aaveForks = AAVES_PER_CHAIN[chainId];
|
|
49
|
-
let reservesToQuery = aaveForks
|
|
49
|
+
let reservesToQuery = aaveForks?.map((a) => ({ fork: a, assets: getAaveAssets(chainId, a) }));
|
|
50
50
|
let handled = [];
|
|
51
51
|
let queries = [];
|
|
52
|
-
reservesToQuery
|
|
52
|
+
reservesToQuery?.forEach((e) => {
|
|
53
53
|
const newOnes = e.assets.filter((a) => !handled.includes(a));
|
|
54
54
|
if (newOnes.length > 0) {
|
|
55
55
|
queries.push({
|
|
@@ -296,6 +296,8 @@ const parseMorphoResults = (chainId, data, queries, donePrices = {}) => {
|
|
|
296
296
|
const oracleIdCollateral = ASSET_META[chainId][collateralAsset]?.assetGroup ??
|
|
297
297
|
chainId + '-' + collateralAsset;
|
|
298
298
|
const collateralPrice = donePrices[oracleIdCollateral];
|
|
299
|
+
console.log('debtPrice', oracleId, debtPrice);
|
|
300
|
+
console.log('collateralPrice', oracleIdCollateral, collateralPrice);
|
|
299
301
|
const priceDebtToCollateral = formatMorphoPrice(d.toString(), loanAssetDecimals, collateralAssetDecimals);
|
|
300
302
|
if (debtPrice) {
|
|
301
303
|
if (!prices[oracleIdCollateral])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/yields/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/yields/index.ts"],"names":[],"mappings":"AA4CA,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,qBAAqB,EAAE,GAAG,CAAA;IAC1B,oBAAoB,EAAE,GAAG,CAAA;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACxD,aAAa,EAAE;QACb,CAAC,OAAO,EAAE,MAAM,GAAG;YACjB,CAAC,MAAM,EAAE,MAAM,GAAG;gBAAE,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAA;aAAE,CAAA;SACzD,CAAA;KACF,CAAA;CACF;AAcD,eAAO,MAAM,kBAAkB,uCA+K9B,CAAA"}
|
package/dist/yields/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { apyToAprPercent, apyToApr } from '../utils/parsing';
|
|
2
2
|
const hyUSD = 'High Yield USD Base::HYUSD';
|
|
3
3
|
const bsdETH = 'Based ETH::BSDETH';
|
|
4
|
+
const wstHype = 'Staked HYPE Shares::WSTHYPE';
|
|
5
|
+
const kHYPE = 'Kinetiq Staked HYPE::kHYPE';
|
|
4
6
|
const FeedData = {
|
|
5
7
|
WSTETH: 'https://eth-api.lido.fi/v1/protocol/steth/apr/sma',
|
|
6
8
|
STMATIC: 'https://polygon.lido.fi/api/stats',
|
|
@@ -15,6 +17,7 @@ const FeedData = {
|
|
|
15
17
|
RSETH: 'https://universe.kelpdao.xyz/rseth/totalApy',
|
|
16
18
|
TRUMATIC: 'https://api.trufin.io/staker/apy?staker=MATIC',
|
|
17
19
|
RTOKENS: 'https://yields.reserve.org/pools',
|
|
20
|
+
HYPE: 'https://api.hyperlend.finance/data/nativeApy',
|
|
18
21
|
};
|
|
19
22
|
const LenderAPIs = {
|
|
20
23
|
MERIDIAN: 'https://omnidex.bmaa3ajd1gjri.eu-west-2.cs.amazonlightsail.com/lending_yields',
|
|
@@ -107,6 +110,13 @@ export const fetchGeneralYields = async () => {
|
|
|
107
110
|
[hyUSD]: apyToAprPercent(data.hyUSD / 100) * 100,
|
|
108
111
|
};
|
|
109
112
|
});
|
|
113
|
+
const hypePromise = safeFetch('HYPE', async () => {
|
|
114
|
+
const res = await fetch(FeedData.HYPE).then((r) => r.json());
|
|
115
|
+
return {
|
|
116
|
+
[wstHype]: res.wstHYPE.latestApr,
|
|
117
|
+
[hyUSD]: res.kHYPE.latestApr,
|
|
118
|
+
};
|
|
119
|
+
});
|
|
110
120
|
const cbethPromise = safeFetch('CBETH', async () => {
|
|
111
121
|
try {
|
|
112
122
|
const res = await fetch(FeedData.CBETH, {
|
|
@@ -132,7 +142,7 @@ export const fetchGeneralYields = async () => {
|
|
|
132
142
|
},
|
|
133
143
|
})));
|
|
134
144
|
});
|
|
135
|
-
const [wstethData, ezethData, rethData, weethData, stmaticData, methData, maticXdata, susdeData, meridianData, savaxData, cbethData, rsethData, trumaticData, rtokensData,] = await Promise.all([
|
|
145
|
+
const [wstethData, ezethData, rethData, weethData, stmaticData, methData, maticXdata, susdeData, meridianData, savaxData, cbethData, rsethData, trumaticData, rtokensData, hypeData,] = await Promise.all([
|
|
136
146
|
wstethPromise,
|
|
137
147
|
ezethPromise,
|
|
138
148
|
rethPromise,
|
|
@@ -147,6 +157,7 @@ export const fetchGeneralYields = async () => {
|
|
|
147
157
|
rsethPromise,
|
|
148
158
|
trumaticPromise,
|
|
149
159
|
rtokensPromise,
|
|
160
|
+
hypePromise,
|
|
150
161
|
]);
|
|
151
162
|
const data = {
|
|
152
163
|
intrinsicYields: {
|
|
@@ -166,6 +177,7 @@ export const fetchGeneralYields = async () => {
|
|
|
166
177
|
RSETH: rsethData,
|
|
167
178
|
TRUMATIC: trumaticData,
|
|
168
179
|
...rtokensData,
|
|
180
|
+
...hypeData,
|
|
169
181
|
},
|
|
170
182
|
lenderRewards: {
|
|
171
183
|
'167000': {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1delta/margin-fetcher",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@types/async-retry": "^1.4.9",
|
|
18
18
|
"async-retry": "^1.3.3",
|
|
19
19
|
"typescript": "^5.9.2",
|
|
20
|
-
"@1delta/providers": "0.0.
|
|
20
|
+
"@1delta/providers": "0.0.7"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
23
|
"build": "tsc",
|