-
Notifications
You must be signed in to change notification settings - Fork 942
Renepay use getroutes #8049
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
base: master
Are you sure you want to change the base?
Renepay use getroutes #8049
Conversation
1062510
to
b2fcf5f
Compare
ac2e0b1
to
c2925cf
Compare
304bf67
to
313aecf
Compare
Changelog-Added: renepay: use external call to [askrene-]getroutes instead of computing routes internally. Signed-off-by: Lagrang3 <[email protected]>
Use askrene API to account for route-hints and blinded paths. Changelog-None. Signed-off-by: Lagrang3 <[email protected]>
Changelog-None. Signed-off-by: Lagrang3 <[email protected]>
The execution of the failure notification makes calls to askrene to disable or bias channels that have returned weird errors. Changelog-None. Signed-off-by: Lagrang3 <[email protected]>
Changelog-None. Signed-off-by: Lagrang3 <[email protected]>
Remove unnecessary rpc call to waitblockheight at the default payment's ending. Changelog-None. Signed-off-by: Lagrang3 <[email protected]>
Changelog-None. Signed-off-by: Lagrang3 <[email protected]>
Changelog-None. Signed-off-by: Lagrang3 <[email protected]>
Remove the MCF solver from renepay. Offload the route computation on askrene. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
Changelog-None Signed-off-by: Lagrang3 <[email protected]>
Use plugin_get_data API and make less use of the access to the global plugin state when possible. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
Sending requests with batches allow us to avoid race conditions when the payment plugin goes to the next state before the sendpay RPC have not yet completed. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
Use askrene-reserve API to lock-in the liquidity of the channels in use for pending payment route. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
Use askrene-unreserve to remove reserved liquidity associated with routes that have completed, either by success or failure. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
Make extensive use of rpc batches so that we ensure all request have been processed before the notification is closed as handled. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
Use askrene-inform-channel to update the knowledge of the liquidity when a payment attempt fails. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
Splig send routes into two steps: 1. reserve liquidity, 2. call sendpay Changelog-None Signed-off-by: Lagrang3 <[email protected]>
struct rpcaction: encapsulates the concept of an RPC action, ie. an RPC call object. It can be attached to an rpcbatch. Changelog-None. Signed-off-by: Lagrang3 <[email protected]>
Calling askrene-unreserve using rpcActions. Either: - after geting a fail notification, - or success notification, - or if the route destructor is called. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
2f08e74
to
fbe8092
Compare
3ea171c
to
a8edf18
Compare
@rustyrussell: I would like to file a complain. The test "Update examples in doc schemas" is overzealous about the
UPD: I will not use a global "renepay" layer, instead I will use "xpay", it is a good choice I think, because |
- skip test on local htlc max limits which is not supported by askrene, on privacy leak issue. - skip very extreme flow cases, where sats per HTLC in reserve must be taken into account. - adjust the expected error response for messages coming from askrene. - on getroutes failure return a command fail with the same error code as getroutes response. Changelog-None Signed-off-by: Lagrang3 <[email protected]>
bbd3ea4
to
8274c63
Compare
Changelog-None Signed-off-by: Lagrang3 <[email protected]>
8274c63
to
4c9bbe5
Compare
that broke because of layers created by renepay Changelog-None Signed-off-by: Lagrang3 <[email protected]>
4c9bbe5
to
2facae2
Compare
This PR removes the MCF code from renepay. Routes are computed using getroutes instead.
Depends on #7985 (merged)
Replaces #7633 (closed)
It would be nice to have on top of #7963 (closed) "temporary layers" and #8072 (merged) "bias stacking".
UPD.
Also #8129 (merged) "Big fake channels" would be nice to have.