Passing in kdf_work value instead of obtaining it statically.
This commit is contained in:
parent
df2a81159c
commit
cf80f891cd
5 changed files with 28 additions and 23 deletions
|
|
@ -17,7 +17,7 @@ TEST (wallet, no_special_keys_accounts)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
nano::keypair key1;
|
||||
|
|
@ -38,7 +38,7 @@ TEST (wallet, no_key)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
nano::keypair key1;
|
||||
|
|
@ -53,7 +53,7 @@ TEST (wallet, fetch_locked)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_TRUE (wallet.valid_password (transaction));
|
||||
nano::keypair key1;
|
||||
|
|
@ -75,7 +75,7 @@ TEST (wallet, retrieval)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
nano::keypair key1;
|
||||
|
|
@ -97,7 +97,7 @@ TEST (wallet, empty_iteration)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
auto i (wallet.begin (transaction));
|
||||
|
|
@ -111,7 +111,7 @@ TEST (wallet, one_item_iteration)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
nano::keypair key1;
|
||||
|
|
@ -137,7 +137,7 @@ TEST (wallet, two_item_iteration)
|
|||
ASSERT_NE (key1.pub, key2.pub);
|
||||
std::unordered_set<nano::public_key> pubs;
|
||||
std::unordered_set<nano::raw_key> prvs;
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
{
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
|
|
@ -277,7 +277,7 @@ TEST (wallet, find_none)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
nano::account account (1000);
|
||||
|
|
@ -290,7 +290,7 @@ TEST (wallet, find_existing)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
nano::keypair key1;
|
||||
|
|
@ -309,7 +309,7 @@ TEST (wallet, rekey)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
nano::raw_key password;
|
||||
|
|
@ -381,7 +381,7 @@ TEST (wallet, hash_password)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
nano::raw_key hash1;
|
||||
|
|
@ -430,7 +430,7 @@ TEST (wallet, reopen_default_password)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
auto transaction (env.tx_begin_write ());
|
||||
ASSERT_FALSE (init);
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
{
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
|
|
@ -466,7 +466,7 @@ TEST (wallet, representative)
|
|||
nano::mdb_env env (error, nano::unique_path ());
|
||||
ASSERT_FALSE (error);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (error, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
ASSERT_FALSE (wallet.is_representative (transaction));
|
||||
|
|
@ -487,7 +487,7 @@ TEST (wallet, serialize_json_empty)
|
|||
nano::mdb_env env (error, nano::unique_path ());
|
||||
ASSERT_FALSE (error);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet1 (error, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
std::string serialized;
|
||||
|
|
@ -512,7 +512,7 @@ TEST (wallet, serialize_json_one)
|
|||
nano::mdb_env env (error, nano::unique_path ());
|
||||
ASSERT_FALSE (error);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet1 (error, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
nano::keypair key;
|
||||
|
|
@ -541,7 +541,7 @@ TEST (wallet, serialize_json_password)
|
|||
nano::mdb_env env (error, nano::unique_path ());
|
||||
ASSERT_FALSE (error);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet1 (error, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
nano::keypair key;
|
||||
|
|
@ -574,7 +574,7 @@ TEST (wallet_store, move)
|
|||
nano::mdb_env env (error, nano::unique_path ());
|
||||
ASSERT_FALSE (error);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet1 (error, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
nano::keypair key1;
|
||||
|
|
@ -732,7 +732,7 @@ TEST (wallet, deterministic_keys)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
auto key1 = wallet.deterministic_key (transaction, 0);
|
||||
auto key2 = wallet.deterministic_key (transaction, 0);
|
||||
|
|
@ -775,7 +775,7 @@ TEST (wallet, reseed)
|
|||
nano::mdb_env env (init, nano::unique_path ());
|
||||
ASSERT_FALSE (init);
|
||||
auto transaction (env.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store wallet (init, kdf, transaction, nano::dev::genesis->account (), 1, "0");
|
||||
nano::raw_key seed1;
|
||||
seed1 = 1;
|
||||
|
|
|
|||
|
|
@ -702,7 +702,7 @@ std::error_code nano::handle_node_options (boost::program_options::variables_map
|
|||
nano::raw_key junk1;
|
||||
junk1.clear ();
|
||||
nano::uint256_union junk2 (0);
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ inactive_node->node->config.network_params.kdf_work};
|
||||
kdf.phs (junk1, "", junk2);
|
||||
std::cout << "Testing time retrieval latency... " << std::flush;
|
||||
nano::timer<std::chrono::nanoseconds> timer (nano::timer_state::started);
|
||||
|
|
|
|||
|
|
@ -651,9 +651,8 @@ void nano::wallet_store::version_put (nano::transaction const & transaction_a, u
|
|||
|
||||
void nano::kdf::phs (nano::raw_key & result_a, std::string const & password_a, nano::uint256_union const & salt_a)
|
||||
{
|
||||
static nano::network_params network_params;
|
||||
nano::lock_guard<nano::mutex> lock (mutex);
|
||||
auto success (argon2_hash (1, network_params.kdf_work, 1, password_a.data (), password_a.size (), salt_a.bytes.data (), salt_a.bytes.size (), result_a.bytes.data (), result_a.bytes.size (), NULL, 0, Argon2_d, 0x10));
|
||||
auto success (argon2_hash (1, kdf_work, 1, password_a.data (), password_a.size (), salt_a.bytes.data (), salt_a.bytes.size (), result_a.bytes.data (), result_a.bytes.size (), NULL, 0, Argon2_d, 0x10));
|
||||
debug_assert (success == 0);
|
||||
(void)success;
|
||||
}
|
||||
|
|
@ -1336,6 +1335,7 @@ void nano::wallets::do_wallet_actions ()
|
|||
|
||||
nano::wallets::wallets (bool error_a, nano::node & node_a) :
|
||||
observer ([] (bool) {}),
|
||||
kdf{ node_a.config.network_params.kdf_work },
|
||||
node (node_a),
|
||||
env (boost::polymorphic_downcast<nano::mdb_wallets_store *> (node_a.wallets_store_impl.get ())->environment),
|
||||
stopped (false),
|
||||
|
|
|
|||
|
|
@ -34,8 +34,13 @@ private:
|
|||
class kdf final
|
||||
{
|
||||
public:
|
||||
kdf (unsigned & kdf_work) :
|
||||
kdf_work{ kdf_work }
|
||||
{
|
||||
}
|
||||
void phs (nano::raw_key &, std::string const &, nano::uint256_union const &);
|
||||
nano::mutex mutex;
|
||||
unsigned & kdf_work;
|
||||
};
|
||||
enum class key_type
|
||||
{
|
||||
|
|
|
|||
|
|
@ -829,7 +829,7 @@ TEST (rpc, wallet_export)
|
|||
bool error (false);
|
||||
rpc_ctx->io_scope->reset ();
|
||||
auto transaction (node->wallets.tx_begin_write ());
|
||||
nano::kdf kdf;
|
||||
nano::kdf kdf{ nano::dev::network_params.kdf_work };
|
||||
nano::wallet_store store (error, kdf, transaction, nano::dev::genesis->account (), 1, "0", wallet_json);
|
||||
ASSERT_FALSE (error);
|
||||
ASSERT_TRUE (store.exists (transaction, nano::dev::genesis_key.pub));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue