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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2/?] - input: add taproot chan scripts, control block logic, and spending routines #7333

Commits on May 26, 2023

  1. input: add PayToTaprootScript helper func

    In this commit, we add a helper function to take a taproot output key
    and turn it into a v1 witness program.
    Roasbeef committed May 26, 2023
    Configuration menu
    Copy the full SHA
    5f16e8e View commit details
    Browse the repository at this point in the history
  2. input: add GenTaprootFundingScript based on musig2

    In this commit, we add GenTaprootFundingScript, which'll return the
    taproot pkScript and output for a taproot+musig2 channel. This uses
    musig2 key aggregation with sorting activated.
    
    The final key produced uses a bip86 tweak, meaning that the output key
    provably doesn't commit to any script path. In the future, we may want
    to permit this, as then it allows for a greater degree of
    programmability of the funding output.
    Roasbeef committed May 26, 2023
    Configuration menu
    Copy the full SHA
    f233976 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fbdc28e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    578a16a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    99066d7 View commit details
    Browse the repository at this point in the history
  6. input: add tapscript utils for the sender HTLC script

    Unlike the old HTLC scripts, we now need to handle the various control
    block interactions. As is, we opt to simply re-compute the entire tree
    when needed, as the tree only has two leaves.
    Roasbeef committed May 26, 2023
    Configuration menu
    Copy the full SHA
    84b36ec View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8eb9490 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5c10f28 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    006113a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3e59b1b View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    9a5151f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    9485cc0 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    110c29a View commit details
    Browse the repository at this point in the history
  14. input: restore usage of NUMS key for to_remote output

    In this commit, we restore usage of the NUMS key for the to remote
    output, as this allows a remote party to scan the chain in order to find
    their remote output that in emergency recovery scenarios.
    Roasbeef committed May 26, 2023
    Configuration menu
    Copy the full SHA
    6aca853 View commit details
    Browse the repository at this point in the history
  15. input: use script path for revocation clause for to_local output

    In this commit, we modify the to_local script to use a script path for
    the revocation scenario. With this change, we ensure that the internal
    key is always revealed which means the anchor outputs can still always
    be swept.
    Roasbeef committed May 26, 2023
    Configuration menu
    Copy the full SHA
    37079b2 View commit details
    Browse the repository at this point in the history
  16. input: fix linter errors

    Roasbeef committed May 26, 2023
    Configuration menu
    Copy the full SHA
    7ef2306 View commit details
    Browse the repository at this point in the history
  17. input: use explicit CSV 1 script for to remote output

    We undo the prior hack here to make the final script more readable. The
    difference is just 1 byte between the two.
    Roasbeef committed May 26, 2023
    Configuration menu
    Copy the full SHA
    34a9cfb View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    388a70c View commit details
    Browse the repository at this point in the history