Compare commits

...

2 Commits

Author SHA1 Message Date
mrdeveloper 65772823af Export multisig methods to libwalletqt
4 years ago
mrdeveloper 9235db2520 Extend libwallet for multisig info
4 years ago

@ -472,6 +472,42 @@ void Wallet::pauseRefresh() const
m_walletImpl->pauseRefresh();
}
QString Wallet::getMultisigInfo() {
return QString::fromStdString(m_walletImpl->getMultisigInfo());
}
QString Wallet::makeMultisig(QList<QString> &info, uint32_t threashold) {
std::vector<std::string> 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<QString> &multisigInfos) {
std::vector<std::string> 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<QString> &images) {
std::vector<std::string> 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)

@ -205,6 +205,13 @@ public:
Q_INVOKABLE void startRefresh() const;
Q_INVOKABLE void pauseRefresh() const;
//! multisig wallet
Q_INVOKABLE QString getMultisigInfo();
Q_INVOKABLE QString makeMultisig(QList<QString> &info, uint32_t threashold);
Q_INVOKABLE bool finalizeMultisig(QList<QString> &multisigInfos);
Q_INVOKABLE bool exportMultisigImages(QString &image);
Q_INVOKABLE void importMultisigImages(QList<QString> &images);
//! returns current wallet's block height
//! (can be less than daemon's blockchain height when wallet sync in progress)
Q_INVOKABLE quint64 blockChainHeight() const;

@ -30,6 +30,8 @@ int MenuPage::nextId() const {
return WalletWizard::Page_Restore;
if(ui->radioViewOnly->isChecked())
return WalletWizard::Page_ViewOnly;
if(ui->radioCreateMultisig->isChecked())
return WalletWizard::Page_CreateMultisigWallet;
return 0;
}

@ -34,6 +34,13 @@
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioCreateMultisig">
<property name="text">
<string>Create new multisig wallet</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioOpen">
<property name="text">

@ -17,7 +17,7 @@ class WalletWizard : public QWizard
Q_OBJECT
public:
enum Page { Page_Menu, Page_CreateWallet, Page_CreateWalletSeed, Page_OpenWallet, Page_Network, Page_Restore, Page_ViewOnly };
enum Page { Page_Menu, Page_CreateWallet, Page_CreateWalletSeed, Page_OpenWallet, Page_Network, Page_Restore, Page_ViewOnly, Page_CreateMultisigWallet };
explicit WalletWizard(AppContext *ctx, WalletWizard::Page startPage = WalletWizard::Page::Page_Menu, QWidget *parent = nullptr);
signals:

Loading…
Cancel
Save