diff --git a/src/key_io.cpp b/src/key_io.cpp index 1ae7f6de35..835f84bbfb 100644 --- a/src/key_io.cpp +++ b/src/key_io.cpp @@ -50,7 +50,8 @@ public: std::vector data = {0}; data.reserve(33); ConvertBits<8, 5, true>([&](unsigned char c) { data.push_back(c); }, id.begin(), id.end()); - return bech32::Encode(m_params.Bech32HRP(), data); + const std::string& hrp = for_parent ? m_params.ParentBech32HRP() : m_params.Bech32HRP(); + return bech32::Encode(hrp, data); } std::string operator()(const WitnessV0ScriptHash& id) const @@ -58,7 +59,8 @@ public: std::vector data = {0}; data.reserve(53); ConvertBits<8, 5, true>([&](unsigned char c) { data.push_back(c); }, id.begin(), id.end()); - return bech32::Encode(m_params.Bech32HRP(), data); + const std::string& hrp = for_parent ? m_params.ParentBech32HRP() : m_params.Bech32HRP(); + return bech32::Encode(hrp, data); } std::string operator()(const WitnessUnknown& id) const