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

Add tr descriptor #278

Merged
merged 12 commits into from
Feb 9, 2022
Merged

Add tr descriptor #278

merged 12 commits into from
Feb 9, 2022

Commits on Feb 8, 2022

  1. Implement Taproot descriptor tree parsing

    fixups to Tr descriptor code from SarcasticNastik
    SarcasticNastik authored and sanket1729 committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    6a717bf View commit details
    Browse the repository at this point in the history
  2. Add roundtrip tests

    Co-authored-by: SarcasticNastik <aman.rojjha@research.iiit.ac.in>
    sanket1729 and SarcasticNastik committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    81d1658 View commit details
    Browse the repository at this point in the history
  3. Add iterator for taptree

    sanket1729 committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    a0ef37f View commit details
    Browse the repository at this point in the history
  4. Update descriptor trait

    sanket1729 committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    74460e7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dc21a79 View commit details
    Browse the repository at this point in the history
  6. Add Tr descriptor

    Fix TapTree iter depth
    
    Fix tr spend_info lock
    * Attempt to read cache prior to matching on spend_info Option
    * This bug would cause function to hang
    * Also added test tr_script_pubkey
    
    Co-authored-by: nickfarrow <nicholas.w.farrow@gmail.com>
    sanket1729 and nickfarrow committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    48f6bb0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    82ab565 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f5c8d7f View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2022

  1. Configuration menu
    Copy the full SHA
    b1cb8e0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b5bf46 View commit details
    Browse the repository at this point in the history
  3. qualify Tree symbol

    There are multiple `Tree`s in this file and the expression Tree is a
    somewhat obscure one. It is confusing to have it referenced without
    any qualification.
    apoelstra authored and sanket1729 committed Feb 9, 2022
    Configuration menu
    Copy the full SHA
    954b12f View commit details
    Browse the repository at this point in the history
  4. tr: clean up TaprootSpendInfo locking logic

    1. `RwLock` is typically much slower than `Mutex`, so the Rust developers
       discourage its use unless you really need lots of simultaneous readers.
       We do not, we only need to unlock this mutex for tiny amounts of time locking logic
    
    2. The `clone` implementation missed an opportunity to clone an internal
       `Arc`, instead using `Mutex::new(None)` and forcing the clone to recompute
       the spend info.
    
    3. Minor idiomatic cleanups.
    apoelstra authored and sanket1729 committed Feb 9, 2022
    Configuration menu
    Copy the full SHA
    7195bd7 View commit details
    Browse the repository at this point in the history