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

[Rust/UTXO/Bitcoin] Finalize Bitcoin V2 implementation in Rust (_updated_) #3686

Draft
wants to merge 153 commits into
base: master
Choose a base branch
from

Conversation

lamafab
Copy link
Contributor

@lamafab lamafab commented Feb 14, 2024

Work-in-Progress: More docs to follow

satoshiotomakan and others added 30 commits January 16, 2024 18:12
* Switch to TW Bitcoin Address implementation in `BitcoinEntry`
* Add and implement Bitcoin encoding for Signed Transaction
* Delegate transaction preimage hashing to `LegacyPreimage`, `Witness0Preimage` helpers
@lamafab
Copy link
Contributor Author

lamafab commented Apr 19, 2024

Final update, I'm no longer going to be working on this:

Summarized task list of what has been completed and was is still open, not including finer details, edge cases and tests.

tw_keypair:

  • Support for Schnorr signatures
  • Optional cleanups/improvements (see TODOs)

tw_utxo:

  • Address generation and derivation for Legacy, Segwit and Taproot.
  • Script builders for inputs and outputs (claiming and spending conditions):
    • Legacy such as P2SH, P2PH and P2PKH
    • Segwit such as P2WSH and P2WPKH
    • Taproot such as P2TR key-path (transfers) and P2TR script-path (complex)
  • Builder APIs:
    • Transaction construction and Sighash calculation
      • TXID calculation (!!)
    • Fee estimation and final calculation
    • BRC20 construction
    • Ordinal construction
  • UTXO input selection

tw_bitcoin:

  • Mapping proto structures to tw_utxo builders for inputs and outputs.
    • Done for most expect p2wsh and ordinal_inscribe
      • (see brc20_inscribe for reference)
  • Migrate entry.rs to new tw_utxo interfaces.
    • Migrate preimage_impl
    • Migrate compile_impl
      • (largely done but still needs some cleanups)

General:

  • Update, improve and/or deprecate any existing tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants