New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
invoice+rpc: add exit hop InvoiceAcceptor
sub-systems and RPC calls
#8616
Labels
Comments
Roasbeef
added
enhancement
Improvements to existing features / behaviour
rpc
Related to the RPC interface
invoices
labels
Apr 3, 2024
This was referenced Apr 11, 2024
8 tasks
Next steps for this PR:
I think the "accept" notion is used to accept a HTLC which doesn't settle the entire amount of the invoice. Where as in settling we loop over all "accepted" HTLCs associated with an invoice, and if the amount is sufficient, those accepted HTLCs become settled. |
I've provided a status update on the PR: #8669 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Today we have the
HtlcInterceptor
which is useful for modifying the default forwarding behavior of anlnd
node. Callers of the RPC get a call back like construct that they can use to accept/deny forwarding attempts. However, we don't have such an option for the exit hop, as that logic bypasses theHltcSwitch
and will be sent directly to theInvoiceRegistry
.We should add a new interceptor-like RPC call, theInvoiceAcceptor
, which can be used to modify why/howlnd
accepts a payment as a final hop.One example use case is the popular "JIT channel" construct where a channel is opened on the fly to allow the final hop to accept a payment. In typical instantiations, the receiver might actually get an HTLC with an amount below the original invoice. Service providers can use this little trick to collect a service fee as they provided inbound capacity to the target node.
The existing hodl invoice RPC call partially fills this gap, but today we don't yet have a good way of subscribing to all the active hodl invoices (#3120).
Steps To Completion
NotifyExitHopHTLC
call, add a way for an external subscriber to make decisions w.r.t settling the invoice with priority over the existing logic. The caller should be able to return anHtlcResolution
which is executed in line with the existing logic.HtlcInterceptor
andFundingAcceptor
as inspiration.The text was updated successfully, but these errors were encountered: