@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.
Files changed (67) hide show
  1. package/dist/abis/aave-v2/YLDR.d.ts.map +1 -1
  2. package/dist/abis/aave-v2/YLDR.js +176 -148
  3. package/dist/abis/aave-v3/YLDR.js +29 -29
  4. package/dist/abis/compound-v3/Comet.d.ts +0 -20
  5. package/dist/abis/compound-v3/Comet.d.ts.map +1 -1
  6. package/dist/abis/compound-v3/Comet.js +0 -25
  7. package/dist/lending/fetchLender.js +1 -1
  8. package/dist/lending/user-data/abis.d.ts +20 -20
  9. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -1
  10. package/dist/lending/user-data/compound-v3/userCallBuild.js +1 -7
  11. package/dist/lending/user-data/compound-v3/userCallParse.d.ts +2 -2
  12. package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
  13. package/dist/lending/user-data/compound-v3/userCallParse.js +19 -20
  14. package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
  15. package/dist/lending/user-data/morpho/userCallBuild.js +6 -4
  16. package/dist/prices/main-prices/addresses/morpho.d.ts.map +1 -1
  17. package/dist/prices/main-prices/addresses/morpho.js +191 -0
  18. package/dist/prices/main-prices/fetchOracleData.js +4 -2
  19. package/dist/yields/index.d.ts.map +1 -1
  20. package/dist/yields/index.js +13 -1
  21. package/package.json +2 -2
  22. package/src/abis/aave-v2/YLDR.ts +177 -149
  23. package/src/abis/aave-v3/YLDR.ts +45 -45
  24. package/src/abis/compound-v3/Comet.ts +0 -25
  25. package/src/lending/fetchLender.ts +1 -1
  26. package/src/lending/user-data/compound-v3/userCallBuild.ts +1 -8
  27. package/src/lending/user-data/compound-v3/userCallParse.ts +39 -29
  28. package/src/lending/user-data/morpho/userCallBuild.ts +6 -4
  29. package/src/prices/main-prices/addresses/morpho.ts +191 -0
  30. package/src/prices/main-prices/fetchOracleData.ts +4 -2
  31. package/src/yields/index.ts +15 -0
  32. package/test/index.test.ts +101 -97
  33. package/test/mainPriceMB.test.ts +1 -1
  34. package/test/mainPrices.test.ts +2 -2
  35. package/test/morpho.test.ts +1 -1
  36. package/test/morphoPrice.test.ts +1 -1
  37. package/test/yields.test.ts +27 -0
  38. package/tsconfig.json +2 -1
  39. package/dist/abis/aave/AToken.d.ts +0 -526
  40. package/dist/abis/aave/AToken.d.ts.map +0 -1
  41. package/dist/abis/aave/AToken.js +0 -686
  42. package/dist/abis/aave/AavePoolV3.d.ts +0 -819
  43. package/dist/abis/aave/AavePoolV3.d.ts.map +0 -1
  44. package/dist/abis/aave/AavePoolV3.js +0 -1060
  45. package/dist/abis/init/Core.d.ts +0 -523
  46. package/dist/abis/init/Core.d.ts.map +0 -1
  47. package/dist/abis/init/Core.js +0 -681
  48. package/dist/abis/init/InitFlashAggregator.d.ts +0 -624
  49. package/dist/abis/init/InitFlashAggregator.d.ts.map +0 -1
  50. package/dist/abis/init/InitFlashAggregator.js +0 -795
  51. package/dist/abis/init/PosManager.d.ts +0 -802
  52. package/dist/abis/init/PosManager.d.ts.map +0 -1
  53. package/dist/abis/init/PosManager.js +0 -1055
  54. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts +0 -102
  55. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts.map +0 -1
  56. package/dist/abis/uniswap/FeeOnTransferDetector.js +0 -133
  57. package/dist/abis/uniswap/UniswapV2Pair.d.ts +0 -513
  58. package/dist/abis/uniswap/UniswapV2Pair.d.ts.map +0 -1
  59. package/dist/abis/uniswap/UniswapV2Pair.js +0 -659
  60. package/src/abis/aave/AToken.ts +0 -686
  61. package/src/abis/aave/AavePoolV3.ts +0 -1060
  62. package/src/abis/init/Core.ts +0 -681
  63. package/src/abis/init/InitFlashAggregator.ts +0 -795
  64. package/src/abis/init/PosManager.ts +0 -1055
  65. package/src/abis/uniswap/FeeOnTransferDetector.ts +0 -133
  66. package/src/abis/uniswap/UniswapV2Pair.ts +0 -659
  67. /package/test/{userdata.test.ts → userData.test.ts} +0 -0
@@ -1,19 +1,18 @@
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";
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 + 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 === "0")
24
+ if (depositsRaw === '0')
26
25
  continue;
27
26
  const deposits = parseRawAmount(depositsRaw, decimals);
28
- const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId);
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: "0",
40
- debtStable: "0",
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) ?? toGenericPriceKey(baseMeta.baseAsset, chainId);
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: "0",
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;AAgC/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
+ {"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: ["0x" + id.split("_")[1], account],
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: ["0x" + id.split("_")[1]],
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("MORPHO_BLUE_", "0x")),
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;CAu/B5D,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.map((a) => ({ fork: a, assets: getAaveAssets(chainId, a) }));
49
+ let reservesToQuery = aaveForks?.map((a) => ({ fork: a, assets: getAaveAssets(chainId, a) }));
50
50
  let handled = [];
51
51
  let queries = [];
52
- reservesToQuery.forEach((e) => {
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":"AAwCA,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,uCAoK9B,CAAA"}
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"}
@@ -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.19",
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.6"
20
+ "@1delta/providers": "0.0.7"
21
21
  },
22
22
  "scripts": {
23
23
  "build": "tsc",