Module psbt

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
Raw PSBT key-value pairs.
serialize
PSBT serialization.

Structs§

Input
A key-value map for an input of the corresponding index in the unsigned transaction.
Output
A key-value map for an output of the corresponding index in the unsigned transaction.
PartiallySignedTransaction
A Partially Signed Transaction.
PsbtSighashType
A Signature hash type for the corresponding input. As of taproot upgrade, the signature hash type can be either EcdsaSighashType or TapSighashType 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/from PsbtSighashType from/to the desired signature hash type they need.

Enums§

Error
Ways that a Partially Signed Transaction might fail.
GetKeyError
Errors when getting a key.
KeyRequest
Data required to call GetKey to get the private key to sign an input.
OutputType
The various output types supported by the Bitcoin network.
Prevouts
Contains outputs of previous transactions. In the case TapSighashType variant is SIGHASH_ANYONECANPAY, Prevouts::One may be used.
SignError
Errors encountered while calculating the sighash message.
SigningAlgorithm
Signing algorithms supported by the Bitcoin network.

Traits§

GetKey
Trait to get a private key from a key request, key is then used to sign an input.

Type Aliases§

Psbt
Partially signed transaction, commonly referred to as a PSBT.
SigningErrors
Map of input index -> the error encountered while attempting to sign that input.
SigningKeys
Map of input index -> pubkey associated with secret key used to create signature for that input.