diff --git a/src/renderer/shared/lib/utils/balance.ts b/src/renderer/shared/lib/utils/balance.ts index eca5bf90b..a90c9c375 100644 --- a/src/renderer/shared/lib/utils/balance.ts +++ b/src/renderer/shared/lib/utils/balance.ts @@ -107,8 +107,10 @@ export const transferableAmount = (balance?: Balance): string => { const bnFree = new BN(balance.free || ZERO_BALANCE); const bnFrozen = new BN(balance.frozen || ZERO_BALANCE); + const bnReserved = new BN(balance.reserved || ZERO_BALANCE); + const freeCannotDropBelow = bnFrozen.gt(bnReserved) ? bnFrozen.sub(bnReserved) : BN_ZERO; - return bnFree.gt(bnFrozen) ? bnFree.sub(bnFrozen).toString() : ZERO_BALANCE; + return bnFree.gt(freeCannotDropBelow) ? bnFree.sub(freeCannotDropBelow).toString() : ZERO_BALANCE; }; const stakedAmount = ({ locked = [] }: Balance): string => {