mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-10-05 20:28:23 +00:00
Removes the child-key (shared parent balance) feature and the balance-limit machinery from the entire stack: Backend: - Drop POST /v1/balance/child-key and /v1/balance/child-key/reset - Remove parent-key billing indirection (get_billing_key); every key is charged directly - Remove balance_limit/balance_limit_reset enforcement, reset policies, and the periodic limit-reset background task - Remove child-key guards on refund/history endpoints - Remove child_key_cost setting and /v1/info child_key_cost_msats - Remove balance_limit fields from LightningInvoice model and invoice-creation API - Admin balances API returns plain sums (no parent/child split) Migration (e5a6b7c8d9f0): - Nulls parent_key_hash on children (they become standalone keys; parents keep 100% of their balance, so no funds are lost) - Drops parent_key_hash + balance_limit columns from api_keys and balance_limit columns from lightning_invoices - Verified: upgrade, downgrade, and fund preservation round-trip UI: - Remove child-key creator, child key panels, balance-limit inputs - Key options now offer validity date only - Temporary balances table renders all keys uniformly Tests: child-key suites removed; remaining suites converted to single-key semantics (441 integration + 1313 unit tests pass). Docs updated accordingly.
29 lines
841 B
TypeScript
29 lines
841 B
TypeScript
import { Calendar } from 'lucide-react';
|
|
import { Input } from '@/components/ui/input';
|
|
import { Label } from '@/components/ui/label';
|
|
|
|
interface KeyOptionsProps {
|
|
validityDate: string;
|
|
setValidityDate: (val: string) => void;
|
|
}
|
|
|
|
export function KeyOptions({ validityDate, setValidityDate }: KeyOptionsProps) {
|
|
return (
|
|
<div className='grid gap-4 sm:grid-cols-3'>
|
|
<div className='space-y-2'>
|
|
<Label className='text-muted-foreground flex items-center gap-1.5 text-[0.7rem] tracking-wider uppercase'>
|
|
<Calendar className='h-3 w-3' />
|
|
Validity Date
|
|
</Label>
|
|
<Input
|
|
type='date'
|
|
value={validityDate}
|
|
onChange={(e) => setValidityDate(e.target.value)}
|
|
className='h-9 text-xs'
|
|
name='validity_date'
|
|
/>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|