import { AlertTriangleIcon } from "lucide-react"; import { FormattedBitcoinAmount } from "src/components/FormattedBitcoinAmount"; import { Alert, AlertDescription, AlertTitle } from "src/components/ui/alert"; import { LinkButton } from "src/components/ui/custom/link-button"; import { useBalances } from "src/hooks/useBalances"; import { useInfo } from "src/hooks/useInfo"; export function InsufficientLightningBalanceAlert({ className, amountSat, }: { className?: string; amountSat: number; }) { const { hasChannelManagement } = useInfo(); const { data: balances } = useBalances(); if (!balances) { return null; } const maxSpendableMsat = Math.max( balances.lightning.nextMaxSpendableMPPMsat - Math.max( 0.01 * balances.lightning.nextMaxSpendableMPPMsat, 10000 /* fee reserve */ ), 0 ); const exceedsBalance = hasChannelManagement && amountSat * 1000 > maxSpendableMsat; if (!exceedsBalance) { return null; } return ( Maximum Spendable Balance Too Low

Your payment will likely fail because your maximum spendable balance in your lightning channels for the next payment is currently{" "} .

Swap In

or

Open Outbound Channel
); }