11import { ChainId } from '@aave/contract-helpers' ;
22import { normalize , UserIncentiveData , valueToBigNumber } from '@aave/math-utils' ;
3+ import { useMeritClaimRewards } from '@aave/react' ;
34import { Trans } from '@lingui/macro' ;
45import { Box , Button , Typography , useMediaQuery , useTheme } from '@mui/material' ;
56import Link from 'next/link' ;
@@ -25,9 +26,6 @@ import { useAppDataContext } from '../../hooks/app-data-provider/useAppDataProvi
2526import { useEnhancedUserYield } from '../../hooks/useEnhancedUserYield' ;
2627import { LiquidationRiskParametresInfoModal } from './LiquidationRiskParametresModal/LiquidationRiskParametresModal' ;
2728
28- import { useMeritClaimRewards } from '@aave/react' ;
29-
30-
3129export const DashboardTopPanel = ( ) => {
3230 const { user, reserves, loading } = useAppDataContext ( ) ;
3331 const { currentAccount } = useWeb3Context ( ) ;
@@ -56,59 +54,62 @@ export const DashboardTopPanel = () => {
5654 const theme = useTheme ( ) ;
5755 const downToSM = useMediaQuery ( theme . breakpoints . down ( 'sm' ) ) ;
5856
59-
60- const { data : meritClaimRewards } = useMeritClaimRewards ( { user : currentAccount , chainId : currentMarketData . chainId } ) ;
57+ const { data : meritClaimRewards } = useMeritClaimRewards ( {
58+ user : currentAccount ,
59+ chainId : currentMarketData . chainId ,
60+ } ) ;
6161
6262 // Calculate merit rewards USD value
63- const meritRewardsUsd = meritClaimRewards ?. rewards ?. reduce ( ( total , reward ) => {
64- return total + Number ( reward . amount . usd || 0 ) ;
65- } , 0 ) || 0 ;
63+ const meritRewardsUsd =
64+ meritClaimRewards ?. rewards ?. reduce ( ( total , reward ) => {
65+ return total + Number ( reward . amount . usd || 0 ) ;
66+ } , 0 ) || 0 ;
6667
6768 const { claimableRewardsUsd : baseClaimableRewardsUsd , assets } = user
6869 ? Object . keys ( user . calculatedUserIncentives ) . reduce (
69- ( acc , rewardTokenAddress ) => {
70- const incentive : UserIncentiveData = user . calculatedUserIncentives [ rewardTokenAddress ] ;
71- const rewardBalance = normalize (
72- incentive . claimableRewards ,
73- incentive . rewardTokenDecimals
74- ) ;
70+ ( acc , rewardTokenAddress ) => {
71+ const incentive : UserIncentiveData = user . calculatedUserIncentives [ rewardTokenAddress ] ;
72+ const rewardBalance = normalize (
73+ incentive . claimableRewards ,
74+ incentive . rewardTokenDecimals
75+ ) ;
7576
76- let tokenPrice = 0 ;
77- // getting price from reserves for the native rewards for v2 markets
78- if ( ! currentMarketData . v3 && Number ( rewardBalance ) > 0 ) {
79- if ( currentMarketData . chainId === ChainId . mainnet ) {
80- const aave = reserves . find ( ( reserve ) => reserve . symbol === 'AAVE' ) ;
81- tokenPrice = aave ? Number ( aave . priceInUSD ) : 0 ;
77+ let tokenPrice = 0 ;
78+ // getting price from reserves for the native rewards for v2 markets
79+ if ( ! currentMarketData . v3 && Number ( rewardBalance ) > 0 ) {
80+ if ( currentMarketData . chainId === ChainId . mainnet ) {
81+ const aave = reserves . find ( ( reserve ) => reserve . symbol === 'AAVE' ) ;
82+ tokenPrice = aave ? Number ( aave . priceInUSD ) : 0 ;
83+ } else {
84+ reserves . forEach ( ( reserve ) => {
85+ if ( reserve . symbol === currentNetworkConfig . wrappedBaseAssetSymbol ) {
86+ tokenPrice = Number ( reserve . priceInUSD ) ;
87+ }
88+ } ) ;
89+ }
8290 } else {
83- reserves . forEach ( ( reserve ) => {
84- if ( reserve . symbol === currentNetworkConfig . wrappedBaseAssetSymbol ) {
85- tokenPrice = Number ( reserve . priceInUSD ) ;
86- }
87- } ) ;
91+ tokenPrice = Number ( incentive . rewardPriceFeed ) ;
8892 }
89- } else {
90- tokenPrice = Number ( incentive . rewardPriceFeed ) ;
91- }
9293
93- const rewardBalanceUsd = Number ( rewardBalance ) * tokenPrice ;
94+ const rewardBalanceUsd = Number ( rewardBalance ) * tokenPrice ;
9495
95- if ( rewardBalanceUsd > 0 ) {
96- if ( acc . assets . indexOf ( incentive . rewardTokenSymbol ) === - 1 ) {
97- acc . assets . push ( incentive . rewardTokenSymbol ) ;
98- }
96+ if ( rewardBalanceUsd > 0 ) {
97+ if ( acc . assets . indexOf ( incentive . rewardTokenSymbol ) === - 1 ) {
98+ acc . assets . push ( incentive . rewardTokenSymbol ) ;
99+ }
99100
100- acc . claimableRewardsUsd += Number ( rewardBalanceUsd ) ;
101- }
101+ acc . claimableRewardsUsd += Number ( rewardBalanceUsd ) ;
102+ }
102103
103- return acc ;
104- } ,
105- { claimableRewardsUsd : 0 , assets : [ ] } as { claimableRewardsUsd : number ; assets : string [ ] }
106- )
104+ return acc ;
105+ } ,
106+ { claimableRewardsUsd : 0 , assets : [ ] } as { claimableRewardsUsd : number ; assets : string [ ] }
107+ )
107108 : { claimableRewardsUsd : 0 , assets : [ ] } ;
108109
109110 // Add merit rewards to existing assets if they exist
110111 if ( meritClaimRewards ?. rewards ) {
111- meritClaimRewards . rewards . forEach ( reward => {
112+ meritClaimRewards . rewards . forEach ( ( reward ) => {
112113 if ( Number ( reward . amount . usd ) > 0 && assets . indexOf ( reward . currency . symbol ) === - 1 ) {
113114 assets . push ( reward . currency . symbol ) ;
114115 }
@@ -122,8 +123,8 @@ export const DashboardTopPanel = () => {
122123 user ?. totalCollateralMarketReferenceCurrency === '0'
123124 ? '0'
124125 : valueToBigNumber ( user ?. totalBorrowsMarketReferenceCurrency || '0' )
125- . dividedBy ( user ?. totalCollateralMarketReferenceCurrency || '1' )
126- . toFixed ( ) ;
126+ . dividedBy ( user ?. totalCollateralMarketReferenceCurrency || '1' )
127+ . toFixed ( ) ;
127128
128129 const valueTypographyVariant = downToSM ? 'main16' : 'main21' ;
129130 const noDataTypographyVariant = downToSM ? 'secondary16' : 'secondary21' ;
0 commit comments