Removing environment from transaction.
This commit is contained in:
parent
ede7fad346
commit
1c3c0bf852
6 changed files with 42 additions and 44 deletions
|
@ -639,7 +639,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, transaction, rai::genesis_account, 1, "0", wallet_json);
|
||||
rai::wallet_store store (error, kdf, system.nodes[0]->store.environment, transaction, rai::genesis_account, 1, "0", wallet_json);
|
||||
ASSERT_FALSE (error);
|
||||
ASSERT_TRUE (store.exists (transaction, rai::test_genesis_key.pub));
|
||||
}
|
||||
|
|
|
@ -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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
ASSERT_TRUE (wallet.valid_password (transaction));
|
||||
}
|
||||
{
|
||||
bool init;
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (init);
|
||||
ASSERT_TRUE (wallet.valid_password (transaction));
|
||||
}
|
||||
{
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (error, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet1 (error, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
std::string serialized;
|
||||
wallet1.serialize_json (transaction, serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet1 (error, kdf, environment, 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, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet1 (error, kdf, environment, 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, transaction, rai::genesis_account, 1, "1", serialized);
|
||||
rai::wallet_store wallet2 (error, kdf, environment, 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, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet1 (error, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
ASSERT_FALSE (error);
|
||||
rai::keypair key1;
|
||||
wallet1.insert_adhoc (transaction, key1.prv);
|
||||
rai::wallet_store wallet2 (error, kdf, transaction, rai::genesis_account, 1, "1");
|
||||
rai::wallet_store wallet2 (error, kdf, environment, transaction, rai::genesis_account, 1, "1");
|
||||
ASSERT_FALSE (error);
|
||||
rai::keypair key2;
|
||||
wallet2.insert_adhoc (transaction, key2.prv);
|
||||
|
@ -715,7 +715,7 @@ TEST (wallet, deterministic_keys)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::raw_key key1;
|
||||
wallet.deterministic_key (key1, transaction, 0);
|
||||
rai::raw_key key2;
|
||||
|
@ -761,7 +761,7 @@ TEST (wallet, reseed)
|
|||
ASSERT_FALSE (init);
|
||||
rai::transaction transaction (environment, true);
|
||||
rai::kdf kdf;
|
||||
rai::wallet_store wallet (init, kdf, transaction, rai::genesis_account, 1, "0");
|
||||
rai::wallet_store wallet (init, kdf, environment, transaction, rai::genesis_account, 1, "0");
|
||||
rai::raw_key seed1;
|
||||
seed1.data = 1;
|
||||
rai::raw_key seed2;
|
||||
|
|
|
@ -264,8 +264,7 @@ rai::mdb_val::operator MDB_val const & () const
|
|||
return value;
|
||||
}
|
||||
|
||||
rai::transaction::transaction (rai::mdb_env & environment_a, bool write, MDB_txn * parent_a) :
|
||||
environment (environment_a)
|
||||
rai::transaction::transaction (rai::mdb_env & environment_a, bool write, MDB_txn * parent_a)
|
||||
{
|
||||
auto status (mdb_txn_begin (environment_a, parent_a, write ? 0 : MDB_RDONLY, &handle));
|
||||
assert (status == 0);
|
||||
|
|
|
@ -78,7 +78,6 @@ public:
|
|||
~transaction ();
|
||||
operator MDB_txn * () const;
|
||||
MDB_txn * handle;
|
||||
rai::mdb_env & environment;
|
||||
};
|
||||
class block_store;
|
||||
/**
|
||||
|
|
|
@ -265,11 +265,11 @@ 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::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::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) :
|
||||
password (0, fanout_a),
|
||||
wallet_key_mem (0, fanout_a),
|
||||
kdf (kdf_a),
|
||||
environment (transaction_a.environment)
|
||||
environment (environment_a)
|
||||
{
|
||||
init_a = false;
|
||||
initialize (transaction_a, init_a, wallet_a);
|
||||
|
@ -322,11 +322,11 @@ environment (transaction_a.environment)
|
|||
}
|
||||
}
|
||||
|
||||
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) :
|
||||
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) :
|
||||
password (0, fanout_a),
|
||||
wallet_key_mem (0, fanout_a),
|
||||
kdf (kdf_a),
|
||||
environment (transaction_a.environment)
|
||||
environment (environment_a)
|
||||
{
|
||||
init_a = false;
|
||||
initialize (transaction_a, init_a, wallet_a);
|
||||
|
@ -743,16 +743,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::transaction & transaction_a, rai::node & node_a, std::string const & wallet_a) :
|
||||
rai::wallet::wallet (bool & init_a, rai::mdb_env & environment_a, rai::transaction & transaction_a, rai::node & node_a, std::string const & wallet_a) :
|
||||
lock_observer ([](bool, bool) {}),
|
||||
store (init_a, node_a.wallets.kdf, transaction_a, node_a.config.random_representative (), node_a.config.password_fanout, wallet_a),
|
||||
store (init_a, node_a.wallets.kdf, environment_a, transaction_a, node_a.config.random_representative (), node_a.config.password_fanout, wallet_a),
|
||||
node (node_a)
|
||||
{
|
||||
}
|
||||
|
||||
rai::wallet::wallet (bool & init_a, rai::transaction & transaction_a, rai::node & node_a, std::string const & wallet_a, std::string const & json) :
|
||||
rai::wallet::wallet (bool & init_a, rai::mdb_env & environment_a, rai::transaction & transaction_a, rai::node & node_a, std::string const & wallet_a, std::string const & json) :
|
||||
lock_observer ([](bool, bool) {}),
|
||||
store (init_a, node_a.wallets.kdf, transaction_a, node_a.config.random_representative (), node_a.config.password_fanout, wallet_a, json),
|
||||
store (init_a, node_a.wallets.kdf, environment_a, transaction_a, node_a.config.random_representative (), node_a.config.password_fanout, wallet_a, json),
|
||||
node (node_a)
|
||||
{
|
||||
}
|
||||
|
@ -857,7 +857,7 @@ bool rai::wallet::import (std::string const & json_a, std::string const & passwo
|
|||
rai::transaction transaction (store.environment, true);
|
||||
rai::uint256_union id;
|
||||
random_pool.GenerateBlock (id.bytes.data (), id.bytes.size ());
|
||||
temp.reset (new rai::wallet_store (error, node.wallets.kdf, transaction, 0, 1, id.to_string (), json_a));
|
||||
temp.reset (new rai::wallet_store (error, node.wallets.kdf, store.environment, transaction, 0, 1, id.to_string (), json_a));
|
||||
}
|
||||
if (!error)
|
||||
{
|
||||
|
@ -1276,7 +1276,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, transaction, node_a, text));
|
||||
auto wallet (std::make_shared<rai::wallet> (error, node.store.environment, transaction, node_a, text));
|
||||
if (!error)
|
||||
{
|
||||
items[id] = wallet;
|
||||
|
@ -1316,7 +1316,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, transaction, node, id_a.to_string ());
|
||||
result = std::make_shared<rai::wallet> (error, node.store.environment, transaction, node, id_a.to_string ());
|
||||
}
|
||||
if (!error)
|
||||
{
|
||||
|
|
|
@ -52,8 +52,8 @@ enum class key_type
|
|||
class wallet_store
|
||||
{
|
||||
public:
|
||||
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 &);
|
||||
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 &);
|
||||
std::vector<rai::account> accounts (MDB_txn *);
|
||||
void initialize (MDB_txn *, bool &, std::string const &);
|
||||
rai::uint256_union check (MDB_txn *);
|
||||
|
@ -130,8 +130,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::transaction &, rai::node &, std::string const &);
|
||||
wallet (bool &, rai::transaction &, rai::node &, std::string const &, std::string const &);
|
||||
wallet (bool &, rai::mdb_env &, rai::transaction &, rai::node &, std::string const &);
|
||||
wallet (bool &, rai::mdb_env &, rai::transaction &, rai::node &, std::string const &, std::string const &);
|
||||
void enter_initial_password ();
|
||||
bool valid_password ();
|
||||
bool enter_password (std::string const &);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue