Merge pull request #4302
ba8dd347
api/wallet: properly disable key encryption (stoffu)
This commit is contained in:
commit
b174527f1d
|
@ -91,8 +91,8 @@ static bool generate_multisig(uint32_t threshold, uint32_t total, const std::str
|
||||||
for (size_t n = 0; n < total; ++n)
|
for (size_t n = 0; n < total; ++n)
|
||||||
{
|
{
|
||||||
std::string name = basename + "-" + std::to_string(n + 1);
|
std::string name = basename + "-" + std::to_string(n + 1);
|
||||||
wallets[n].reset(new tools::wallet2(nettype));
|
wallets[n].reset(new tools::wallet2(nettype, 1, false));
|
||||||
wallets[n]->init(false, "");
|
wallets[n]->init("");
|
||||||
wallets[n]->generate(name, pwd_container->password(), rct::rct2sk(rct::skGen()), false, false, create_address_file);
|
wallets[n]->generate(name, pwd_container->password(), rct::rct2sk(rct::skGen()), false, false, create_address_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4089,7 +4089,7 @@ bool simple_wallet::set_daemon(const std::vector<std::string>& args)
|
||||||
daemon_url = args[0];
|
daemon_url = args[0];
|
||||||
}
|
}
|
||||||
LOCK_IDLE_SCOPE();
|
LOCK_IDLE_SCOPE();
|
||||||
m_wallet->init(false, daemon_url);
|
m_wallet->init(daemon_url);
|
||||||
|
|
||||||
if (args.size() == 2)
|
if (args.size() == 2)
|
||||||
{
|
{
|
||||||
|
|
|
@ -376,7 +376,7 @@ WalletImpl::WalletImpl(NetworkType nettype, uint64_t kdf_rounds)
|
||||||
, m_rebuildWalletCache(false)
|
, m_rebuildWalletCache(false)
|
||||||
, m_is_connected(false)
|
, m_is_connected(false)
|
||||||
{
|
{
|
||||||
m_wallet = new tools::wallet2(static_cast<cryptonote::network_type>(nettype), kdf_rounds);
|
m_wallet = new tools::wallet2(static_cast<cryptonote::network_type>(nettype), kdf_rounds, true);
|
||||||
m_history = new TransactionHistoryImpl(this);
|
m_history = new TransactionHistoryImpl(this);
|
||||||
m_wallet2Callback = new Wallet2CallbackImpl(this);
|
m_wallet2Callback = new Wallet2CallbackImpl(this);
|
||||||
m_wallet->callback(m_wallet2Callback);
|
m_wallet->callback(m_wallet2Callback);
|
||||||
|
@ -2033,7 +2033,7 @@ bool WalletImpl::isNewWallet() const
|
||||||
bool WalletImpl::doInit(const string &daemon_address, uint64_t upper_transaction_size_limit, bool ssl)
|
bool WalletImpl::doInit(const string &daemon_address, uint64_t upper_transaction_size_limit, bool ssl)
|
||||||
{
|
{
|
||||||
// claim RPC so there's no in-memory encryption for now
|
// claim RPC so there's no in-memory encryption for now
|
||||||
if (!m_wallet->init(true, daemon_address, m_daemon_login, upper_transaction_size_limit, ssl))
|
if (!m_wallet->init(daemon_address, m_daemon_login, upper_transaction_size_limit, ssl))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// in case new wallet, this will force fast-refresh (pulling hashes instead of blocks)
|
// in case new wallet, this will force fast-refresh (pulling hashes instead of blocks)
|
||||||
|
|
|
@ -263,8 +263,8 @@ std::unique_ptr<tools::wallet2> make_basic(const boost::program_options::variabl
|
||||||
catch (const std::exception &e) { }
|
catch (const std::exception &e) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<tools::wallet2> wallet(new tools::wallet2(nettype, kdf_rounds));
|
std::unique_ptr<tools::wallet2> wallet(new tools::wallet2(nettype, kdf_rounds, unattended));
|
||||||
wallet->init(unattended, std::move(daemon_address), std::move(login), 0, false, *trusted_daemon);
|
wallet->init(std::move(daemon_address), std::move(login), 0, false, *trusted_daemon);
|
||||||
boost::filesystem::path ringdb_path = command_line::get_arg(vm, opts.shared_ringdb_dir);
|
boost::filesystem::path ringdb_path = command_line::get_arg(vm, opts.shared_ringdb_dir);
|
||||||
wallet->set_ring_database(ringdb_path.string());
|
wallet->set_ring_database(ringdb_path.string());
|
||||||
wallet->device_name(device_name);
|
wallet->device_name(device_name);
|
||||||
|
@ -751,7 +751,7 @@ wallet_keys_unlocker::~wallet_keys_unlocker()
|
||||||
w.encrypt_keys(key);
|
w.encrypt_keys(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
wallet2::wallet2(network_type nettype, uint64_t kdf_rounds):
|
wallet2::wallet2(network_type nettype, uint64_t kdf_rounds, bool unattended):
|
||||||
m_multisig_rescan_info(NULL),
|
m_multisig_rescan_info(NULL),
|
||||||
m_multisig_rescan_k(NULL),
|
m_multisig_rescan_k(NULL),
|
||||||
m_run(true),
|
m_run(true),
|
||||||
|
@ -799,7 +799,7 @@ wallet2::wallet2(network_type nettype, uint64_t kdf_rounds):
|
||||||
m_ringdb(),
|
m_ringdb(),
|
||||||
m_last_block_reward(0),
|
m_last_block_reward(0),
|
||||||
m_encrypt_keys_after_refresh(boost::none),
|
m_encrypt_keys_after_refresh(boost::none),
|
||||||
m_unattended(false)
|
m_unattended(unattended)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -881,9 +881,8 @@ std::unique_ptr<wallet2> wallet2::make_dummy(const boost::program_options::varia
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
bool wallet2::init(bool unattended, std::string daemon_address, boost::optional<epee::net_utils::http::login> daemon_login, uint64_t upper_transaction_weight_limit, bool ssl, bool trusted_daemon)
|
bool wallet2::init(std::string daemon_address, boost::optional<epee::net_utils::http::login> daemon_login, uint64_t upper_transaction_weight_limit, bool ssl, bool trusted_daemon)
|
||||||
{
|
{
|
||||||
m_unattended = unattended;
|
|
||||||
m_checkpoints.init_default_checkpoints(m_nettype);
|
m_checkpoints.init_default_checkpoints(m_nettype);
|
||||||
if(m_http_client.is_connected())
|
if(m_http_client.is_connected())
|
||||||
m_http_client.disconnect();
|
m_http_client.disconnect();
|
||||||
|
|
|
@ -190,7 +190,7 @@ namespace tools
|
||||||
|
|
||||||
static bool verify_password(const std::string& keys_file_name, const epee::wipeable_string& password, bool no_spend_key, hw::device &hwdev, uint64_t kdf_rounds);
|
static bool verify_password(const std::string& keys_file_name, const epee::wipeable_string& password, bool no_spend_key, hw::device &hwdev, uint64_t kdf_rounds);
|
||||||
|
|
||||||
wallet2(cryptonote::network_type nettype = cryptonote::MAINNET, uint64_t kdf_rounds = 1);
|
wallet2(cryptonote::network_type nettype = cryptonote::MAINNET, uint64_t kdf_rounds = 1, bool unattended = false);
|
||||||
~wallet2();
|
~wallet2();
|
||||||
|
|
||||||
struct multisig_info
|
struct multisig_info
|
||||||
|
@ -639,7 +639,7 @@ namespace tools
|
||||||
bool explicit_refresh_from_block_height() const {return m_explicit_refresh_from_block_height;}
|
bool explicit_refresh_from_block_height() const {return m_explicit_refresh_from_block_height;}
|
||||||
|
|
||||||
bool deinit();
|
bool deinit();
|
||||||
bool init(bool unatteded, std::string daemon_address = "http://localhost:8080",
|
bool init(std::string daemon_address = "http://localhost:8080",
|
||||||
boost::optional<epee::net_utils::http::login> daemon_login = boost::none, uint64_t upper_transaction_weight_limit = 0, bool ssl = false, bool trusted_daemon = false);
|
boost::optional<epee::net_utils::http::login> daemon_login = boost::none, uint64_t upper_transaction_weight_limit = 0, bool ssl = false, bool trusted_daemon = false);
|
||||||
|
|
||||||
void stop() { m_run.store(false, std::memory_order_relaxed); }
|
void stop() { m_run.store(false, std::memory_order_relaxed); }
|
||||||
|
|
|
@ -138,7 +138,7 @@ bool transactions_flow_test(std::string& working_folder,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
w1.init(true, daemon_addr_a);
|
w1.init(daemon_addr_a);
|
||||||
|
|
||||||
uint64_t blocks_fetched = 0;
|
uint64_t blocks_fetched = 0;
|
||||||
bool received_money;
|
bool received_money;
|
||||||
|
@ -149,7 +149,7 @@ bool transactions_flow_test(std::string& working_folder,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
w2.init(true, daemon_addr_b);
|
w2.init(daemon_addr_b);
|
||||||
|
|
||||||
MGINFO_GREEN("Using wallets: " << ENDL
|
MGINFO_GREEN("Using wallets: " << ENDL
|
||||||
<< "Source: " << w1.get_account().get_public_address_str(MAINNET) << ENDL << "Path: " << working_folder + "/" + path_source_wallet << ENDL
|
<< "Source: " << w1.get_account().get_public_address_str(MAINNET) << ENDL << "Path: " << working_folder + "/" + path_source_wallet << ENDL
|
||||||
|
|
|
@ -61,7 +61,7 @@ static void make_wallet(unsigned int idx, tools::wallet2 &wallet)
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
wallet.init(false, "");
|
wallet.init("");
|
||||||
wallet.set_subaddress_lookahead(1, 1);
|
wallet.set_subaddress_lookahead(1, 1);
|
||||||
wallet.generate("", "", spendkey, true, false);
|
wallet.generate("", "", spendkey, true, false);
|
||||||
ASSERT_TRUE(test_addresses[idx].address == wallet.get_account().get_public_address_str(cryptonote::TESTNET));
|
ASSERT_TRUE(test_addresses[idx].address == wallet.get_account().get_public_address_str(cryptonote::TESTNET));
|
||||||
|
|
Loading…
Reference in New Issue