LND Accounts: /invoicesrpc.Invoices/SubscribeSingleInvoice
Is your feature request related to a problem? Please describe.
I am using LND Accounts with Zeus. I can send and receive as well as get a list of all my invoices, but Zeus is unable to show me when I successfully get paid. I think this is a core feature of any Lightning wallet. However, Zeus is unable to detect whether I got paid because the RPC call /invoicesrpc.Invoices/SubscribeSingleInvoice is not supported with restricted account macaroons.
Describe the solution you'd like I believe litd could allow an external application to subscribe to a single invoice using an LND Account macaroon, as long as that invoice belongs to the corresponding LND Account.
Describe alternatives you've considered Is there another RPC call that should be used instead by Zeus?
Additional context
This issue also affects Distributed Charge. We don't want hardware out in the field to have access to the entire invoice set of a node, only invoices that particular hardware has generated. LND Accounts should allow this type of vulnerable hardware to have limited, but still functional access to the node.
Repeatedly calling LookupInvoice to check the status of the invoice is not desired because it wastes bandwidth on a device that may be using an expensive cellular connection.
The SubscribeInvoices call should also work (it currently doesn't) and be smart enough to only update on all of the invoices that belong to the LND Account that is being used.