Expand description
Partially Signed Bitcoin Transactions.
Implementation of BIP174 Partially Signed Bitcoin Transaction Format as defined at https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki except we define PSBTs containing non-standard sighash types as invalid.
Modules
- Raw PSBT key-value pairs.
- PSBT serialization.
Structs
- A key-value map for an input of the corresponding index in the unsigned transaction.
- A key-value map for an output of the corresponding index in the unsigned transaction.
- A Partially Signed Transaction.
- A Signature hash type for the corresponding input. As of taproot upgrade, the signature hash type can be either
EcdsaSighashType
orTapSighashType
but it is not possible to know directly which signature hash type the user is dealing with. Therefore, the user is responsible for converting to/fromPsbtSighashType
from/to the desired signature hash type they need.
Enums
- Ways that a Partially Signed Transaction might fail.
- This error is returned when extracting a
Transaction
from aPsbt
. - Errors when getting a key.
- Input index out of bounds (actual index, maximum index allowed).
- Data required to call
GetKey
to get the private key to sign an input. - The various output types supported by the Bitcoin network.
- Errors encountered while calculating the sighash message.
- Signing algorithms supported by the Bitcoin network.
Traits
- Trait to get a private key from a key request, key is then used to sign an input.
Type Aliases
- Map of input index -> the error encountered while attempting to sign that input.
- Map of input index -> pubkey associated with secret key used to create signature for that input.