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