Add documentation of struct PSBTAnalysis et al

This commit is contained in:
Glenn Willen 2019-03-12 16:08:35 -07:00
parent ef22fe8c1f
commit 892eff05f1

View file

@ -557,23 +557,29 @@ enum class PSBTRole {
EXTRACTOR EXTRACTOR
}; };
/**
* Holds an analysis of one input from a PSBT
*/
struct PSBTInputAnalysis { struct PSBTInputAnalysis {
bool has_utxo; bool has_utxo; //!< Whether we have UTXO information for this input
bool is_final; bool is_final; //!< Whether the input has all required information including signatures
PSBTRole next; PSBTRole next; //!< Which of the BIP 174 roles needs to handle this input next
std::vector<CKeyID> missing_pubkeys; std::vector<CKeyID> missing_pubkeys; //!< Pubkeys whose BIP32 derivation path is missing
std::vector<CKeyID> missing_sigs; std::vector<CKeyID> missing_sigs; //!< Pubkeys whose signatures are missing
uint160 missing_redeem_script; uint160 missing_redeem_script; //!< Hash160 of redeem script, if missing
uint256 missing_witness_script; uint256 missing_witness_script; //!< SHA256 of witness script, if missing
}; };
/**
* Holds the results of AnalyzePSBT (miscellaneous information about a PSBT)
*/
struct PSBTAnalysis { struct PSBTAnalysis {
Optional<size_t> estimated_vsize; Optional<size_t> estimated_vsize; //!< Estimated weight of the transaction
Optional<CFeeRate> estimated_feerate; Optional<CFeeRate> estimated_feerate; //!< Estimated feerate (fee / weight) of the transaction
Optional<CAmount> fee; Optional<CAmount> fee; //!< Amount of fee being paid by the transaction
std::vector<PSBTInputAnalysis> inputs; std::vector<PSBTInputAnalysis> inputs; //!< More information about the individual inputs of the transaction
PSBTRole next; PSBTRole next; //!< Which of the BIP 174 roles needs to handle the transaction next
}; };
std::string PSBTRoleName(PSBTRole role); std::string PSBTRoleName(PSBTRole role);