3c09baf25a
URI schema: pay/invoice URIs gain an optional `count=N` parameter (goblin:<npub|nprofile>?amount=X&count=N[&memo=...]) asking the wallet to issue N payment requests in one go. Default 1 when absent (single flow unchanged), capped at MAX_BATCH_COUNT = 20, fail-closed to 1 on zero/garbage, first occurrence wins — all payuri conventions, unit-tested. A count>=2 deep link whose recipient is a direct key (npub/nprofile) with an amount opens ONE batch-approval modal — "Approve N invoices", with the payer, per-invoice amount, total, and memo — instead of the send flow. On approve, the wallet mints N fresh per-sale proof addresses (Wallet::mint_proof_address; a mint failure stops the batch, already-issued requests stand) and fires the same NostrRequest task the single flow uses, once per invoice; the requests appear in activity as they dispatch. Anything else (count on a name that needs discovery, or no amount) degrades to the single flow with count ignored. The minted address is recorded on each request's metadata (TxNostrMeta::proof_address, serde-default None) so the per-sale machinery can read it; WalletTask::NostrRequest gains the optional address and the single flow passes None. New goblin.batch.* strings in all six locales.