-
Notifications
You must be signed in to change notification settings - Fork 895
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
RBF: Final part #4399
RBF: Final part #4399
Commits on Mar 5, 2021
-
df-rbf: init an rbf for real, using openchannel_bumpfee
Reorg a bit of the RBF code so we use the same codepaths for we-init vs they-init starts.
Configuration menu - View commit details
-
Copy full SHA for 84d7b29 - Browse repository at this point
Copy the full SHA 84d7b29View commit details -
Configuration menu - View commit details
-
Copy full SHA for e49a241 - Browse repository at this point
Copy the full SHA e49a241View commit details -
df: update reserve calculation
We can use the funding amount to derive the reserve requirement.
Configuration menu - View commit details
-
Copy full SHA for fc051d1 - Browse repository at this point
Copy the full SHA fc051d1View commit details -
df-rbf: only permit the channel initiator to init RBF
We're *mostly* set up for both sides doing RBF, except that it reverses the callback flow (using the plugin vs RPC calls) and we're not currently smart enough to flip between them gracefully
Configuration menu - View commit details
-
Copy full SHA for fee2c15 - Browse repository at this point
Copy the full SHA fee2c15View commit details -
df-rbf: separate first-time channel save from update (RBF)
We can't "first save" a channel twice; instead we split in two and just update the underlying channel on subsequent passes (RBFs)
Configuration menu - View commit details
-
Copy full SHA for 24ea527 - Browse repository at this point
Copy the full SHA 24ea527View commit details -
rbf: consolidate failure paths, use "warnings"
We move over to the new "warning" paradigm, instead of using an "rbf_fail" message. Every failure is either a warning or an error; on warnings we hang up and reconnect later, effectively resetting the state.
Configuration menu - View commit details
-
Copy full SHA for 17c3382 - Browse repository at this point
Copy the full SHA 17c3382View commit details -
rbf: clean up channel on error
Make sure we clean up unsaved channels appropriately on failure. We forget the peer/channel if it's unsaved!
Configuration menu - View commit details
-
Copy full SHA for 2f40c6b - Browse repository at this point
Copy the full SHA 2f40c6bView commit details -
df: move methods around so we can call them elsewhere
Will reuse these elsewhere soon
Configuration menu - View commit details
-
Copy full SHA for d04de94 - Browse repository at this point
Copy the full SHA d04de94View commit details -
df: handle funding_locked + tx_signatures messages out of order
If we're doing an RBF, it's possible that the peer will send us a funding_locked, shutdown, or tx_signatures message. (We get tx_sigs out of order on a reconnect) This lets us gracefully handle a shutdown or funding_locked sent at any time (after first funding tx) as well.
Configuration menu - View commit details
-
Copy full SHA for 6fb06fa - Browse repository at this point
Copy the full SHA 6fb06faView commit details -
listpeers: include info on channels that are in-process
Channels that we're in negotiation for, but don't have a commitment transaction saved for yet.
Configuration menu - View commit details
-
Copy full SHA for e2f0987 - Browse repository at this point
Copy the full SHA e2f0987View commit details -
channel: move inflight + feerate methods to channel.c
Need these more accessible for next patch, which moves the next_feerate info into listpeers
Configuration menu - View commit details
-
Copy full SHA for 4c5024c - Browse repository at this point
Copy the full SHA 4c5024cView commit details -
listpeers: include feerate info for RBF-candidate channels
Changelog-Added: JSON-RPC: `listpeers` now includes 'last_feerate', 'next_feerate', 'initial_feerate' and 'next_fee_step' for channels in state DUALOPEND_AWAITING_LOCKIN fixup! listpeers: include feerate info for RBF-candidate channels
Configuration menu - View commit details
-
Copy full SHA for 8acc78f - Browse repository at this point
Copy the full SHA 8acc78fView commit details -
df-rbf: update rejection criteria for tx_sigs
since we might be in the middle of an RBF, update our checks to be more robust
Configuration menu - View commit details
-
Copy full SHA for ea06a4c - Browse repository at this point
Copy the full SHA ea06a4cView commit details -
df: cleanup error handling on lightningd side
Make existing methods understand how unsaved channels work, re-work errors so that we handle everything appropriately
Configuration menu - View commit details
-
Copy full SHA for 97f0fe8 - Browse repository at this point
Copy the full SHA 97f0fe8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2773688 - Browse repository at this point
Copy the full SHA 2773688View commit details -
Configuration menu - View commit details
-
Copy full SHA for 10fb911 - Browse repository at this point
Copy the full SHA 10fb911View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1401761 - Browse repository at this point
Copy the full SHA 1401761View commit details -
Configuration menu - View commit details
-
Copy full SHA for 796b4ea - Browse repository at this point
Copy the full SHA 796b4eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ac665b - Browse repository at this point
Copy the full SHA 3ac665bView commit details -
Revert "df: turn off integration tests that depend on v2 funding"
This reverts commit 2e40a13.
Configuration menu - View commit details
-
Copy full SHA for 3dd2166 - Browse repository at this point
Copy the full SHA 3dd2166View commit details -
df-memleak: expose memleak error and fix
We were getting a memleak error that the open_attempt isnt' being cleaned up in test_rbf_reconnect_tx_construct. I had some trouble reproducing it, so I removed the reliance on using `tmpctx` to clean it up and was more surgical about cleaning it up inline.
Configuration menu - View commit details
-
Copy full SHA for edb888b - Browse repository at this point
Copy the full SHA edb888bView commit details -
df: add (over zealous?) note about the usage of
psbt_has_req_fields
Requested-In-Part-By: Rusty Russell @rustyrussell
Configuration menu - View commit details
-
Copy full SHA for 36460c9 - Browse repository at this point
Copy the full SHA 36460c9View commit details -
connectd: clean up the channel stuffs when we get a reconnect
If they've disconnected/reconnected we need to terminate all the inflight stuff, plus go ahead and call 'disconnect' plugin trigger etc.
Configuration menu - View commit details
-
Copy full SHA for 4b7af79 - Browse repository at this point
Copy the full SHA 4b7af79View commit details