1 // Copyright (c) 2011-2016 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 #ifndef BITCOIN_QT_PAYMENTREQUESTPLUS_H
6 #define BITCOIN_QT_PAYMENTREQUESTPLUS_H
8 #pragma GCC diagnostic push
9 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
10 #include "paymentrequest.pb.h"
11 #pragma GCC diagnostic pop
15 #include <openssl/x509.h>
21 static const bool DEFAULT_SELFSIGNED_ROOTCERTS
= false;
24 // Wraps dumb protocol buffer paymentRequest
28 class PaymentRequestPlus
31 PaymentRequestPlus() { }
33 bool parse(const QByteArray
& data
);
34 bool SerializeToString(std::string
* output
) const;
36 bool IsInitialized() const;
37 // Returns true if merchant's identity is authenticated, and
38 // returns human-readable merchant identity in merchant
39 bool getMerchant(X509_STORE
* certStore
, QString
& merchant
) const;
41 // Returns list of outputs, amount
42 QList
<std::pair
<CScript
,CAmount
> > getPayTo() const;
44 const payments::PaymentDetails
& getDetails() const { return details
; }
47 payments::PaymentRequest paymentRequest
;
48 payments::PaymentDetails details
;
51 #endif // BITCOIN_QT_PAYMENTREQUESTPLUS_H