multi: let blinded path invoice options be set per addinvoice call

Extend the configurability of blinded paths in invoices by adding the
ability to change the global config options on a per-RPC basis.
This commit is contained in:
Elle Mouton
2024-08-05 13:51:12 +02:00
parent ca91e17115
commit 3de6c5415a
7 changed files with 2101 additions and 1821 deletions

View File

@@ -3843,7 +3843,30 @@ message Invoice {
Signals that the invoice should include blinded paths to hide the true
identity of the recipient.
*/
bool blind = 29;
BlindedPathConfig blinded_path_config = 29;
}
message BlindedPathConfig {
/*
The minimum number of real hops to include in a blinded path. This doesn't
include our node, so if the minimum is 1, then the path will contain at
minimum our node along with an introduction node hop. If it is zero then
the shortest path will use our node as an introduction node.
*/
optional uint32 min_num_real_hops = 1;
/*
The number of hops to include in a blinded path. This doesn't include our
node, so if it is 1, then the path will contain our node along with an
introduction node or dummy node hop. If paths shorter than NumHops is
found, then they will be padded using dummy hops.
*/
optional uint32 num_hops = 2;
/*
The maximum number of blinded paths to select and add to an invoice.
*/
optional uint32 max_num_paths = 3;
}
enum InvoiceHTLCState {