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

BIP174 (de)serialization support #103

Merged
merged 10 commits into from
Feb 28, 2019
Merged

Commits on Feb 28, 2019

  1. Add PSBT-specific Error data type

    - Implement psbt::Error data type
    - Implement conversion from psbt::Error to util::Error
    - Create util::psbt module
    - Create non-public util::psbt::error module
    dongcarl committed Feb 28, 2019
    Configuration menu
    Copy the full SHA
    4fa39c4 View commit details
    Browse the repository at this point in the history
  2. Add data types for raw PSBT key-value pairs

    - Add (en)decoding logic for said data types
    dongcarl committed Feb 28, 2019
    Configuration menu
    Copy the full SHA
    528e393 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2715a6e View commit details
    Browse the repository at this point in the history
  4. Add PSBT global data key-value map type

    - Implement psbt::Map trait for psbt::Global
    - Add converting constructor logic from Transaction for psbt::Global
    - Add (en)decoding logic for psbt::Global
      - Always deserialize unsigned_tx as non-witness
    
    - Add trait for PSBT (de)serialization
    - Implement PSBT (de)serialization trait for relevant psbt::Global types
    
    - Add macros for consensus::encode-backed PSBT (de)serialization
      implementations
    - Add macro for implementing encoding logic for PSBT key-value maps
    dongcarl committed Feb 28, 2019
    Configuration menu
    Copy the full SHA
    115f8c0 View commit details
    Browse the repository at this point in the history
  5. Add PSBT output data key-value map type

    - Implement psbt::Map trait for psbt::Output
    - Add (en)decoding logic for psbt::Output
    
    - Implement PSBT (de)serialization trait for relevant psbt::Output types
    
    - Add macro for merging fields for PSBT key-value maps
    - Add macro for implementing decoding logic for PSBT key-value maps
    - Add convenience macro for implementing both encoding and decoding
      logic for PSBT key-value maps
    - Add macro for inserting raw PSBT key-value pairs into PSBT key-value
      maps
    - Add macro for getting raw PSBT key-value pairs from PSBT key-value
      maps
    dongcarl committed Feb 28, 2019
    Configuration menu
    Copy the full SHA
    9c08dba View commit details
    Browse the repository at this point in the history
  6. Add PSBT input data key-value map type

    - Implement psbt::Map trait for psbt::Input
    - Add (en)decoding logic for psbt::Input
    
    - Implement PSBT (de)serialization trait for relevant psbt::Input types
    dongcarl committed Feb 28, 2019
    Configuration menu
    Copy the full SHA
    badb0f2 View commit details
    Browse the repository at this point in the history
  7. Add Partially Signed Transaction type

    - Add merging logic for PartiallySignedTransactions
    - Add (en)decoding logic for PartiallySignedTransaction
    - Add converting constructor logic from Transaction for
      PartiallySignedTransaction
    - Add extracting constructor logic from PartiallySignedTransaction for
      Transaction
    
    Squashed in fixes from stevenroose <stevenroose@gmail.com>
    
    - Prevent PSBT::extract_tx from panicking
    - Make PartiallySignedTransaction fields public
    dongcarl committed Feb 28, 2019
    Configuration menu
    Copy the full SHA
    39fd567 View commit details
    Browse the repository at this point in the history
  8. Add test vectors from BIP174 specification

    - Add macro for decoding and unwrapping PartiallySignedTransaction from
      hex string
    dongcarl committed Feb 28, 2019
    Configuration menu
    Copy the full SHA
    bc73b31 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f74ec3e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e5b5912 View commit details
    Browse the repository at this point in the history