Pass logger to ledger
This commit is contained in:
parent
3dbf0e2be1
commit
d683379e8e
13 changed files with 49 additions and 43 deletions
|
|
@ -633,7 +633,7 @@ TEST (mdb_block_store, supported_version_upgrades)
|
|||
{
|
||||
nano::store::lmdb::component store (logger, path, nano::dev::constants);
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (store, nano::dev::constants, stats, logger);
|
||||
auto transaction (store.tx_begin_write ());
|
||||
store.initialize (transaction, ledger.cache, nano::dev::constants);
|
||||
// Lower the database to the max version unsupported for upgrades
|
||||
|
|
@ -651,7 +651,7 @@ TEST (mdb_block_store, supported_version_upgrades)
|
|||
{
|
||||
nano::store::lmdb::component store (logger, path1, nano::dev::constants);
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (store, nano::dev::constants, stats, logger);
|
||||
auto transaction (store.tx_begin_write ());
|
||||
store.initialize (transaction, ledger.cache, nano::dev::constants);
|
||||
// Lower the database version to the minimum version supported for upgrade.
|
||||
|
|
@ -899,7 +899,7 @@ TEST (block_store, cemented_count_cache)
|
|||
ASSERT_TRUE (!store->init_error ());
|
||||
auto transaction (store->tx_begin_write ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
store->initialize (transaction, ledger.cache, nano::dev::constants);
|
||||
ASSERT_EQ (1, ledger.cemented_count ());
|
||||
}
|
||||
|
|
@ -987,7 +987,7 @@ TEST (mdb_block_store, sideband_height)
|
|||
nano::store::lmdb::component store (logger, nano::unique_path () / "data.ldb", nano::dev::constants);
|
||||
ASSERT_FALSE (store.init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (store, nano::dev::constants, stats, logger);
|
||||
nano::block_builder builder;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store.initialize (transaction, ledger.cache, nano::dev::constants);
|
||||
|
|
|
|||
|
|
@ -871,7 +871,7 @@ TEST (ledger, double_open)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
|
||||
|
|
@ -4736,7 +4736,7 @@ TEST (ledger, dependents_confirmed_pruning)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_FALSE (store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
|
@ -4811,6 +4811,7 @@ TEST (ledger, cache)
|
|||
auto & ledger = ctx.ledger ();
|
||||
auto & store = ctx.store ();
|
||||
auto & stats = ctx.stats ();
|
||||
auto & logger = ctx.logger ();
|
||||
auto & pool = ctx.pool ();
|
||||
nano::block_builder builder;
|
||||
|
||||
|
|
@ -4861,7 +4862,7 @@ TEST (ledger, cache)
|
|||
++block_count;
|
||||
--genesis_weight;
|
||||
cache_check (ledger);
|
||||
cache_check (nano::ledger (store, stats, nano::dev::constants));
|
||||
cache_check (nano::ledger (store, nano::dev::constants, stats, logger));
|
||||
|
||||
{
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
|
|
@ -4871,7 +4872,7 @@ TEST (ledger, cache)
|
|||
++block_count;
|
||||
++account_count;
|
||||
cache_check (ledger);
|
||||
cache_check (nano::ledger (store, stats, nano::dev::constants));
|
||||
cache_check (nano::ledger (store, nano::dev::constants, stats, logger));
|
||||
|
||||
{
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
|
|
@ -4881,7 +4882,7 @@ TEST (ledger, cache)
|
|||
|
||||
++cemented_count;
|
||||
cache_check (ledger);
|
||||
cache_check (nano::ledger (store, stats, nano::dev::constants));
|
||||
cache_check (nano::ledger (store, nano::dev::constants, stats, logger));
|
||||
|
||||
{
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
|
|
@ -4891,7 +4892,7 @@ TEST (ledger, cache)
|
|||
|
||||
++cemented_count;
|
||||
cache_check (ledger);
|
||||
cache_check (nano::ledger (store, stats, nano::dev::constants));
|
||||
cache_check (nano::ledger (store, nano::dev::constants, stats, logger));
|
||||
|
||||
{
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
|
|
@ -4899,7 +4900,7 @@ TEST (ledger, cache)
|
|||
}
|
||||
++pruned_count;
|
||||
cache_check (ledger);
|
||||
cache_check (nano::ledger (store, stats, nano::dev::constants));
|
||||
cache_check (nano::ledger (store, nano::dev::constants, stats, logger));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4909,7 +4910,7 @@ TEST (ledger, pruning_action)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
|
@ -4995,7 +4996,7 @@ TEST (ledger, pruning_large_chain)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
|
@ -5051,7 +5052,7 @@ TEST (ledger, pruning_source_rollback)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
|
@ -5140,7 +5141,7 @@ TEST (ledger, pruning_source_rollback_legacy)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
|
@ -5254,7 +5255,7 @@ TEST (ledger, pruning_legacy_blocks)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
nano::keypair key1;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
|
|
@ -5341,7 +5342,7 @@ TEST (ledger, pruning_safe_functions)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
|
@ -5393,7 +5394,7 @@ TEST (ledger, random_blocks)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
|
@ -5481,7 +5482,7 @@ TEST (ledger, migrate_lmdb_to_rocksdb)
|
|||
boost::asio::ip::address_v6 address (boost::asio::ip::make_address_v6 ("::ffff:127.0.0.1"));
|
||||
uint16_t port = 100;
|
||||
nano::store::lmdb::component store{ logger, path / "data.ldb", nano::dev::constants };
|
||||
nano::ledger ledger{ store, system.stats, nano::dev::constants };
|
||||
nano::ledger ledger{ store, nano::dev::constants, system.stats, system.logger };
|
||||
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
|
||||
|
||||
std::shared_ptr<nano::block> send = nano::state_block_builder ()
|
||||
|
|
|
|||
|
|
@ -760,7 +760,7 @@ TEST (ledger_confirm, pruned_source)
|
|||
auto path (nano::unique_path ());
|
||||
auto store = nano::make_store (system.logger, path, nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::ledger ledger (*store, system.stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, system.stats, system.logger);
|
||||
ledger.pruning = true;
|
||||
nano::store::write_queue write_queue;
|
||||
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
|
||||
|
|
@ -845,7 +845,7 @@ TEST (ledger_confirmDeathTest, rollback_added_block)
|
|||
auto path (nano::unique_path ());
|
||||
auto store = nano::make_store (system.logger, path, nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::ledger ledger (*store, system.stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, system.stats, system.logger);
|
||||
nano::store::write_queue write_queue;
|
||||
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
|
||||
nano::keypair key1;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ TEST (processor_service, bad_send_signature)
|
|||
|
||||
auto store = nano::make_store (system.logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_FALSE (store->init_error ());
|
||||
nano::ledger ledger (*store, system.stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, system.stats, system.logger);
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
|
||||
|
|
@ -44,7 +44,7 @@ TEST (processor_service, bad_receive_signature)
|
|||
|
||||
auto store = nano::make_store (system.logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_FALSE (store->init_error ());
|
||||
nano::ledger ledger (*store, system.stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, system.stats, system.logger);
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
|
||||
|
|
|
|||
|
|
@ -12,10 +12,12 @@ class block_details;
|
|||
class block_visitor;
|
||||
class container_info;
|
||||
class jsonconfig;
|
||||
class logger;
|
||||
class mutable_block_visitor;
|
||||
class network_constants;
|
||||
class object_stream;
|
||||
class root;
|
||||
class stats;
|
||||
class thread_pool;
|
||||
class thread_runner;
|
||||
class tomlconfig;
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ nano::node::node (std::shared_ptr<boost::asio::io_context> io_ctx_a, std::filesy
|
|||
wallets_store{ *wallets_store_impl },
|
||||
wallets_impl{ std::make_unique<nano::wallets> (wallets_store.init_error (), *this) },
|
||||
wallets{ *wallets_impl },
|
||||
ledger_impl{ std::make_unique<nano::ledger> (store, stats, network_params.ledger, flags_a.generate_cache, config_a.representative_vote_weight_minimum.number ()) },
|
||||
ledger_impl{ std::make_unique<nano::ledger> (store, network_params.ledger, stats, logger, flags_a.generate_cache, config_a.representative_vote_weight_minimum.number ()) },
|
||||
ledger{ *ledger_impl },
|
||||
ledger_notifications_impl{ std::make_unique<nano::ledger_notifications> (config, stats, logger) },
|
||||
ledger_notifications{ *ledger_notifications_impl },
|
||||
|
|
|
|||
|
|
@ -518,9 +518,10 @@ TEST (history, short_text)
|
|||
}
|
||||
auto wallet (std::make_shared<nano_qt::wallet> (*test_application, processor, *system.nodes[0], system.wallet (0), account));
|
||||
nano::logger logger;
|
||||
nano::stats stats{ logger };
|
||||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::ledger ledger (*store, system.nodes[0]->stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
{
|
||||
auto transaction (ledger.tx_begin_write ());
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
|
@ -556,9 +557,10 @@ TEST (history, pruned_source)
|
|||
}
|
||||
auto wallet (std::make_shared<nano_qt::wallet> (*test_application, processor, *system.nodes[0], system.wallet (0), account));
|
||||
nano::logger logger;
|
||||
nano::stats stats{ logger };
|
||||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::ledger ledger (*store, system.nodes[0]->stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
ledger.pruning = true;
|
||||
nano::block_hash next_pruning;
|
||||
// Basic pruning for legacy blocks. Previous block is pruned, source is pruned
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <nano/lib/fwd.hpp>
|
||||
|
||||
namespace nano
|
||||
{
|
||||
class account_info;
|
||||
|
|
@ -8,8 +10,13 @@ class ledger;
|
|||
class ledger_cache;
|
||||
class ledger_constants;
|
||||
class network_params;
|
||||
class pending_info;
|
||||
class pending_key;
|
||||
class vote;
|
||||
|
||||
enum class block_status;
|
||||
}
|
||||
|
||||
namespace nano::secure
|
||||
{
|
||||
class read_transaction;
|
||||
|
|
|
|||
|
|
@ -717,11 +717,12 @@ void representative_visitor::state_block (nano::state_block const & block_a)
|
|||
* ledger
|
||||
*/
|
||||
|
||||
nano::ledger::ledger (nano::store::component & store_a, nano::stats & stat_a, nano::ledger_constants & constants, nano::generate_cache_flags const & generate_cache_flags_a, nano::uint128_t min_rep_weight_a) :
|
||||
constants{ constants },
|
||||
nano::ledger::ledger (nano::store::component & store_a, nano::ledger_constants & constants_a, nano::stats & stats_a, nano::logger & logger_a, nano::generate_cache_flags const & generate_cache_flags_a, nano::uint128_t min_rep_weight_a) :
|
||||
constants{ constants_a },
|
||||
store{ store_a },
|
||||
cache{ store_a.rep_weight, min_rep_weight_a },
|
||||
stats{ stat_a },
|
||||
stats{ stats_a },
|
||||
logger{ logger_a },
|
||||
any_impl{ std::make_unique<ledger_set_any> (*this) },
|
||||
confirmed_impl{ std::make_unique<ledger_set_confirmed> (*this) },
|
||||
any{ *any_impl },
|
||||
|
|
@ -1307,8 +1308,6 @@ auto nano::ledger::block_priority (nano::secure::transaction const & transaction
|
|||
// A precondition is that the store is an LMDB store
|
||||
bool nano::ledger::migrate_lmdb_to_rocksdb (std::filesystem::path const & data_path_a) const
|
||||
{
|
||||
nano::logger logger;
|
||||
|
||||
logger.info (nano::log::type::ledger, "Migrating LMDB database to RocksDB. This will take a while...");
|
||||
|
||||
std::filesystem::space_info si = std::filesystem::space (data_path_a);
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <nano/lib/numbers.hpp>
|
||||
#include <nano/lib/timer.hpp>
|
||||
#include <nano/secure/account_info.hpp>
|
||||
#include <nano/secure/fwd.hpp>
|
||||
#include <nano/secure/generate_cache_flags.hpp>
|
||||
#include <nano/secure/ledger_cache.hpp>
|
||||
#include <nano/secure/pending_info.hpp>
|
||||
|
|
@ -19,15 +20,8 @@ class component;
|
|||
|
||||
namespace nano
|
||||
{
|
||||
class block;
|
||||
enum class block_status;
|
||||
enum class epoch : uint8_t;
|
||||
class ledger_constants;
|
||||
class ledger_set_any;
|
||||
class ledger_set_confirmed;
|
||||
class pending_info;
|
||||
class pending_key;
|
||||
class stats;
|
||||
|
||||
class ledger final
|
||||
{
|
||||
|
|
@ -35,7 +29,7 @@ class ledger final
|
|||
friend class receivable_iterator;
|
||||
|
||||
public:
|
||||
ledger (nano::store::component &, nano::stats &, nano::ledger_constants & constants, nano::generate_cache_flags const & = nano::generate_cache_flags{}, nano::uint128_t min_rep_weight_a = 0);
|
||||
ledger (nano::store::component &, nano::ledger_constants &, nano::stats &, nano::logger &, nano::generate_cache_flags const & = nano::generate_cache_flags{}, nano::uint128_t min_rep_weight_a = 0);
|
||||
~ledger ();
|
||||
|
||||
/** Start read-write transaction */
|
||||
|
|
@ -102,6 +96,7 @@ public:
|
|||
nano::store::component & store;
|
||||
nano::ledger_cache cache;
|
||||
nano::stats & stats;
|
||||
nano::logger & logger;
|
||||
|
||||
std::unordered_map<nano::account, nano::uint128_t> bootstrap_weights;
|
||||
uint64_t bootstrap_weight_max_blocks{ 1 };
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ TEST (ledger, deep_account_compute)
|
|||
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
|
||||
ASSERT_FALSE (store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
auto transaction = ledger.tx_begin_write ();
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
|
||||
|
|
@ -1134,7 +1134,7 @@ TEST (confirmation_height, many_accounts_send_receive_self_no_elections)
|
|||
auto store = nano::make_store (logger, path, nano::dev::constants);
|
||||
ASSERT_TRUE (!store->init_error ());
|
||||
nano::stats stats{ logger };
|
||||
nano::ledger ledger (*store, stats, nano::dev::constants);
|
||||
nano::ledger ledger (*store, nano::dev::constants, stats, logger);
|
||||
nano::store::write_queue write_database_queue;
|
||||
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
|
||||
std::atomic<bool> stopped{ false };
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
nano::test::ledger_context::ledger_context (std::deque<std::shared_ptr<nano::block>> && blocks) :
|
||||
store_m{ nano::make_store (logger_m, nano::unique_path (), nano::dev::constants) },
|
||||
stats_m{ logger_m },
|
||||
ledger_m{ *store_m, stats_m, nano::dev::constants },
|
||||
ledger_m{ *store_m, nano::dev::constants, stats_m, logger_m },
|
||||
blocks_m{ blocks },
|
||||
pool_m{ nano::dev::network_params.network, 1 }
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue