1+ #include < nano/node/bootstrap/bootstrap_config.hpp>
2+ #include < nano/node/vote_rebroadcaster.hpp>
3+ #include < nano/node/scheduler/optimistic.hpp>
4+ #include < nano/node/scheduler/hinted.hpp>
5+ #include < nano/node/repcrawler.hpp>
6+ #include < nano/node/network.hpp>
7+ #include < nano/node/bootstrap/bootstrap_service.hpp>
8+ #include < nano/node/backlog_scan.hpp>
19#include < nano/lib/blocks.hpp>
210#include < nano/lib/jsonconfig.hpp>
311#include < nano/lib/vote.hpp>
@@ -45,7 +53,7 @@ TEST (active_elections, confirm_election_by_request)
4553 nano::test::system system;
4654 nano::node_config node_config1;
4755 // Disable vote rebroadcasting to prevent node1 from actively sending votes to node2
48- node_config1.vote_rebroadcaster . enable = false ;
56+ node_config1.vote_rebroadcaster -> enable = false ;
4957 auto & node1 = *system.add_node (node_config1);
5058
5159 nano::state_block_builder builder{};
@@ -135,7 +143,7 @@ TEST (active_elections, confirm_frontier)
135143 node_flags.disable_request_loop = true ;
136144 node_flags.disable_ongoing_bootstrap = true ;
137145 nano::node_config node_config;
138- node_config.bootstrap . enable = false ;
146+ node_config.bootstrap -> enable = false ;
139147 auto & node1 = *system.add_node (node_config, node_flags);
140148 system.wallet (0 )->insert_adhoc (nano::dev::genesis_key.prv );
141149
@@ -148,7 +156,7 @@ TEST (active_elections, confirm_frontier)
148156 node_flags2.disable_ongoing_bootstrap = true ;
149157 node_flags2.disable_rep_crawler = true ;
150158 nano::node_config node_config2;
151- node_config2.bootstrap . enable = false ;
159+ node_config2.bootstrap -> enable = false ;
152160 // start node2 later so that we do not get the gossip traffic
153161 auto & node2 = *system.add_node (node_config2, node_flags2);
154162
@@ -274,9 +282,9 @@ TEST (active_elections, DISABLED_keep_local)
274282 nano::node_config node_config = system.default_config ();
275283 node_config.enable_voting = false ;
276284 // Bound to 2, won't drop wallet created transactions, but good to test dropping remote
277- node_config.active_elections . size = 2 ;
285+ node_config.active_elections -> size = 2 ;
278286 // Disable frontier confirmation to allow the test to finish before
279- node_config.backlog_scan . enable = false ;
287+ node_config.backlog_scan -> enable = false ;
280288
281289 auto & node = *system.add_node (node_config);
282290 auto & wallet (*system.wallet (0 ));
@@ -338,7 +346,7 @@ TEST (active_elections, DISABLED_keep_local)
338346 node.process_active (receive3);
339347
340348 // / bound elections, should drop after one loop
341- ASSERT_TIMELY_EQ (5s, node.active .size (), node_config.active_elections . size );
349+ ASSERT_TIMELY_EQ (5s, node.active .size (), node_config.active_elections -> size );
342350 // ASSERT_EQ (1, node.scheduler.size ());
343351}
344352
@@ -436,7 +444,7 @@ TEST (active_elections, cached_vote_existing)
436444{
437445 nano::test::system system;
438446 nano::node_config node_config = system.default_config ();
439- node_config.backlog_scan . enable = false ;
447+ node_config.backlog_scan -> enable = false ;
440448 auto & node = *system.add_node (node_config);
441449 nano::block_hash latest (node.latest (nano::dev::genesis_key.pub ));
442450 nano::keypair key;
@@ -490,7 +498,7 @@ TEST (active_elections, cached_vote_multiple)
490498{
491499 nano::test::system system;
492500 nano::node_config node_config = system.default_config ();
493- node_config.backlog_scan . enable = false ;
501+ node_config.backlog_scan -> enable = false ;
494502 auto & node = *system.add_node (node_config);
495503 nano::keypair key1;
496504 nano::block_builder builder;
@@ -543,16 +551,16 @@ TEST (active_elections, cached_vote_election_start)
543551{
544552 nano::test::system system;
545553 nano::node_config node_config = system.default_config ();
546- node_config.backlog_scan . enable = false ;
547- node_config.priority_scheduler . enable = false ;
548- node_config.optimistic_scheduler . enable = false ;
554+ node_config.backlog_scan -> enable = false ;
555+ node_config.priority_scheduler -> enable = false ;
556+ node_config.optimistic_scheduler -> enable = false ;
549557 auto & node = *system.add_node (node_config);
550558 nano::block_hash latest (node.latest (nano::dev::genesis_key.pub ));
551559 nano::keypair key1, key2;
552560 nano::send_block_builder send_block_builder;
553561 nano::state_block_builder state_block_builder;
554562 // Enough weight to trigger election hinting but not enough to confirm block on its own
555- auto amount = ((node.online_reps .trended () / 100 ) * node.config .hinted_scheduler . hinting_threshold_percent ) / 2 + 1000 * nano::Knano_ratio;
563+ auto amount = ((node.online_reps .trended () / 100 ) * node.config .hinted_scheduler -> hinting_threshold_percent ) / 2 + 1000 * nano::Knano_ratio;
556564 auto send1 = send_block_builder.make_block ()
557565 .previous (latest)
558566 .destination (key1.pub )
@@ -648,7 +656,7 @@ TEST (active_elections, vote_replays)
648656 nano::test::system system;
649657 nano::node_config node_config = system.default_config ();
650658 node_config.enable_voting = false ;
651- node_config.backlog_scan . enable = false ;
659+ node_config.backlog_scan -> enable = false ;
652660 auto & node = *system.add_node (node_config);
653661 nano::keypair key;
654662 nano::state_block_builder builder;
@@ -799,7 +807,7 @@ TEST (active_elections, republish_winner)
799807{
800808 nano::test::system system;
801809 nano::node_config node_config = system.default_config ();
802- node_config.backlog_scan . enable = false ;
810+ node_config.backlog_scan -> enable = false ;
803811 auto & node1 = *system.add_node (node_config);
804812 node_config.peering_port = system.get_available_port ();
805813 auto & node2 = *system.add_node (node_config);
@@ -865,7 +873,7 @@ TEST (active_elections, fork_filter_cleanup)
865873 nano::test::system system{};
866874
867875 nano::node_config node_config = system.default_config ();
868- node_config.backlog_scan . enable = false ;
876+ node_config.backlog_scan -> enable = false ;
869877
870878 auto & node1 = *system.add_node (node_config);
871879 nano::keypair key{};
@@ -946,7 +954,7 @@ TEST (active_elections, fork_replacement_tally)
946954{
947955 nano::test::system system;
948956 nano::node_config node_config = system.default_config ();
949- node_config.backlog_scan . enable = false ;
957+ node_config.backlog_scan -> enable = false ;
950958 auto & node1 (*system.add_node (node_config));
951959
952960 size_t const reps_count = 20 ;
@@ -1104,7 +1112,7 @@ TEST (active_elections, confirmation_consistency)
11041112{
11051113 nano::test::system system;
11061114 nano::node_config node_config = system.default_config ();
1107- node_config.backlog_scan . enable = false ;
1115+ node_config.backlog_scan -> enable = false ;
11081116 auto & node = *system.add_node (node_config);
11091117 system.wallet (0 )->insert_adhoc (nano::dev::genesis_key.prv );
11101118 for (unsigned i = 0 ; i < 10 ; ++i)
@@ -1194,7 +1202,7 @@ TEST (active_elections, activate_account_chain)
11941202 nano::test::system system;
11951203 nano::node_flags flags;
11961204 nano::node_config config = system.default_config ();
1197- config.backlog_scan . enable = false ;
1205+ config.backlog_scan -> enable = false ;
11981206 auto & node = *system.add_node (config, flags);
11991207
12001208 nano::keypair key;
@@ -1286,7 +1294,7 @@ TEST (active_elections, activate_inactive)
12861294 nano::test::system system;
12871295 nano::node_flags flags;
12881296 nano::node_config config = system.default_config ();
1289- config.backlog_scan . enable = false ;
1297+ config.backlog_scan -> enable = false ;
12901298 auto & node = *system.add_node (config, flags);
12911299
12921300 nano::keypair key;
@@ -1399,7 +1407,7 @@ TEST (active_elections, vacancy)
13991407 std::atomic<bool > updated = false ;
14001408 nano::test::system system;
14011409 nano::node_config config = system.default_config ();
1402- config.active_elections . size = 1 ;
1410+ config.active_elections -> size = 1 ;
14031411 auto & node = *system.add_node (config);
14041412 nano::state_block_builder builder;
14051413 auto send = builder.make_block ()
@@ -1436,15 +1444,15 @@ TEST (active_elections, limit_vote_hinted_elections)
14361444 nano::test::system system;
14371445 nano::node_config config = system.default_config ();
14381446 const int aec_limit = 10 ;
1439- config.backlog_scan . enable = false ;
1440- config.optimistic_scheduler . enable = false ;
1441- config.active_elections . size = aec_limit;
1442- config.active_elections . hinted_limit_percentage = 10 ; // Should give us a limit of 1 hinted election
1447+ config.backlog_scan -> enable = false ;
1448+ config.optimistic_scheduler -> enable = false ;
1449+ config.active_elections -> size = aec_limit;
1450+ config.active_elections -> hinted_limit_percentage = 10 ; // Should give us a limit of 1 hinted election
14431451 auto & node = *system.add_node (config);
14441452
14451453 // Setup representatives
14461454 // Enough weight to trigger election hinting but not enough to confirm block on its own
1447- const auto amount = ((node.online_reps .trended () / 100 ) * node.config .hinted_scheduler . hinting_threshold_percent ) + 1000 * nano::Knano_ratio;
1455+ const auto amount = ((node.online_reps .trended () / 100 ) * node.config .hinted_scheduler -> hinting_threshold_percent ) + 1000 * nano::Knano_ratio;
14481456 nano::keypair rep1 = nano::test::setup_rep (system, node, amount / 2 );
14491457 nano::keypair rep2 = nano::test::setup_rep (system, node, amount / 2 );
14501458
@@ -1502,9 +1510,9 @@ TEST (active_elections, bound_election_winners)
15021510 nano::test::system system;
15031511 nano::node_config config = system.default_config ();
15041512 // Set election winner limit to a low value
1505- config.active_elections . max_election_winners = 5 ;
1513+ config.active_elections -> max_election_winners = 5 ;
15061514 // Large batch size would complicate this testcase
1507- config.cementing_set . batch_size = 1 ;
1515+ config.cementing_set -> batch_size = 1 ;
15081516 auto & node = *system.add_node (config);
15091517
15101518 // Start elections for a couple of blocks, number of elections is larger than the election winner set limit
@@ -1544,15 +1552,15 @@ TEST (active_elections, broadcast_block_on_activation)
15441552 nano::test::system system;
15451553 nano::node_config config1 = system.default_config ();
15461554 // Deactivates elections on both nodes.
1547- config1.active_elections . size = 0 ;
1548- config1.bootstrap . enable = false ;
1549- config1.priority_scheduler . enable = false ;
1550- config1.optimistic_scheduler . enable = false ;
1555+ config1.active_elections -> size = 0 ;
1556+ config1.bootstrap -> enable = false ;
1557+ config1.priority_scheduler -> enable = false ;
1558+ config1.optimistic_scheduler -> enable = false ;
15511559 nano::node_config config2 = system.default_config ();
1552- config2.active_elections . size = 0 ;
1553- config2.bootstrap . enable = false ;
1554- config2.priority_scheduler . enable = false ;
1555- config2.optimistic_scheduler . enable = false ;
1560+ config2.active_elections -> size = 0 ;
1561+ config2.bootstrap -> enable = false ;
1562+ config2.priority_scheduler -> enable = false ;
1563+ config2.optimistic_scheduler -> enable = false ;
15561564 nano::node_flags flags;
15571565 // Disables bootstrap listener to make sure the block won't be shared by this channel.
15581566 flags.disable_bootstrap_listener = true ;
@@ -1588,7 +1596,7 @@ TEST (active_elections, stale_election)
15881596
15891597 // Configure node with short stale threshold for testing
15901598 nano::node_config node_config = system.default_config ();
1591- node_config.active_elections . stale_threshold = 2s; // Short threshold for faster testing
1599+ node_config.active_elections -> stale_threshold = 2s; // Short threshold for faster testing
15921600
15931601 auto & node = *system.add_node (node_config);
15941602
@@ -1634,7 +1642,7 @@ TEST (active_elections, stale_election_multiple)
16341642
16351643 // Configure node with short stale threshold for testing
16361644 nano::node_config node_config = system.default_config ();
1637- node_config.active_elections . stale_threshold = 2s; // Short threshold for faster testing
1645+ node_config.active_elections -> stale_threshold = 2s; // Short threshold for faster testing
16381646
16391647 auto & node = *system.add_node (node_config);
16401648
@@ -1762,10 +1770,10 @@ TEST (active_elections, cancel_cemented_races)
17621770 nano::node_config config = system.default_config ();
17631771
17641772 // Disable schedulers and backlog scan to have full control
1765- config.backlog_scan . enable = false ;
1766- config.priority_scheduler . enable = false ;
1767- config.hinted_scheduler . enable = false ;
1768- config.optimistic_scheduler . enable = false ;
1773+ config.backlog_scan -> enable = false ;
1774+ config.priority_scheduler -> enable = false ;
1775+ config.hinted_scheduler -> enable = false ;
1776+ config.optimistic_scheduler -> enable = false ;
17691777
17701778 auto & node = *system.add_node (config);
17711779
@@ -1845,7 +1853,7 @@ TEST (active_elections, cancel_already_cemented)
18451853
18461854 nano::node_config config;
18471855 // Configure checkup interval for faster test execution
1848- config.active_elections . checkup_interval = 100ms;
1856+ config.active_elections -> checkup_interval = 100ms;
18491857
18501858 auto & node = *system.add_node (config);
18511859
0 commit comments