diff --git a/src/modules/wallet/services/WalletService.ts b/src/modules/wallet/services/WalletService.ts index 9ef9d84..0448e64 100644 --- a/src/modules/wallet/services/WalletService.ts +++ b/src/modules/wallet/services/WalletService.ts @@ -4,9 +4,6 @@ import { injectService, SERVICE_TOKENS } from '@/core/di-container' import { config } from '@/lib/config' import { decode as decodeBolt11 } from 'light-bolt11-decoder' -/** The `amount` member of light-bolt11-decoder's `Section` union. */ -type AmountSection = { name: 'amount'; letters: string; value: string } - export interface PayLink { id: string wallet: string @@ -347,14 +344,7 @@ export default class WalletService extends BaseService { private getInvoiceAmountMsat(bolt11: string): number | null { try { const decoded = decodeBolt11(bolt11) - // `sections` is a discriminated union, and not every member carries a - // `value` — the "checksum" member has only `letters`. Narrow with a - // type predicate so the compiler knows which member we are reading; - // an `(s: any)` callback is not a type guard, so `find` still returned - // the whole union and `.value` failed to resolve under `vue-tsc -b`. - const section = decoded.sections.find( - (s): s is AmountSection => s.name === 'amount' - ) + const section = decoded.sections.find((s: any) => s.name === 'amount') if (!section || section.value === undefined || section.value === null) return 0 return Number(section.value) } catch (error) {