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
Functions
Psbt extractor as defined in BIP174 that takes in a psbt reference and outputs a extracted bitcoin::Transaction Also does the interpreter sanity check Will error if the final ScriptSig or final Witness are missing or the interpreter check fails.
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.
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