aboutsummaryrefslogtreecommitdiff
path: root/src/node
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2019-11-19 14:35:14 -0500
committerAndrew Chow <achow101-github@achow101.com>2019-11-19 14:54:08 -0500
commit638e40cb6080800c7b0a7f4028f63326acbe4700 (patch)
tree05b8025aa1b573e974911096731aac3db2e28af6 /src/node
parentb4a1da9ef8e4b673c290d5b882527e627ae1b43a (diff)
downloadbitcoin-638e40cb6080800c7b0a7f4028f63326acbe4700.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.
Diffstat (limited to 'src/node')
-rw-r--r--src/node/psbt.h11
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;
+ }
};
/**