Moving mdb_env from wallet_store to wallets class.
This commit is contained in:
parent
4b9e206746
commit
98e1c9993b
11 changed files with 121 additions and 122 deletions
|
@ -574,7 +574,7 @@ TEST (system, generate_send_existing)
|
|||
auto send_block (system.wallet (0)->send_action (rai::genesis_account, stake_preserver.pub, rai::genesis_amount / 3 * 2, true));
|
||||
rai::account_info info1;
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, false);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, false);
|
||||
ASSERT_FALSE (system.nodes[0]->store.account_get (transaction, rai::test_genesis_key.pub, info1));
|
||||
}
|
||||
std::vector<rai::account> accounts;
|
||||
|
@ -590,7 +590,7 @@ TEST (system, generate_send_existing)
|
|||
ASSERT_GT (system.nodes[0]->balance (stake_preserver.pub), system.nodes[0]->balance (rai::genesis_account));
|
||||
rai::account_info info2;
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, false);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, false);
|
||||
ASSERT_FALSE (system.nodes[0]->store.account_get (transaction, rai::test_genesis_key.pub, info2));
|
||||
}
|
||||
ASSERT_NE (info1.head, info2.head);
|
||||
|
@ -598,13 +598,13 @@ TEST (system, generate_send_existing)
|
|||
while (info2.block_count < info1.block_count + 2)
|
||||
{
|
||||
ASSERT_NO_ERROR (system.poll ());
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, false);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, false);
|
||||
ASSERT_FALSE (system.nodes[0]->store.account_get (transaction, rai::test_genesis_key.pub, info2));
|
||||
}
|
||||
ASSERT_EQ (info1.block_count + 2, info2.block_count);
|
||||
ASSERT_EQ (info2.balance, rai::genesis_amount / 3);
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, false);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, false);
|
||||
ASSERT_NE (system.nodes[0]->ledger.amount (transaction, info2.head), 0);
|
||||
}
|
||||
system.stop ();
|
||||
|
|
|
@ -341,7 +341,7 @@ TEST (node, unlock_search)
|
|||
rai::keypair key2;
|
||||
rai::uint128_t balance (system.nodes[0]->balance (rai::test_genesis_key.pub));
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, true);
|
||||
system.wallet (0)->store.rekey (transaction, "");
|
||||
}
|
||||
system.wallet (0)->insert_adhoc (rai::test_genesis_key.prv);
|
||||
|
@ -355,7 +355,7 @@ TEST (node, unlock_search)
|
|||
system.wallet (0)->store.password.value_set (rai::keypair ().prv);
|
||||
auto node (system.nodes[0]);
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, true);
|
||||
ASSERT_FALSE (system.wallet (0)->enter_password (transaction, ""));
|
||||
}
|
||||
system.deadline_set (10s);
|
||||
|
@ -947,7 +947,7 @@ TEST (node, fork_no_vote_quorum)
|
|||
auto key4 (system.wallet (0)->deterministic_insert ());
|
||||
system.wallet (0)->send_action (rai::test_genesis_key.pub, key4, rai::genesis_amount / 4);
|
||||
auto key1 (system.wallet (1)->deterministic_insert ());
|
||||
system.wallet (1)->store.representative_set (rai::transaction (system.wallet (1)->store.environment, true), key1);
|
||||
system.wallet (1)->store.representative_set (rai::transaction (system.wallet (1)->wallets.environment, true), key1);
|
||||
auto block (system.wallet (0)->send_action (rai::test_genesis_key.pub, key1, node1.config.receive_minimum.number ()));
|
||||
ASSERT_NE (nullptr, block);
|
||||
system.deadline_set (30s);
|
||||
|
@ -965,7 +965,7 @@ TEST (node, fork_no_vote_quorum)
|
|||
auto key2 (system.wallet (2)->deterministic_insert ());
|
||||
auto send2 (std::make_shared<rai::send_block> (block->hash (), key2, (rai::genesis_amount / 4) - (node1.config.receive_minimum.number () * 2), rai::test_genesis_key.prv, rai::test_genesis_key.pub, system.work.generate (block->hash ())));
|
||||
rai::raw_key key3;
|
||||
ASSERT_FALSE (system.wallet (1)->store.fetch (rai::transaction (system.wallet (1)->store.environment, false), key1, key3));
|
||||
ASSERT_FALSE (system.wallet (1)->store.fetch (rai::transaction (system.wallet (1)->wallets.environment, false), key1, key3));
|
||||
auto vote (std::make_shared<rai::vote> (key1, key3, 0, send2));
|
||||
rai::confirm_ack confirm (vote);
|
||||
std::shared_ptr<std::vector<uint8_t>> bytes (new std::vector<uint8_t>);
|
||||
|
@ -995,13 +995,13 @@ TEST (node, DISABLED_fork_pre_confirm)
|
|||
rai::keypair key1;
|
||||
system.wallet (1)->insert_adhoc (key1.prv);
|
||||
{
|
||||
rai::transaction transaction (system.wallet (1)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (1)->wallets.environment, true);
|
||||
system.wallet (1)->store.representative_set (transaction, key1.pub);
|
||||
}
|
||||
rai::keypair key2;
|
||||
system.wallet (2)->insert_adhoc (key2.prv);
|
||||
{
|
||||
rai::transaction transaction (system.wallet (2)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (2)->wallets.environment, true);
|
||||
system.wallet (2)->store.representative_set (transaction, key2.pub);
|
||||
}
|
||||
system.deadline_set (30s);
|
||||
|
|
|
@ -467,7 +467,7 @@ TEST (rpc, wallet_password_change)
|
|||
ASSERT_EQ (200, response.status);
|
||||
std::string account_text1 (response.json.get<std::string> ("changed"));
|
||||
ASSERT_EQ (account_text1, "1");
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, true);
|
||||
ASSERT_TRUE (system.wallet (0)->store.valid_password (transaction));
|
||||
ASSERT_TRUE (system.wallet (0)->enter_password (transaction, ""));
|
||||
ASSERT_FALSE (system.wallet (0)->store.valid_password (transaction));
|
||||
|
@ -640,7 +640,7 @@ TEST (rpc, wallet_export)
|
|||
bool error (false);
|
||||
rai::transaction transaction (system.nodes[0]->store.environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store store (error, kdf, system.nodes[0]->store.environment, transaction, rai::genesis_account, 1, "0", wallet_json);
|
||||
rai::wallet_store store (error, kdf, transaction, rai::genesis_account, 1, "0", wallet_json);
|
||||
ASSERT_FALSE (error);
|
||||
ASSERT_TRUE (store.exists (transaction, rai::test_genesis_key.pub));
|
||||
}
|
||||
|
@ -1145,7 +1145,7 @@ TEST (rpc, payment_begin_end)
|
|||
rai::uint256_union account;
|
||||
ASSERT_FALSE (account.decode_account (account_text));
|
||||
ASSERT_TRUE (wallet->exists (account));
|
||||
auto root1 (system.nodes[0]->ledger.latest_root (rai::transaction (wallet->store.environment, false), account));
|
||||
auto root1 (system.nodes[0]->ledger.latest_root (rai::transaction (wallet->wallets.environment, false), account));
|
||||
uint64_t work (0);
|
||||
while (!rai::work_validate (root1, work))
|
||||
{
|
||||
|
@ -1156,7 +1156,7 @@ TEST (rpc, payment_begin_end)
|
|||
while (rai::work_validate (root1, work))
|
||||
{
|
||||
auto ec = system.poll ();
|
||||
ASSERT_FALSE (wallet->store.work_get (rai::transaction (wallet->store.environment, false), account, work));
|
||||
ASSERT_FALSE (wallet->store.work_get (rai::transaction (wallet->wallets.environment, false), account, work));
|
||||
ASSERT_NO_ERROR (ec);
|
||||
}
|
||||
ASSERT_EQ (wallet->free_accounts.end (), wallet->free_accounts.find (account));
|
||||
|
@ -1280,7 +1280,7 @@ TEST (rpc, payment_begin_locked)
|
|||
rai::keypair wallet_id;
|
||||
auto wallet (node1->wallets.create (wallet_id.pub));
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
wallet->store.rekey (transaction, "1");
|
||||
ASSERT_TRUE (wallet->store.attempt_password (transaction, ""));
|
||||
}
|
||||
|
@ -3438,7 +3438,7 @@ TEST (rpc, wallet_lock)
|
|||
std::string wallet;
|
||||
system.nodes[0]->wallets.items.begin ()->first.encode_hex (wallet);
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, false);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, false);
|
||||
ASSERT_TRUE (system.wallet (0)->store.valid_password (transaction));
|
||||
}
|
||||
request.put ("wallet", wallet);
|
||||
|
@ -3451,7 +3451,7 @@ TEST (rpc, wallet_lock)
|
|||
ASSERT_EQ (200, response.status);
|
||||
std::string account_text1 (response.json.get<std::string> ("locked"));
|
||||
ASSERT_EQ (account_text1, "1");
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, false);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, false);
|
||||
ASSERT_FALSE (system.wallet (0)->store.valid_password (transaction));
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ TEST (wallet, no_key)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
rai::keypair key1;
|
||||
rai::raw_key prv1;
|
||||
|
@ -28,7 +28,7 @@ TEST (wallet, fetch_locked)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_TRUE (wallet.valid_password (transaction));
|
||||
rai::keypair key1;
|
||||
ASSERT_EQ (key1.pub, wallet.insert_adhoc (transaction, key1.prv));
|
||||
|
@ -50,7 +50,7 @@ TEST (wallet, retrieval)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
rai::keypair key1;
|
||||
ASSERT_TRUE (wallet.valid_password (transaction));
|
||||
|
@ -72,7 +72,7 @@ TEST (wallet, empty_iteration)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
auto i (wallet.begin (transaction));
|
||||
auto j (wallet.end ());
|
||||
|
@ -86,7 +86,7 @@ TEST (wallet, one_item_iteration)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
rai::keypair key1;
|
||||
wallet.insert_adhoc (transaction, key1.prv);
|
||||
|
@ -114,7 +114,7 @@ TEST (wallet, two_item_iteration)
|
|||
rai::kdf kdf;
|
||||
{
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
wallet.insert_adhoc (transaction, key1.prv);
|
||||
wallet.insert_adhoc (transaction, key2.prv);
|
||||
|
@ -254,7 +254,7 @@ TEST (wallet, find_none)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
rai::uint256_union account (1000);
|
||||
ASSERT_EQ (wallet.end (), wallet.find (transaction, account));
|
||||
|
@ -267,7 +267,7 @@ TEST (wallet, find_existing)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
rai::keypair key1;
|
||||
ASSERT_FALSE (wallet.exists (transaction, key1.pub));
|
||||
|
@ -286,7 +286,7 @@ TEST (wallet, rekey)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
rai::raw_key password;
|
||||
wallet.password.value (password);
|
||||
|
@ -349,7 +349,7 @@ TEST (wallet, hash_password)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
rai::raw_key hash1;
|
||||
wallet.derive_key (hash1, transaction, "");
|
||||
|
@ -399,25 +399,25 @@ TEST (wallet, reopen_default_password)
|
|||
ASSERT_FALSE (init);
|
||||
rai::kdf kdf;
|
||||
{
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
ASSERT_TRUE (wallet.valid_password (transaction));
|
||||
}
|
||||
{
|
||||
bool init;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
ASSERT_TRUE (wallet.valid_password (transaction));
|
||||
}
|
||||
{
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
wallet.rekey (transaction, "");
|
||||
ASSERT_TRUE (wallet.valid_password (transaction));
|
||||
}
|
||||
{
|
||||
bool init;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
ASSERT_FALSE (wallet.valid_password (transaction));
|
||||
wallet.attempt_password (transaction, " ");
|
||||
|
@ -434,7 +434,7 @@ TEST (wallet, representative)
|
|||
ASSERT_FALSE (error);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (error, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (error, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
ASSERT_FALSE (wallet.is_representative (transaction));
|
||||
ASSERT_EQ (rai::genesis_account, wallet.representative (transaction));
|
||||
|
@ -455,11 +455,11 @@ TEST (wallet, serialize_json_empty)
|
|||
ASSERT_FALSE (error);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet1 (error, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet1 (error, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
std::string serialized;
|
||||
wallet1.serialize_json (transaction, serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, environment, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
ASSERT_FALSE (error);
|
||||
rai::raw_key password1;
|
||||
rai::raw_key password2;
|
||||
|
@ -480,13 +480,13 @@ TEST (wallet, serialize_json_one)
|
|||
ASSERT_FALSE (error);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet1 (error, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet1 (error, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
rai::keypair key;
|
||||
wallet1.insert_adhoc (transaction, key.prv);
|
||||
std::string serialized;
|
||||
wallet1.serialize_json (transaction, serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, environment, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
ASSERT_FALSE (error);
|
||||
rai::raw_key password1;
|
||||
rai::raw_key password2;
|
||||
|
@ -509,14 +509,14 @@ TEST (wallet, serialize_json_password)
|
|||
ASSERT_FALSE (error);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet1 (error, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet1 (error, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
rai::keypair key;
|
||||
wallet1.rekey (transaction, "password");
|
||||
wallet1.insert_adhoc (transaction, key.prv);
|
||||
std::string serialized;
|
||||
wallet1.serialize_json (transaction, serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, environment, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
ASSERT_FALSE (error);
|
||||
ASSERT_FALSE (wallet2.valid_password (transaction));
|
||||
ASSERT_FALSE (wallet2.attempt_password (transaction, "password"));
|
||||
|
@ -542,11 +542,11 @@ TEST (wallet_store, move)
|
|||
ASSERT_FALSE (error);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet1 (error, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet1 (error, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
rai::keypair key1;
|
||||
wallet1.insert_adhoc (transaction, key1.prv);
|
||||
rai::wallet_store wallet2 (error, kdf, environment, transaction, rai::genesis_account, 1, "1");
|
||||
rai::wallet_store wallet2 (error, kdf, transaction, rai::genesis_account, 1, "1");
|
||||
ASSERT_FALSE (error);
|
||||
rai::keypair key2;
|
||||
wallet2.insert_adhoc (transaction, key2.prv);
|
||||
|
@ -652,12 +652,12 @@ TEST (wallet, insert_locked)
|
|||
rai::system system (24000, 1);
|
||||
auto wallet (system.wallet (0));
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
wallet->store.rekey (transaction, "1");
|
||||
ASSERT_TRUE (wallet->store.valid_password (transaction));
|
||||
wallet->enter_password (transaction, "");
|
||||
}
|
||||
rai::transaction transaction (wallet->store.environment, false);
|
||||
rai::transaction transaction (wallet->wallets.environment, false);
|
||||
ASSERT_FALSE (wallet->store.valid_password (transaction));
|
||||
ASSERT_TRUE (wallet->insert_adhoc (rai::keypair ().prv).is_zero ());
|
||||
}
|
||||
|
@ -668,7 +668,7 @@ TEST (wallet, version_1_upgrade)
|
|||
auto wallet (system.wallet (0));
|
||||
wallet->enter_initial_password ();
|
||||
rai::keypair key;
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
ASSERT_TRUE (wallet->store.valid_password (transaction));
|
||||
wallet->store.rekey (transaction, "1");
|
||||
wallet->enter_password (transaction, "");
|
||||
|
@ -709,7 +709,7 @@ TEST (wallet, deterministic_keys)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
rai::raw_key key1;
|
||||
wallet.deterministic_key (key1, transaction, 0);
|
||||
rai::raw_key key2;
|
||||
|
@ -755,7 +755,7 @@ TEST (wallet, reseed)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
rai::raw_key seed1;
|
||||
seed1.data = 1;
|
||||
rai::raw_key seed2;
|
||||
|
@ -785,7 +785,7 @@ TEST (wallet, insert_deterministic_locked)
|
|||
{
|
||||
rai::system system (24000, 1);
|
||||
auto wallet (system.wallet (0));
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
wallet->store.rekey (transaction, "1");
|
||||
ASSERT_TRUE (wallet->store.valid_password (transaction));
|
||||
wallet->enter_password (transaction, "");
|
||||
|
@ -797,7 +797,7 @@ TEST (wallet, version_2_upgrade)
|
|||
{
|
||||
rai::system system (24000, 1);
|
||||
auto wallet (system.wallet (0));
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
wallet->store.rekey (transaction, "1");
|
||||
ASSERT_TRUE (wallet->store.attempt_password (transaction, ""));
|
||||
wallet->store.erase (transaction, rai::wallet_store::deterministic_index_special);
|
||||
|
@ -817,7 +817,7 @@ TEST (wallet, version_3_upgrade)
|
|||
{
|
||||
rai::system system (24000, 1);
|
||||
auto wallet (system.wallet (0));
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
wallet->store.rekey (transaction, "1");
|
||||
wallet->enter_password (transaction, "1");
|
||||
ASSERT_TRUE (wallet->store.valid_password (transaction));
|
||||
|
@ -884,13 +884,13 @@ TEST (wallet, password_race)
|
|||
system.nodes[0]->background ([&wallet]() {
|
||||
for (int i = 0; i < 100; i++)
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
wallet->store.rekey (transaction, std::to_string (i));
|
||||
}
|
||||
});
|
||||
for (int i = 0; i < 100; i++)
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, false);
|
||||
rai::transaction transaction (wallet->wallets.environment, false);
|
||||
// Password should always be valid, the rekey operation should be atomic.
|
||||
bool ok = wallet->store.valid_password (transaction);
|
||||
EXPECT_TRUE (ok);
|
||||
|
@ -910,12 +910,12 @@ TEST (wallet, password_race_corrupt_seed)
|
|||
auto wallet = system.wallet (0);
|
||||
rai::raw_key seed;
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
ASSERT_FALSE (wallet->store.rekey (transaction, "4567"));
|
||||
wallet->store.seed (seed, transaction);
|
||||
}
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, false);
|
||||
rai::transaction transaction (wallet->wallets.environment, false);
|
||||
ASSERT_FALSE (wallet->store.attempt_password (transaction, "4567"));
|
||||
}
|
||||
for (int i = 0; i < 100; i++)
|
||||
|
@ -923,21 +923,21 @@ TEST (wallet, password_race_corrupt_seed)
|
|||
system.nodes[0]->background ([&wallet]() {
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
wallet->store.rekey (transaction, "0000");
|
||||
}
|
||||
});
|
||||
system.nodes[0]->background ([&wallet]() {
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
wallet->store.rekey (transaction, "1234");
|
||||
}
|
||||
});
|
||||
system.nodes[0]->background ([&wallet]() {
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, false);
|
||||
rai::transaction transaction (wallet->wallets.environment, false);
|
||||
wallet->store.attempt_password (transaction, "1234");
|
||||
}
|
||||
});
|
||||
|
@ -945,7 +945,7 @@ TEST (wallet, password_race_corrupt_seed)
|
|||
system.stop ();
|
||||
runner.join ();
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
if (!wallet->store.attempt_password (transaction, "1234"))
|
||||
{
|
||||
rai::raw_key seed_now;
|
||||
|
|
|
@ -75,7 +75,7 @@ std::error_code rai::handle_node_options (boost::program_options::variables_map
|
|||
auto wallet (node.node->wallets.open (wallet_id));
|
||||
if (wallet != nullptr)
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
if (!wallet->enter_password (transaction, password))
|
||||
{
|
||||
auto pub (wallet->store.deterministic_insert (transaction));
|
||||
|
@ -306,7 +306,7 @@ std::error_code rai::handle_node_options (boost::program_options::variables_map
|
|||
auto wallet (node.node->wallets.open (wallet_id));
|
||||
if (wallet != nullptr)
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
if (!wallet->enter_password (transaction, password))
|
||||
{
|
||||
rai::raw_key key;
|
||||
|
@ -360,7 +360,7 @@ std::error_code rai::handle_node_options (boost::program_options::variables_map
|
|||
auto wallet (node.node->wallets.open (wallet_id));
|
||||
if (wallet != nullptr)
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
if (!wallet->enter_password (transaction, password))
|
||||
{
|
||||
rai::raw_key key;
|
||||
|
@ -421,7 +421,7 @@ std::error_code rai::handle_node_options (boost::program_options::variables_map
|
|||
auto existing (node.node->wallets.items.find (wallet_id));
|
||||
if (existing != node.node->wallets.items.end ())
|
||||
{
|
||||
rai::transaction transaction (existing->second->store.environment, true);
|
||||
rai::transaction transaction (existing->second->wallets.environment, true);
|
||||
if (!existing->second->enter_password (transaction, password))
|
||||
{
|
||||
rai::raw_key seed;
|
||||
|
@ -557,7 +557,7 @@ std::error_code rai::handle_node_options (boost::program_options::variables_map
|
|||
for (auto i (node.node->wallets.items.begin ()), n (node.node->wallets.items.end ()); i != n; ++i)
|
||||
{
|
||||
std::cout << boost::str (boost::format ("Wallet ID: %1%\n") % i->first.to_string ());
|
||||
rai::transaction transaction (i->second->store.environment, false);
|
||||
rai::transaction transaction (node.node->wallets.environment, false);
|
||||
for (auto j (i->second->store.begin (transaction)), m (i->second->store.end ()); j != m; ++j)
|
||||
{
|
||||
std::cout << rai::uint256_union (j->first).to_account () << '\n';
|
||||
|
@ -578,7 +578,7 @@ std::error_code rai::handle_node_options (boost::program_options::variables_map
|
|||
rai::account account_id;
|
||||
if (!account_id.decode_account (vm["account"].as<std::string> ()))
|
||||
{
|
||||
rai::transaction transaction (wallet->second->store.environment, true);
|
||||
rai::transaction transaction (node.node->wallets.environment, true);
|
||||
auto account (wallet->second->store.find (transaction, account_id));
|
||||
if (account != wallet->second->store.end ())
|
||||
{
|
||||
|
@ -625,7 +625,7 @@ std::error_code rai::handle_node_options (boost::program_options::variables_map
|
|||
auto wallet (node.node->wallets.items.find (wallet_id));
|
||||
if (wallet != node.node->wallets.items.end ())
|
||||
{
|
||||
rai::transaction transaction (wallet->second->store.environment, false);
|
||||
rai::transaction transaction (node.node->wallets.environment, false);
|
||||
auto representative (wallet->second->store.representative (transaction));
|
||||
std::cout << boost::str (boost::format ("Representative: %1%\n") % representative.to_account ());
|
||||
}
|
||||
|
@ -663,7 +663,7 @@ std::error_code rai::handle_node_options (boost::program_options::variables_map
|
|||
auto wallet (node.node->wallets.items.find (wallet_id));
|
||||
if (wallet != node.node->wallets.items.end ())
|
||||
{
|
||||
rai::transaction transaction (wallet->second->store.environment, true);
|
||||
rai::transaction transaction (node.node->wallets.environment, true);
|
||||
wallet->second->store.representative_set (transaction, account);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -1915,7 +1915,7 @@ void rai::rpc_handler::password_enter ()
|
|||
if (!ec)
|
||||
{
|
||||
std::string password_text (request.get<std::string> ("password"));
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
auto error (wallet->enter_password (transaction, password_text));
|
||||
response_l.put ("valid", error ? "0" : "1");
|
||||
}
|
||||
|
|
|
@ -265,11 +265,10 @@ int const rai::wallet_store::special_count (7);
|
|||
size_t const rai::wallet_store::check_iv_index (0);
|
||||
size_t const rai::wallet_store::seed_iv_index (1);
|
||||
|
||||
rai::wallet_store::wallet_store (bool & init_a, rai::kdf & kdf_a, rai::mdb_env & environment_a, rai::transaction & transaction_a, rai::account representative_a, unsigned fanout_a, std::string const & wallet_a, std::string const & json_a) :
|
||||
rai::wallet_store::wallet_store (bool & init_a, rai::kdf & kdf_a, rai::transaction & transaction_a, rai::account representative_a, unsigned fanout_a, std::string const & wallet_a, std::string const & json_a) :
|
||||
password (0, fanout_a),
|
||||
wallet_key_mem (0, fanout_a),
|
||||
kdf (kdf_a),
|
||||
environment (environment_a)
|
||||
kdf (kdf_a)
|
||||
{
|
||||
init_a = false;
|
||||
initialize (transaction_a, init_a, wallet_a);
|
||||
|
@ -322,11 +321,10 @@ environment (environment_a)
|
|||
}
|
||||
}
|
||||
|
||||
rai::wallet_store::wallet_store (bool & init_a, rai::kdf & kdf_a, rai::mdb_env & environment_a, rai::transaction & transaction_a, rai::account representative_a, unsigned fanout_a, std::string const & wallet_a) :
|
||||
rai::wallet_store::wallet_store (bool & init_a, rai::kdf & kdf_a, rai::transaction & transaction_a, rai::account representative_a, unsigned fanout_a, std::string const & wallet_a) :
|
||||
password (0, fanout_a),
|
||||
wallet_key_mem (0, fanout_a),
|
||||
kdf (kdf_a),
|
||||
environment (environment_a)
|
||||
kdf (kdf_a)
|
||||
{
|
||||
init_a = false;
|
||||
initialize (transaction_a, init_a, wallet_a);
|
||||
|
@ -740,16 +738,16 @@ void rai::kdf::phs (rai::raw_key & result_a, std::string const & password_a, rai
|
|||
(void)success;
|
||||
}
|
||||
|
||||
rai::wallet::wallet (bool & init_a, rai::mdb_env & environment_a, rai::transaction & transaction_a, rai::wallets & wallets_a, std::string const & wallet_a) :
|
||||
rai::wallet::wallet (bool & init_a, rai::transaction & transaction_a, rai::wallets & wallets_a, std::string const & wallet_a) :
|
||||
lock_observer ([](bool, bool) {}),
|
||||
store (init_a, wallets_a.kdf, environment_a, transaction_a, wallets_a.node.config.random_representative (), wallets_a.node.config.password_fanout, wallet_a),
|
||||
store (init_a, wallets_a.kdf, transaction_a, wallets_a.node.config.random_representative (), wallets_a.node.config.password_fanout, wallet_a),
|
||||
wallets (wallets_a)
|
||||
{
|
||||
}
|
||||
|
||||
rai::wallet::wallet (bool & init_a, rai::mdb_env & environment_a, rai::transaction & transaction_a, rai::wallets & wallets_a, std::string const & wallet_a, std::string const & json) :
|
||||
rai::wallet::wallet (bool & init_a, rai::transaction & transaction_a, rai::wallets & wallets_a, std::string const & wallet_a, std::string const & json) :
|
||||
lock_observer ([](bool, bool) {}),
|
||||
store (init_a, wallets_a.kdf, environment_a, transaction_a, wallets_a.node.config.random_representative (), wallets_a.node.config.password_fanout, wallet_a, json),
|
||||
store (init_a, wallets_a.kdf, transaction_a, wallets_a.node.config.random_representative (), wallets_a.node.config.password_fanout, wallet_a, json),
|
||||
wallets (wallets_a)
|
||||
{
|
||||
}
|
||||
|
@ -761,7 +759,7 @@ void rai::wallet::enter_initial_password ()
|
|||
store.password.value (password_l);
|
||||
if (password_l.data.is_zero ())
|
||||
{
|
||||
rai::transaction transaction (store.environment, true);
|
||||
rai::transaction transaction (wallets.environment, true);
|
||||
if (store.valid_password (transaction))
|
||||
{
|
||||
// Newly created wallets have a zero key
|
||||
|
@ -804,7 +802,7 @@ rai::public_key rai::wallet::deterministic_insert (MDB_txn * transaction_a, bool
|
|||
|
||||
rai::public_key rai::wallet::deterministic_insert (bool generate_work_a)
|
||||
{
|
||||
rai::transaction transaction (store.environment, true);
|
||||
rai::transaction transaction (wallets.environment, true);
|
||||
auto result (deterministic_insert (transaction, generate_work_a));
|
||||
return result;
|
||||
}
|
||||
|
@ -825,7 +823,7 @@ rai::public_key rai::wallet::insert_adhoc (MDB_txn * transaction_a, rai::raw_key
|
|||
|
||||
rai::public_key rai::wallet::insert_adhoc (rai::raw_key const & account_a, bool generate_work_a)
|
||||
{
|
||||
rai::transaction transaction (store.environment, true);
|
||||
rai::transaction transaction (wallets.environment, true);
|
||||
auto result (insert_adhoc (transaction, account_a, generate_work_a));
|
||||
return result;
|
||||
}
|
||||
|
@ -837,7 +835,7 @@ void rai::wallet::insert_watch (MDB_txn * transaction_a, rai::public_key const &
|
|||
|
||||
bool rai::wallet::exists (rai::public_key const & account_a)
|
||||
{
|
||||
rai::transaction transaction (store.environment, false);
|
||||
rai::transaction transaction (wallets.environment, false);
|
||||
return store.exists (transaction, account_a);
|
||||
}
|
||||
|
||||
|
@ -846,17 +844,17 @@ bool rai::wallet::import (std::string const & json_a, std::string const & passwo
|
|||
auto error (false);
|
||||
std::unique_ptr<rai::wallet_store> temp;
|
||||
{
|
||||
rai::transaction transaction (store.environment, true);
|
||||
rai::transaction transaction (wallets.environment, true);
|
||||
rai::uint256_union id;
|
||||
random_pool.GenerateBlock (id.bytes.data (), id.bytes.size ());
|
||||
temp.reset (new rai::wallet_store (error, wallets.node.wallets.kdf, store.environment, transaction, 0, 1, id.to_string (), json_a));
|
||||
temp.reset (new rai::wallet_store (error, wallets.node.wallets.kdf, transaction, 0, 1, id.to_string (), json_a));
|
||||
}
|
||||
if (!error)
|
||||
{
|
||||
rai::transaction transaction (store.environment, false);
|
||||
rai::transaction transaction (wallets.environment, false);
|
||||
error = temp->attempt_password (transaction, password_a);
|
||||
}
|
||||
rai::transaction transaction (store.environment, true);
|
||||
rai::transaction transaction (wallets.environment, true);
|
||||
if (!error)
|
||||
{
|
||||
error = store.import (transaction, *temp);
|
||||
|
@ -867,7 +865,7 @@ bool rai::wallet::import (std::string const & json_a, std::string const & passwo
|
|||
|
||||
void rai::wallet::serialize (std::string & json_a)
|
||||
{
|
||||
rai::transaction transaction (store.environment, false);
|
||||
rai::transaction transaction (wallets.environment, false);
|
||||
store.serialize_json (transaction, json_a);
|
||||
}
|
||||
|
||||
|
@ -949,7 +947,7 @@ std::shared_ptr<rai::block> rai::wallet::change_action (rai::account const & sou
|
|||
{
|
||||
std::shared_ptr<rai::block> block;
|
||||
{
|
||||
rai::transaction transaction (store.environment, false);
|
||||
rai::transaction transaction (wallets.environment, false);
|
||||
if (store.valid_password (transaction))
|
||||
{
|
||||
auto existing (store.find (transaction, source_a));
|
||||
|
@ -994,7 +992,7 @@ std::shared_ptr<rai::block> rai::wallet::send_action (rai::account const & sourc
|
|||
bool error = false;
|
||||
bool cached_block = false;
|
||||
{
|
||||
rai::transaction transaction (store.environment, (bool)id_mdb_val);
|
||||
rai::transaction transaction (wallets.environment, (bool)id_mdb_val);
|
||||
if (id_mdb_val)
|
||||
{
|
||||
rai::mdb_val result;
|
||||
|
@ -1146,7 +1144,7 @@ void rai::wallet::work_ensure (rai::account const & account_a, rai::block_hash c
|
|||
|
||||
bool rai::wallet::search_pending ()
|
||||
{
|
||||
rai::transaction transaction (store.environment, false);
|
||||
rai::transaction transaction (wallets.environment, false);
|
||||
auto result (!store.valid_password (transaction));
|
||||
if (!result)
|
||||
{
|
||||
|
@ -1238,7 +1236,7 @@ void rai::wallet::work_cache_blocking (rai::account const & account_a, rai::bloc
|
|||
{
|
||||
BOOST_LOG (wallets.node.log) << "Work generation complete: " << (std::chrono::duration_cast<std::chrono::microseconds> (std::chrono::steady_clock::now () - begin).count ()) << " us";
|
||||
}
|
||||
rai::transaction transaction (store.environment, true);
|
||||
rai::transaction transaction (wallets.environment, true);
|
||||
if (store.exists (transaction, account_a))
|
||||
{
|
||||
work_update (transaction, account_a, root_a, work);
|
||||
|
@ -1248,6 +1246,7 @@ void rai::wallet::work_cache_blocking (rai::account const & account_a, rai::bloc
|
|||
rai::wallets::wallets (bool & error_a, rai::node & node_a) :
|
||||
observer ([](bool) {}),
|
||||
node (node_a),
|
||||
environment (node_a.store.environment),
|
||||
stopped (false),
|
||||
thread ([this]() { do_wallet_actions (); })
|
||||
{
|
||||
|
@ -1268,7 +1267,7 @@ thread ([this]() { do_wallet_actions (); })
|
|||
auto error (id.decode_hex (text));
|
||||
assert (!error);
|
||||
assert (items.find (id) == items.end ());
|
||||
auto wallet (std::make_shared<rai::wallet> (error, node.store.environment, transaction, *this, text));
|
||||
auto wallet (std::make_shared<rai::wallet> (error, transaction, *this, text));
|
||||
if (!error)
|
||||
{
|
||||
items[id] = wallet;
|
||||
|
@ -1308,7 +1307,7 @@ std::shared_ptr<rai::wallet> rai::wallets::create (rai::uint256_union const & id
|
|||
bool error;
|
||||
{
|
||||
rai::transaction transaction (node.store.environment, true);
|
||||
result = std::make_shared<rai::wallet> (error, node.store.environment, transaction, *this, id_a.to_string ());
|
||||
result = std::make_shared<rai::wallet> (error, transaction, *this, id_a.to_string ());
|
||||
}
|
||||
if (!error)
|
||||
{
|
||||
|
|
|
@ -52,8 +52,8 @@ enum class key_type
|
|||
class wallet_store
|
||||
{
|
||||
public:
|
||||
wallet_store (bool &, rai::kdf &, rai::mdb_env &, rai::transaction &, rai::account, unsigned, std::string const &);
|
||||
wallet_store (bool &, rai::kdf &, rai::mdb_env &, rai::transaction &, rai::account, unsigned, std::string const &, std::string const &);
|
||||
wallet_store (bool &, rai::kdf &, rai::transaction &, rai::account, unsigned, std::string const &);
|
||||
wallet_store (bool &, rai::kdf &, rai::transaction &, rai::account, unsigned, std::string const &, std::string const &);
|
||||
std::vector<rai::account> accounts (MDB_txn *);
|
||||
void initialize (MDB_txn *, bool &, std::string const &);
|
||||
rai::uint256_union check (MDB_txn *);
|
||||
|
@ -118,7 +118,6 @@ public:
|
|||
static unsigned const kdf_test_work = 8;
|
||||
static unsigned const kdf_work = rai::rai_network == rai::rai_networks::rai_test_network ? kdf_test_work : kdf_full_work;
|
||||
rai::kdf & kdf;
|
||||
rai::mdb_env & environment;
|
||||
MDB_dbi handle;
|
||||
std::recursive_mutex mutex;
|
||||
};
|
||||
|
@ -130,8 +129,8 @@ public:
|
|||
std::shared_ptr<rai::block> change_action (rai::account const &, rai::account const &, bool = true);
|
||||
std::shared_ptr<rai::block> receive_action (rai::block const &, rai::account const &, rai::uint128_union const &, bool = true);
|
||||
std::shared_ptr<rai::block> send_action (rai::account const &, rai::account const &, rai::uint128_t const &, bool = true, boost::optional<std::string> = {});
|
||||
wallet (bool &, rai::mdb_env &, rai::transaction &, rai::wallets &, std::string const &);
|
||||
wallet (bool &, rai::mdb_env &, rai::transaction &, rai::wallets &, std::string const &, std::string const &);
|
||||
wallet (bool &, rai::transaction &, rai::wallets &, std::string const &);
|
||||
wallet (bool &, rai::transaction &, rai::wallets &, std::string const &, std::string const &);
|
||||
void enter_initial_password ();
|
||||
bool enter_password (MDB_txn *, std::string const &);
|
||||
rai::public_key insert_adhoc (rai::raw_key const &, bool = true);
|
||||
|
@ -187,6 +186,7 @@ public:
|
|||
MDB_dbi handle;
|
||||
MDB_dbi send_action_ids;
|
||||
rai::node & node;
|
||||
rai::mdb_env & environment;
|
||||
bool stopped;
|
||||
std::thread thread;
|
||||
static rai::uint128_t const generate_priority;
|
||||
|
|
|
@ -184,7 +184,7 @@ wallet (wallet_a)
|
|||
this->wallet.pop_main_stack ();
|
||||
});
|
||||
QObject::connect (create_account, &QPushButton::released, [this]() {
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, true);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, true);
|
||||
if (this->wallet.wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
this->wallet.wallet_m->deterministic_insert (transaction);
|
||||
|
@ -215,7 +215,7 @@ wallet (wallet_a)
|
|||
});
|
||||
QObject::connect (backup_seed, &QPushButton::released, [this]() {
|
||||
rai::raw_key seed;
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, false);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, false);
|
||||
if (this->wallet.wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
this->wallet.wallet_m->store.seed (seed, transaction);
|
||||
|
@ -252,7 +252,7 @@ wallet (wallet_a)
|
|||
|
||||
void rai_qt::accounts::refresh_wallet_balance ()
|
||||
{
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, false);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, false);
|
||||
rai::uint128_t balance (0);
|
||||
rai::uint128_t pending (0);
|
||||
for (auto i (this->wallet.wallet_m->store.begin (transaction)), j (this->wallet.wallet_m->store.end ()); i != j; ++i)
|
||||
|
@ -277,7 +277,7 @@ void rai_qt::accounts::refresh_wallet_balance ()
|
|||
void rai_qt::accounts::refresh ()
|
||||
{
|
||||
model->removeRows (0, model->rowCount ());
|
||||
rai::transaction transaction (wallet.wallet_m->store.environment, false);
|
||||
rai::transaction transaction (wallet.wallet_m->wallets.environment, false);
|
||||
QBrush brush;
|
||||
for (auto i (wallet.wallet_m->store.begin (transaction)), j (wallet.wallet_m->store.end ()); i != j; ++i)
|
||||
{
|
||||
|
@ -380,7 +380,7 @@ wallet (wallet_a)
|
|||
{
|
||||
bool successful (false);
|
||||
{
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, true);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, true);
|
||||
if (this->wallet.wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
this->wallet.account = this->wallet.wallet_m->change_seed (transaction, seed_l);
|
||||
|
@ -1084,7 +1084,7 @@ void rai_qt::wallet::start ()
|
|||
auto balance (this_l->node.balance (this_l->account));
|
||||
if (actual <= balance)
|
||||
{
|
||||
rai::transaction transaction (this_l->wallet_m->store.environment, false);
|
||||
rai::transaction transaction (this_l->wallet_m->wallets.environment, false);
|
||||
if (this_l->wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
this_l->send_blocks_send->setEnabled (false);
|
||||
|
@ -1352,7 +1352,7 @@ void rai_qt::wallet::start ()
|
|||
void rai_qt::wallet::refresh ()
|
||||
{
|
||||
{
|
||||
rai::transaction transaction (wallet_m->store.environment, false);
|
||||
rai::transaction transaction (wallet_m->wallets.environment, false);
|
||||
assert (wallet_m->store.exists (transaction, account));
|
||||
}
|
||||
self.account_text->setText (QString (account.to_account ().c_str ()));
|
||||
|
@ -1378,7 +1378,7 @@ void rai_qt::wallet::update_connected ()
|
|||
void rai_qt::wallet::empty_password ()
|
||||
{
|
||||
this->node.alarm.add (std::chrono::steady_clock::now () + std::chrono::seconds (3), [this]() {
|
||||
rai::transaction transaction (wallet_m->store.environment, true);
|
||||
rai::transaction transaction (wallet_m->wallets.environment, true);
|
||||
wallet_m->enter_password (transaction, std::string (""));
|
||||
});
|
||||
}
|
||||
|
@ -1461,7 +1461,7 @@ wallet (wallet_a)
|
|||
layout->addWidget (back);
|
||||
window->setLayout (layout);
|
||||
QObject::connect (change, &QPushButton::released, [this]() {
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, true);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, true);
|
||||
if (this->wallet.wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
if (new_password->text ().isEmpty ())
|
||||
|
@ -1512,12 +1512,12 @@ wallet (wallet_a)
|
|||
rai::account representative_l;
|
||||
if (!representative_l.decode_account (new_representative->text ().toStdString ()))
|
||||
{
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, false);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, false);
|
||||
if (this->wallet.wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
change_rep->setEnabled (false);
|
||||
{
|
||||
rai::transaction transaction_l (this->wallet.wallet_m->store.environment, true);
|
||||
rai::transaction transaction_l (this->wallet.wallet_m->wallets.environment, true);
|
||||
this->wallet.wallet_m->store.representative_set (transaction_l, representative_l);
|
||||
}
|
||||
auto block (this->wallet.wallet_m->change_sync (this->wallet.account, representative_l));
|
||||
|
@ -1564,7 +1564,7 @@ wallet (wallet_a)
|
|||
this->wallet.pop_main_stack ();
|
||||
});
|
||||
QObject::connect (lock_toggle, &QPushButton::released, [this]() {
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, true);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, true);
|
||||
if (this->wallet.wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
// lock wallet
|
||||
|
@ -1595,7 +1595,7 @@ wallet (wallet_a)
|
|||
show_button_ok (*lock_toggle);
|
||||
|
||||
// if wallet is still not unlocked by now, change button text
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, true);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, true);
|
||||
if (!this->wallet.wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
lock_toggle->setText ("Unlock");
|
||||
|
@ -1612,7 +1612,7 @@ wallet (wallet_a)
|
|||
});
|
||||
|
||||
// initial state for lock toggle button
|
||||
rai::transaction transaction (this->wallet.wallet_m->store.environment, true);
|
||||
rai::transaction transaction (this->wallet.wallet_m->wallets.environment, true);
|
||||
if (this->wallet.wallet_m->store.valid_password (transaction))
|
||||
{
|
||||
lock_toggle->setText ("Lock");
|
||||
|
|
|
@ -282,7 +282,7 @@ TEST (wallet, send_locked)
|
|||
system.wallet (0)->insert_adhoc (rai::test_genesis_key.prv);
|
||||
rai::keypair key1;
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, true);
|
||||
system.wallet (0)->enter_password (transaction, "0");
|
||||
}
|
||||
auto account (rai::test_genesis_key.pub);
|
||||
|
@ -639,7 +639,7 @@ TEST (wallet, change_seed)
|
|||
auto key1 (system.wallet (0)->deterministic_insert ());
|
||||
auto key3 (system.wallet (0)->deterministic_insert ());
|
||||
rai::raw_key seed3;
|
||||
system.wallet (0)->store.seed (seed3, rai::transaction (system.wallet (0)->store.environment, false));
|
||||
system.wallet (0)->store.seed (seed3, rai::transaction (system.wallet (0)->wallets.environment, false));
|
||||
auto wallet_key (key1);
|
||||
auto wallet (std::make_shared<rai_qt::wallet> (*test_application, processor, *system.nodes[0], system.wallet (0), wallet_key));
|
||||
wallet->start ();
|
||||
|
@ -653,7 +653,7 @@ TEST (wallet, change_seed)
|
|||
seed.data.clear ();
|
||||
QTest::keyClicks (wallet->import.seed, seed.data.to_string ().c_str ());
|
||||
rai::raw_key seed1;
|
||||
system.wallet (0)->store.seed (seed1, rai::transaction (system.wallet (0)->store.environment, false));
|
||||
system.wallet (0)->store.seed (seed1, rai::transaction (system.wallet (0)->wallets.environment, false));
|
||||
ASSERT_NE (seed, seed1);
|
||||
ASSERT_TRUE (system.wallet (0)->exists (key1));
|
||||
ASSERT_EQ (2, wallet->accounts.model->rowCount ());
|
||||
|
@ -664,7 +664,7 @@ TEST (wallet, change_seed)
|
|||
ASSERT_EQ (1, wallet->accounts.model->rowCount ());
|
||||
ASSERT_TRUE (wallet->import.clear_line->text ().toStdString ().empty ());
|
||||
rai::raw_key seed2;
|
||||
system.wallet (0)->store.seed (seed2, rai::transaction (system.wallet (0)->store.environment, false));
|
||||
system.wallet (0)->store.seed (seed2, rai::transaction (system.wallet (0)->wallets.environment, false));
|
||||
ASSERT_EQ (seed, seed2);
|
||||
ASSERT_FALSE (system.wallet (0)->exists (key1));
|
||||
ASSERT_NE (key1, wallet->account);
|
||||
|
@ -696,17 +696,17 @@ TEST (wallet, seed_work_generation)
|
|||
QTest::keyClicks (wallet->import.seed, seed.data.to_string ().c_str ());
|
||||
QTest::keyClicks (wallet->import.clear_line, "clear keys");
|
||||
uint64_t work_start;
|
||||
system.wallet (0)->store.work_get (rai::transaction (system.wallet (0)->store.environment, false), key1, work_start);
|
||||
system.wallet (0)->store.work_get (rai::transaction (system.wallet (0)->wallets.environment, false), key1, work_start);
|
||||
uint64_t work (work_start);
|
||||
QTest::mouseClick (wallet->import.import_seed, Qt::LeftButton);
|
||||
system.deadline_set (10s);
|
||||
while (work == work_start)
|
||||
{
|
||||
auto ec = system.poll ();
|
||||
system.wallet (0)->store.work_get (rai::transaction (system.wallet (0)->store.environment, false), key1, work);
|
||||
system.wallet (0)->store.work_get (rai::transaction (system.wallet (0)->wallets.environment, false), key1, work);
|
||||
ASSERT_NO_ERROR (ec);
|
||||
}
|
||||
ASSERT_FALSE (rai::work_validate (system.nodes[0]->ledger.latest_root (rai::transaction (system.wallet (0)->store.environment, false), key1), work));
|
||||
ASSERT_FALSE (rai::work_validate (system.nodes[0]->ledger.latest_root (rai::transaction (system.wallet (0)->wallets.environment, false), key1), work));
|
||||
}
|
||||
|
||||
TEST (wallet, backup_seed)
|
||||
|
@ -722,7 +722,7 @@ TEST (wallet, backup_seed)
|
|||
ASSERT_EQ (wallet->accounts.window, wallet->main_stack->currentWidget ());
|
||||
QTest::mouseClick (wallet->accounts.backup_seed, Qt::LeftButton);
|
||||
rai::raw_key seed;
|
||||
system.wallet (0)->store.seed (seed, rai::transaction (system.wallet (0)->store.environment, false));
|
||||
system.wallet (0)->store.seed (seed, rai::transaction (system.wallet (0)->wallets.environment, false));
|
||||
ASSERT_EQ (seed.data.to_string (), test_application->clipboard ()->text ().toStdString ());
|
||||
}
|
||||
|
||||
|
@ -732,7 +732,7 @@ TEST (wallet, import_locked)
|
|||
rai::system system (24000, 1);
|
||||
auto key1 (system.wallet (0)->deterministic_insert ());
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, true);
|
||||
system.wallet (0)->store.rekey (transaction, "1");
|
||||
}
|
||||
auto wallet (std::make_shared<rai_qt::wallet> (*test_application, processor, *system.nodes[0], system.wallet (0), key1));
|
||||
|
@ -746,20 +746,20 @@ TEST (wallet, import_locked)
|
|||
QTest::keyClicks (wallet->import.seed, seed1.data.to_string ().c_str ());
|
||||
QTest::keyClicks (wallet->import.clear_line, "clear keys");
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, true);
|
||||
system.wallet (0)->enter_password (transaction, "");
|
||||
}
|
||||
QTest::mouseClick (wallet->import.import_seed, Qt::LeftButton);
|
||||
rai::raw_key seed2;
|
||||
{
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, true);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, true);
|
||||
system.wallet (0)->store.seed (seed2, transaction);
|
||||
ASSERT_NE (seed1, seed2);
|
||||
system.wallet (0)->enter_password (transaction, "1");
|
||||
}
|
||||
QTest::mouseClick (wallet->import.import_seed, Qt::LeftButton);
|
||||
rai::raw_key seed3;
|
||||
rai::transaction transaction (system.wallet (0)->store.environment, false);
|
||||
rai::transaction transaction (system.wallet (0)->wallets.environment, false);
|
||||
system.wallet (0)->store.seed (seed3, transaction);
|
||||
ASSERT_EQ (seed1, seed3);
|
||||
}
|
||||
|
|
|
@ -236,7 +236,7 @@ int run_wallet (QApplication & application, int argc, char * const * argv, boost
|
|||
}
|
||||
if (config.account.is_zero () || !wallet->exists (config.account))
|
||||
{
|
||||
rai::transaction transaction (wallet->store.environment, true);
|
||||
rai::transaction transaction (wallet->wallets.environment, true);
|
||||
auto existing (wallet->store.begin (transaction));
|
||||
if (existing != wallet->store.end ())
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue