Bitcoin Core  0.19.99
P2P Digital Currency
paymentrequestplus.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2018 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.
4 
5 #ifndef BITCOIN_QT_PAYMENTREQUESTPLUS_H
6 #define BITCOIN_QT_PAYMENTREQUESTPLUS_H
7 
8 #pragma GCC diagnostic push
9 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
10 #include <qt/paymentrequest.pb.h>
11 #pragma GCC diagnostic pop
12 
13 #include <amount.h>
14 #include <script/script.h>
15 
16 #include <openssl/x509.h>
17 
18 #include <QByteArray>
19 #include <QList>
20 #include <QString>
21 
22 static const bool DEFAULT_SELFSIGNED_ROOTCERTS = false;
23 
24 //
25 // Wraps dumb protocol buffer paymentRequest
26 // with extra methods
27 //
28 
30 {
31 public:
33 
34  bool parse(const QByteArray& data);
35  bool SerializeToString(std::string* output) const;
36 
37  bool IsInitialized() const;
38  // Returns true if merchant's identity is authenticated, and
39  // returns human-readable merchant identity in merchant
40  bool getMerchant(X509_STORE* certStore, QString& merchant) const;
41 
42  // Returns list of outputs, amount
43  QList<std::pair<CScript,CAmount> > getPayTo() const;
44 
45  const payments::PaymentDetails& getDetails() const { return details; }
46 
47 private:
48  payments::PaymentRequest paymentRequest;
49  payments::PaymentDetails details;
50 };
51 
52 #endif // BITCOIN_QT_PAYMENTREQUESTPLUS_H
bool SerializeToString(std::string *output) const
static const bool DEFAULT_SELFSIGNED_ROOTCERTS
bool getMerchant(X509_STORE *certStore, QString &merchant) const
const payments::PaymentDetails & getDetails() const
QList< std::pair< CScript, CAmount > > getPayTo() const
bool parse(const QByteArray &data)
payments::PaymentDetails details
payments::PaymentRequest paymentRequest