diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -6,6 +6,7 @@ #include "bitcoinaddressvalidator.h" #include "bitcoinunits.h" +#include "cashaddr.h" #include "qvalidatedlineedit.h" #include "walletmodel.h" @@ -16,6 +17,7 @@ #include "script/script.h" #include "script/standard.h" #include "util.h" +#include "utilstrencodings.h" #ifdef WIN32 #ifdef _WIN32_WINNT @@ -115,13 +117,12 @@ // Generate a dummy address with invalid CRC, starting with the network prefix. static std::string DummyAddress(const CChainParams ¶ms) { - std::vector sourcedata = - params.Base58Prefix(CChainParams::PUBKEY_ADDRESS); - sourcedata.insert(sourcedata.end(), dummydata, - dummydata + sizeof(dummydata)); + std::vector sourcedata(dummydata, dummydata + sizeof(dummydata)); for (int i = 0; i < 256; ++i) { // Try every trailing byte - std::string s = EncodeBase58(sourcedata.data(), - sourcedata.data() + sourcedata.size()); + + std::vector data; + ConvertBits<8, 5, true>(data, begin(sourcedata), end(sourcedata)); + std::string s = cashaddr::Encode(params.CashAddrHRP(), data); if (!IsValidDestinationString(s)) { return s; }