mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-18 08:32:30 +01:00
Payment Protocol: X509-validated payment requests
Add support for a Payment Protocol to Bitcoin-Qt. Payment messages are protocol-buffer encoded and communicated over http(s), so this adds a dependency on the Google protocol buffer library, and requires Qt with OpenSSL support.
This commit is contained in:
@@ -213,7 +213,7 @@ int main(int argc, char *argv[])
|
||||
// Do this early as we don't want to bother initializing if we are just calling IPC
|
||||
// ... but do it after creating app and setting up translations, so errors are
|
||||
// translated properly.
|
||||
if (PaymentServer::ipcSendCommandLine())
|
||||
if (PaymentServer::ipcSendCommandLine(argc, argv))
|
||||
exit(0);
|
||||
|
||||
// Now that translations are initialized check for errors and allow a translatable error message
|
||||
@@ -299,6 +299,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
optionsModel.Upgrade(); // Must be done after AppInit2
|
||||
|
||||
PaymentServer::LoadRootCAs();
|
||||
paymentServer->initNetManager(optionsModel);
|
||||
|
||||
if (splashref)
|
||||
splash.finish(&window);
|
||||
|
||||
@@ -320,8 +323,15 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// Now that initialization/startup is done, process any command-line
|
||||
// bitcoin: URIs
|
||||
QObject::connect(paymentServer, SIGNAL(receivedURI(QString)), &window, SLOT(handleURI(QString)));
|
||||
// bitcoin: URIs or payment requests:
|
||||
QObject::connect(paymentServer, SIGNAL(receivedPaymentRequest(SendCoinsRecipient)),
|
||||
&window, SLOT(handlePaymentRequest(SendCoinsRecipient)));
|
||||
QObject::connect(&walletModel, SIGNAL(coinsSent(CWallet*,SendCoinsRecipient,QByteArray)),
|
||||
paymentServer, SLOT(fetchPaymentACK(CWallet*,const SendCoinsRecipient&,QByteArray)));
|
||||
QObject::connect(paymentServer, SIGNAL(receivedPaymentACK(QString)),
|
||||
&window, SLOT(showPaymentACK(QString)));
|
||||
QObject::connect(paymentServer, SIGNAL(reportError(QString, QString, unsigned int)),
|
||||
guiref, SLOT(message(QString, QString, unsigned int)));
|
||||
QTimer::singleShot(100, paymentServer, SLOT(uiReady()));
|
||||
|
||||
app.exec();
|
||||
|
||||
Reference in New Issue
Block a user