aboutsummaryrefslogtreecommitdiff
path: root/src/outputtype.cpp
diff options
context:
space:
mode:
authorjosibake <josibake@protonmail.com>2022-07-28 16:19:56 +0200
committerjosibake <josibake@protonmail.com>2022-08-10 10:17:54 +0200
commitf5649db9d5e984ba7f376ccfd5b0a627f5c42402 (patch)
treeb0f739ad36b908a29744bdc642972ff97a96daac /src/outputtype.cpp
parentac59112a6a093e641ce2803260dd9de97b1cd961 (diff)
downloadbitcoin-f5649db9d5e984ba7f376ccfd5b0a627f5c42402.tar.xz
refactor: add UNKNOWN OutputType
add to enum, array and handle UNKNOWN in various case statements
Diffstat (limited to 'src/outputtype.cpp')
-rw-r--r--src/outputtype.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/outputtype.cpp b/src/outputtype.cpp
index 19366295e6..08c2ab4e30 100644
--- a/src/outputtype.cpp
+++ b/src/outputtype.cpp
@@ -20,6 +20,7 @@ static const std::string OUTPUT_TYPE_STRING_LEGACY = "legacy";
static const std::string OUTPUT_TYPE_STRING_P2SH_SEGWIT = "p2sh-segwit";
static const std::string OUTPUT_TYPE_STRING_BECH32 = "bech32";
static const std::string OUTPUT_TYPE_STRING_BECH32M = "bech32m";
+static const std::string OUTPUT_TYPE_STRING_UNKNOWN = "unknown";
std::optional<OutputType> ParseOutputType(const std::string& type)
{
@@ -31,6 +32,8 @@ std::optional<OutputType> ParseOutputType(const std::string& type)
return OutputType::BECH32;
} else if (type == OUTPUT_TYPE_STRING_BECH32M) {
return OutputType::BECH32M;
+ } else if (type == OUTPUT_TYPE_STRING_UNKNOWN) {
+ return OutputType::UNKNOWN;
}
return std::nullopt;
}
@@ -42,6 +45,7 @@ const std::string& FormatOutputType(OutputType type)
case OutputType::P2SH_SEGWIT: return OUTPUT_TYPE_STRING_P2SH_SEGWIT;
case OutputType::BECH32: return OUTPUT_TYPE_STRING_BECH32;
case OutputType::BECH32M: return OUTPUT_TYPE_STRING_BECH32M;
+ case OutputType::UNKNOWN: return OUTPUT_TYPE_STRING_UNKNOWN;
} // no default case, so the compiler can warn about missing cases
assert(false);
}
@@ -61,7 +65,8 @@ CTxDestination GetDestinationForKey(const CPubKey& key, OutputType type)
return witdest;
}
}
- case OutputType::BECH32M: {} // This function should never be used with BECH32M, so let it assert
+ case OutputType::BECH32M:
+ case OutputType::UNKNOWN: {} // This function should never be used with BECH32M or UNKNOWN, so let it assert
} // no default case, so the compiler can warn about missing cases
assert(false);
}
@@ -101,7 +106,8 @@ CTxDestination AddAndGetDestinationForScript(FillableSigningProvider& keystore,
return ScriptHash(witprog);
}
}
- case OutputType::BECH32M: {} // This function should not be used for BECH32M, so let it assert
+ case OutputType::BECH32M:
+ case OutputType::UNKNOWN: {} // This function should not be used for BECH32M or UNKNOWN, so let it assert
} // no default case, so the compiler can warn about missing cases
assert(false);
}