@@ -11,6 +11,7 @@ import { client } from '../../../database/client';
1111import { tTokens } from '../../../database/schema' ;
1212import { tTokensSelectors } from '../../../database/selectors' ;
1313import {
14+ fetchEmodeCategoryData ,
1415 fetchPoolList ,
1516 fetchPoolReserves ,
1617 fetchUserReserves ,
@@ -112,6 +113,12 @@ export default async function (fastify: ZodFastifyInstance) {
112113 pool ,
113114 ) ;
114115
116+ const categories = await fetchEmodeCategoryData (
117+ req . chain . chainId ,
118+ pool ,
119+ reservesData ,
120+ ) ;
121+
115122 const tokens = await client . query . tTokens . findMany ( {
116123 columns : tTokensSelectors . columns ,
117124 where : and (
@@ -157,13 +164,29 @@ export default async function (fastify: ZodFastifyInstance) {
157164 . mul ( 100 )
158165 . toFixed ( USD_DECIMALS ) ,
159166 canBeCollateral : item . usageAsCollateralEnabled ,
167+ stableBorrowRateEnabled : item . stableBorrowRateEnabled ,
160168 isActive : item . isActive ,
161169 isFroze : item . isFrozen ,
162- // eModes: item.eModes,
170+
171+ eModeCategoryId : item . eModeCategoryId ,
172+ borrowCap : item . borrowCap . toString ( ) ,
173+ supplyCap : item . supplyCap . toString ( ) ,
174+ eModeLtv : item . eModeLtv ,
175+ eModeLiquidationThreshold : item . eModeLiquidationThreshold ,
176+ eModeLiquidationBonus : item . eModeLiquidationBonus ,
177+ eModePriceSource : item . eModePriceSource . toString ( ) ,
178+ eModeLabel : item . eModeLabel . toString ( ) ,
163179 } ;
164180 } ) ;
165181
166- return { data : { reservesData : items , baseCurrencyData } } ;
182+ const eModes = categories . map ( ( category ) => ( {
183+ ...category ,
184+ assets : category . assets . map ( ( asset ) => {
185+ return tokens . find ( ( t ) => areAddressesEqual ( t . address , asset ) ) ;
186+ } ) ,
187+ } ) ) ;
188+
189+ return { data : { reservesData : items , baseCurrencyData, eModes } } ;
167190 } ,
168191 ) ;
169192
@@ -376,18 +399,48 @@ export default async function (fastify: ZodFastifyInstance) {
376399 . mul ( 100 )
377400 . toFixed ( USD_DECIMALS ) ,
378401 canBeCollateral : item . reserve . usageAsCollateralEnabled ,
402+ stableBorrowRateEnabled : item . reserve . stableBorrowRateEnabled ,
379403 isActive : item . reserve . isActive ,
380404 isFroze : item . reserve . isFrozen ,
381- // eModes: item.reserve.eModes,
405+
406+ eModeCategoryId : item . reserve . eModeCategoryId ,
407+ borrowCap : item . reserve . borrowCap . toString ( ) ,
408+ supplyCap : item . reserve . supplyCap . toString ( ) ,
409+ eModeLtv : item . reserve . eModeLtv ,
410+ eModeLiquidationThreshold : item . reserve . eModeLiquidationThreshold ,
411+ eModeLiquidationBonus : item . reserve . eModeLiquidationBonus ,
412+ eModePriceSource : item . reserve . eModePriceSource . toString ( ) ,
413+ eModeLabel : item . reserve . eModeLabel . toString ( ) ,
382414 } ,
383415 supplied : item . underlyingBalance ,
384416 suppliedUsd : item . underlyingBalanceUSD ,
417+ suppliedBalanceMarketReferenceCurrency : Decimal . from (
418+ item . underlyingBalanceMarketReferenceCurrency ,
419+ baseCurrencyData . marketReferenceCurrencyDecimals ,
420+ ) . toFixed ( USD_DECIMALS ) ,
385421
386422 supplyApy : Decimal . from ( item . reserve . supplyAPY ) . mul ( 100 ) . toString ( ) ,
387423 canToggleCollateral,
388424
389- borrowed : item . variableBorrows ,
390- borrowedUsd : item . variableBorrowsUSD ,
425+ borrowed : Decimal . from ( item . totalBorrows ) . toString ( ) ,
426+ borrowedUsd : Decimal . from ( item . totalBorrowsUSD ) . toString ( ) ,
427+ borrowedBalanceMarketReferenceCurrency : Decimal . from (
428+ item . totalBorrowsMarketReferenceCurrency ,
429+ baseCurrencyData . marketReferenceCurrencyDecimals ,
430+ ) . toFixed ( USD_DECIMALS ) ,
431+
432+ borrowedStable : Decimal . from ( item . stableBorrows ) . toString ( ) ,
433+ borrowedStableUsd : Decimal . from ( item . stableBorrowsUSD ) . toString ( ) ,
434+ borrowedBalanceStableMarketReferenceCurrency : Decimal . from (
435+ item . stableBorrowsMarketReferenceCurrency ,
436+ baseCurrencyData . marketReferenceCurrencyDecimals ,
437+ ) . toFixed ( USD_DECIMALS ) ,
438+ borrowedVariable : Decimal . from ( item . variableBorrows ) . toString ( ) ,
439+ borrowedVariableUsd : Decimal . from ( item . variableBorrowsUSD ) . toString ( ) ,
440+ borrowedBalanceVariableMarketReferenceCurrency : Decimal . from (
441+ item . variableBorrowsMarketReferenceCurrency ,
442+ baseCurrencyData . marketReferenceCurrencyDecimals ,
443+ ) . toFixed ( USD_DECIMALS ) ,
391444
392445 collateral : item . usageAsCollateralEnabledOnUser ,
393446
@@ -441,6 +494,10 @@ export default async function (fastify: ZodFastifyInstance) {
441494 netWorthUsd : summary . netWorthUSD ,
442495 userEmodeCategoryId : summary . userEmodeCategoryId ,
443496 isInIsolationMode : summary . isInIsolationMode ,
497+
498+ underlyingBalanceMarketReferenceCurrency : Decimal . from (
499+ summary . totalBorrowsUSD ,
500+ ) ,
444501 } ,
445502 } ,
446503 } ;
0 commit comments