fix dust borrows display

This commit is contained in:
saml33 2023-05-22 20:19:23 +10:00
parent 08457e993c
commit 337f11ad3d
2 changed files with 17 additions and 5 deletions

View File

@ -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

View File

@ -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)