Module sapio_miniscript::psbt[][src]

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

Enums

Error

Error type for entire Psbt

InputError

Error type for Pbst Input

Functions

extract

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

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.

interpreter_check

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