diff options
author | Andrew Chow <achow101-github@achow101.com> | 2019-11-19 14:35:14 -0500 |
---|---|---|
committer | Luke Dashjr <luke-jr+git@utopios.org> | 2020-01-03 04:04:38 +0000 |
commit | 551583398ba4fdae973c047bc60556ffa17c6431 (patch) | |
tree | bf2d25b820d1118e230997109834f78c1d26ddbd /src/node/psbt.h | |
parent | 8afa602f308ef003bb6893718eae1fe5a830690c (diff) | |
download | bitcoin-551583398ba4fdae973c047bc60556ffa17c6431.tar.xz |
Have a PSBTAnalysis state that indicates invalid PSBT
Invalid PSBTs need to be re-created, so the next role is the
Creator (new PSBTRole). Additionally, we need to know what went
wrong so an error field was added to PSBTAnalysis.
A PSBTAnalysis indicating invalid will have empty everything,
next will be set to PSBTRole::CREATOR, and an error message.
Github-Pull: #17524
Rebased-From: 638e40cb6080800c7b0a7f4028f63326acbe4700
Diffstat (limited to 'src/node/psbt.h')
-rw-r--r-- | src/node/psbt.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/node/psbt.h b/src/node/psbt.h index e04366a20f..7384dc415c 100644 --- a/src/node/psbt.h +++ b/src/node/psbt.h @@ -30,6 +30,17 @@ struct PSBTAnalysis { 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 error; //!< Error message + + void SetInvalid(std::string err_msg) + { + estimated_vsize = nullopt; + estimated_feerate = nullopt; + fee = nullopt; + inputs.clear(); + next = PSBTRole::CREATOR; + error = err_msg; + } }; /** |