diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp index aecd999cad..e339dc8e0a 100644 --- a/src/qt/paymentserver.cpp +++ b/src/qt/paymentserver.cpp @@ -221,16 +221,13 @@ void PaymentServer::ipcParseCommandLine(int argc, char* argv[]) if (GUIUtil::parseBitcoinURI(arg, &r) && !r.address.isEmpty()) { CBitcoinAddress address(r.address.toStdString()); - boost::scoped_ptr tempChainParams(CChainParams::Factory(CBaseChainParams::MAIN)); - - if (address.IsValid(*tempChainParams)) - { - SelectParams(CBaseChainParams::MAIN); - } - else { - tempChainParams.reset(CChainParams::Factory(CBaseChainParams::TESTNET)); - if (address.IsValid(*tempChainParams)) - SelectParams(CBaseChainParams::TESTNET); + std::map::const_iterator iter; + for (iter = CChainParams::supportedChains.begin(); iter != CChainParams::supportedChains.end(); ++iter) { + boost::scoped_ptr tempChainParams(CChainParams::Factory(iter->first)); + if (address.IsValid(*tempChainParams)) { + SelectParams(iter->first); + break; + } } } } @@ -240,16 +237,7 @@ void PaymentServer::ipcParseCommandLine(int argc, char* argv[]) PaymentRequestPlus request; if (readPaymentRequestFromFile(arg, request)) - { - if (request.getDetails().network() == "main") - { - SelectParams(CBaseChainParams::MAIN); - } - else if (request.getDetails().network() == "test") - { - SelectParams(CBaseChainParams::TESTNET); - } - } + SelectParams(request.getDetails().network()); } else {