fix dust borrows display
This commit is contained in:
parent
08457e993c
commit
337f11ad3d
|
@ -5,6 +5,7 @@ import mangoStore from '@store/mangoStore'
|
|||
import { useMemo } from 'react'
|
||||
import useMangoAccount from './useMangoAccount'
|
||||
import useMangoGroup from './useMangoGroup'
|
||||
import { floorToDecimal } from 'utils/numbers'
|
||||
|
||||
export interface BankWithBalance {
|
||||
balance: number
|
||||
|
@ -37,7 +38,15 @@ export default function useBanksWithBalances(
|
|||
})
|
||||
).map((b) => {
|
||||
const bank = b.value[0]
|
||||
const balance = mangoAccount ? mangoAccount.getTokenBalanceUi(bank) : 0
|
||||
const rawBalance = mangoAccount
|
||||
? mangoAccount.getTokenBalanceUi(bank)
|
||||
: 0
|
||||
// For some reason if you don't use an abs value in floorToDecimal it returns incorrectly
|
||||
const isBorrowMultiplier = rawBalance < 0 ? -1 : 1
|
||||
const balance =
|
||||
floorToDecimal(Math.abs(rawBalance), bank.mintDecimals).toNumber() *
|
||||
isBorrowMultiplier
|
||||
|
||||
const maxBorrow = mangoAccount
|
||||
? getMaxWithdrawForBank(group, bank, mangoAccount, true).toNumber()
|
||||
: 0
|
||||
|
@ -45,7 +54,10 @@ export default function useBanksWithBalances(
|
|||
? getMaxWithdrawForBank(group, bank, mangoAccount).toNumber()
|
||||
: 0
|
||||
const borrowedAmount = mangoAccount
|
||||
? mangoAccount.getTokenBorrowsUi(bank)
|
||||
? floorToDecimal(
|
||||
mangoAccount.getTokenBorrowsUi(bank),
|
||||
bank.mintDecimals
|
||||
).toNumber()
|
||||
: 0
|
||||
const walletBalance =
|
||||
walletBalanceForToken(walletTokens, bank.name)?.maxAmount || 0
|
||||
|
|
|
@ -7,12 +7,12 @@ export const formatNumericValue = (
|
|||
): string => {
|
||||
const numberValue = Number(value)
|
||||
let formattedValue
|
||||
if (numberValue > -0.0000000001 && numberValue < 0.000000001) {
|
||||
formattedValue = '0'
|
||||
} else if (decimals) {
|
||||
if (decimals) {
|
||||
formattedValue = roundUp
|
||||
? roundValue(numberValue, decimals, true)
|
||||
: roundValue(numberValue, decimals)
|
||||
} else if (numberValue > -0.0000000001 && numberValue < 0.000000001) {
|
||||
formattedValue = '0'
|
||||
} else if (Math.abs(numberValue) >= 1000) {
|
||||
formattedValue = roundUp
|
||||
? roundValue(numberValue, 0, true)
|
||||
|
|
Loading…
Reference in New Issue