Merge pull request #6446
e509ede trezor: adapt to new passphrase mechanism (ph4r05)
This commit is contained in:
@@ -267,13 +267,15 @@ struct Wallet2CallbackImpl : public tools::i_wallet2_callback
|
||||
return boost::none;
|
||||
}
|
||||
|
||||
virtual boost::optional<epee::wipeable_string> on_device_passphrase_request(bool on_device)
|
||||
virtual boost::optional<epee::wipeable_string> on_device_passphrase_request(bool & on_device)
|
||||
{
|
||||
if (m_listener) {
|
||||
auto passphrase = m_listener->onDevicePassphraseRequest(on_device);
|
||||
if (!on_device && passphrase) {
|
||||
if (passphrase) {
|
||||
return boost::make_optional(epee::wipeable_string((*passphrase).data(), (*passphrase).size()));
|
||||
}
|
||||
} else {
|
||||
on_device = true;
|
||||
}
|
||||
return boost::none;
|
||||
}
|
||||
|
||||
@@ -400,8 +400,8 @@ struct WalletListener
|
||||
/**
|
||||
* @brief called by device when passphrase entry is needed
|
||||
*/
|
||||
virtual optional<std::string> onDevicePassphraseRequest(bool on_device) {
|
||||
if (!on_device) throw std::runtime_error("Not supported");
|
||||
virtual optional<std::string> onDevicePassphraseRequest(bool & on_device) {
|
||||
on_device = true;
|
||||
return optional<std::string>();
|
||||
}
|
||||
|
||||
|
||||
@@ -1109,10 +1109,12 @@ boost::optional<epee::wipeable_string> wallet_device_callback::on_pin_request()
|
||||
return boost::none;
|
||||
}
|
||||
|
||||
boost::optional<epee::wipeable_string> wallet_device_callback::on_passphrase_request(bool on_device)
|
||||
boost::optional<epee::wipeable_string> wallet_device_callback::on_passphrase_request(bool & on_device)
|
||||
{
|
||||
if (wallet)
|
||||
return wallet->on_device_passphrase_request(on_device);
|
||||
else
|
||||
on_device = true;
|
||||
return boost::none;
|
||||
}
|
||||
|
||||
@@ -13618,10 +13620,12 @@ boost::optional<epee::wipeable_string> wallet2::on_device_pin_request()
|
||||
return boost::none;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
boost::optional<epee::wipeable_string> wallet2::on_device_passphrase_request(bool on_device)
|
||||
boost::optional<epee::wipeable_string> wallet2::on_device_passphrase_request(bool & on_device)
|
||||
{
|
||||
if (nullptr != m_callback)
|
||||
return m_callback->on_device_passphrase_request(on_device);
|
||||
else
|
||||
on_device = true;
|
||||
return boost::none;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -145,7 +145,7 @@ private:
|
||||
virtual void on_device_button_request(uint64_t code) {}
|
||||
virtual void on_device_button_pressed() {}
|
||||
virtual boost::optional<epee::wipeable_string> on_device_pin_request() { return boost::none; }
|
||||
virtual boost::optional<epee::wipeable_string> on_device_passphrase_request(bool on_device) { return boost::none; }
|
||||
virtual boost::optional<epee::wipeable_string> on_device_passphrase_request(bool & on_device) { on_device = true; return boost::none; }
|
||||
virtual void on_device_progress(const hw::device_progress& event) {};
|
||||
// Common callbacks
|
||||
virtual void on_pool_tx_removed(const crypto::hash &txid) {}
|
||||
@@ -159,7 +159,7 @@ private:
|
||||
void on_button_request(uint64_t code=0) override;
|
||||
void on_button_pressed() override;
|
||||
boost::optional<epee::wipeable_string> on_pin_request() override;
|
||||
boost::optional<epee::wipeable_string> on_passphrase_request(bool on_device) override;
|
||||
boost::optional<epee::wipeable_string> on_passphrase_request(bool & on_device) override;
|
||||
void on_progress(const hw::device_progress& event) override;
|
||||
private:
|
||||
wallet2 * wallet;
|
||||
@@ -1507,7 +1507,7 @@ private:
|
||||
void on_device_button_request(uint64_t code);
|
||||
void on_device_button_pressed();
|
||||
boost::optional<epee::wipeable_string> on_device_pin_request();
|
||||
boost::optional<epee::wipeable_string> on_device_passphrase_request(bool on_device);
|
||||
boost::optional<epee::wipeable_string> on_device_passphrase_request(bool & on_device);
|
||||
void on_device_progress(const hw::device_progress& event);
|
||||
|
||||
std::string get_rpc_status(const std::string &s) const;
|
||||
|
||||
Reference in New Issue
Block a user