-
Notifications
You must be signed in to change notification settings - Fork 901
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
paymod: Activate the new payment flow for good (part 04) #3826
Conversation
Removing parameters is hard. Let's just call it legacypay and remove it later. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack b3b532d
But prefer not to add YA pay flag we'll have to deprecate...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK b3b532d
c83413e
to
a384e69
Compare
I removed the |
fbb9798
to
6ae5e18
Compare
As suggested during the paymod-03 review it is better to activate the new code right away, and give users an escape hatch to use the legacy code instead. The way I implemented it allows using either `legacypay` or `pay` and then set `legacy` to switch to the other implementation. Changelog-Added: JSON-RPC: The `pay` command now uses the new payment flow, the new `legacypay` command can be used to issue payment with the legacy code if required. Suggested-by: Rusty Russell <@rustyrussell> Suggested-by: ZmnSCPxj <@ZmnSCPxj>
Rebased on top of #3792 now in |
This was causing the state flapping test to fail, since we were yielding control of the io_loop, waiting for the blockheight to be reached, and not setting the status beforehand. An interim `paystatus` call would then find a failed leaf and deduce the entire payment failed. Setting it back to the previous state keeps the overall payment pending while we wait.
Tests were timing out, and there is no point in artificially limiting ourselves if we can be quicker.
We were wrongfully identifying all payment failures as blockheight mismatches.
Amount, parent_part_id and own partid can be helpful when debugging.
We were applying the fee exemption to all payments individually, which is ok until we switch to MPP, where amounts change. Also the log entry was referring to the total amount, and not the fee of the payment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack 55e1aa8
This is the last step in activating the new payment flow.
compat
changes to tests done in the previous parts and now uses the updated RPC everywherelegacy
option topay
(andlegacypay
in order not to cause param failures) to fall back on the old implementation should there be an issue.We informally decided to activate the new payment flow for everybody and provide an escape hatch, for users that require the legacy payment model.
Open questions
legacypay
exposed via JSON-RPC at all, or should we only expose vialegacy
flag on thepay
command?Changelog-None