[refactor] Combine the ToString and ToPrivateString implementations
This commit is contained in:
parent
24d3a7b3a9
commit
1eda33aabc
1 changed files with 12 additions and 15 deletions
|
@ -251,7 +251,7 @@ public:
|
|||
return false;
|
||||
}
|
||||
|
||||
bool ToPrivateString(const SigningProvider& arg, std::string& out) const final
|
||||
bool ToStringHelper(const SigningProvider* arg, std::string& out, bool priv) const
|
||||
{
|
||||
std::string extra = ToStringExtra();
|
||||
size_t pos = extra.size() > 0 ? 1 : 0;
|
||||
|
@ -259,13 +259,17 @@ public:
|
|||
for (const auto& pubkey : m_pubkey_args) {
|
||||
if (pos++) ret += ",";
|
||||
std::string tmp;
|
||||
if (!pubkey->ToPrivateString(arg, tmp)) return false;
|
||||
if (priv) {
|
||||
if (!pubkey->ToPrivateString(*arg, tmp)) return false;
|
||||
} else {
|
||||
tmp = pubkey->ToString();
|
||||
}
|
||||
ret += std::move(tmp);
|
||||
}
|
||||
if (m_script_arg) {
|
||||
if (pos++) ret += ",";
|
||||
std::string tmp;
|
||||
if (!m_script_arg->ToPrivateString(arg, tmp)) return false;
|
||||
if (!m_script_arg->ToStringHelper(arg, tmp, priv)) return false;
|
||||
ret += std::move(tmp);
|
||||
}
|
||||
out = std::move(ret) + ")";
|
||||
|
@ -274,20 +278,13 @@ public:
|
|||
|
||||
std::string ToString() const final
|
||||
{
|
||||
std::string extra = ToStringExtra();
|
||||
size_t pos = extra.size() > 0 ? 1 : 0;
|
||||
std::string ret = m_name + "(" + extra;
|
||||
for (const auto& pubkey : m_pubkey_args) {
|
||||
if (pos++) ret += ",";
|
||||
ret += pubkey->ToString();
|
||||
}
|
||||
if (m_script_arg) {
|
||||
if (pos++) ret += ",";
|
||||
ret += m_script_arg->ToString();
|
||||
}
|
||||
return std::move(ret) + ")";
|
||||
std::string ret;
|
||||
ToStringHelper(nullptr, ret, false);
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool ToPrivateString(const SigningProvider& arg, std::string& out) const override final { return ToStringHelper(&arg, out, true); }
|
||||
|
||||
bool Expand(int pos, const SigningProvider& arg, std::vector<CScript>& output_scripts, FlatSigningProvider& out) const final
|
||||
{
|
||||
std::vector<std::pair<CPubKey, KeyOriginInfo>> entries;
|
||||
|
|
Loading…
Reference in a new issue