git / moonbite-core / src/qt/psbtoperationsdialog.h · raw
// Copyright (c) 2011-2020 The Bitcoin Core developers// Distributed under the MIT software license, see the accompanying// file COPYING or http://www.opensource.org/licenses/mit-license.php.#ifndef BITCOIN_QT_PSBTOPERATIONSDIALOG_H#define BITCOIN_QT_PSBTOPERATIONSDIALOG_H#include <QDialog>#include <psbt.h>#include <qt/clientmodel.h>#include <qt/walletmodel.h>namespace Ui {class PSBTOperationsDialog;}/** Dialog showing transaction details. */class PSBTOperationsDialog : public QDialog{ Q_OBJECTpublic: explicit PSBTOperationsDialog(QWidget* parent, WalletModel* walletModel, ClientModel* clientModel); ~PSBTOperationsDialog(); void openWithPSBT(PartiallySignedTransaction psbtx);public Q_SLOTS: void signTransaction(); void broadcastTransaction(); void copyToClipboard(); void saveTransaction();private: Ui::PSBTOperationsDialog* m_ui; PartiallySignedTransaction m_transaction_data; WalletModel* m_wallet_model; ClientModel* m_client_model; enum class StatusLevel { INFO, WARN, ERR }; size_t couldSignInputs(const PartiallySignedTransaction &psbtx); void updateTransactionDisplay(); std::string renderTransaction(const PartiallySignedTransaction &psbtx); void showStatus(const QString &msg, StatusLevel level); void showTransactionStatus(const PartiallySignedTransaction &psbtx);};#endif // BITCOIN_QT_PSBTOPERATIONSDIALOG_H