|
|
|
@ -1008,7 +1008,7 @@ void wallet2::set_unspent(size_t idx)
|
|
|
|
|
void wallet2::check_acc_out_precomp(const tx_out &o, const crypto::key_derivation &derivation, const std::vector<crypto::key_derivation> &additional_derivations, size_t i, tx_scan_info_t &tx_scan_info) const
|
|
|
|
|
{
|
|
|
|
|
hw::device &hwdev = m_account.get_device();
|
|
|
|
|
std::unique_lock<hw::device> hwdev_lock (hwdev);
|
|
|
|
|
boost::unique_lock<hw::device> hwdev_lock (hwdev);
|
|
|
|
|
hwdev.set_mode(hw::device::TRANSACTION_PARSE);
|
|
|
|
|
if (o.target.type() != typeid(txout_to_key))
|
|
|
|
|
{
|
|
|
|
@ -1086,7 +1086,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
|
|
|
|
//ensure device is let in NONE mode in any case
|
|
|
|
|
hw::device &hwdev = m_account.get_device();
|
|
|
|
|
|
|
|
|
|
std::unique_lock<hw::device> hwdev_lock (hwdev);
|
|
|
|
|
boost::unique_lock<hw::device> hwdev_lock (hwdev);
|
|
|
|
|
hw::reset_mode rst(hwdev);
|
|
|
|
|
hwdev_lock.unlock();
|
|
|
|
|
|
|
|
|
@ -1181,7 +1181,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
|
|
|
|
THROW_WALLET_EXCEPTION_IF(tx_scan_info[i].error, error::acc_outs_lookup_error, tx, tx_pub_key, m_account.get_keys());
|
|
|
|
|
if (tx_scan_info[i].received)
|
|
|
|
|
{
|
|
|
|
|
hwdev.generate_key_derivation(tx_pub_key, keys.m_view_secret_key, tx_scan_info[i].received->derivation);
|
|
|
|
|
hwdev.conceal_derivation(tx_scan_info[i].received->derivation, tx_pub_key, additional_tx_pub_keys, derivation, additional_derivations);
|
|
|
|
|
scan_output(tx, tx_pub_key, i, tx_scan_info[i], num_vouts_received, tx_money_got_in_outs, outs);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1204,7 +1204,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
|
|
|
|
THROW_WALLET_EXCEPTION_IF(tx_scan_info[i].error, error::acc_outs_lookup_error, tx, tx_pub_key, m_account.get_keys());
|
|
|
|
|
if (tx_scan_info[i].received)
|
|
|
|
|
{
|
|
|
|
|
hwdev.generate_key_derivation(tx_pub_key, keys.m_view_secret_key, tx_scan_info[i].received->derivation);
|
|
|
|
|
hwdev.conceal_derivation(tx_scan_info[i].received->derivation, tx_pub_key, additional_tx_pub_keys, derivation, additional_derivations);
|
|
|
|
|
scan_output(tx, tx_pub_key, i, tx_scan_info[i], num_vouts_received, tx_money_got_in_outs, outs);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1220,7 +1220,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
|
|
|
|
{
|
|
|
|
|
hwdev_lock.lock();
|
|
|
|
|
hwdev.set_mode(hw::device::NONE);
|
|
|
|
|
hwdev.generate_key_derivation(tx_pub_key, keys.m_view_secret_key, tx_scan_info[i].received->derivation);
|
|
|
|
|
hwdev.conceal_derivation(tx_scan_info[i].received->derivation, tx_pub_key, additional_tx_pub_keys, derivation, additional_derivations);
|
|
|
|
|
scan_output(tx, tx_pub_key, i, tx_scan_info[i], num_vouts_received, tx_money_got_in_outs, outs);
|
|
|
|
|
hwdev_lock.unlock();
|
|
|
|
|
}
|
|
|
|
@ -7285,7 +7285,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
|
|
|
|
|
{
|
|
|
|
|
//ensure device is let in NONE mode in any case
|
|
|
|
|
hw::device &hwdev = m_account.get_device();
|
|
|
|
|
std::unique_lock<hw::device> hwdev_lock (hwdev);
|
|
|
|
|
boost::unique_lock<hw::device> hwdev_lock (hwdev);
|
|
|
|
|
hw::reset_mode rst(hwdev);
|
|
|
|
|
|
|
|
|
|
if(m_light_wallet) {
|
|
|
|
@ -7868,7 +7868,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_from(const crypton
|
|
|
|
|
{
|
|
|
|
|
//ensure device is let in NONE mode in any case
|
|
|
|
|
hw::device &hwdev = m_account.get_device();
|
|
|
|
|
std::unique_lock<hw::device> hwdev_lock (hwdev);
|
|
|
|
|
boost::unique_lock<hw::device> hwdev_lock (hwdev);
|
|
|
|
|
hw::reset_mode rst(hwdev);
|
|
|
|
|
|
|
|
|
|
uint64_t accumulated_fee, accumulated_outputs, accumulated_change;
|
|
|
|
|