From cbb438ccccafd2df958c63efd172332ee3cf5470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Tim=C3=B3n?= Date: Mon, 25 May 2015 08:16:15 +0200 Subject: [PATCH] Chainparams: Adapt qt/paymentserver to support more than 2 chains --- src/qt/paymentserver.cpp | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) 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 {