Module psbt

Source
Expand description

§Partially-Signed Bitcoin Transactions

This module implements the Finalizer and Extractor roles defined in BIP 174, PSBT, described at https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki

Structs§

PsbtInputSatisfier
Psbt satisfier for at inputs at a particular index Takes in &psbt because multiple inputs will share the same psbt structure All operations on this structure will panic if index is more than number of inputs in pbst This does not support satisfaction for Covenant transactoins You are probably looking for finalizer::finalize method or PsbtCovInputSatisfier

Enums§

Error
Error type for entire Psbt
InputError
Error type for Pbst Input
OutputUpdateError
Return error type for PsbtExt::update_output_with_descriptor
PsbtSighashMsg
Sighash message(signing data) for a given psbt transaction input.
SighashError
Return error type for PsbtExt::sighash_msg
UtxoUpdateError
Return error type for PsbtExt::update_input_with_descriptor

Traits§

PsbtExt
Additional operations for miniscript descriptors for various psbt roles. Note that these APIs would generally error when used on scripts that are not miniscripts.
PsbtInputExt
Extension trait for PSBT inputs
PsbtOutputExt
Extension trait for PSBT outputs

Functions§

finalize
Finalize the psbt. This function takes in a mutable reference to psbt and populates the final_witness and final_scriptsig of the psbt assuming all of the inputs are miniscript as per BIP174. If any of the inputs is not miniscript, this returns a parsing error For satisfaction of individual inputs, use the satisfy API. This function also performs a sanity interpreter check on the finalized psbt which involves checking the signatures/ preimages/timelocks.

Type Aliases§

PsbtCovInputSatisfier
Psbt Input Satisfier with Covenant support. Users should be using the high level finalizer::finalize API. The LegacyCovSatisfier should be consistent with the extracted transaction.