Multi rfq receive (`AddInvoice` multiple hop hints)
Description
This PR introduces the ability for tapd nodes to create invoices which involve multiple peer quotes. When the peerPubKey is left unspecified in the AddInvoice RPC we no longer return an error, but instead acquire quotes with all peers that have a valid asset channel with us.
Within this PR we also extract some rfq/liquidity related functions to the rfq package to keep rpcserver.go more clean.
Closes #1359
Based on #1423 (using that as base branch for now to avoid bloated diff)
Pull Request Test Coverage Report for Build 15121932291
Details
- 41 of 304 (13.49%) changed or added relevant lines in 4 files are covered.
- 16 unchanged lines in 4 files lost coverage.
- Overall coverage increased (+0.2%) to 36.969%
| Changes Missing Coverage | Covered Lines | Changed/Added Lines | % |
|---|---|---|---|
| tapcfg/server.go | 0 | 1 | 0.0% |
| rfq/manager.go | 38 | 153 | 24.84% |
| rpcserver.go | 0 | 147 | 0.0% |
| <!-- | Total: | 41 | 304 |
| Files with Coverage Reduction | New Missed Lines | % |
|---|---|---|
| asset/group_key.go | 2 | 57.89% |
| rfq/manager.go | 4 | 16.06% |
| rpcserver.go | 4 | 0.0% |
| tapgarden/caretaker.go | 6 | 68.68% |
| <!-- | Total: | 16 |
| Totals | |
|---|---|
| Change from base Build 15055985108: | 0.2% |
| Covered Lines: | 26668 |
| Relevant Lines: | 72136 |
💛 - Coveralls
@ffranr: review reminder @georgetsagk, remember to re-request review from reviewers when ready
There's an itest failure. Not sure if it's a flake though, can't view the logs from the UI as they're truncated.
Since this is a backwards-compatible change, I thought it might be worth noting that current LiT tests fail simply because of a returned error change https://github.com/lightninglabs/taproot-assets/actions/runs/15110194077/job/42467761965?pr=1457#step:10:11376