wallet-core icon indicating copy to clipboard operation
wallet-core copied to clipboard

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

Open lamafab opened this issue 5 months ago • 1 comments

Work-in-Progress: More docs to follow

lamafab avatar Feb 14 '24 12:02 lamafab

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:

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

tw_utxo:

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

tw_bitcoin:

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

General:

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

lamafab avatar Apr 19 '24 12:04 lamafab