btcd icon indicating copy to clipboard operation
btcd copied to clipboard

[2/2]: BIP 322 Support

Open mohamedawnallah opened this issue 10 months ago • 2 comments

Change Description

  1. Adds to_spend and to_sign transactions in accordance to BIP-322 generic signed message format.
  2. Adds EncodeWitness function that encodes witness stack in a signed BIP-322 PSBT into base-64 encoded format.

Additional Context

Depends on #2151 Closes #2077

How Has This Been Tested?

  1. Added test cases for BuildToSpendTx function with an empty message and "Hello World" message as in BIP-322
  2. Added test cases for BuildToSignTx function with an empty message and "Hello World" message as in BIP-322.
  3. Added test cases for EncodeWitness function where it encodes the input witness FinalScriptWitness of a finalized to_sign transaction into base64 and throws an error if the to_sign transaction is not signed yet.

Remaining Parts

  • Add a signing function following BIP-0322 and integrate it with the codebase.
  • Add a verifying function following BIP-0322 and integrate with the codebase.

I would greatly appreciate your feedback during this draft phase to ensure it aligns with the desired objectives. Thank you. 🙏

mohamedawnallah avatar Mar 30 '24 10:03 mohamedawnallah