Browse Source

Qt: Get the private key for signing messages via WalletModel

0.14
Luke Dashjr 8 years ago
parent
commit
1880aeb033
  1. 2
      src/qt/signverifymessagedialog.cpp
  2. 5
      src/qt/walletmodel.cpp
  3. 1
      src/qt/walletmodel.h

2
src/qt/signverifymessagedialog.cpp

@ -142,7 +142,7 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked() @@ -142,7 +142,7 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked()
}
CKey key;
if (!pwalletMain->GetKey(keyID, key))
if (!model->getPrivKey(keyID, key))
{
ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
ui->statusLabel_SM->setText(tr("Private key for the entered address is not available."));

5
src/qt/walletmodel.cpp

@ -563,6 +563,11 @@ bool WalletModel::havePrivKey(const CKeyID &address) const @@ -563,6 +563,11 @@ bool WalletModel::havePrivKey(const CKeyID &address) const
return wallet->HaveKey(address);
}
bool WalletModel::getPrivKey(const CKeyID &address, CKey& vchPrivKeyOut) const
{
return wallet->GetKey(address, vchPrivKeyOut);
}
// returns a list of COutputs from COutPoints
void WalletModel::getOutputs(const std::vector<COutPoint>& vOutpoints, std::vector<COutput>& vOutputs)
{

1
src/qt/walletmodel.h

@ -188,6 +188,7 @@ public: @@ -188,6 +188,7 @@ public:
bool getPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const;
bool havePrivKey(const CKeyID &address) const;
bool getPrivKey(const CKeyID &address, CKey& vchPrivKeyOut) const;
void getOutputs(const std::vector<COutPoint>& vOutpoints, std::vector<COutput>& vOutputs);
bool isSpent(const COutPoint& outpoint) const;
void listCoins(std::map<QString, std::vector<COutput> >& mapCoins) const;

Loading…
Cancel
Save