Module miniscript::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
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
Enums
Error type for entire Psbt
Error type for Pbst Input
Return error type for
PsbtExt::update_output_with_descriptor
Sighash message(signing data) for a given psbt transaction input.
Return error type for
PsbtExt::sighash_msg
Return error type for
PsbtExt::update_input_with_descriptor
Traits
Additional operations for miniscript descriptors for various psbt roles.
Note that these APIs would generally error when used on scripts that are not
miniscripts.
Extension trait for PSBT inputs
Extension trait for PSBT outputs
Functions
finalizeDeprecated
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.
The functions fails it is not possible to satisfy any of the inputs non-malleably
See finalize_mall if you want to allow malleable satisfactions
Same as finalize, but allows for malleable satisfactions
Interprets all psbt inputs and checks whether the
script is correctly interpreted according to the context
The psbt must have included final script sig and final witness.
In other words, this checks whether the finalized psbt interprets
correctly