5#ifndef BITCOIN_QT_PAYMENTSERVER_H
6#define BITCOIN_QT_PAYMENTSERVER_H
31#if defined(HAVE_CONFIG_H)
32#include <config/bitcoin-config.h>
54class QNetworkAccessManager;
78 explicit PaymentServer(QObject *parent,
bool startLocalServer =
true);
90 static void LoadRootCAs(X509_STORE *store =
nullptr);
93 static X509_STORE *getCertStore();
97 const payments::PaymentDetails &requestDetails);
99 static bool verifyExpired(
const payments::PaymentDetails &requestDetails);
101 static bool verifySize(qint64 requestSize);
103 static bool verifyAmount(
const Amount requestAmount);
116 void receivedPaymentACK(
const QString &paymentACKMsg);
131 QByteArray transaction);
137 void netRequestFinished(QNetworkReply *);
138 void reportSslErrors(QNetworkReply *,
const QList<QSslError> &);
139 void handlePaymentACK(
const QString &paymentACKMsg);
140 void dataDownloaded();
146 bool eventFilter(QObject *
object, QEvent *event)
override;
157 static bool readPaymentRequestFromFile(
const QString &filename,
161 void fetchRequest(
const QUrl &
url);
164 void initNetManager();
167 QNetworkAccessManager *netManager;
168 QNetworkReply *paymentRequestReply{
nullptr};
CChainParams defines various tweakable parameters of a given instance of the Bitcoin system.
Interface from Qt to configuration data structure for Bitcoin client.
static bool ipcSendCommandLine()
void setOptionsModel(OptionsModel *optionsModel)
PaymentServer(QObject *parent, bool startLocalServer=true)
void message(const QString &title, const QString &message, unsigned int style)
void handleURIConnection()
static void ipcParseCommandLine(int argc, char *argv[])
void receivedPaymentRequest(SendCoinsRecipient)
bool eventFilter(QObject *object, QEvent *event) override
void handleURIOrFile(const QString &s)
bool handleURI(const CChainParams ¶ms, const QString &s)
OptionsModel * optionsModel
Top-level interface for a bitcoin node (bitcoind process).
Interface for accessing a wallet.
static QT_END_NAMESPACE const qint64 BIP70_MAX_PAYMENTREQUEST_SIZE