From 98e1c9993b60e72eef59dfc68f2e6240b76f8f53 Mon Sep 17 00:00:00 2001 From: clemahieu Date: Fri, 24 Aug 2018 00:30:09 +0100 Subject: [PATCH] Moving mdb_env from wallet_store to wallets class. --- rai/core_test/ledger.cpp | 8 ++--- rai/core_test/node.cpp | 12 +++---- rai/core_test/rpc.cpp | 14 ++++---- rai/core_test/wallet.cpp | 78 ++++++++++++++++++++-------------------- rai/node/cli.cpp | 16 ++++----- rai/node/rpc.cpp | 2 +- rai/node/wallet.cpp | 49 +++++++++++++------------ rai/node/wallet.hpp | 10 +++--- rai/qt/qt.cpp | 28 +++++++-------- rai/qt_test/qt.cpp | 24 ++++++------- rai/rai_wallet/entry.cpp | 2 +- 11 files changed, 121 insertions(+), 122 deletions(-) diff --git a/rai/core_test/ledger.cpp b/rai/core_test/ledger.cpp index 80fec48a..afc6e4dd 100644 --- a/rai/core_test/ledger.cpp +++ b/rai/core_test/ledger.cpp @@ -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 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 (); diff --git a/rai/core_test/node.cpp b/rai/core_test/node.cpp index 0bfb6dfc..04679113 100644 --- a/rai/core_test/node.cpp +++ b/rai/core_test/node.cpp @@ -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 (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 (key1, key3, 0, send2)); rai::confirm_ack confirm (vote); std::shared_ptr> bytes (new std::vector); @@ -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); diff --git a/rai/core_test/rpc.cpp b/rai/core_test/rpc.cpp index f1b36103..4db4dc2d 100644 --- a/rai/core_test/rpc.cpp +++ b/rai/core_test/rpc.cpp @@ -467,7 +467,7 @@ TEST (rpc, wallet_password_change) ASSERT_EQ (200, response.status); std::string account_text1 (response.json.get ("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 ("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)); } diff --git a/rai/core_test/wallet.cpp b/rai/core_test/wallet.cpp index 8a9da7b4..b2bb2809 100644 --- a/rai/core_test/wallet.cpp +++ b/rai/core_test/wallet.cpp @@ -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; diff --git a/rai/node/cli.cpp b/rai/node/cli.cpp index ec73f4db..b2e50483 100644 --- a/rai/node/cli.cpp +++ b/rai/node/cli.cpp @@ -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 ())) { - 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 diff --git a/rai/node/rpc.cpp b/rai/node/rpc.cpp index beb7479c..cfe9dbc7 100644 --- a/rai/node/rpc.cpp +++ b/rai/node/rpc.cpp @@ -1915,7 +1915,7 @@ void rai::rpc_handler::password_enter () if (!ec) { std::string password_text (request.get ("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"); } diff --git a/rai/node/wallet.cpp b/rai/node/wallet.cpp index 5476d29b..177652b4 100644 --- a/rai/node/wallet.cpp +++ b/rai/node/wallet.cpp @@ -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 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::wallet::change_action (rai::account const & sou { std::shared_ptr 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::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::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 (error, node.store.environment, transaction, *this, text)); + auto wallet (std::make_shared (error, transaction, *this, text)); if (!error) { items[id] = wallet; @@ -1308,7 +1307,7 @@ std::shared_ptr rai::wallets::create (rai::uint256_union const & id bool error; { rai::transaction transaction (node.store.environment, true); - result = std::make_shared (error, node.store.environment, transaction, *this, id_a.to_string ()); + result = std::make_shared (error, transaction, *this, id_a.to_string ()); } if (!error) { diff --git a/rai/node/wallet.hpp b/rai/node/wallet.hpp index 9ac04b05..07e8c359 100644 --- a/rai/node/wallet.hpp +++ b/rai/node/wallet.hpp @@ -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 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 change_action (rai::account const &, rai::account const &, bool = true); std::shared_ptr receive_action (rai::block const &, rai::account const &, rai::uint128_union const &, bool = true); std::shared_ptr send_action (rai::account const &, rai::account const &, rai::uint128_t const &, bool = true, boost::optional = {}); - 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; diff --git a/rai/qt/qt.cpp b/rai/qt/qt.cpp index cb1025ea..5936b7dd 100644 --- a/rai/qt/qt.cpp +++ b/rai/qt/qt.cpp @@ -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"); diff --git a/rai/qt_test/qt.cpp b/rai/qt_test/qt.cpp index 66e236c3..b6a3b8e0 100644 --- a/rai/qt_test/qt.cpp +++ b/rai/qt_test/qt.cpp @@ -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 (*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 (*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); } diff --git a/rai/rai_wallet/entry.cpp b/rai/rai_wallet/entry.cpp index 6f3de57a..c6e60615 100644 --- a/rai/rai_wallet/entry.cpp +++ b/rai/rai_wallet/entry.cpp @@ -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 ()) {