Add CashAddr Address Format
Ported from Bitcoin Unlimited, Bitcoin ABC
This commit is contained in:
36
src/qt/test/bitcoinaddressvalidatortests.cpp
Normal file
36
src/qt/test/bitcoinaddressvalidatortests.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
// Copyright (c) 2017 The Bitcoin Developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include "qt/test/bitcoinaddressvalidatortests.h"
|
||||
#include "chainparams.h"
|
||||
#include "qt/bitcoinaddressvalidator.h"
|
||||
#include <QValidator>
|
||||
|
||||
void BitcoinAddressValidatorTests::inputTests() {
|
||||
const std::string prefix = Params(CBaseChainParams::MAIN).CashAddrPrefix();
|
||||
BitcoinAddressEntryValidator v(prefix, nullptr);
|
||||
|
||||
int unused = 0;
|
||||
QString in;
|
||||
|
||||
// invalid base58 because of I, invalid cashaddr
|
||||
in = "BIIC";
|
||||
QVERIFY(QValidator::Invalid == v.validate(in, unused));
|
||||
|
||||
// invalid base58, invalid cashaddr
|
||||
in = "BITCOINCASHH";
|
||||
QVERIFY(QValidator::Invalid == v.validate(in, unused));
|
||||
|
||||
// invalid base58 because of I, but could be a cashaddr prefix
|
||||
in = "BITC";
|
||||
QVERIFY(QValidator::Acceptable == v.validate(in, unused));
|
||||
|
||||
// invalid base58, valid cashaddr
|
||||
in = "BITCOINCASH:QP";
|
||||
QVERIFY(QValidator::Acceptable == v.validate(in, unused));
|
||||
|
||||
// valid base58, invalid cash
|
||||
in = "BBBBBBBBBBBBBB";
|
||||
QVERIFY(QValidator::Acceptable == v.validate(in, unused));
|
||||
}
|
||||
18
src/qt/test/bitcoinaddressvalidatortests.h
Normal file
18
src/qt/test/bitcoinaddressvalidatortests.h
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2017 The Bitcoin Developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#ifndef BITCOIN_QT_TEST_BITCOINADDRESSVALIDATORTESTS_H
|
||||
#define BITCOIN_QT_TEST_BITCOINADDRESSVALIDATORTESTS_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QTest>
|
||||
|
||||
class BitcoinAddressValidatorTests : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
void inputTests();
|
||||
};
|
||||
|
||||
#endif
|
||||
62
src/qt/test/guiutiltests.cpp
Normal file
62
src/qt/test/guiutiltests.cpp
Normal file
@@ -0,0 +1,62 @@
|
||||
// Copyright (c) 2017 The Bitcoin developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include "guiutiltests.h"
|
||||
#include "chainparams.h"
|
||||
#include "config.h"
|
||||
#include "dstencode.h"
|
||||
#include "guiutil.h"
|
||||
#include "receiverequestdialog.h"
|
||||
|
||||
namespace {
|
||||
|
||||
class UtilCfgDummy : public DummyConfig {
|
||||
public:
|
||||
UtilCfgDummy() : useCashAddr(false) {}
|
||||
void SetCashAddrEncoding(bool b) override { useCashAddr = b; }
|
||||
bool UseCashAddrEncoding() const override { return useCashAddr; }
|
||||
const CChainParams &GetChainParams() const override {
|
||||
return Params(CBaseChainParams::MAIN);
|
||||
}
|
||||
|
||||
private:
|
||||
bool useCashAddr;
|
||||
};
|
||||
|
||||
} // anon ns
|
||||
|
||||
void GUIUtilTests::dummyAddressTest() {
|
||||
CChainParams ¶ms = Params(CBaseChainParams::MAIN);
|
||||
UtilCfgDummy cfg;
|
||||
std::string dummyaddr;
|
||||
|
||||
cfg.SetCashAddrEncoding(false);
|
||||
dummyaddr = GUIUtil::DummyAddress(params, cfg);
|
||||
QVERIFY(!IsValidDestinationString(dummyaddr, params));
|
||||
QVERIFY(!dummyaddr.empty());
|
||||
|
||||
cfg.SetCashAddrEncoding(true);
|
||||
dummyaddr = GUIUtil::DummyAddress(params, cfg);
|
||||
QVERIFY(!IsValidDestinationString(dummyaddr, params));
|
||||
QVERIFY(!dummyaddr.empty());
|
||||
}
|
||||
|
||||
void GUIUtilTests::toCurrentEncodingTest() {
|
||||
UtilCfgDummy config;
|
||||
|
||||
// garbage in, garbage out
|
||||
QVERIFY(ToCurrentEncoding("garbage", config) == "garbage");
|
||||
|
||||
QString cashaddr_pubkey =
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a";
|
||||
QString base58_pubkey = "1BpEi6DfDAUFd7GtittLSdBeYJvcoaVggu";
|
||||
|
||||
config.SetCashAddrEncoding(true);
|
||||
QVERIFY(ToCurrentEncoding(cashaddr_pubkey, config) == cashaddr_pubkey);
|
||||
QVERIFY(ToCurrentEncoding(base58_pubkey, config) == cashaddr_pubkey);
|
||||
|
||||
config.SetCashAddrEncoding(false);
|
||||
QVERIFY(ToCurrentEncoding(cashaddr_pubkey, config) == base58_pubkey);
|
||||
QVERIFY(ToCurrentEncoding(base58_pubkey, config) == base58_pubkey);
|
||||
}
|
||||
19
src/qt/test/guiutiltests.h
Normal file
19
src/qt/test/guiutiltests.h
Normal file
@@ -0,0 +1,19 @@
|
||||
// Copyright (c) 2017 The Bitcoin developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#ifndef BITCOIN_QT_TEST_GUIUTILTESTS_H
|
||||
#define BITCOIN_QT_TEST_GUIUTILTESTS_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QTest>
|
||||
|
||||
class GUIUtilTests : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
void dummyAddressTest();
|
||||
void toCurrentEncodingTest();
|
||||
};
|
||||
|
||||
#endif // BITCOIN_QT_TEST_GUIUTILTESTS_H
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "config/bitcoin-config.h"
|
||||
#endif
|
||||
|
||||
#include "bitcoinaddressvalidatortests.h"
|
||||
#include "guiutiltests.h"
|
||||
#include "util.h"
|
||||
#include "uritests.h"
|
||||
|
||||
@@ -48,6 +50,10 @@ int main(int argc, char *argv[])
|
||||
if (QTest::qExec(&test2) != 0)
|
||||
fInvalid = true;
|
||||
#endif
|
||||
GUIUtilTests test5;
|
||||
if (QTest::qExec(&test5) != 0) fInvalid = true;
|
||||
BitcoinAddressValidatorTests test6;
|
||||
if (QTest::qExec(&test6) != 0) fInvalid = true;
|
||||
|
||||
return fInvalid;
|
||||
}
|
||||
|
||||
@@ -1,66 +1,219 @@
|
||||
// Copyright (c) 2009-2014 The Bitcoin Core developers
|
||||
// Copyright (c) 2015-2017 The Bitcoin Unlimited developers
|
||||
// Copyright (c) 2017 The Bitcoin developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include "uritests.h"
|
||||
|
||||
#include "chainparams.h"
|
||||
#include "config.h"
|
||||
#include "guiutil.h"
|
||||
#include "walletmodel.h"
|
||||
|
||||
#include <QUrl>
|
||||
|
||||
void URITests::uriTests()
|
||||
void URITests::uriTestsBase58()
|
||||
{
|
||||
SendCoinsRecipient rv;
|
||||
QString scheme =
|
||||
QString::fromStdString(Params(CBaseChainParams::MAIN).CashAddrPrefix());
|
||||
QUrl uri;
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist="));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist="));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist="));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist="));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||
QVERIFY(rv.label == QString());
|
||||
QVERIFY(rv.amount == 0);
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label=Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label=Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||
QVERIFY(rv.label == QString("Wikipedia Example Address"));
|
||||
QVERIFY(rv.amount == 0);
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||
QVERIFY(rv.label == QString());
|
||||
QVERIFY(rv.amount == 100000);
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||
QVERIFY(rv.label == QString());
|
||||
QVERIFY(rv.amount == 100100000);
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&label=Wikipedia Example"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&label=Wikipedia Example"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||
QVERIFY(rv.amount == 10000000000LL);
|
||||
QVERIFY(rv.label == QString("Wikipedia Example"));
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||
QVERIFY(rv.label == QString());
|
||||
|
||||
QVERIFY(GUIUtil::parseBitcoinURI("bitcoin://175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address", &rv));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, "blackcoin://175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?"
|
||||
"message=Wikipedia Example Address",
|
||||
&rv));
|
||||
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
|
||||
QVERIFY(rv.label == QString());
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example"));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example"));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
|
||||
uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example"));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
|
||||
uri.setUrl(QString("blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example"));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
}
|
||||
|
||||
void URITests::uriTestsCashAddr() {
|
||||
SendCoinsRecipient rv;
|
||||
QUrl uri;
|
||||
QString scheme =
|
||||
QString::fromStdString(Params(CBaseChainParams::MAIN).CashAddrPrefix());
|
||||
uri.setUrl(QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?"
|
||||
"req-dontexist="));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
|
||||
uri.setUrl(QString(
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?dontexist="));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address ==
|
||||
QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a"));
|
||||
QVERIFY(rv.label == QString());
|
||||
QVERIFY(rv.amount == 0);
|
||||
|
||||
uri.setUrl(
|
||||
QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?label="
|
||||
"Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address ==
|
||||
QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a"));
|
||||
QVERIFY(rv.label == QString("Wikipedia Example Address"));
|
||||
QVERIFY(rv.amount == 0);
|
||||
|
||||
uri.setUrl(QString(
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?amount=0.001"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address ==
|
||||
QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a"));
|
||||
QVERIFY(rv.label == QString());
|
||||
QVERIFY(rv.amount == 100000);
|
||||
|
||||
uri.setUrl(QString(
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?amount=1.001"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address ==
|
||||
QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a"));
|
||||
QVERIFY(rv.label == QString());
|
||||
QVERIFY(rv.amount == 100100000);
|
||||
|
||||
uri.setUrl(QString(
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?amount=100&"
|
||||
"label=Wikipedia Example"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address ==
|
||||
QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a"));
|
||||
QVERIFY(rv.amount == 10000000000LL);
|
||||
QVERIFY(rv.label == QString("Wikipedia Example"));
|
||||
|
||||
uri.setUrl(QString(
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?message="
|
||||
"Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
QVERIFY(rv.address ==
|
||||
QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a"));
|
||||
QVERIFY(rv.label == QString());
|
||||
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(
|
||||
scheme, "blackcoin://"
|
||||
"qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?"
|
||||
"message=Wikipedia Example Address",
|
||||
&rv));
|
||||
QVERIFY(rv.address ==
|
||||
QString("blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a"));
|
||||
QVERIFY(rv.label == QString());
|
||||
|
||||
uri.setUrl(QString(
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?req-message="
|
||||
"Wikipedia Example Address"));
|
||||
QVERIFY(GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
|
||||
uri.setUrl(QString(
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?amount=1,"
|
||||
"000&label=Wikipedia Example"));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
|
||||
uri.setUrl(QString(
|
||||
"blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?amount=1,"
|
||||
"000.0&label=Wikipedia Example"));
|
||||
QVERIFY(!GUIUtil::parseBitcoinURI(scheme, uri, &rv));
|
||||
}
|
||||
|
||||
namespace {
|
||||
class UriTestConfig : public DummyConfig {
|
||||
public:
|
||||
UriTestConfig(bool useCashAddr)
|
||||
: useCashAddr(useCashAddr), net(CBaseChainParams::MAIN) {}
|
||||
bool UseCashAddrEncoding() const override { return useCashAddr; }
|
||||
const CChainParams &GetChainParams() const override { return Params(net); }
|
||||
void SetChainParams(const std::string &n) { net = n; }
|
||||
|
||||
private:
|
||||
bool useCashAddr;
|
||||
std::string net;
|
||||
};
|
||||
|
||||
} // anon ns
|
||||
|
||||
void URITests::uriTestFormatURI() {
|
||||
{
|
||||
UriTestConfig cfg(true);
|
||||
SendCoinsRecipient r;
|
||||
r.address = "blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a";
|
||||
r.message = "test";
|
||||
QString uri = GUIUtil::formatBitcoinURI(cfg, r);
|
||||
QVERIFY(uri == "blackcoin:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a?"
|
||||
"message=test");
|
||||
}
|
||||
|
||||
{
|
||||
UriTestConfig cfg(false);
|
||||
SendCoinsRecipient r;
|
||||
r.address = "175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W";
|
||||
r.message = "test";
|
||||
QString uri = GUIUtil::formatBitcoinURI(cfg, r);
|
||||
QVERIFY(uri ==
|
||||
"blackcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=test");
|
||||
}
|
||||
}
|
||||
|
||||
void URITests::uriTestScheme() {
|
||||
{
|
||||
// cashaddr - scheme depends on selected chain params
|
||||
UriTestConfig config(true);
|
||||
config.SetChainParams(CBaseChainParams::MAIN);
|
||||
QVERIFY("blackcoin" == GUIUtil::bitcoinURIScheme(config));
|
||||
config.SetChainParams(CBaseChainParams::TESTNET);
|
||||
QVERIFY("blktest" == GUIUtil::bitcoinURIScheme(config));
|
||||
config.SetChainParams(CBaseChainParams::REGTEST);
|
||||
QVERIFY("blkreg" == GUIUtil::bitcoinURIScheme(config));
|
||||
}
|
||||
{
|
||||
// legacy - scheme is "blackcoin" regardless of chain params
|
||||
UriTestConfig config(false);
|
||||
config.SetChainParams(CBaseChainParams::MAIN);
|
||||
QVERIFY("blackcoin" == GUIUtil::bitcoinURIScheme(config));
|
||||
config.SetChainParams(CBaseChainParams::TESTNET);
|
||||
QVERIFY("blackcoin" == GUIUtil::bitcoinURIScheme(config));
|
||||
config.SetChainParams(CBaseChainParams::REGTEST);
|
||||
QVERIFY("blackcoin" == GUIUtil::bitcoinURIScheme(config));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,10 @@ class URITests : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
void uriTests();
|
||||
void uriTestsBase58();
|
||||
void uriTestsCashAddr();
|
||||
void uriTestFormatURI();
|
||||
void uriTestScheme();
|
||||
};
|
||||
|
||||
#endif // BITCOIN_QT_TEST_URITESTS_H
|
||||
|
||||
Reference in New Issue
Block a user