Skip to content

Commit

Permalink
Merge bitcoin#15063: GUI: If BIP70 is disabled, attempt to fall back …
Browse files Browse the repository at this point in the history
…to BIP21 parsing

84f5315 Travis: Add test without BIP70 (but still full wallet + tests) (Luke Dashjr)
113f000 GUI: If BIP70 is disabled, give a proper error when trying to open a payment request file (Luke Dashjr)
9975282 GUI: If BIP70 is disabled, attempt to fall back to BIP21 parsing (Luke Dashjr)

Pull request description:

Tree-SHA512: 66a684ce4336d0eac8b0107b405ff3a2cf312258a967f3e1b14734cd39db11e2db3e9b03492755583170d94d54754ef536b0776e5f19a0cc2caca8379eeb4495
  • Loading branch information
jonasschnelli authored and dzutto committed Aug 19, 2021
1 parent f3407c7 commit 2e56463
Showing 1 changed file with 17 additions and 9 deletions.
26 changes: 17 additions & 9 deletions src/qt/paymentserver.cpp
Expand Up @@ -295,9 +295,9 @@ void PaymentServer::handleURIOrFile(const QString& s)
else if (s.startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // dash: URI
{
QUrlQuery uri((QUrl(s)));
#ifdef ENABLE_BIP70
if (uri.hasQueryItem("r")) // payment request URI
{
#ifdef ENABLE_BIP70
Q_EMIT message(tr("URI handling"),
tr("You are using a BIP70 URL which will be unsupported in the future."),
CClientUIInterface::ICON_WARNING);
Expand All @@ -318,19 +318,23 @@ void PaymentServer::handleURIOrFile(const QString& s)
tr("Payment request fetch URL is invalid: %1").arg(fetchUrl.toString()),
CClientUIInterface::ICON_WARNING);
}
#else
Q_EMIT message(tr("URI handling"),
tr("Cannot process payment request because BIP70 support was not compiled in."),
CClientUIInterface::ICON_WARNING);
#endif
return;
}
else // normal URI
else
#endif
// normal URI
{
SendCoinsRecipient recipient;
if (GUIUtil::parseBitcoinURI(s, &recipient))
{
if (!IsValidDestinationString(recipient.address.toStdString())) {
#ifndef ENABLE_BIP70
if (uri.hasQueryItem("r")) { // payment request
Q_EMIT message(tr("URI handling"),
tr("Cannot process payment request because BIP70 support was not compiled in."),
CClientUIInterface::ICON_WARNING);
}
#endif
Q_EMIT message(tr("URI handling"), tr("Invalid payment address %1").arg(recipient.address),
CClientUIInterface::MSG_ERROR);
}
Expand All @@ -346,9 +350,9 @@ void PaymentServer::handleURIOrFile(const QString& s)
}
}

#ifdef ENABLE_BIP70
if (QFile::exists(s)) // payment request file
{
#ifdef ENABLE_BIP70
PaymentRequestPlus request;
SendCoinsRecipient recipient;
if (!readPaymentRequestFromFile(s, request))
Expand All @@ -361,8 +365,12 @@ void PaymentServer::handleURIOrFile(const QString& s)
Q_EMIT receivedPaymentRequest(recipient);

return;
}
#else
Q_EMIT message(tr("Payment request file handling"),
tr("Cannot process payment request because BIP70 support was not compiled in."),
CClientUIInterface::ICON_WARNING);
#endif
}
}

void PaymentServer::handleURIConnection()
Expand Down

0 comments on commit 2e56463

Please sign in to comment.