From e4891a98fd8388bffaaf8788cca7644829487181 Mon Sep 17 00:00:00 2001 From: Harsha Goli Date: Mon, 6 Sep 2021 15:36:49 -0700 Subject: [PATCH] invoicesrpc: expose selectHopHints selectHopHints is the function which constructs hophints otherwise found in an invoice created with the private flag. In this commit, we expose that functionality a little more to workaround needing to create an invoice to retrieve routing hints. Of course, this is not a perfect solution as the functionality is exposed exclusively to go users. --- lnrpc/invoicesrpc/addinvoice.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lnrpc/invoicesrpc/addinvoice.go b/lnrpc/invoicesrpc/addinvoice.go index 2d782a67f..4e88ae0c1 100644 --- a/lnrpc/invoicesrpc/addinvoice.go +++ b/lnrpc/invoicesrpc/addinvoice.go @@ -391,7 +391,7 @@ func AddInvoice(ctx context.Context, cfg *AddInvoiceConfig, // We'll restrict the number of individual route hints // to 20 to avoid creating overly large invoices. numMaxHophints := 20 - len(forcedHints) - hopHints := selectHopHints( + hopHints := SelectHopHints( amtMSat, cfg, filteredChannels, numMaxHophints, ) @@ -553,12 +553,12 @@ func addHopHint(hopHints *[]func(*zpay32.Invoice), ) } -// selectHopHints will select up to numMaxHophints from the set of passed open +// SelectHopHints will select up to numMaxHophints from the set of passed open // channels. The set of hop hints will be returned as a slice of functional // options that'll append the route hint to the set of all route hints. // // TODO(roasbeef): do proper sub-set sum max hints usually << numChans -func selectHopHints(amtMSat lnwire.MilliSatoshi, cfg *AddInvoiceConfig, +func SelectHopHints(amtMSat lnwire.MilliSatoshi, cfg *AddInvoiceConfig, openChannels []*channeldb.OpenChannel, numMaxHophints int) []func(*zpay32.Invoice) {