fix types and add check that input size is a number

This commit is contained in:
tjs 2022-12-02 18:58:10 -05:00
parent 616e6160da
commit 1674f9a237
1 changed files with 8 additions and 8 deletions

View File

@ -296,9 +296,9 @@ const AdvancedTradeForm = () => {
const maintProjectedHealth = useMemo(() => {
const group = mangoStore.getState().group
const mangoAccount = mangoStore.getState().mangoAccount.current
if (!mangoAccount || !group || !tradeForm.baseSize) return 100
if (!mangoAccount || !group || !Number(tradeForm.baseSize)) return 100
let simulatedHealthRatio: number
let simulatedHealthRatio = 0
if (selectedMarket instanceof Serum3Market) {
simulatedHealthRatio =
@ -315,26 +315,26 @@ const AdvancedTradeForm = () => {
selectedMarket.serumMarketExternal,
HealthType.maint
)
} else {
} else if (selectedMarket instanceof PerpMarket) {
simulatedHealthRatio =
tradeForm.side === 'sell'
? mangoAccount.simHealthRatioWithPerpAskUiChanges(
group,
selectedMarket!.perpMarketIndex,
selectedMarket.perpMarketIndex,
parseFloat(tradeForm.baseSize)
)
: mangoAccount.simHealthRatioWithPerpBidUiChanges(
group,
selectedMarket!.perpMarketIndex,
selectedMarket.perpMarketIndex,
parseFloat(tradeForm.baseSize)
)
}
return simulatedHealthRatio! > 100
return simulatedHealthRatio > 100
? 100
: simulatedHealthRatio! < 0
: simulatedHealthRatio < 0
? 0
: Math.trunc(simulatedHealthRatio!)
: Math.trunc(simulatedHealthRatio)
}, [selectedMarket, tradeForm])
return (