1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
crate::ix!();
//-------------------------------------------[.cpp/bitcoin/src/outputtype.h]
pub enum OutputType {
LEGACY,
P2SH_SEGWIT,
BECH32,
BECH32M,
}
lazy_static!{
/*
static constexpr auto OUTPUT_TYPES = std::array{
OutputType::LEGACY,
OutputType::P2SH_SEGWIT,
OutputType::BECH32,
OutputType::BECH32M,
};
*/
}
//-------------------------------------------[.cpp/bitcoin/src/outputtype.cpp]
pub const OUTPUT_TYPE_STRING_LEGACY: &'static str = "legacy";
pub const OUTPUT_TYPE_STRING_P2SH_SEGWIT: &'static str = "p2sh-segwit";
pub const OUTPUT_TYPE_STRING_BECH32: &'static str = "bech32";
pub const OUTPUT_TYPE_STRING_BECH32M: &'static str = "bech32m";
pub fn parse_output_type(ty: &String) -> Option<OutputType> {
todo!();
/*
if (type == OUTPUT_TYPE_STRING_LEGACY) {
return OutputType::LEGACY;
} else if (type == OUTPUT_TYPE_STRING_P2SH_SEGWIT) {
return OutputType::P2SH_SEGWIT;
} else if (type == OUTPUT_TYPE_STRING_BECH32) {
return OutputType::BECH32;
} else if (type == OUTPUT_TYPE_STRING_BECH32M) {
return OutputType::BECH32M;
}
return std::nullopt;
*/
}
pub fn format_output_type(ty: OutputType) -> &'static str {
todo!();
/*
switch (type) {
case OutputType::LEGACY: return OUTPUT_TYPE_STRING_LEGACY;
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;
} // no default case, so the compiler can warn about missing cases
assert(false);
*/
}