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

Make payment secret compulsory on new invoices, and assume unknown nodes support TLV onions #4646

Merged

Commits on Jul 11, 2021

  1. invoice: output payment_secret in JSON.

    This makes it easier to access (rather than decoding bolt11).
    
    Changelog-Added: JSON-RPC: `invoice` now outputs explicit `payment_secret` it its own field.
    Signed-off-by: Rusty Russell <[email protected]>
    rustyrussell committed Jul 11, 2021
    Configuration menu
    Copy the full SHA
    2c801ee View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2021

  1. pytest: always provide payment_secret when making payments.

    They're about to become compulsory.
    
    Signed-off-by: Rusty Russell <[email protected]>
    rustyrussell committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    9597881 View commit details
    Browse the repository at this point in the history
  2. plugins/keysend: add the payment_secret to the payload.

    It's about to become compulsory.
    
    Signed-off-by: Rusty Russell <[email protected]>
    rustyrussell committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    6a9c649 View commit details
    Browse the repository at this point in the history
  3. pytest: make test_sendonion_rpc use a TLV onion for final hop.

    It's going to be compulsory soon!
    
    Signed-off-by: Rusty Russell <[email protected]>
    rustyrussell committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    05c666e View commit details
    Browse the repository at this point in the history
  4. lightningd: make invoices insist on payment_secret.

    In fact, we make it compulsory, which means if you don't understand it
    you'll hang up on us!
    
    Add some logging for that in future.
    
    Changelog-Changed: Protocol: All new invoices require a payment_secret (i.e. modern TLV format onion)
    Changelog-Changed: Protocol: We can no longer connect to peers which don't support `payment_secret`.
    Signed-off-by: Rusty Russell <[email protected]>
    rustyrussell committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    e06e86b View commit details
    Browse the repository at this point in the history
  5. lightningd: insist on payment_secret if bit compulsory on invoices.

    This grandfathers in old invoices for the moment.
    
    Signed-off-by: Rusty Russell <[email protected]>
    rustyrussell committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    d4d46e6 View commit details
    Browse the repository at this point in the history
  6. route: assume modern TLV support if we don't see a node_announcement.

    This is in preparation for removing support (next release?).
    
    Changelog-Changed: Protocol: We now assume nodes support TLV onions (non-legacy) unless we have a node_announcement which says they don't.
    Signed-off-by: Rusty Russell <[email protected]>
    rustyrussell committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    0433cec View commit details
    Browse the repository at this point in the history