Skip to content

Commit

Permalink
fix bignumber does not support string
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrigoncalves committed Aug 28, 2023
1 parent 2432d64 commit 68e17d3
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 10 deletions.
3 changes: 1 addition & 2 deletions src/components/Porfolio/PortfolioCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ const SelectedCard = ({
icon?: string
color?: string
}) => {
const isRifToken =
icon?.toUpperCase() === 'RIF' || icon?.toUpperCase() === 'TRIF'
const isRifToken = ['RIF', 'TRIF'].includes(icon?.toUpperCase() || '')
return (
<View style={selectedCardStyles.container}>
<View style={selectedCardStyles.primaryTextContainer}>
Expand Down
23 changes: 16 additions & 7 deletions src/redux/slices/balancesSlice/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,32 @@ import {
convertBtcToSatoshi,
} from '@rsksmart/rif-wallet-bitcoin'
import { ITokenWithBalance } from '@rsksmart/rif-wallet-services'
import { BigNumber } from 'ethers'
import { parseUnits } from 'ethers/lib/utils'

import { balanceToDisplay, convertBalance } from 'lib/utils'

import { resetSocketState } from 'store/shared/actions/resetSocketState'
import {
BalanceState,
ITokenWithoutLogo,
TokenBalanceObject,
} from 'store/slices/balancesSlice/types'
import { resetSocketState } from 'store/shared/actions/resetSocketState'
import { AsyncThunkWithTypes } from 'store/store'

export const getBalance = (
token: ITokenWithBalance | BitcoinNetworkWithBIPRequest,
price: number,
) => {
let tokenBalance = token.balance.toString()
let tokenBalance: BigNumber
if ('satoshis' in token) {
tokenBalance = convertBtcToSatoshi(tokenBalance).toString()
tokenBalance = convertBtcToSatoshi(token.balance.toString())
} else {
try {
tokenBalance = BigNumber.from(token.balance)
} catch {
tokenBalance = parseUnits(token.balance, token.decimals)
}
}

let balance = balanceToDisplay(tokenBalance, token.decimals, 4)
Expand All @@ -46,13 +54,13 @@ export const addOrUpdateBalances = createAsyncThunk<
try {
const { usdPrices, settings } = thunkAPI.getState()
const bitcoin = settings.bitcoin
const balances: TokenBalanceObject[] = payload.map(b => {
const balances: TokenBalanceObject[] = payload.map(t => {
const { balance, usdBalance } = getBalance(
b,
usdPrices[b.contractAddress]?.price ?? 0,
t,
usdPrices[t.contractAddress]?.price ?? 0,
)
return {
...b,
...t,
balance,
usdBalance,
}
Expand All @@ -77,6 +85,7 @@ export const addOrUpdateBalances = createAsyncThunk<

thunkAPI.dispatch(addOrUpdateBalancesState(balances))
} catch (err) {
console.error('Error adding or updating balances', err)
thunkAPI.rejectWithValue(err)
}
})
Expand Down
2 changes: 1 addition & 1 deletion src/subscriptions/rifSockets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export const rifSockets = ({
const tokenBalance = balances[t.contractAddress]
return {
...t,
logo: '',
logo: '', // remove warning
balance: tokenBalance?.balance ?? t.balance,
usdBalance: tokenBalance?.usdBalance ?? t.usdBalance,
} as ITokenWithBalance
Expand Down

0 comments on commit 68e17d3

Please sign in to comment.