diff --git a/src/components/RepayInput/index.tsx b/src/components/RepayInput/index.tsx index 7530517..99954f1 100644 --- a/src/components/RepayInput/index.tsx +++ b/src/components/RepayInput/index.tsx @@ -38,6 +38,9 @@ export const RepayInput = (props: { const obligation = props.obligation; const liquidityMint = useMint(repayReserve.info.liquidityMint); + const { balance: tokenBalance } = useUserBalance( + repayReserve.info.liquidityMint + ); const borrowAmountLamports = wadToLamports( obligation.info.borrowAmountWad @@ -53,14 +56,15 @@ export const RepayInput = (props: { const convert = useCallback( (val: string | number) => { + const minAmount = Math.min(tokenBalance, borrowAmount); setLastTyped("repay"); if (typeof val === "string") { - return (parseFloat(val) / borrowAmount) * 100; + return (parseFloat(val) / minAmount) * 100; } else { - return (val * borrowAmount) / 100; + return (val * minAmount) / 100; } }, - [borrowAmount] + [borrowAmount, tokenBalance] ); const { value, setValue, pct, setPct, type } = useSliderInput(convert); @@ -221,7 +225,7 @@ export const RepayInput = (props: { flexDirection: "row", justifyContent: "space-evenly", alignItems: "center", - marginBottom: 20 + marginBottom: 20, }} >