Skip to content
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

channeld: don't ever send back-to-back feerate changes, fix feerate logic. #4480

Commits on Apr 21, 2021

  1. pytest: fix race in test_penalty_htlc_tx_timeout

    We don't always get two transactions on line 1019; the comment is
    confused (only one penalty tx successfully comes out of l3).  So make
    sure we get the other transactions when we expect them, and then
    make this test more specific.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    7c45a2b View commit details
    Browse the repository at this point in the history
  2. channeld: don't ever send back-to-back feerate changes.

    There are several reports of desynchronization with LND here; a simple
    approach is to only have one feerate change in flight at any time.
    
    Even if this turns out to be our fault, it's been a historic area of
    confusion, so this restriction seems reasonable.
    
    Changelog-Fixed: Protocol: Don't create more than one feerate change at a time, as this seems to desync with LND.
    Fixes: ElementsProject#4152
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    93b5337 View commit details
    Browse the repository at this point in the history
  3. channeld: increment fee states properly.

    By iterating through them forward, we would often increment
    them more than once!  Always print feestate transitions,
    which is how I worked this out.
    
    Changelog-Fixed: Protocol: handle complex feerate transitions correctly.
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    498c24a View commit details
    Browse the repository at this point in the history
  4. channeld: check if we want to change fees after sending revocation.

    This may have made our feestates fully resolved, so we can send
    update_fee again.  Without this fix our tests sometimes timeout.
    
    Also add debugging so we can see when we suppressed a feechange.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    bf7947b View commit details
    Browse the repository at this point in the history