707d2212de
Also write some new accessor methods on the baseclass. The longer term idea is to make the server itself only use the uint160 raw version for bitcoin addresses. For now move the encodings (between that uint160 and human-readable) to the utils library.
61 lines
1.7 KiB
C++
61 lines
1.7 KiB
C++
/*
|
|
* This file is part of the Flowee project
|
|
* Copyright (C) 2011-2015 The Bitcoin developers
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef FLOWEE_QT_PAYMENTREQUESTPLUS_H
|
|
#define FLOWEE_QT_PAYMENTREQUESTPLUS_H
|
|
|
|
#include "paymentrequest.pb.h"
|
|
|
|
#include <encodings_legacy.h>
|
|
|
|
#include <openssl/x509.h>
|
|
|
|
#include <QByteArray>
|
|
#include <QList>
|
|
#include <QString>
|
|
|
|
//
|
|
// Wraps dumb protocol buffer paymentRequest
|
|
// with extra methods
|
|
//
|
|
|
|
class PaymentRequestPlus
|
|
{
|
|
public:
|
|
PaymentRequestPlus() { }
|
|
|
|
bool parse(const QByteArray& data);
|
|
bool SerializeToString(std::string* output) const;
|
|
|
|
bool IsInitialized() const;
|
|
// Returns true if merchant's identity is authenticated, and
|
|
// returns human-readable merchant identity in merchant
|
|
bool getMerchant(X509_STORE* certStore, QString& merchant) const;
|
|
|
|
// Returns list of outputs, amount
|
|
QList<std::pair<CScript,CAmount> > getPayTo() const;
|
|
|
|
const payments::PaymentDetails& getDetails() const { return details; }
|
|
|
|
private:
|
|
payments::PaymentRequest paymentRequest;
|
|
payments::PaymentDetails details;
|
|
};
|
|
|
|
#endif
|