From 65772823afa6ce992783386cc24763691dbf5656 Mon Sep 17 00:00:00 2001 From: mrdeveloper Date: Sun, 25 Oct 2020 09:54:10 +0100 Subject: [PATCH] Export multisig methods to libwalletqt --- src/libwalletqt/Wallet.cpp | 34 +++++++++++++++++++++++++++++++++- src/libwalletqt/Wallet.h | 6 +++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index d122f38..d36e306 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -472,10 +472,42 @@ void Wallet::pauseRefresh() const m_walletImpl->pauseRefresh(); } -QString Wallet::getMultisigInfo() const { +QString Wallet::getMultisigInfo() { return QString::fromStdString(m_walletImpl->getMultisigInfo()); } +QString Wallet::makeMultisig(QList &info, uint32_t threashold) { + std::vector infos; + for(int i = 0; i < info.length(); i++) { + infos.push_back(info[i].toStdString()); + } + QString multisig_info; + return multisig_info.fromStdString(m_walletImpl->makeMultisig(infos, threashold)); +} + +bool Wallet::finalizeMultisig(QList &multisigInfos) { + std::vector infos; + for(int i = 0; i < multisigInfos.length(); i++) { + infos.push_back(multisigInfos[i].toStdString()); + } + return m_walletImpl->finalizeMultisig(infos); +} + +bool Wallet::exportMultisigImages(QString &image) { + std::string img = image.toStdString(); + auto ret = m_walletImpl->exportMultisigImages(img); + image.fromStdString(img); + return ret; +} + +void Wallet::importMultisigImages(QList &images) { + std::vector imgs; + for(int i = 0; i < images.length(); i++) { + imgs.push_back(images[i].toStdString()); + } + m_walletImpl->importMultisigImages(imgs); +} + PendingTransaction *Wallet::createTransaction(const QString &dst_addr, const QString &payment_id, quint64 amount, quint32 mixin_count, PendingTransaction::Priority priority) diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h index 26e1d15..f3cd5a8 100644 --- a/src/libwalletqt/Wallet.h +++ b/src/libwalletqt/Wallet.h @@ -206,7 +206,11 @@ public: Q_INVOKABLE void pauseRefresh() const; //! multisig wallet - Q_INVOKABLE QString getMultisigInfo() const; + Q_INVOKABLE QString getMultisigInfo(); + Q_INVOKABLE QString makeMultisig(QList &info, uint32_t threashold); + Q_INVOKABLE bool finalizeMultisig(QList &multisigInfos); + Q_INVOKABLE bool exportMultisigImages(QString &image); + Q_INVOKABLE void importMultisigImages(QList &images); //! returns current wallet's block height //! (can be less than daemon's blockchain height when wallet sync in progress)