Remove block_builder unique_ptr overloads and only build shared_ptr blocks.
This commit is contained in:
parent
e4f0029443
commit
6a663a4a09
32 changed files with 507 additions and 523 deletions
|
@ -39,7 +39,7 @@ TEST (active_transactions, confirm_election_by_request)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Process send1 locally on node1
|
||||
ASSERT_TRUE (nano::test::process (node1, { send1 }));
|
||||
|
@ -115,7 +115,7 @@ TEST (active_transactions, confirm_frontier)
|
|||
.link (nano::public_key ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
{
|
||||
// Voting node
|
||||
|
@ -127,7 +127,7 @@ TEST (active_transactions, confirm_frontier)
|
|||
system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
|
||||
|
||||
// we cannot use the same block instance on 2 different nodes, so make a copy
|
||||
auto send_copy = builder.make_block ().from (*send).build_shared ();
|
||||
auto send_copy = builder.make_block ().from (*send).build ();
|
||||
ASSERT_TRUE (nano::test::process (node1, { send_copy }));
|
||||
ASSERT_TRUE (nano::test::start_elections (system, node1, { send_copy }));
|
||||
ASSERT_TIMELY (5s, nano::test::confirmed (node1, { send_copy }));
|
||||
|
@ -216,7 +216,7 @@ TEST (active_transactions, keep_local)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
const auto receive2 = builder.make_block ()
|
||||
.account (key2.pub)
|
||||
.previous (0)
|
||||
|
@ -225,7 +225,7 @@ TEST (active_transactions, keep_local)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
const auto receive3 = builder.make_block ()
|
||||
.account (key3.pub)
|
||||
.previous (0)
|
||||
|
@ -234,7 +234,7 @@ TEST (active_transactions, keep_local)
|
|||
.link (send3->hash ())
|
||||
.sign (key3.prv, key3.pub)
|
||||
.work (*system.work.generate (key3.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.process_active (receive1);
|
||||
node.process_active (receive2);
|
||||
node.process_active (receive3);
|
||||
|
@ -256,7 +256,7 @@ TEST (active_transactions, inactive_votes_cache)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto vote = nano::test::make_final_vote (nano::dev::genesis_key, { send });
|
||||
node.vote_processor.vote (vote, std::make_shared<nano::transport::inproc::channel> (node, node));
|
||||
ASSERT_TIMELY_EQ (5s, node.vote_cache.size (), 1);
|
||||
|
@ -279,7 +279,7 @@ TEST (active_transactions, inactive_votes_cache_non_final)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Non-final vote
|
||||
auto vote = std::make_shared<nano::vote> (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, std::vector<nano::block_hash> (1, send->hash ()));
|
||||
|
@ -309,7 +309,7 @@ TEST (active_transactions, inactive_votes_cache_fork)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (latest)
|
||||
|
@ -317,7 +317,7 @@ TEST (active_transactions, inactive_votes_cache_fork)
|
|||
.balance (nano::dev::constants.genesis_amount - 200)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto const vote = nano::test::make_final_vote (nano::dev::genesis_key, { send1 });
|
||||
node.vote_processor.vote (vote, std::make_shared<nano::transport::inproc::channel> (node, node));
|
||||
|
@ -349,7 +349,7 @@ TEST (active_transactions, inactive_votes_cache_existing_vote)
|
|||
.balance (nano::dev::constants.genesis_amount - 100 * nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open = builder.state ()
|
||||
.account (key.pub)
|
||||
.previous (0)
|
||||
|
@ -358,7 +358,7 @@ TEST (active_transactions, inactive_votes_cache_existing_vote)
|
|||
.link (send->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.process_active (send);
|
||||
node.block_processor.add (open);
|
||||
ASSERT_TIMELY_EQ (5s, node.active.size (), 1);
|
||||
|
@ -404,7 +404,7 @@ TEST (active_transactions, inactive_votes_cache_multiple_votes)
|
|||
.balance (nano::dev::constants.genesis_amount - 100 * nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto send2 = builder.send ()
|
||||
.previous (send1->hash ())
|
||||
|
@ -412,7 +412,7 @@ TEST (active_transactions, inactive_votes_cache_multiple_votes)
|
|||
.balance (100 * nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto open = builder.state ()
|
||||
.account (key1.pub)
|
||||
|
@ -422,7 +422,7 @@ TEST (active_transactions, inactive_votes_cache_multiple_votes)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// put the blocks in the ledger witout triggering an election
|
||||
ASSERT_TRUE (nano::test::process (node, { send1, send2, open }));
|
||||
|
@ -464,14 +464,14 @@ TEST (active_transactions, inactive_votes_cache_election_start)
|
|||
.balance (nano::dev::constants.genesis_amount - amount)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = send_block_builder.make_block ()
|
||||
.previous (send1->hash ())
|
||||
.destination (key2.pub)
|
||||
.balance (nano::dev::constants.genesis_amount - 2 * amount)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open1 = state_block_builder.make_block ()
|
||||
.account (key1.pub)
|
||||
.previous (0)
|
||||
|
@ -480,7 +480,7 @@ TEST (active_transactions, inactive_votes_cache_election_start)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open2 = state_block_builder.make_block ()
|
||||
.account (key2.pub)
|
||||
.previous (0)
|
||||
|
@ -489,7 +489,7 @@ TEST (active_transactions, inactive_votes_cache_election_start)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send1));
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send2));
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*open1));
|
||||
|
@ -504,14 +504,14 @@ TEST (active_transactions, inactive_votes_cache_election_start)
|
|||
.balance (send2->balance ().number () - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send4 = send_block_builder.make_block ()
|
||||
.previous (send3->hash ())
|
||||
.destination (nano::keypair ().pub)
|
||||
.balance (send3->balance ().number () - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send3->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Inactive votes
|
||||
auto vote1 = nano::test::make_vote (key1, { open1, open2, send4 });
|
||||
|
@ -569,7 +569,7 @@ TEST (active_transactions, vote_replays)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_NE (nullptr, send1);
|
||||
|
||||
// create open block for key receing Gxrb_ratio raw
|
||||
|
@ -581,7 +581,7 @@ TEST (active_transactions, vote_replays)
|
|||
.link (send1->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_NE (nullptr, open1);
|
||||
|
||||
// wait for elections objects to appear in the AEC
|
||||
|
@ -616,7 +616,7 @@ TEST (active_transactions, vote_replays)
|
|||
.link (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_NE (nullptr, send2);
|
||||
node.process_active (send2);
|
||||
ASSERT_TRUE (nano::test::start_elections (system, node, { send2 }));
|
||||
|
@ -726,7 +726,7 @@ TEST (active_transactions, republish_winner)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1.process_active (send1);
|
||||
ASSERT_TIMELY (5s, nano::test::exists (node1, { send1 }));
|
||||
|
@ -743,7 +743,7 @@ TEST (active_transactions, republish_winner)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (fork);
|
||||
ASSERT_TIMELY (5s, node1.active.active (*fork));
|
||||
}
|
||||
|
@ -759,7 +759,7 @@ TEST (active_transactions, republish_winner)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1.process_active (fork);
|
||||
ASSERT_TIMELY (5s, node1.active.active (fork->hash ()));
|
||||
|
@ -793,7 +793,7 @@ TEST (active_transactions, fork_filter_cleanup)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
std::vector<uint8_t> send_block_bytes{};
|
||||
{
|
||||
|
@ -812,7 +812,7 @@ TEST (active_transactions, fork_filter_cleanup)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1.process_active (fork);
|
||||
ASSERT_TIMELY (5s, node1.active.election (fork->qualified_root ()) != nullptr);
|
||||
|
@ -882,7 +882,7 @@ TEST (active_transactions, fork_replacement_tally)
|
|||
.link (keys[i].pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send);
|
||||
latest = send->hash ();
|
||||
auto open = builder.make_block ()
|
||||
|
@ -893,7 +893,7 @@ TEST (active_transactions, fork_replacement_tally)
|
|||
.link (send->hash ())
|
||||
.sign (keys[i].prv, keys[i].pub)
|
||||
.work (*system.work.generate (keys[i].pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (open);
|
||||
// Confirmation
|
||||
auto vote = nano::test::make_final_vote (nano::dev::genesis_key, { send, open });
|
||||
|
@ -910,7 +910,7 @@ TEST (active_transactions, fork_replacement_tally)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Forks without votes
|
||||
for (auto i (0); i < reps_count; i++)
|
||||
|
@ -923,7 +923,7 @@ TEST (active_transactions, fork_replacement_tally)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (fork);
|
||||
}
|
||||
|
||||
|
@ -943,7 +943,7 @@ TEST (active_transactions, fork_replacement_tally)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto vote = nano::test::make_vote (keys[i], { fork }, 0, 0);
|
||||
node1.vote_processor.vote (vote, std::make_shared<nano::transport::inproc::channel> (node1, node1));
|
||||
node1.vote_processor.flush ();
|
||||
|
@ -1051,7 +1051,7 @@ TEST (active_transactions, confirm_new)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send);
|
||||
ASSERT_TIMELY_EQ (5s, 1, node1.active.size ());
|
||||
auto & node2 = *system.add_node ();
|
||||
|
@ -1081,7 +1081,7 @@ TEST (active_transactions, conflicting_block_vote_existing_election)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto fork = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -1090,7 +1090,7 @@ TEST (active_transactions, conflicting_block_vote_existing_election)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto vote_fork = nano::test::make_final_vote (nano::dev::genesis_key, { fork });
|
||||
|
||||
ASSERT_EQ (nano::block_status::progress, node.process_local (send).value ());
|
||||
|
@ -1226,7 +1226,7 @@ TEST (active_transactions, activate_inactive)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send->hash ())
|
||||
|
@ -1235,7 +1235,7 @@ TEST (active_transactions, activate_inactive)
|
|||
.balance (nano::dev::constants.genesis_amount - 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open = builder.make_block ()
|
||||
.account (key.pub)
|
||||
.previous (0)
|
||||
|
@ -1244,7 +1244,7 @@ TEST (active_transactions, activate_inactive)
|
|||
.balance (1)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send));
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send2));
|
||||
|
@ -1281,7 +1281,7 @@ TEST (active_transactions, list_active)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send));
|
||||
|
||||
|
@ -1293,7 +1293,7 @@ TEST (active_transactions, list_active)
|
|||
.balance (nano::dev::constants.genesis_amount - 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send2));
|
||||
|
||||
|
@ -1305,7 +1305,7 @@ TEST (active_transactions, list_active)
|
|||
.balance (1)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*open));
|
||||
|
||||
|
@ -1338,7 +1338,7 @@ TEST (active_transactions, vacancy)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.active.vacancy_update = [&updated] () { updated = true; };
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send));
|
||||
ASSERT_EQ (1, node.active.vacancy ());
|
||||
|
@ -1380,7 +1380,7 @@ TEST (active_transactions, fifo)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send1));
|
||||
node.process_confirmed (nano::election_status{ send1 });
|
||||
ASSERT_TIMELY (5s, node.block_confirmed (send1->hash ()));
|
||||
|
@ -1395,7 +1395,7 @@ TEST (active_transactions, fifo)
|
|||
.balance (nano::dev::constants.genesis_amount - 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send2));
|
||||
node.process_confirmed (nano::election_status{ send2 });
|
||||
ASSERT_TIMELY (5s, node.block_confirmed (send2->hash ()));
|
||||
|
@ -1408,7 +1408,7 @@ TEST (active_transactions, fifo)
|
|||
.balance (1)
|
||||
.sign (key0.prv, key0.pub)
|
||||
.work (*system.work.generate (key0.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*receive1));
|
||||
|
||||
auto receive2 = builder.make_block ()
|
||||
|
@ -1419,7 +1419,7 @@ TEST (active_transactions, fifo)
|
|||
.balance (1)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*receive2));
|
||||
|
||||
// Ensure first transaction becomes active
|
||||
|
|
|
@ -385,7 +385,7 @@ TEST (block, publish_req_serialization)
|
|||
.balance (200)
|
||||
.sign (nano::keypair ().prv, 2)
|
||||
.work (3)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish req{ nano::dev::network_params.network, block };
|
||||
std::vector<uint8_t> bytes;
|
||||
{
|
||||
|
@ -429,7 +429,7 @@ TEST (state_block, serialization)
|
|||
.link (4)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (key1.pub, block1->hashables.account);
|
||||
ASSERT_EQ (nano::block_hash (1), block1->previous ());
|
||||
ASSERT_EQ (key2.pub, block1->hashables.representative);
|
||||
|
@ -489,7 +489,7 @@ TEST (state_block, hashing)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto hash (block->hash ());
|
||||
ASSERT_EQ (hash, block->hash ()); // check cache works
|
||||
block->hashables.account.bytes[0] ^= 0x1;
|
||||
|
@ -551,7 +551,7 @@ TEST (block_uniquer, single)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto block2 (std::make_shared<nano::state_block> (*block1));
|
||||
ASSERT_NE (block1, block2);
|
||||
ASSERT_EQ (*block1, *block2);
|
||||
|
@ -578,7 +578,7 @@ TEST (block_uniquer, cleanup)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto block2 = builder
|
||||
.make_block ()
|
||||
.account (0)
|
||||
|
@ -588,7 +588,7 @@ TEST (block_uniquer, cleanup)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (1)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
nano::block_uniquer uniquer;
|
||||
auto block3 = uniquer.unique (block1);
|
||||
|
@ -636,7 +636,7 @@ TEST (block_builder, zeroed_state_block)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto zero_block_build = builder.state ().zero ().sign (key.prv, key.pub).build ();
|
||||
ASSERT_EQ (zero_block_manual->hash (), zero_block_build->hash ());
|
||||
ASSERT_FALSE (nano::validate_message (key.pub, zero_block_build->hash (), zero_block_build->signature));
|
||||
|
|
|
@ -1673,7 +1673,7 @@ TEST (rocksdb_block_store, tombstone_count)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Enqueues a block to be saved in the database
|
||||
nano::account account{ 1 };
|
||||
store->account.put (store->tx_begin_write (), account, nano::account_info{});
|
||||
|
|
|
@ -32,7 +32,7 @@ TEST (block_processor, broadcast_block_on_arrival)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Adds a block to the first node. process_active() -> (calls) block_processor.add() -> add() ->
|
||||
// awakes process_block() -> process_batch() -> process_one() -> process_live()
|
||||
node1->process_active (send1);
|
||||
|
|
|
@ -120,7 +120,7 @@ TEST (bulk_pull, ascending_one_hash)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.work_generate_blocking (*block1);
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*block1));
|
||||
auto socket = std::make_shared<nano::transport::socket> (node, nano::transport::socket::endpoint_type_t::server);
|
||||
|
@ -152,7 +152,7 @@ TEST (bulk_pull, ascending_two_account)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.work_generate_blocking (*block1);
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*block1));
|
||||
auto socket = std::make_shared<nano::transport::socket> (node, nano::transport::socket::endpoint_type_t::server);
|
||||
|
@ -187,7 +187,7 @@ TEST (bulk_pull, ascending_end)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.work_generate_blocking (*block1);
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*block1));
|
||||
auto socket = std::make_shared<nano::transport::socket> (node, nano::transport::socket::endpoint_type_t::server);
|
||||
|
@ -248,7 +248,7 @@ TEST (bulk_pull, count_limit)
|
|||
.balance (1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (node0->latest (nano::dev::genesis_key.pub)))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*send1));
|
||||
auto receive1 = builder
|
||||
.receive ()
|
||||
|
@ -256,7 +256,7 @@ TEST (bulk_pull, count_limit)
|
|||
.source (send1->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*receive1));
|
||||
|
||||
auto connection (std::make_shared<nano::transport::tcp_server> (std::make_shared<nano::transport::socket> (*node0, nano::transport::socket::endpoint_type_t::server), node0));
|
||||
|
@ -361,7 +361,7 @@ TEST (bootstrap_processor, process_state)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto block2 = builder
|
||||
.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
|
@ -371,7 +371,7 @@ TEST (bootstrap_processor, process_state)
|
|||
.link (block1->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node0->work_generate_blocking (*block1);
|
||||
node0->work_generate_blocking (*block2);
|
||||
|
@ -443,7 +443,7 @@ TEST (bootstrap_processor, pull_diamond)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (node0->latest (nano::dev::genesis_key.pub)))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*send1));
|
||||
auto open = builder
|
||||
.open ()
|
||||
|
@ -452,7 +452,7 @@ TEST (bootstrap_processor, pull_diamond)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*open));
|
||||
auto send2 = builder
|
||||
.send ()
|
||||
|
@ -461,7 +461,7 @@ TEST (bootstrap_processor, pull_diamond)
|
|||
.balance (std::numeric_limits<nano::uint128_t>::max () - 100)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*send2));
|
||||
auto receive = builder
|
||||
.receive ()
|
||||
|
@ -469,7 +469,7 @@ TEST (bootstrap_processor, pull_diamond)
|
|||
.source (send2->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*receive));
|
||||
|
||||
auto node1 = system.make_disconnected_node ();
|
||||
|
@ -501,7 +501,7 @@ TEST (bootstrap_processor, DISABLED_pull_requeue_network_error)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->bootstrap_initiator.bootstrap (node2->network.endpoint ());
|
||||
auto attempt (node1->bootstrap_initiator.current_attempt ());
|
||||
|
@ -540,7 +540,7 @@ TEST (bootstrap_processor, push_diamond)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send1));
|
||||
|
||||
// open key account receiving all balance of genesis
|
||||
|
@ -551,7 +551,7 @@ TEST (bootstrap_processor, push_diamond)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*open));
|
||||
|
||||
// send from key to genesis 100 raw
|
||||
|
@ -562,7 +562,7 @@ TEST (bootstrap_processor, push_diamond)
|
|||
.balance (std::numeric_limits<nano::uint128_t>::max () - 100)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send2));
|
||||
|
||||
// receive the 100 raw on genesis
|
||||
|
@ -572,7 +572,7 @@ TEST (bootstrap_processor, push_diamond)
|
|||
.source (send2->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*receive));
|
||||
|
||||
nano::node_config config = system.default_config ();
|
||||
|
@ -613,7 +613,7 @@ TEST (bootstrap_processor, push_diamond_pruning)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send1));
|
||||
|
||||
// receive all balance on key
|
||||
|
@ -624,7 +624,7 @@ TEST (bootstrap_processor, push_diamond_pruning)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*open));
|
||||
|
||||
// 1st bootstrap
|
||||
|
@ -642,7 +642,7 @@ TEST (bootstrap_processor, push_diamond_pruning)
|
|||
.balance (std::numeric_limits<nano::uint128_t>::max () - 100)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send2));
|
||||
|
||||
// receive the 100 raw from key on genesis
|
||||
|
@ -652,7 +652,7 @@ TEST (bootstrap_processor, push_diamond_pruning)
|
|||
.source (send2->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*receive));
|
||||
|
||||
{
|
||||
|
@ -722,7 +722,7 @@ TEST (bootstrap_processor, lazy_hash)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive1 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -732,7 +732,7 @@ TEST (bootstrap_processor, lazy_hash)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -742,7 +742,7 @@ TEST (bootstrap_processor, lazy_hash)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive2 = builder
|
||||
.make_block ()
|
||||
.account (key2.pub)
|
||||
|
@ -752,7 +752,7 @@ TEST (bootstrap_processor, lazy_hash)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node0->work_generate_blocking (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Processing test chain
|
||||
node0->block_processor.add (send1);
|
||||
|
@ -797,7 +797,7 @@ TEST (bootstrap_processor, lazy_hash_bootstrap_id)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive1 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -807,7 +807,7 @@ TEST (bootstrap_processor, lazy_hash_bootstrap_id)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -817,7 +817,7 @@ TEST (bootstrap_processor, lazy_hash_bootstrap_id)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive2 = builder
|
||||
.make_block ()
|
||||
.account (key2.pub)
|
||||
|
@ -827,7 +827,7 @@ TEST (bootstrap_processor, lazy_hash_bootstrap_id)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node0->work_generate_blocking (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Processing test chain
|
||||
node0->block_processor.add (send1);
|
||||
|
@ -872,7 +872,7 @@ TEST (bootstrap_processor, lazy_hash_pruning)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// receive send1
|
||||
auto receive1 = builder
|
||||
|
@ -884,7 +884,7 @@ TEST (bootstrap_processor, lazy_hash_pruning)
|
|||
.link (send1->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// change rep of genesis account to be key1
|
||||
nano::keypair key1;
|
||||
|
@ -897,7 +897,7 @@ TEST (bootstrap_processor, lazy_hash_pruning)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// change rep of genesis account to be rep2
|
||||
nano::keypair key2;
|
||||
|
@ -910,7 +910,7 @@ TEST (bootstrap_processor, lazy_hash_pruning)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (change1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// send Gxrb_ratio from genesis to key1 and genesis rep back to genesis account
|
||||
auto send2 = builder
|
||||
|
@ -922,7 +922,7 @@ TEST (bootstrap_processor, lazy_hash_pruning)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (change2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// receive send2 and rep of key1 to be itself
|
||||
auto receive2 = builder
|
||||
|
@ -934,7 +934,7 @@ TEST (bootstrap_processor, lazy_hash_pruning)
|
|||
.link (send2->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// send Gxrb_ratio raw, all available balance, from key1 to key2
|
||||
auto send3 = builder
|
||||
|
@ -946,7 +946,7 @@ TEST (bootstrap_processor, lazy_hash_pruning)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (receive2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// receive send3 on key2, set rep of key2 to be itself
|
||||
auto receive3 = builder
|
||||
|
@ -958,7 +958,7 @@ TEST (bootstrap_processor, lazy_hash_pruning)
|
|||
.link (send3->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node0->work_generate_blocking (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
std::vector<std::shared_ptr<nano::block>> blocks = { send1, receive1, change1, change2, send2, receive2, send3, receive3 };
|
||||
ASSERT_TRUE (nano::test::process (*node0, blocks));
|
||||
|
@ -1025,7 +1025,7 @@ TEST (bootstrap_processor, lazy_max_pull_count)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive1 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -1035,7 +1035,7 @@ TEST (bootstrap_processor, lazy_max_pull_count)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -1045,7 +1045,7 @@ TEST (bootstrap_processor, lazy_max_pull_count)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive2 = builder
|
||||
.make_block ()
|
||||
.account (key2.pub)
|
||||
|
@ -1055,7 +1055,7 @@ TEST (bootstrap_processor, lazy_max_pull_count)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node0->work_generate_blocking (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto change1 = builder
|
||||
.make_block ()
|
||||
.account (key2.pub)
|
||||
|
@ -1065,7 +1065,7 @@ TEST (bootstrap_processor, lazy_max_pull_count)
|
|||
.link (0)
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node0->work_generate_blocking (receive2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto change2 = builder
|
||||
.make_block ()
|
||||
.account (key2.pub)
|
||||
|
@ -1075,7 +1075,7 @@ TEST (bootstrap_processor, lazy_max_pull_count)
|
|||
.link (0)
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node0->work_generate_blocking (change1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto change3 = builder
|
||||
.make_block ()
|
||||
.account (key2.pub)
|
||||
|
@ -1085,7 +1085,7 @@ TEST (bootstrap_processor, lazy_max_pull_count)
|
|||
.link (0)
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node0->work_generate_blocking (change2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Processing test chain
|
||||
node0->block_processor.add (send1);
|
||||
node0->block_processor.add (receive1);
|
||||
|
@ -1129,7 +1129,7 @@ TEST (bootstrap_processor, lazy_unclear_state_link)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send1));
|
||||
auto send2 = builder
|
||||
.state ()
|
||||
|
@ -1140,7 +1140,7 @@ TEST (bootstrap_processor, lazy_unclear_state_link)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send2));
|
||||
auto open = builder
|
||||
.open ()
|
||||
|
@ -1149,7 +1149,7 @@ TEST (bootstrap_processor, lazy_unclear_state_link)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*open));
|
||||
auto receive = builder
|
||||
.state ()
|
||||
|
@ -1160,7 +1160,7 @@ TEST (bootstrap_processor, lazy_unclear_state_link)
|
|||
.link (send2->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*receive));
|
||||
|
||||
ASSERT_TIMELY (5s, nano::test::exists (*node1, { send1, send2, open, receive }));
|
||||
|
@ -1199,7 +1199,7 @@ TEST (bootstrap_processor, lazy_unclear_state_link_not_existing)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send1));
|
||||
auto open = builder
|
||||
.open ()
|
||||
|
@ -1208,7 +1208,7 @@ TEST (bootstrap_processor, lazy_unclear_state_link_not_existing)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*open));
|
||||
auto send2 = builder
|
||||
.state ()
|
||||
|
@ -1219,7 +1219,7 @@ TEST (bootstrap_processor, lazy_unclear_state_link_not_existing)
|
|||
.link (key2.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send2));
|
||||
|
||||
// Start lazy bootstrap with last block in chain known
|
||||
|
@ -1258,7 +1258,7 @@ TEST (bootstrap_processor, lazy_destinations)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send1));
|
||||
|
||||
// send Gxrb_ratio raw from genesis to key2
|
||||
|
@ -1271,7 +1271,7 @@ TEST (bootstrap_processor, lazy_destinations)
|
|||
.link (key2.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send2));
|
||||
|
||||
// receive send1 on key1
|
||||
|
@ -1282,7 +1282,7 @@ TEST (bootstrap_processor, lazy_destinations)
|
|||
.account (key1.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*open));
|
||||
|
||||
// receive send2 on key2
|
||||
|
@ -1295,7 +1295,7 @@ TEST (bootstrap_processor, lazy_destinations)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*state_open));
|
||||
|
||||
// Start lazy bootstrap with last block in sender chain
|
||||
|
@ -1339,7 +1339,7 @@ TEST (bootstrap_processor, lazy_pruning_missing_block)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send1);
|
||||
|
||||
// send from genesis to key2
|
||||
|
@ -1352,7 +1352,7 @@ TEST (bootstrap_processor, lazy_pruning_missing_block)
|
|||
.link (key2.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send2);
|
||||
|
||||
// open account key1
|
||||
|
@ -1363,7 +1363,7 @@ TEST (bootstrap_processor, lazy_pruning_missing_block)
|
|||
.account (key1.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (open);
|
||||
|
||||
// open account key2
|
||||
|
@ -1376,7 +1376,7 @@ TEST (bootstrap_processor, lazy_pruning_missing_block)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (state_open);
|
||||
ASSERT_TIMELY (5s, node1->block (state_open->hash ()) != nullptr);
|
||||
|
@ -1440,7 +1440,7 @@ TEST (bootstrap_processor, lazy_cancel)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Start lazy bootstrap with last block in chain known
|
||||
auto node1 = system.make_disconnected_node ();
|
||||
|
@ -1481,7 +1481,7 @@ TEST (bootstrap_processor, wallet_lazy_frontier)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive1 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -1491,7 +1491,7 @@ TEST (bootstrap_processor, wallet_lazy_frontier)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -1501,7 +1501,7 @@ TEST (bootstrap_processor, wallet_lazy_frontier)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive2 = builder
|
||||
.make_block ()
|
||||
.account (key2.pub)
|
||||
|
@ -1511,7 +1511,7 @@ TEST (bootstrap_processor, wallet_lazy_frontier)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node0->work_generate_blocking (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Processing test chain
|
||||
node0->block_processor.add (send1);
|
||||
|
@ -1562,7 +1562,7 @@ TEST (bootstrap_processor, wallet_lazy_pending)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive1 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -1572,7 +1572,7 @@ TEST (bootstrap_processor, wallet_lazy_pending)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -1582,7 +1582,7 @@ TEST (bootstrap_processor, wallet_lazy_pending)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node0->work_generate_blocking (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Processing test chain
|
||||
node0->block_processor.add (send1);
|
||||
|
@ -1623,7 +1623,7 @@ TEST (bootstrap_processor, multiple_attempts)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive1 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -1633,7 +1633,7 @@ TEST (bootstrap_processor, multiple_attempts)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node1->work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -1643,7 +1643,7 @@ TEST (bootstrap_processor, multiple_attempts)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node1->work_generate_blocking (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive2 = builder
|
||||
.make_block ()
|
||||
.account (key2.pub)
|
||||
|
@ -1653,7 +1653,7 @@ TEST (bootstrap_processor, multiple_attempts)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node1->work_generate_blocking (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Processing test chain
|
||||
node1->block_processor.add (send1);
|
||||
|
@ -1742,7 +1742,7 @@ TEST (frontier_req, count)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->work_generate_blocking (*send1);
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send1));
|
||||
auto receive1 = builder
|
||||
|
@ -1754,7 +1754,7 @@ TEST (frontier_req, count)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->work_generate_blocking (*receive1);
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*receive1));
|
||||
|
||||
|
@ -1837,7 +1837,7 @@ TEST (frontier_req, confirmed_frontier)
|
|||
.link (key_before_genesis.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->work_generate_blocking (*send1);
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send1));
|
||||
auto send2 = builder
|
||||
|
@ -1849,7 +1849,7 @@ TEST (frontier_req, confirmed_frontier)
|
|||
.link (key_after_genesis.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->work_generate_blocking (*send2);
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send2));
|
||||
auto receive1 = builder
|
||||
|
@ -1861,7 +1861,7 @@ TEST (frontier_req, confirmed_frontier)
|
|||
.link (send1->hash ())
|
||||
.sign (key_before_genesis.prv, key_before_genesis.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->work_generate_blocking (*receive1);
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*receive1));
|
||||
auto receive2 = builder
|
||||
|
@ -1873,7 +1873,7 @@ TEST (frontier_req, confirmed_frontier)
|
|||
.link (send2->hash ())
|
||||
.sign (key_after_genesis.prv, key_after_genesis.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->work_generate_blocking (*receive2);
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*receive2));
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ TEST (bootstrap_ascending, account_base)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0.process (*send1));
|
||||
auto & node1 = *system.add_node (flags);
|
||||
ASSERT_TIMELY (5s, node1.block (send1->hash ()) != nullptr);
|
||||
|
@ -193,7 +193,7 @@ TEST (bootstrap_ascending, account_inductive)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send1->hash ())
|
||||
|
@ -202,7 +202,7 @@ TEST (bootstrap_ascending, account_inductive)
|
|||
.balance (nano::dev::constants.genesis_amount - 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// std::cerr << "Genesis: " << nano::dev::genesis->hash ().to_string () << std::endl;
|
||||
// std::cerr << "Send1: " << send1->hash ().to_string () << std::endl;
|
||||
// std::cerr << "Send2: " << send2->hash ().to_string () << std::endl;
|
||||
|
@ -231,7 +231,7 @@ TEST (bootstrap_ascending, trace_base)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive1 = builder.make_block ()
|
||||
.account (key.pub)
|
||||
.previous (0)
|
||||
|
@ -240,7 +240,7 @@ TEST (bootstrap_ascending, trace_base)
|
|||
.balance (1)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// std::cerr << "Genesis key: " << nano::dev::genesis_key.pub.to_account () << std::endl;
|
||||
// std::cerr << "Key: " << key.pub.to_account () << std::endl;
|
||||
// std::cerr << "Genesis: " << nano::dev::genesis->hash ().to_string () << std::endl;
|
||||
|
|
|
@ -50,7 +50,7 @@ TEST (confirmation_height, single)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest1))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Check confirmation heights before, should be uninitialized (1 for genesis).
|
||||
nano::confirmation_height_info confirmation_height_info;
|
||||
|
@ -238,7 +238,7 @@ TEST (confirmation_height, multiple_accounts)
|
|||
.source (send6->hash ())
|
||||
.sign (key3.prv, key3.pub)
|
||||
.work (*system.work.generate (open3->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->process_active (receive3);
|
||||
auto election = nano::test::start_election (system, *node, receive3->hash ());
|
||||
ASSERT_NE (nullptr, election);
|
||||
|
@ -326,7 +326,7 @@ TEST (confirmation_height, gap_bootstrap)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto send2 = builder
|
||||
.state ()
|
||||
|
@ -337,7 +337,7 @@ TEST (confirmation_height, gap_bootstrap)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send2);
|
||||
auto send3 = builder
|
||||
.state ()
|
||||
|
@ -348,7 +348,7 @@ TEST (confirmation_height, gap_bootstrap)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send3);
|
||||
auto open1 = builder
|
||||
.open ()
|
||||
|
@ -357,7 +357,7 @@ TEST (confirmation_height, gap_bootstrap)
|
|||
.account (destination.pub)
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*open1);
|
||||
|
||||
// Receive
|
||||
|
@ -367,7 +367,7 @@ TEST (confirmation_height, gap_bootstrap)
|
|||
.source (send2->hash ())
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*receive1);
|
||||
auto receive2 = builder
|
||||
.receive ()
|
||||
|
@ -375,7 +375,7 @@ TEST (confirmation_height, gap_bootstrap)
|
|||
.source (send3->hash ())
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*receive2);
|
||||
|
||||
node1.block_processor.add (send1);
|
||||
|
@ -459,7 +459,7 @@ TEST (confirmation_height, gap_live)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->work_generate_blocking (*send1);
|
||||
auto send2 = builder
|
||||
.state ()
|
||||
|
@ -470,7 +470,7 @@ TEST (confirmation_height, gap_live)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->work_generate_blocking (*send2);
|
||||
auto send3 = builder
|
||||
.state ()
|
||||
|
@ -481,7 +481,7 @@ TEST (confirmation_height, gap_live)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->work_generate_blocking (*send3);
|
||||
|
||||
auto open1 = builder
|
||||
|
@ -491,7 +491,7 @@ TEST (confirmation_height, gap_live)
|
|||
.account (destination.pub)
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->work_generate_blocking (*open1);
|
||||
auto receive1 = builder
|
||||
.receive ()
|
||||
|
@ -499,7 +499,7 @@ TEST (confirmation_height, gap_live)
|
|||
.source (send2->hash ())
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->work_generate_blocking (*receive1);
|
||||
auto receive2 = builder
|
||||
.receive ()
|
||||
|
@ -507,7 +507,7 @@ TEST (confirmation_height, gap_live)
|
|||
.source (send3->hash ())
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->work_generate_blocking (*receive2);
|
||||
|
||||
node->block_processor.add (send1);
|
||||
|
@ -656,7 +656,7 @@ TEST (confirmation_height, send_receive_between_2_accounts)
|
|||
.source (send5->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (send4->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::keypair key2;
|
||||
auto send6 = builder
|
||||
.send ()
|
||||
|
@ -749,7 +749,7 @@ TEST (confirmation_height, send_receive_self)
|
|||
.source (send1->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.send ()
|
||||
.previous (receive1->hash ())
|
||||
|
@ -779,7 +779,7 @@ TEST (confirmation_height, send_receive_self)
|
|||
.source (send3->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (receive2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Send to another account to prevent automatic receiving on the genesis account
|
||||
nano::keypair key1;
|
||||
|
@ -988,7 +988,7 @@ TEST (confirmation_height, all_block_types)
|
|||
.link (key1.pub)
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (state_receive2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto state_send3 = builder
|
||||
.state ()
|
||||
.account (key2.pub)
|
||||
|
@ -1116,7 +1116,7 @@ TEST (confirmation_height, conflict_rollback_cemented)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (genesis_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*fork1a));
|
||||
ASSERT_TRUE (nano::test::start_elections (system, *node1, { fork1a }, true));
|
||||
ASSERT_TIMELY (5s, nano::test::confirmed (*node1, { fork1a }));
|
||||
|
@ -1131,7 +1131,7 @@ TEST (confirmation_height, conflict_rollback_cemented)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (genesis_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->block_processor.force (fork1b);
|
||||
// node2 already has send2 forced confirmed whilst node1 should have confirmed send1 and therefore we have a cemented fork on node2
|
||||
|
@ -1175,7 +1175,7 @@ TEST (confirmation_heightDeathTest, rollback_added_block)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (store->tx_begin_write ());
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
@ -1215,7 +1215,7 @@ TEST (confirmation_height, observers)
|
|||
.balance (amount - node1->config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest1))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
add_callback_stats (*node1);
|
||||
|
||||
|
@ -1265,7 +1265,7 @@ TEST (confirmation_heightDeathTest, modified_chain)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (store->tx_begin_write ());
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
@ -1342,7 +1342,7 @@ TEST (confirmation_heightDeathTest, modified_chain_account_removed)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open = builder
|
||||
.state ()
|
||||
.account (key1.pub)
|
||||
|
@ -1352,7 +1352,7 @@ TEST (confirmation_heightDeathTest, modified_chain_account_removed)
|
|||
.link (send->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (store->tx_begin_write ());
|
||||
store->initialize (transaction, ledger.cache, ledger.constants);
|
||||
|
@ -1430,7 +1430,7 @@ TEST (confirmation_height, pending_observer_callbacks)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio * 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
{
|
||||
auto transaction = node->store.tx_begin_write ();
|
||||
|
@ -1479,7 +1479,7 @@ TEST (confirmation_height, callback_confirmed_history)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction = node->store.tx_begin_write ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->ledger.process (transaction, *send));
|
||||
|
@ -1492,7 +1492,7 @@ TEST (confirmation_height, callback_confirmed_history)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio * 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
add_callback_stats (*node);
|
||||
|
||||
|
@ -1567,7 +1567,7 @@ TEST (confirmation_height, dependent_election)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send1 = builder
|
||||
.send ()
|
||||
.previous (send->hash ())
|
||||
|
@ -1575,7 +1575,7 @@ TEST (confirmation_height, dependent_election)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio * 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.send ()
|
||||
.previous (send1->hash ())
|
||||
|
@ -1583,7 +1583,7 @@ TEST (confirmation_height, dependent_election)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio * 3)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction = node->store.tx_begin_write ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->ledger.process (transaction, *send));
|
||||
|
@ -1725,7 +1725,7 @@ TEST (confirmation_height, cemented_gap_below_receive)
|
|||
.account (key2.pub)
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
{
|
||||
auto transaction = node->store.tx_begin_write ();
|
||||
|
@ -1885,7 +1885,7 @@ TEST (confirmation_height, cemented_gap_below_no_cache)
|
|||
.account (key2.pub)
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
{
|
||||
auto transaction = node->store.tx_begin_write ();
|
||||
|
@ -1958,7 +1958,7 @@ TEST (confirmation_height, election_winner_details_clearing)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send1));
|
||||
|
||||
auto const send2 = builder.make_block ()
|
||||
|
@ -1967,7 +1967,7 @@ TEST (confirmation_height, election_winner_details_clearing)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio * 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send2));
|
||||
|
||||
auto const send3 = builder.make_block ()
|
||||
|
@ -1976,7 +1976,7 @@ TEST (confirmation_height, election_winner_details_clearing)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio * 3)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send3));
|
||||
|
||||
node->process_confirmed (nano::election_status{ send2 });
|
||||
|
@ -2016,7 +2016,7 @@ TEST (confirmation_height, election_winner_details_clearing_node_process_confirm
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Add to election_winner_details. Use an unrealistic iteration so that it should fall into the else case and do a cleanup
|
||||
node->active.add_election_winner_details (send->hash (), nullptr);
|
||||
nano::election_status election;
|
||||
|
@ -2050,7 +2050,7 @@ TEST (confirmation_height, unbounded_block_cache_iteration)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send1 = builder
|
||||
.send ()
|
||||
.previous (send->hash ())
|
||||
|
@ -2058,7 +2058,7 @@ TEST (confirmation_height, unbounded_block_cache_iteration)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio * 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (store->tx_begin_write ());
|
||||
store->initialize (transaction, ledger.cache, nano::dev::constants);
|
||||
|
@ -2115,7 +2115,7 @@ TEST (confirmation_height, pruned_source)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open1 = builder
|
||||
.state ()
|
||||
.account (key1.pub)
|
||||
|
@ -2125,7 +2125,7 @@ TEST (confirmation_height, pruned_source)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.state ()
|
||||
.account (key1.pub)
|
||||
|
@ -2135,7 +2135,7 @@ TEST (confirmation_height, pruned_source)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (open1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send3 = builder
|
||||
.state ()
|
||||
.account (key1.pub)
|
||||
|
@ -2145,7 +2145,7 @@ TEST (confirmation_height, pruned_source)
|
|||
.link (key2.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (send2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open2 = builder
|
||||
.state ()
|
||||
.account (key2.pub)
|
||||
|
@ -2155,7 +2155,7 @@ TEST (confirmation_height, pruned_source)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*pool.generate (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (store->tx_begin_write ());
|
||||
store->initialize (transaction, ledger.cache, nano::dev::constants);
|
||||
|
|
|
@ -37,7 +37,7 @@ TEST (confirmation_solicitor, batches)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
send->sideband_set ({});
|
||||
{
|
||||
nano::lock_guard<nano::mutex> guard (node2.active.mutex);
|
||||
|
@ -87,7 +87,7 @@ TEST (confirmation_solicitor, different_hash)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
send->sideband_set ({});
|
||||
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::normal));
|
||||
// Add a vote for something else, not the winner
|
||||
|
@ -131,7 +131,7 @@ TEST (confirmation_solicitor, bypass_max_requests_cap)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
send->sideband_set ({});
|
||||
auto election (std::make_shared<nano::election> (node2, send, nullptr, nullptr, nano::election_behavior::normal));
|
||||
// Add a vote for something else, not the winner
|
||||
|
|
|
@ -25,7 +25,7 @@ TEST (conflicts, start_stop)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*send1));
|
||||
ASSERT_EQ (0, node1.active.size ());
|
||||
|
@ -52,7 +52,7 @@ TEST (conflicts, add_existing)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
|
||||
// add the block to ledger as an unconfirmed block
|
||||
|
@ -75,7 +75,7 @@ TEST (conflicts, add_existing)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send2);
|
||||
send2->sideband_set ({});
|
||||
|
||||
|
@ -108,7 +108,7 @@ TEST (conflicts, add_two)
|
|||
.link (key3.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (open1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// send 1 raw to account key3 from key2
|
||||
auto send_b = nano::state_block_builder ()
|
||||
|
@ -119,7 +119,7 @@ TEST (conflicts, add_two)
|
|||
.link (key3.pub)
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (open2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// activate elections for the previous two send blocks (to account3) that we did not forcefully confirm
|
||||
ASSERT_TRUE (nano::test::process (*node, { send_a, send_b }));
|
||||
|
@ -149,7 +149,7 @@ TEST (vote_uniquer, vbh_one)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
std::vector<nano::block_hash> hashes;
|
||||
hashes.push_back (block->hash ());
|
||||
auto vote1 = nano::test::make_vote (key, { hashes }, 0, 0);
|
||||
|
@ -172,7 +172,7 @@ TEST (vote_uniquer, vbh_two)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
std::vector<nano::block_hash> hashes1;
|
||||
hashes1.push_back (block1->hash ());
|
||||
auto block2 = builder
|
||||
|
@ -184,7 +184,7 @@ TEST (vote_uniquer, vbh_two)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
std::vector<nano::block_hash> hashes2;
|
||||
hashes2.push_back (block2->hash ());
|
||||
auto vote1 = nano::test::make_vote (key, { hashes1 }, 0, 0);
|
||||
|
|
|
@ -47,7 +47,7 @@ TEST (election, quorum_minimum_flip_success)
|
|||
.link (key1.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
nano::keypair key2{};
|
||||
auto send2 = builder.make_block ()
|
||||
|
@ -58,7 +58,7 @@ TEST (election, quorum_minimum_flip_success)
|
|||
.link (key2.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1.process_active (send1);
|
||||
ASSERT_TIMELY (5s, node1.active.election (send1->qualified_root ()) != nullptr)
|
||||
|
@ -94,7 +94,7 @@ TEST (election, quorum_minimum_flip_fail)
|
|||
.link (nano::keypair{}.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -104,7 +104,7 @@ TEST (election, quorum_minimum_flip_fail)
|
|||
.link (nano::keypair{}.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// process send1 and wait until its election appears
|
||||
node.process_active (send1);
|
||||
|
@ -145,7 +145,7 @@ TEST (election, quorum_minimum_confirm_success)
|
|||
.link (key1.pub)
|
||||
.work (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
node1.process_active (send1);
|
||||
node1.scheduler.priority.activate (nano::dev::genesis_key.pub, node1.store.tx_begin_read ());
|
||||
|
@ -177,7 +177,7 @@ TEST (election, quorum_minimum_confirm_fail)
|
|||
.link (nano::keypair{}.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1.process_active (send1);
|
||||
auto election = nano::test::start_election (system, node1, send1->hash ());
|
||||
|
@ -219,11 +219,11 @@ TEST (election, quorum_minimum_update_weight_before_quorum_checks)
|
|||
.balance (amount)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
ASSERT_TIMELY (5s, node1.block (send1->hash ()) != nullptr);
|
||||
|
||||
auto const open1 = nano::open_block_builder{}.make_block ().account (key1.pub).source (send1->hash ()).representative (key1.pub).sign (key1.prv, key1.pub).work (*system.work.generate (key1.pub)).build_shared ();
|
||||
auto const open1 = nano::open_block_builder{}.make_block ().account (key1.pub).source (send1->hash ()).representative (key1.pub).sign (key1.prv, key1.pub).work (*system.work.generate (key1.pub)).build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*open1));
|
||||
|
||||
nano::keypair key2;
|
||||
|
@ -233,7 +233,7 @@ TEST (election, quorum_minimum_update_weight_before_quorum_checks)
|
|||
.balance (3)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (open1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*send2));
|
||||
ASSERT_TIMELY_EQ (5s, node1.ledger.cache.block_count, 4);
|
||||
|
||||
|
@ -283,7 +283,7 @@ TEST (election, continuous_voting)
|
|||
.balance (node1.balance (nano::dev::genesis_key.pub) / 10 * 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
ASSERT_TRUE (nano::test::process (node1, { send1 }));
|
||||
ASSERT_TRUE (nano::test::start_elections (system, node1, { send1 }, true));
|
||||
|
@ -298,7 +298,7 @@ TEST (election, continuous_voting)
|
|||
.balance (node1.balance (nano::dev::genesis_key.pub) - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
ASSERT_TRUE (nano::test::process (node1, { send2 }));
|
||||
ASSERT_TIMELY (5s, node1.active.active (*send2));
|
||||
|
|
|
@ -26,7 +26,7 @@ TEST (election_scheduler, activate_one_timely)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
system.nodes[0]->ledger.process (system.nodes[0]->store.tx_begin_write (), *send1);
|
||||
system.nodes[0]->scheduler.priority.activate (nano::dev::genesis_key.pub, system.nodes[0]->store.tx_begin_read ());
|
||||
ASSERT_TIMELY (5s, system.nodes[0]->active.election (send1->qualified_root ()));
|
||||
|
@ -44,7 +44,7 @@ TEST (election_scheduler, activate_one_flush)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
system.nodes[0]->ledger.process (system.nodes[0]->store.tx_begin_write (), *send1);
|
||||
system.nodes[0]->scheduler.priority.activate (nano::dev::genesis_key.pub, system.nodes[0]->store.tx_begin_read ());
|
||||
ASSERT_TIMELY (5s, system.nodes[0]->active.election (send1->qualified_root ()));
|
||||
|
@ -86,7 +86,7 @@ TEST (election_scheduler, no_vacancy)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send));
|
||||
node.process_confirmed (nano::election_status{ send });
|
||||
|
||||
|
@ -98,7 +98,7 @@ TEST (election_scheduler, no_vacancy)
|
|||
.balance (nano::Gxrb_ratio)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*receive));
|
||||
node.process_confirmed (nano::election_status{ receive });
|
||||
|
||||
|
@ -111,7 +111,7 @@ TEST (election_scheduler, no_vacancy)
|
|||
.balance (nano::dev::constants.genesis_amount - 2 * nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*block1));
|
||||
|
||||
// There is vacancy so it should be inserted
|
||||
|
@ -127,7 +127,7 @@ TEST (election_scheduler, no_vacancy)
|
|||
.balance (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (receive->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*block2));
|
||||
|
||||
// There is no vacancy so it should stay queued
|
||||
|
|
|
@ -907,7 +907,7 @@ TEST (votes, check_signature)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
{
|
||||
auto transaction (node1.store.tx_begin_write ());
|
||||
|
@ -938,7 +938,7 @@ TEST (votes, add_one)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto transaction (node1.store.tx_begin_write ());
|
||||
ASSERT_EQ (nano::block_status::progress, node1.ledger.process (transaction, *send1));
|
||||
|
@ -1039,7 +1039,7 @@ TEST (votes, add_old)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto transaction (node1.store.tx_begin_write ());
|
||||
ASSERT_EQ (nano::block_status::progress, node1.ledger.process (transaction, *send1));
|
||||
|
@ -1057,7 +1057,7 @@ TEST (votes, add_old)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send2);
|
||||
auto vote2 = std::make_shared<nano::vote> (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, std::vector<nano::block_hash>{ send2->hash () });
|
||||
auto vote_info = election1->get_last_vote (nano::dev::genesis_key.pub);
|
||||
|
@ -1089,7 +1089,7 @@ TEST (votes, DISABLED_add_old_different_account)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto send2 = builder
|
||||
.send ()
|
||||
|
@ -1098,7 +1098,7 @@ TEST (votes, DISABLED_add_old_different_account)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send2);
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*send1));
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*send2));
|
||||
|
@ -1144,7 +1144,7 @@ TEST (votes, add_cooldown)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto transaction (node1.store.tx_begin_write ());
|
||||
ASSERT_EQ (nano::block_status::progress, node1.ledger.process (transaction, *send1));
|
||||
|
@ -1162,7 +1162,7 @@ TEST (votes, add_cooldown)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send2);
|
||||
auto vote2 = nano::test::make_vote (nano::dev::genesis_key, { send2 }, nano::vote::timestamp_min * 2, 0);
|
||||
node1.vote_processor.vote_blocking (vote2, channel);
|
||||
|
@ -1277,7 +1277,7 @@ TEST (ledger, fail_epoch_bad_signature)
|
|||
.link (ledger.epoch_link (nano::epoch::epoch_1))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
block->signature.bytes[0] ^= 1;
|
||||
auto result1 = ledger.process (transaction, *block);
|
||||
ASSERT_EQ (nano::block_status::bad_signature, result1); // Fails epoch signature
|
||||
|
@ -4043,7 +4043,7 @@ TEST (ledger, epoch_open_pending)
|
|||
.link (node1.ledger.epoch_link (nano::epoch::epoch_1))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto process_result = node1.ledger.process (node1.store.tx_begin_write (), *epoch_open);
|
||||
ASSERT_EQ (nano::block_status::gap_epoch_open_pending, process_result);
|
||||
node1.block_processor.add (epoch_open);
|
||||
|
@ -4063,7 +4063,7 @@ TEST (ledger, epoch_open_pending)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.block_processor.add (send1);
|
||||
ASSERT_TIMELY (10s, node1.ledger.block_or_pruned_exists (epoch_open->hash ()));
|
||||
}
|
||||
|
@ -4089,7 +4089,7 @@ TEST (ledger, block_hash_account_conflict)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto receive1 = builder.state ()
|
||||
.account (key1.pub)
|
||||
|
@ -4099,7 +4099,7 @@ TEST (ledger, block_hash_account_conflict)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
/*
|
||||
* Note that the below link is a block hash when this is intended
|
||||
|
@ -4115,7 +4115,7 @@ TEST (ledger, block_hash_account_conflict)
|
|||
.link (receive1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
/*
|
||||
* Generate an epoch open for the account with the same value as the block hash
|
||||
|
@ -4129,7 +4129,7 @@ TEST (ledger, block_hash_account_conflict)
|
|||
.link (node1.ledger.epoch_link (nano::epoch::epoch_1))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1.work_generate_blocking (*send1);
|
||||
node1.work_generate_blocking (*receive1);
|
||||
|
@ -4315,7 +4315,7 @@ TEST (ledger, unchecked_epoch)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto open1 = builder
|
||||
.state ()
|
||||
|
@ -4326,7 +4326,7 @@ TEST (ledger, unchecked_epoch)
|
|||
.link (send1->hash ())
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*open1);
|
||||
auto epoch1 = builder
|
||||
.state ()
|
||||
|
@ -4337,7 +4337,7 @@ TEST (ledger, unchecked_epoch)
|
|||
.link (node1.ledger.epoch_link (nano::epoch::epoch_1))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*epoch1);
|
||||
node1.block_processor.add (epoch1);
|
||||
{
|
||||
|
@ -4375,7 +4375,7 @@ TEST (ledger, unchecked_epoch_invalid)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto open1 = builder
|
||||
.state ()
|
||||
|
@ -4386,7 +4386,7 @@ TEST (ledger, unchecked_epoch_invalid)
|
|||
.link (send1->hash ())
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*open1);
|
||||
// Epoch block with account own signature
|
||||
auto epoch1 = builder
|
||||
|
@ -4398,7 +4398,7 @@ TEST (ledger, unchecked_epoch_invalid)
|
|||
.link (node1.ledger.epoch_link (nano::epoch::epoch_1))
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*epoch1);
|
||||
// Pseudo epoch block (send subtype, destination - epoch link)
|
||||
auto epoch2 = builder
|
||||
|
@ -4410,7 +4410,7 @@ TEST (ledger, unchecked_epoch_invalid)
|
|||
.link (node1.ledger.epoch_link (nano::epoch::epoch_1))
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*epoch2);
|
||||
node1.block_processor.add (epoch1);
|
||||
node1.block_processor.add (epoch2);
|
||||
|
@ -4457,7 +4457,7 @@ TEST (ledger, unchecked_open)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto open1 = builder
|
||||
.open ()
|
||||
|
@ -4466,7 +4466,7 @@ TEST (ledger, unchecked_open)
|
|||
.account (destination.pub)
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*open1);
|
||||
// Invalid signature for open block
|
||||
auto open2 = builder
|
||||
|
@ -4476,7 +4476,7 @@ TEST (ledger, unchecked_open)
|
|||
.account (destination.pub)
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*open2);
|
||||
open2->signature.bytes[0] ^= 1;
|
||||
node1.block_processor.add (open2); // Insert open2 in to the queue before open1
|
||||
|
@ -4509,7 +4509,7 @@ TEST (ledger, unchecked_receive)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto send2 = builder
|
||||
.state ()
|
||||
|
@ -4520,7 +4520,7 @@ TEST (ledger, unchecked_receive)
|
|||
.link (destination.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send2);
|
||||
auto open1 = builder
|
||||
.open ()
|
||||
|
@ -4529,7 +4529,7 @@ TEST (ledger, unchecked_receive)
|
|||
.account (destination.pub)
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*open1);
|
||||
auto receive1 = builder
|
||||
.receive ()
|
||||
|
@ -4537,7 +4537,7 @@ TEST (ledger, unchecked_receive)
|
|||
.source (send2->hash ())
|
||||
.sign (destination.prv, destination.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*receive1);
|
||||
node1.block_processor.add (send1);
|
||||
node1.block_processor.add (receive1);
|
||||
|
@ -4745,7 +4745,7 @@ TEST (ledger, dependents_confirmed)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send1));
|
||||
ASSERT_TRUE (ledger.dependents_confirmed (transaction, *send1));
|
||||
auto send2 = builder.state ()
|
||||
|
@ -4756,7 +4756,7 @@ TEST (ledger, dependents_confirmed)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send2));
|
||||
ASSERT_FALSE (ledger.dependents_confirmed (transaction, *send2));
|
||||
auto receive1 = builder.state ()
|
||||
|
@ -4767,7 +4767,7 @@ TEST (ledger, dependents_confirmed)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *receive1));
|
||||
ASSERT_FALSE (ledger.dependents_confirmed (transaction, *receive1));
|
||||
nano::confirmation_height_info height;
|
||||
|
@ -4783,7 +4783,7 @@ TEST (ledger, dependents_confirmed)
|
|||
.link (send2->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (receive1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *receive2));
|
||||
ASSERT_FALSE (ledger.dependents_confirmed (transaction, *receive2));
|
||||
ASSERT_TRUE (ledger.store.confirmation_height.get (transaction, key1.pub, height));
|
||||
|
@ -4817,7 +4817,7 @@ TEST (ledger, dependents_confirmed_pruning)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send1));
|
||||
auto send2 = builder.state ()
|
||||
.account (nano::dev::genesis->account ())
|
||||
|
@ -4827,7 +4827,7 @@ TEST (ledger, dependents_confirmed_pruning)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send2));
|
||||
nano::confirmation_height_info height;
|
||||
ASSERT_FALSE (ledger.store.confirmation_height.get (transaction, nano::dev::genesis->account (), height));
|
||||
|
@ -4843,7 +4843,7 @@ TEST (ledger, dependents_confirmed_pruning)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*pool.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_TRUE (ledger.dependents_confirmed (transaction, *receive1));
|
||||
}
|
||||
|
||||
|
@ -5601,7 +5601,7 @@ TEST (ledger, migrate_lmdb_to_rocksdb)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
nano::endpoint_key endpoint_key (address.to_bytes (), port);
|
||||
auto version = nano::store::component::version_current;
|
||||
|
|
|
@ -20,7 +20,7 @@ std::shared_ptr<nano::block> random_block ()
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
return block;
|
||||
}
|
||||
}
|
||||
|
@ -818,4 +818,4 @@ TEST (handshake, signature_v2)
|
|||
message.v2->salt = nano::random_pool::generate<nano::uint256_union> ();
|
||||
ASSERT_FALSE (message.validate (cookie));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ TEST (message_deserializer, exact_confirm_ack)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (*system.work.generate (nano::root (1)))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto vote (std::make_shared<nano::vote> (0, nano::keypair ().prv, 0, 0, std::vector<nano::block_hash>{ block->hash () }));
|
||||
nano::confirm_ack message{ nano::dev::network_params.network, vote };
|
||||
|
||||
|
@ -101,7 +101,7 @@ TEST (message_deserializer, exact_publish)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (*system.work.generate (nano::root (1)))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish message{ nano::dev::network_params.network, block };
|
||||
|
||||
message_deserializer_success_checker<decltype (message)> (message);
|
||||
|
|
|
@ -187,7 +187,7 @@ TEST (network, send_discarded_publish)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (*system.work.generate (nano::root (1)))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (node1.store.tx_begin_read ());
|
||||
node1.network.flood_block (block);
|
||||
|
@ -213,7 +213,7 @@ TEST (network, send_invalid_publish)
|
|||
.balance (20)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::root (1)))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (node1.store.tx_begin_read ());
|
||||
node1.network.flood_block (block);
|
||||
|
@ -299,7 +299,7 @@ TEST (network, send_insufficient_work)
|
|||
.balance (20)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish1{ nano::dev::network_params.network, block1 };
|
||||
auto tcp_channel (node1.network.tcp_channels.find_node_id (node2.get_node_id ()));
|
||||
ASSERT_NE (nullptr, tcp_channel);
|
||||
|
@ -315,7 +315,7 @@ TEST (network, send_insufficient_work)
|
|||
.balance (20)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (system.work_generate_limited (block1->hash (), node1.network_params.work.epoch_2_receive, node1.network_params.work.epoch_1 - 1))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish2{ nano::dev::network_params.network, block2 };
|
||||
tcp_channel->send (publish2, [] (boost::system::error_code const & ec, size_t size) {});
|
||||
ASSERT_TIMELY (10s, node2.stats.count (nano::stat::type::error, nano::stat::detail::insufficient_work) != 1);
|
||||
|
@ -328,7 +328,7 @@ TEST (network, send_insufficient_work)
|
|||
.balance (20)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (block2->hash (), node1.network_params.work.epoch_2))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish3{ nano::dev::network_params.network, block3 };
|
||||
tcp_channel->send (publish3, [] (boost::system::error_code const & ec, size_t size) {});
|
||||
ASSERT_EQ (0, node2.stats.count (nano::stat::type::message, nano::stat::detail::publish, nano::stat::dir::in));
|
||||
|
@ -344,7 +344,7 @@ TEST (network, send_insufficient_work)
|
|||
.link (1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (system.work_generate_limited (block1->hash (), node1.network_params.work.epoch_2_receive, node1.network_params.work.epoch_1 - 1))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish4{ nano::dev::network_params.network, block4 };
|
||||
tcp_channel->send (publish4, [] (boost::system::error_code const & ec, size_t size) {});
|
||||
ASSERT_TIMELY (10s, node2.stats.count (nano::stat::type::message, nano::stat::detail::publish, nano::stat::dir::in) != 0);
|
||||
|
@ -364,7 +364,7 @@ TEST (receivable_processor, confirm_insufficient_pos)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*block1);
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*block1));
|
||||
node1.scheduler.priority.activate (nano::dev::genesis_key.pub, node1.store.tx_begin_read ());
|
||||
|
@ -387,7 +387,7 @@ TEST (receivable_processor, confirm_sufficient_pos)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*block1);
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*block1));
|
||||
node1.scheduler.priority.activate (nano::dev::genesis_key.pub, node1.store.tx_begin_read ());
|
||||
|
@ -417,7 +417,7 @@ TEST (receivable_processor, send_with_receive)
|
|||
.balance (amount - node1.config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest1))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (amount, node1.balance (nano::dev::genesis_key.pub));
|
||||
ASSERT_EQ (0, node1.balance (key2.pub));
|
||||
ASSERT_EQ (amount, node2.balance (nano::dev::genesis_key.pub));
|
||||
|
|
|
@ -45,7 +45,7 @@ TEST (network_filter, unit)
|
|||
.link (nano::public_key ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
one_block (new_block, false);
|
||||
for (int i = 0; i < 10; ++i)
|
||||
|
@ -74,7 +74,7 @@ TEST (network_filter, many)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
nano::publish message{ nano::dev::network_params.network, block };
|
||||
auto bytes (message.to_bytes ());
|
||||
|
|
|
@ -183,21 +183,21 @@ TEST (node, send_out_of_order)
|
|||
.balance (std::numeric_limits<nano::uint128_t>::max () - node1.config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (send1->hash ())
|
||||
.destination (key2.pub)
|
||||
.balance (std::numeric_limits<nano::uint128_t>::max () - 2 * node1.config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send3 = builder.make_block ()
|
||||
.previous (send2->hash ())
|
||||
.destination (key2.pub)
|
||||
.balance (std::numeric_limits<nano::uint128_t>::max () - 3 * node1.config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send3);
|
||||
node1.process_active (send2);
|
||||
node1.process_active (send1);
|
||||
|
@ -219,7 +219,7 @@ TEST (node, quick_confirm)
|
|||
.balance (node1.online_reps.delta () + 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send);
|
||||
ASSERT_TIMELY (10s, !node1.balance (key.pub).is_zero ());
|
||||
ASSERT_EQ (node1.balance (nano::dev::genesis_key.pub), node1.online_reps.delta () + 1);
|
||||
|
@ -239,7 +239,7 @@ TEST (node, node_receive_quorum)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send);
|
||||
ASSERT_TIMELY (10s, node1.ledger.block_or_pruned_exists (send->hash ()));
|
||||
ASSERT_TIMELY (10s, node1.active.election (nano::qualified_root (previous, previous)) != nullptr);
|
||||
|
@ -514,7 +514,7 @@ TEST (node, confirm_locked)
|
|||
.balance (0)
|
||||
.sign (nano::keypair ().prv, 0)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
system.nodes[0]->network.flood_block (block);
|
||||
}
|
||||
|
||||
|
@ -551,7 +551,7 @@ TEST (node, fork_publish)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
nano::keypair key2;
|
||||
auto send2 = builder.make_block ()
|
||||
|
@ -560,7 +560,7 @@ TEST (node, fork_publish)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send2);
|
||||
node1.process_active (send1);
|
||||
ASSERT_TIMELY_EQ (5s, 1, node1.active.size ());
|
||||
|
@ -602,7 +602,7 @@ TEST (node, fork_publish_inactive)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -610,7 +610,7 @@ TEST (node, fork_publish_inactive)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (send1->block_work ())
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node.process_active (send1);
|
||||
ASSERT_TIMELY (5s, node.block (send1->hash ()));
|
||||
|
@ -649,14 +649,14 @@ TEST (node, fork_keep)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
.destination (key2.pub)
|
||||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
node2.process_active (send1);
|
||||
ASSERT_TIMELY_EQ (5s, 1, node1.active.size ());
|
||||
|
@ -698,7 +698,7 @@ TEST (node, fork_flip)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish1{ nano::dev::network_params.network, send1 };
|
||||
nano::keypair key2;
|
||||
auto send2 = builder.make_block ()
|
||||
|
@ -707,7 +707,7 @@ TEST (node, fork_flip)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish2{ nano::dev::network_params.network, send2 };
|
||||
auto ignored_channel{ std::make_shared<nano::transport::channel_tcp> (node1, std::weak_ptr<nano::transport::socket> ()) };
|
||||
|
||||
|
@ -755,7 +755,7 @@ TEST (node, fork_multi_flip)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::keypair key2;
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -763,14 +763,14 @@ TEST (node, fork_multi_flip)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send3 = builder.make_block ()
|
||||
.previous (send2->hash ())
|
||||
.destination (key2.pub)
|
||||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1.ledger.process (node1.store.tx_begin_write (), *send1));
|
||||
// Node2 has two blocks that will be rolled back by node1's vote
|
||||
ASSERT_EQ (nano::block_status::progress, node2.ledger.process (node2.store.tx_begin_write (), *send2));
|
||||
|
@ -811,7 +811,7 @@ TEST (node, fork_bootstrap_flip)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system0.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::keypair key2;
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (latest)
|
||||
|
@ -819,7 +819,7 @@ TEST (node, fork_bootstrap_flip)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system0.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Insert but don't rebroadcast, simulating settled blocks
|
||||
ASSERT_EQ (nano::block_status::progress, node1.ledger.process (node1.store.tx_begin_write (), *send1));
|
||||
ASSERT_EQ (nano::block_status::progress, node2.ledger.process (node2.store.tx_begin_write (), *send2));
|
||||
|
@ -851,7 +851,7 @@ TEST (node, fork_open)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish1{ nano::dev::network_params.network, send1 };
|
||||
auto channel1 = std::make_shared<nano::transport::fake::channel> (node);
|
||||
node.network.inbound (publish1, channel1);
|
||||
|
@ -871,7 +871,7 @@ TEST (node, fork_open)
|
|||
.account (key1.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish2{ nano::dev::network_params.network, open1 };
|
||||
node.network.inbound (publish2, channel1);
|
||||
ASSERT_TIMELY_EQ (5s, 1, node.active.size ());
|
||||
|
@ -883,7 +883,7 @@ TEST (node, fork_open)
|
|||
.account (key1.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish3{ nano::dev::network_params.network, open2 };
|
||||
node.network.inbound (publish3, channel1);
|
||||
ASSERT_TIMELY (5s, (election = node.active.election (publish3.block->qualified_root ())) != nullptr);
|
||||
|
@ -918,7 +918,7 @@ TEST (node, fork_open_flip)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
|
||||
// We should be keeping this block
|
||||
|
@ -929,7 +929,7 @@ TEST (node, fork_open_flip)
|
|||
.account (key1.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// create a fork of block open1, this block will lose the election
|
||||
auto open2 = builder.make_block ()
|
||||
|
@ -938,7 +938,7 @@ TEST (node, fork_open_flip)
|
|||
.account (key1.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_FALSE (*open1 == *open2);
|
||||
|
||||
// give block open1 to node1, manually trigger an election for open1 and ensure it is in the ledger
|
||||
|
@ -1043,7 +1043,7 @@ TEST (node, fork_no_vote_quorum)
|
|||
.balance ((nano::dev::constants.genesis_amount / 4) - (node1.config.receive_minimum.number () * 2))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (block->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::raw_key key3;
|
||||
auto transaction (system.wallet (1)->wallets.tx_begin_read ());
|
||||
ASSERT_FALSE (system.wallet (1)->store.fetch (transaction, key1, key3));
|
||||
|
@ -1100,7 +1100,7 @@ TEST (node, DISABLED_fork_pre_confirm)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto block3 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (node0.latest (nano::dev::genesis_key.pub))
|
||||
|
@ -1109,7 +1109,7 @@ TEST (node, DISABLED_fork_pre_confirm)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node0.work_generate_blocking (*block2);
|
||||
node0.work_generate_blocking (*block3);
|
||||
node0.process_active (block2);
|
||||
|
@ -1150,7 +1150,7 @@ TEST (node, DISABLED_fork_stale)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send3);
|
||||
node1.process_active (send3);
|
||||
system2.deadline_set (10s);
|
||||
|
@ -1167,7 +1167,7 @@ TEST (node, DISABLED_fork_stale)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send1);
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
|
@ -1177,7 +1177,7 @@ TEST (node, DISABLED_fork_stale)
|
|||
.link (key2.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*send2);
|
||||
{
|
||||
auto transaction1 (node1.store.tx_begin_write ());
|
||||
|
@ -1302,7 +1302,7 @@ TEST (node, DISABLED_broadcast_elected)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (node2->latest (nano::dev::genesis_key.pub)))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// A copy is necessary to avoid data races during ledger processing, which sets the sideband
|
||||
auto fork0_copy (std::make_shared<nano::send_block> (*fork0));
|
||||
node0->process_active (fork0);
|
||||
|
@ -1313,7 +1313,7 @@ TEST (node, DISABLED_broadcast_elected)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (node2->latest (nano::dev::genesis_key.pub)))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
system.wallet (2)->insert_adhoc (rep_small.prv);
|
||||
node2->process_active (fork1);
|
||||
ASSERT_TIMELY (10s, node0->ledger.block_or_pruned_exists (fork0->hash ()) && node1->ledger.block_or_pruned_exists (fork0->hash ()));
|
||||
|
@ -1368,7 +1368,7 @@ TEST (node, rep_self_vote)
|
|||
.balance (nano::uint128_t ("0x60000000000000000000000000000000"))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (fund_big.hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*block0));
|
||||
auto & active = node0->active;
|
||||
auto & scheduler = node0->scheduler;
|
||||
|
@ -1443,7 +1443,7 @@ TEST (node, DISABLED_bootstrap_bulk_push)
|
|||
.balance (500)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*send0));
|
||||
|
||||
ASSERT_FALSE (node0->bootstrap_initiator.in_progress ());
|
||||
|
@ -1539,7 +1539,7 @@ TEST (node, bootstrap_confirm_frontiers)
|
|||
.balance (nano::dev::constants.genesis_amount - 500)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node0->process (*send0));
|
||||
|
||||
// each system only has one node, so there should be no bootstrapping going on
|
||||
|
@ -1597,7 +1597,7 @@ TEST (node, unconfirmed_send)
|
|||
.link (nano::dev::genesis->account ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*system.work.generate (recv1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node2.process (*send2));
|
||||
|
||||
auto send3 = wallet2->send_action (key2.pub, nano::dev::genesis->account (), nano::Mxrb_ratio);
|
||||
|
@ -2064,7 +2064,7 @@ TEST (node, online_reps_election)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
ASSERT_TIMELY_EQ (5s, 1, node1.active.size ());
|
||||
// Process vote for ongoing election
|
||||
|
@ -2092,11 +2092,11 @@ TEST (node, block_confirm)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// A copy is necessary to avoid data races during ledger processing, which sets the sideband
|
||||
auto send1_copy = builder.make_block ()
|
||||
.from (*send1)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto hash1 = send1->hash ();
|
||||
auto hash2 = send1_copy->hash ();
|
||||
node1.block_processor.add (send1);
|
||||
|
@ -2126,7 +2126,7 @@ TEST (node, confirm_quorum)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*send1));
|
||||
system.wallet (0)->send_action (nano::dev::genesis_key.pub, nano::dev::genesis_key.pub, new_balance.number ());
|
||||
ASSERT_TIMELY (2s, node1.active.election (send1->qualified_root ()));
|
||||
|
@ -2153,7 +2153,7 @@ TEST (node, local_votes_cache)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send1->hash ())
|
||||
|
@ -2162,7 +2162,7 @@ TEST (node, local_votes_cache)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send3 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send2->hash ())
|
||||
|
@ -2171,7 +2171,7 @@ TEST (node, local_votes_cache)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (send2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (node.store.tx_begin_write ());
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (transaction, *send1));
|
||||
|
@ -2242,7 +2242,7 @@ TEST (node, DISABLED_local_votes_cache_batch)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
node.confirmation_height_processor.add (send1);
|
||||
ASSERT_TIMELY (5s, node.ledger.block_confirmed (node.store.tx_begin_read (), send1->hash ()));
|
||||
|
@ -2254,7 +2254,7 @@ TEST (node, DISABLED_local_votes_cache_batch)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send2));
|
||||
auto receive1 = nano::state_block_builder ()
|
||||
.account (key1.pub)
|
||||
|
@ -2264,7 +2264,7 @@ TEST (node, DISABLED_local_votes_cache_batch)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node.work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *receive1));
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> batch{ { send2->hash (), send2->root () }, { receive1->hash (), receive1->root () } };
|
||||
nano::confirm_req message{ nano::dev::network_params.network, batch };
|
||||
|
@ -2327,7 +2327,7 @@ TEST (node, local_votes_cache_generate_new_vote)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send1));
|
||||
// One of the hashes is cached
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> roots_hashes{ std::make_pair (nano::dev::genesis->hash (), nano::dev::genesis->root ()), std::make_pair (send1->hash (), send1->root ()) };
|
||||
|
@ -2366,7 +2366,7 @@ TEST (node, local_votes_cache_fork)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send1_fork = nano::state_block_builder ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -2375,7 +2375,7 @@ TEST (node, local_votes_cache_fork)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1.process (*send1));
|
||||
// Cache vote
|
||||
auto vote = nano::test::make_vote (nano::dev::genesis_key, { send1 }, 0, 0);
|
||||
|
@ -2408,14 +2408,14 @@ TEST (node, vote_republish)
|
|||
.balance (std::numeric_limits<nano::uint128_t>::max () - node1.config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
.destination (key2.pub)
|
||||
.balance (std::numeric_limits<nano::uint128_t>::max () - node1.config.receive_minimum.number () * 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// process send1 first, this will make sure send1 goes into the ledger and an election is started
|
||||
node1.process_active (send1);
|
||||
|
@ -2466,7 +2466,7 @@ TEST (node, vote_by_hash_bundle)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (block);
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *blocks.back ()));
|
||||
for (auto i = 2; i < 200; ++i)
|
||||
|
@ -2477,7 +2477,7 @@ TEST (node, vote_by_hash_bundle)
|
|||
.balance (nano::dev::constants.genesis_amount - i)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (blocks.back ()->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (block);
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *blocks.back ()));
|
||||
}
|
||||
|
@ -2526,14 +2526,14 @@ TEST (node, vote_by_hash_republish)
|
|||
.balance (std::numeric_limits<nano::uint128_t>::max () - node1.config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
.destination (key2.pub)
|
||||
.balance (std::numeric_limits<nano::uint128_t>::max () - node1.config.receive_minimum.number () * 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// give block send1 to node1 and check that an election for send1 starts on both nodes
|
||||
node1.process_active (send1);
|
||||
|
@ -2576,7 +2576,7 @@ TEST (node, DISABLED_vote_by_hash_epoch_block_republish)
|
|||
.balance (std::numeric_limits<nano::uint128_t>::max () - node1.config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto epoch1 = nano::state_block_builder ()
|
||||
.account (nano::dev::genesis->account ())
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -2585,7 +2585,7 @@ TEST (node, DISABLED_vote_by_hash_epoch_block_republish)
|
|||
.link (node1.ledger.epoch_link (nano::epoch::epoch_1))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
ASSERT_TIMELY (5s, node2.active.active (*send1));
|
||||
node1.active.publish (epoch1);
|
||||
|
@ -2620,7 +2620,7 @@ TEST (node, epoch_conflict_confirm)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open = builder.make_block ()
|
||||
.account (key.pub)
|
||||
.previous (0)
|
||||
|
@ -2629,7 +2629,7 @@ TEST (node, epoch_conflict_confirm)
|
|||
.link (send->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto change = builder.make_block ()
|
||||
.account (key.pub)
|
||||
.previous (open->hash ())
|
||||
|
@ -2638,7 +2638,7 @@ TEST (node, epoch_conflict_confirm)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send->hash ())
|
||||
|
@ -2647,7 +2647,7 @@ TEST (node, epoch_conflict_confirm)
|
|||
.link (open->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto epoch_open = builder.make_block ()
|
||||
.account (change->root ().as_account ())
|
||||
.previous (0)
|
||||
|
@ -2656,7 +2656,7 @@ TEST (node, epoch_conflict_confirm)
|
|||
.link (node0.ledger.epoch_link (nano::epoch::epoch_1))
|
||||
.sign (epoch_signer.prv, epoch_signer.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Process initial blocks on node1
|
||||
ASSERT_TRUE (nano::test::process (node1, { send, send2, open }));
|
||||
|
@ -2716,14 +2716,14 @@ TEST (node, DISABLED_fork_invalid_block_signature)
|
|||
.balance (std::numeric_limits<nano::uint128_t>::max () - node1.config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
.destination (key2.pub)
|
||||
.balance (std::numeric_limits<nano::uint128_t>::max () - node1.config.receive_minimum.number () * 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2_corrupt (std::make_shared<nano::send_block> (*send2));
|
||||
send2_corrupt->signature = nano::signature (123);
|
||||
auto vote = nano::test::make_vote (nano::dev::genesis_key, { send2 }, 0, 0);
|
||||
|
@ -2755,7 +2755,7 @@ TEST (node, fork_election_invalid_block_signature)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.state ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -2764,7 +2764,7 @@ TEST (node, fork_election_invalid_block_signature)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send3 = builder.state ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -2773,7 +2773,7 @@ TEST (node, fork_election_invalid_block_signature)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.sign (nano::dev::genesis_key.prv, 0) // Invalid signature
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto channel1 = std::make_shared<nano::transport::fake::channel> (node1);
|
||||
node1.network.inbound (nano::publish{ nano::dev::network_params.network, send1 }, channel1);
|
||||
|
@ -2805,7 +2805,7 @@ TEST (node, block_processor_signatures)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send1->hash ())
|
||||
|
@ -2814,7 +2814,7 @@ TEST (node, block_processor_signatures)
|
|||
.link (key2.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send3 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send2->hash ())
|
||||
|
@ -2823,7 +2823,7 @@ TEST (node, block_processor_signatures)
|
|||
.link (key3.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (send2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Invalid signature bit
|
||||
auto send4 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
|
@ -2833,7 +2833,7 @@ TEST (node, block_processor_signatures)
|
|||
.link (key3.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (send3->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
send4->signature.bytes[32] ^= 0x1;
|
||||
// Invalid signature bit (force)
|
||||
auto send5 = builder.make_block ()
|
||||
|
@ -2844,7 +2844,7 @@ TEST (node, block_processor_signatures)
|
|||
.link (key3.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (send3->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
send5->signature.bytes[32] ^= 0x1;
|
||||
// Invalid signature to unchecked
|
||||
node1.unchecked.put (send5->previous (), nano::unchecked_info{ send5 });
|
||||
|
@ -2856,7 +2856,7 @@ TEST (node, block_processor_signatures)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node1.work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive2 = builder.make_block ()
|
||||
.account (key2.pub)
|
||||
.previous (0)
|
||||
|
@ -2865,7 +2865,7 @@ TEST (node, block_processor_signatures)
|
|||
.link (send2->hash ())
|
||||
.sign (key2.prv, key2.pub)
|
||||
.work (*node1.work_generate_blocking (key2.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Invalid private key
|
||||
auto receive3 = builder.make_block ()
|
||||
.account (key3.pub)
|
||||
|
@ -2875,7 +2875,7 @@ TEST (node, block_processor_signatures)
|
|||
.link (send3->hash ())
|
||||
.sign (key2.prv, key3.pub)
|
||||
.work (*node1.work_generate_blocking (key3.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
node1.process_active (send2);
|
||||
node1.process_active (send3);
|
||||
|
@ -2907,7 +2907,7 @@ TEST (node, block_processor_reject_state)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
send1->signature.bytes[0] ^= 1;
|
||||
ASSERT_FALSE (node.ledger.block_or_pruned_exists (send1->hash ()));
|
||||
node.process_active (send1);
|
||||
|
@ -2921,7 +2921,7 @@ TEST (node, block_processor_reject_state)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.process_active (send2);
|
||||
ASSERT_TIMELY (5s, node.ledger.block_or_pruned_exists (send2->hash ()));
|
||||
}
|
||||
|
@ -2942,7 +2942,7 @@ TEST (node, block_processor_full)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -2951,7 +2951,7 @@ TEST (node, block_processor_full)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send3 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -2960,7 +2960,7 @@ TEST (node, block_processor_full)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.block_processor.stop (); // Stop processing the block queue
|
||||
node.block_processor.add (send1);
|
||||
ASSERT_FALSE (node.block_processor.full ());
|
||||
|
@ -2987,7 +2987,7 @@ TEST (node, block_processor_half_full)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send1->hash ())
|
||||
|
@ -2996,7 +2996,7 @@ TEST (node, block_processor_half_full)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send3 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (send2->hash ())
|
||||
|
@ -3005,7 +3005,7 @@ TEST (node, block_processor_half_full)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (send2->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// The write guard prevents block processor doing any writes
|
||||
auto write_guard = node.write_database_queue.wait (nano::writer::testing);
|
||||
node.block_processor.add (send1);
|
||||
|
@ -3030,7 +3030,7 @@ TEST (node, confirm_back)
|
|||
.balance (genesis_start_balance - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::state_block_builder builder;
|
||||
auto open = builder.make_block ()
|
||||
.account (key.pub)
|
||||
|
@ -3040,7 +3040,7 @@ TEST (node, confirm_back)
|
|||
.link (send1->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (key.pub)
|
||||
.previous (open->hash ())
|
||||
|
@ -3049,7 +3049,7 @@ TEST (node, confirm_back)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node.process_active (send1);
|
||||
node.process_active (open);
|
||||
node.process_active (send2);
|
||||
|
@ -3233,7 +3233,7 @@ TEST (node, bidirectional_tcp)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send1);
|
||||
ASSERT_TIMELY (10s, node1->ledger.block_or_pruned_exists (send1->hash ()) && node2->ledger.block_or_pruned_exists (send1->hash ()));
|
||||
// Test block confirmation from node 1 (add representative to node 1)
|
||||
|
@ -3266,7 +3266,7 @@ TEST (node, bidirectional_tcp)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node2->process_active (send2);
|
||||
ASSERT_TIMELY (10s, node1->ledger.block_or_pruned_exists (send2->hash ()) && node2->ledger.block_or_pruned_exists (send2->hash ()));
|
||||
// Test block confirmation from node 2 (add representative to node 2)
|
||||
|
@ -3317,7 +3317,7 @@ TEST (node, rollback_vote_self)
|
|||
.balance (nano::dev::constants.genesis_amount - (nano::dev::constants.genesis_amount / 2))
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto open = builder.make_block ()
|
||||
.account (key.pub)
|
||||
|
@ -3327,7 +3327,7 @@ TEST (node, rollback_vote_self)
|
|||
.balance (nano::dev::constants.genesis_amount / 2)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// send 1 raw
|
||||
auto send2 = builder.make_block ()
|
||||
|
@ -3337,14 +3337,14 @@ TEST (node, rollback_vote_self)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// fork of send2 block
|
||||
auto fork = builder.make_block ()
|
||||
.from (*send2)
|
||||
.balance (send1->balance ().number () - 2)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Process and mark the first 2 blocks as confirmed to allow voting
|
||||
ASSERT_TRUE (nano::test::process (node, { send1, open }));
|
||||
|
@ -3415,7 +3415,7 @@ TEST (node, rollback_gap_source)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Side a of a forked open block receiving from send1
|
||||
// This is a losing block
|
||||
auto fork1a = builder.make_block ()
|
||||
|
@ -3426,7 +3426,7 @@ TEST (node, rollback_gap_source)
|
|||
.balance (1)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.from (*send1)
|
||||
.previous (send1->hash ())
|
||||
|
@ -3434,14 +3434,14 @@ TEST (node, rollback_gap_source)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Side b of a forked open block receiving from send2.
|
||||
// This is the winning block
|
||||
auto fork1b = builder.make_block ()
|
||||
.from (*fork1a)
|
||||
.link (send2->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Set 'node' up with losing block 'fork1a'
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send1));
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*fork1a));
|
||||
|
@ -3486,7 +3486,7 @@ TEST (node, dependency_graph)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Receive from genesis
|
||||
auto key1_open = builder.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -3687,7 +3687,7 @@ TEST (node, dependency_graph_frontier)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Receive from genesis
|
||||
auto key1_open = builder.make_block ()
|
||||
.account (key1.pub)
|
||||
|
@ -3854,7 +3854,7 @@ TEST (node, deferred_dependent_elections)
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open = builder.make_block ()
|
||||
.account (key.pub)
|
||||
.previous (0)
|
||||
|
@ -3863,7 +3863,7 @@ TEST (node, deferred_dependent_elections)
|
|||
.balance (1)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.from (*send1)
|
||||
.previous (send1->hash ())
|
||||
|
@ -3871,7 +3871,7 @@ TEST (node, deferred_dependent_elections)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive = builder.make_block ()
|
||||
.from (*open)
|
||||
.previous (open->hash ())
|
||||
|
@ -3879,12 +3879,12 @@ TEST (node, deferred_dependent_elections)
|
|||
.balance (2)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (open->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto fork = builder.make_block ()
|
||||
.from (*receive)
|
||||
.representative (nano::dev::genesis_key.pub) // was key.pub
|
||||
.sign (key.prv, key.pub)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
nano::test::process (node, { send1 });
|
||||
auto election_send1 = nano::test::start_election (system, node, send1->hash ());
|
||||
|
@ -4019,7 +4019,7 @@ TEST (node, pruning_automatic)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
|
||||
latest_hash = send1->hash ();
|
||||
|
@ -4029,7 +4029,7 @@ TEST (node, pruning_automatic)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send2);
|
||||
ASSERT_TIMELY (5s, node1.block (send2->hash ()) != nullptr);
|
||||
|
||||
|
@ -4071,7 +4071,7 @@ TEST (node, pruning_age)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
|
||||
latest_hash = send1->hash ();
|
||||
|
@ -4081,7 +4081,7 @@ TEST (node, pruning_age)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send2);
|
||||
|
||||
// Force-confirm both blocks
|
||||
|
@ -4132,7 +4132,7 @@ TEST (node, pruning_depth)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send1);
|
||||
|
||||
latest_hash = send1->hash ();
|
||||
|
@ -4142,7 +4142,7 @@ TEST (node, pruning_depth)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.process_active (send2);
|
||||
|
||||
// Force-confirm both blocks
|
||||
|
|
|
@ -26,7 +26,7 @@ TEST (request_aggregator, one)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> request;
|
||||
request.emplace_back (send1->hash (), send1->root ());
|
||||
auto client = std::make_shared<nano::transport::socket> (node);
|
||||
|
@ -72,7 +72,7 @@ TEST (request_aggregator, one_update)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
node.confirmation_height_processor.add (send1);
|
||||
ASSERT_TIMELY (5s, node.ledger.block_confirmed (node.store.tx_begin_read (), send1->hash ()));
|
||||
|
@ -84,7 +84,7 @@ TEST (request_aggregator, one_update)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send2));
|
||||
auto receive1 = nano::state_block_builder ()
|
||||
.account (key1.pub)
|
||||
|
@ -94,7 +94,7 @@ TEST (request_aggregator, one_update)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node.work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *receive1));
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> request;
|
||||
request.emplace_back (send2->hash (), send2->root ());
|
||||
|
@ -138,7 +138,7 @@ TEST (request_aggregator, two)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
node.confirmation_height_processor.add (send1);
|
||||
ASSERT_TIMELY (5s, node.ledger.block_confirmed (node.store.tx_begin_read (), send1->hash ()));
|
||||
|
@ -150,7 +150,7 @@ TEST (request_aggregator, two)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto receive1 = builder.make_block ()
|
||||
.account (key1.pub)
|
||||
.previous (0)
|
||||
|
@ -159,7 +159,7 @@ TEST (request_aggregator, two)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*node.work_generate_blocking (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send2));
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *receive1));
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> request;
|
||||
|
@ -215,7 +215,7 @@ TEST (request_aggregator, two_endpoints)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> request;
|
||||
request.emplace_back (send1->hash (), send1->root ());
|
||||
ASSERT_EQ (nano::block_status::progress, node1.ledger.process (node1.store.tx_begin_write (), *send1));
|
||||
|
@ -324,7 +324,7 @@ TEST (request_aggregator, channel_lifetime)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> request;
|
||||
request.emplace_back (send1->hash (), send1->root ());
|
||||
|
@ -355,7 +355,7 @@ TEST (request_aggregator, channel_update)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> request;
|
||||
request.emplace_back (send1->hash (), send1->root ());
|
||||
|
@ -395,7 +395,7 @@ TEST (request_aggregator, channel_max_queue)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> request;
|
||||
request.emplace_back (send1->hash (), send1->root ());
|
||||
|
@ -423,7 +423,7 @@ TEST (request_aggregator, unique)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node.work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
std::vector<std::pair<nano::block_hash, nano::root>> request;
|
||||
request.emplace_back (send1->hash (), send1->root ());
|
||||
|
@ -456,14 +456,14 @@ TEST (request_aggregator, cannot_vote)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.from (*send1)
|
||||
.previous (send1->hash ())
|
||||
.balance (send1->balance ().number () - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send1));
|
||||
ASSERT_EQ (nano::block_status::progress, node.process (*send2));
|
||||
system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
|
||||
|
|
|
@ -42,7 +42,7 @@ std::shared_ptr<nano::state_block> & blockzero ()
|
|||
.link (0)
|
||||
.sign (keyzero ().prv, keyzero ().pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
return result;
|
||||
}
|
||||
std::shared_ptr<nano::state_block> & block0 ()
|
||||
|
@ -57,7 +57,7 @@ std::shared_ptr<nano::state_block> & block0 ()
|
|||
.link (0)
|
||||
.sign (key0 ().prv, key0 ().pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
return result;
|
||||
}
|
||||
std::shared_ptr<nano::state_block> & block1 ()
|
||||
|
@ -72,7 +72,7 @@ std::shared_ptr<nano::state_block> & block1 ()
|
|||
.link (0)
|
||||
.sign (key1 ().prv, key1 ().pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
return result;
|
||||
}
|
||||
std::shared_ptr<nano::state_block> & block2 ()
|
||||
|
@ -87,7 +87,7 @@ std::shared_ptr<nano::state_block> & block2 ()
|
|||
.link (0)
|
||||
.sign (key2 ().prv, key2 ().pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
return result;
|
||||
}
|
||||
std::shared_ptr<nano::state_block> & block3 ()
|
||||
|
@ -102,7 +102,7 @@ std::shared_ptr<nano::state_block> & block3 ()
|
|||
.link (0)
|
||||
.sign (key3 ().prv, key3 ().pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ TEST (system, DISABLED_generate_send_existing)
|
|||
.account (stake_preserver.pub)
|
||||
.sign (stake_preserver.prv, stake_preserver.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*open_block);
|
||||
ASSERT_EQ (nano::block_status::progress, node1.ledger.process (transaction, *open_block));
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ TEST (system, DISABLED_generate_send_new)
|
|||
.account (stake_preserver.pub)
|
||||
.sign (stake_preserver.prv, stake_preserver.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1.work_generate_blocking (*open_block);
|
||||
ASSERT_EQ (nano::block_status::progress, node1.ledger.process (transaction, *open_block));
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ std::shared_ptr<nano::block> block ()
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ TEST (block_store, one_bootstrap)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
unchecked.put (block1->hash (), nano::unchecked_info{ block1 });
|
||||
auto check_block_is_listed = [&] (nano::block_hash const & block_hash_a) {
|
||||
return unchecked.get (block_hash_a).size () > 0;
|
||||
|
@ -98,7 +98,7 @@ TEST (unchecked, simple)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Asserts the block wasn't added yet to the unchecked table
|
||||
auto block_listing1 = unchecked.get (block->previous ());
|
||||
ASSERT_TRUE (block_listing1.empty ());
|
||||
|
@ -139,7 +139,7 @@ TEST (unchecked, multiple)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Asserts the block wasn't added yet to the unchecked table
|
||||
auto block_listing1 = unchecked.get (block->previous ());
|
||||
ASSERT_TRUE (block_listing1.empty ());
|
||||
|
@ -169,7 +169,7 @@ TEST (unchecked, double_put)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Asserts the block wasn't added yet to the unchecked table
|
||||
auto block_listing1 = unchecked.get (block->previous ());
|
||||
ASSERT_TRUE (block_listing1.empty ());
|
||||
|
@ -201,7 +201,7 @@ TEST (unchecked, multiple_get)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto block2 = builder
|
||||
.send ()
|
||||
.previous (3)
|
||||
|
@ -209,7 +209,7 @@ TEST (unchecked, multiple_get)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto block3 = builder
|
||||
.send ()
|
||||
.previous (5)
|
||||
|
@ -217,7 +217,7 @@ TEST (unchecked, multiple_get)
|
|||
.balance (2)
|
||||
.sign (nano::keypair ().prv, 4)
|
||||
.work (5)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
// Add the blocks' info to the unchecked table
|
||||
unchecked.put (block1->previous (), nano::unchecked_info (block1)); // unchecked1
|
||||
unchecked.put (block1->hash (), nano::unchecked_info (block1)); // unchecked2
|
||||
|
|
|
@ -158,7 +158,7 @@ TEST (vote_spacing, vote_generator)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -167,7 +167,7 @@ TEST (vote_spacing, vote_generator)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
ASSERT_EQ (0, node.stats.count (nano::stat::type::vote_generator, nano::stat::detail::generator_broadcasts));
|
||||
node.generator.add (nano::dev::genesis->hash (), send1->hash ());
|
||||
|
@ -202,7 +202,7 @@ TEST (vote_spacing, rapid)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder.make_block ()
|
||||
.account (nano::dev::genesis_key.pub)
|
||||
.previous (nano::dev::genesis->hash ())
|
||||
|
@ -211,7 +211,7 @@ TEST (vote_spacing, rapid)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node.ledger.process (node.store.tx_begin_write (), *send1));
|
||||
node.generator.add (nano::dev::genesis->hash (), send1->hash ());
|
||||
ASSERT_TIMELY_EQ (3s, node.stats.count (nano::stat::type::vote_generator, nano::stat::detail::generator_broadcasts), 1);
|
||||
|
|
|
@ -99,7 +99,7 @@ TEST (websocket, confirmation)
|
|||
.balance (balance)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send);
|
||||
}
|
||||
|
||||
|
@ -118,7 +118,7 @@ TEST (websocket, confirmation)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (send);
|
||||
}
|
||||
|
@ -158,7 +158,7 @@ TEST (websocket, started_election)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish1{ nano::dev::network_params.network, send1 };
|
||||
auto channel1 = std::make_shared<nano::transport::fake::channel> (*node1);
|
||||
node1->network.inbound (publish1, channel1);
|
||||
|
@ -206,7 +206,7 @@ TEST (websocket, stopped_election)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
nano::publish publish1{ nano::dev::network_params.network, send1 };
|
||||
auto channel1 = std::make_shared<nano::transport::fake::channel> (*node1);
|
||||
node1->network.inbound (publish1, channel1);
|
||||
|
@ -264,7 +264,7 @@ TEST (websocket, confirmation_options)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (send);
|
||||
previous = send->hash ();
|
||||
|
@ -297,7 +297,7 @@ TEST (websocket, confirmation_options)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (send);
|
||||
previous = send->hash ();
|
||||
|
@ -360,7 +360,7 @@ TEST (websocket, confirmation_options)
|
|||
.balance (balance)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send);
|
||||
previous = send->hash ();
|
||||
}
|
||||
|
@ -406,7 +406,7 @@ TEST (websocket, confirmation_options_votes)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (send);
|
||||
previous = send->hash ();
|
||||
|
@ -493,7 +493,7 @@ TEST (websocket, confirmation_options_sideband)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (send);
|
||||
previous = send->hash ();
|
||||
|
@ -574,7 +574,7 @@ TEST (websocket, confirmation_options_update)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (send);
|
||||
|
||||
|
@ -592,7 +592,7 @@ TEST (websocket, confirmation_options_update)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (send2);
|
||||
|
||||
|
@ -634,7 +634,7 @@ TEST (websocket, vote)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
node1->process_active (send);
|
||||
|
||||
|
@ -736,7 +736,7 @@ TEST (websocket, vote_options_representatives)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send);
|
||||
};
|
||||
confirm_block ();
|
||||
|
@ -1059,7 +1059,7 @@ TEST (websocket, new_unconfirmed_block)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process_local (send1).value ());
|
||||
|
||||
|
|
|
@ -652,7 +652,7 @@ nano::receive_block_builder & nano::receive_block_builder::source_hex (std::stri
|
|||
}
|
||||
|
||||
template <typename BLOCKTYPE, typename BUILDER>
|
||||
std::unique_ptr<BLOCKTYPE> nano::abstract_builder<BLOCKTYPE, BUILDER>::build ()
|
||||
std::shared_ptr<BLOCKTYPE> nano::abstract_builder<BLOCKTYPE, BUILDER>::build ()
|
||||
{
|
||||
if (!ec)
|
||||
{
|
||||
|
@ -663,7 +663,7 @@ std::unique_ptr<BLOCKTYPE> nano::abstract_builder<BLOCKTYPE, BUILDER>::build ()
|
|||
}
|
||||
|
||||
template <typename BLOCKTYPE, typename BUILDER>
|
||||
std::unique_ptr<BLOCKTYPE> nano::abstract_builder<BLOCKTYPE, BUILDER>::build (std::error_code & ec)
|
||||
std::shared_ptr<BLOCKTYPE> nano::abstract_builder<BLOCKTYPE, BUILDER>::build (std::error_code & ec)
|
||||
{
|
||||
if (!this->ec)
|
||||
{
|
||||
|
@ -673,18 +673,6 @@ std::unique_ptr<BLOCKTYPE> nano::abstract_builder<BLOCKTYPE, BUILDER>::build (st
|
|||
return std::move (block);
|
||||
}
|
||||
|
||||
template <typename BLOCKTYPE, typename BUILDER>
|
||||
std::shared_ptr<BLOCKTYPE> nano::abstract_builder<BLOCKTYPE, BUILDER>::build_shared ()
|
||||
{
|
||||
return std::move (build ());
|
||||
}
|
||||
|
||||
template <typename BLOCKTYPE, typename BUILDER>
|
||||
std::shared_ptr<BLOCKTYPE> nano::abstract_builder<BLOCKTYPE, BUILDER>::build_shared (std::error_code & ec)
|
||||
{
|
||||
return std::move (build (ec));
|
||||
}
|
||||
|
||||
template <typename BLOCKTYPE, typename BUILDER>
|
||||
nano::abstract_builder<BLOCKTYPE, BUILDER> & nano::abstract_builder<BLOCKTYPE, BUILDER>::work (uint64_t work)
|
||||
{
|
||||
|
|
|
@ -44,14 +44,10 @@ template <typename BLOCKTYPE, typename BUILDER>
|
|||
class abstract_builder
|
||||
{
|
||||
public:
|
||||
/** Returns the built block as a unique_ptr */
|
||||
std::unique_ptr<BLOCKTYPE> build ();
|
||||
/** Returns the built block as a unique_ptr. Any errors are placed in \p ec */
|
||||
std::unique_ptr<BLOCKTYPE> build (std::error_code & ec);
|
||||
/** Returns the built block as a shared_ptr */
|
||||
std::shared_ptr<BLOCKTYPE> build_shared ();
|
||||
/** Returns the built block as a shared_ptr. Any errors are placed in \p ec */
|
||||
std::shared_ptr<BLOCKTYPE> build_shared (std::error_code & ec);
|
||||
/** Returns the built block*/
|
||||
std::shared_ptr<BLOCKTYPE> build ();
|
||||
/** Returns the built block. Any errors are placed in \p ec */
|
||||
std::shared_ptr<BLOCKTYPE> build (std::error_code & ec);
|
||||
/** Set work value */
|
||||
abstract_builder & work (uint64_t work);
|
||||
/** Sign the block using the \p private_key and \p public_key */
|
||||
|
|
|
@ -1183,7 +1183,7 @@ TEST (rpc, history_pruning)
|
|||
.representative (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (change);
|
||||
|
||||
// legacy send to itself
|
||||
|
@ -1194,7 +1194,7 @@ TEST (rpc, history_pruning)
|
|||
.balance (nano::dev::constants.genesis_amount - node0->config.receive_minimum.number ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work.generate (change->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (send);
|
||||
|
||||
// legacy receive the legacy self send
|
||||
|
@ -1204,7 +1204,7 @@ TEST (rpc, history_pruning)
|
|||
.source (send->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (receive);
|
||||
|
||||
// non legacy self send
|
||||
|
@ -1217,7 +1217,7 @@ TEST (rpc, history_pruning)
|
|||
.link (nano::dev::genesis->account ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (receive->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (usend);
|
||||
|
||||
// non legacy receive of the non legacy self send
|
||||
|
@ -1230,7 +1230,7 @@ TEST (rpc, history_pruning)
|
|||
.link (usend->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (usend->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (ureceive);
|
||||
|
||||
// change genesis to a random rep
|
||||
|
@ -1243,7 +1243,7 @@ TEST (rpc, history_pruning)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node0->work_generate_blocking (ureceive->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (uchange);
|
||||
|
||||
nano::test::process_live (*node0, blocks);
|
||||
|
@ -1438,7 +1438,7 @@ TEST (rpc, process_block_async)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
std::string json1;
|
||||
state_send->serialize_json (json1);
|
||||
request.put ("block", json1);
|
||||
|
@ -1556,7 +1556,7 @@ TEST (rpc, process_subtype_open)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send));
|
||||
ASSERT_EQ (nano::block_status::progress, node2.process (*send));
|
||||
auto const rpc_ctx = add_rpc (system, node1);
|
||||
|
@ -1605,7 +1605,7 @@ TEST (rpc, process_subtype_receive)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send));
|
||||
ASSERT_EQ (nano::block_status::progress, node2.process (*send));
|
||||
auto const rpc_ctx = add_rpc (system, node1);
|
||||
|
@ -2227,7 +2227,7 @@ TEST (rpc, block_count_pruning)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send1);
|
||||
auto receive1 = builder
|
||||
.receive ()
|
||||
|
@ -2235,7 +2235,7 @@ TEST (rpc, block_count_pruning)
|
|||
.source (send1->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (receive1);
|
||||
system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
|
||||
ASSERT_TIMELY (5s, node1->block_confirmed (receive1->hash ()));
|
||||
|
@ -2995,7 +2995,7 @@ TEST (rpc, accounts_balances_unopened_account_with_receivables)
|
|||
.link (unopened_account.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction = node->store.tx_begin_write ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->ledger.process (transaction, *send));
|
||||
|
@ -4276,7 +4276,7 @@ TEST (rpc, block_info_pruning)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send1);
|
||||
auto receive1 = builder
|
||||
.receive ()
|
||||
|
@ -4284,7 +4284,7 @@ TEST (rpc, block_info_pruning)
|
|||
.source (send1->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (receive1);
|
||||
system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
|
||||
ASSERT_TIMELY (5s, node1->block_confirmed (receive1->hash ()));
|
||||
|
@ -4342,7 +4342,7 @@ TEST (rpc, pruned_exists)
|
|||
.balance (nano::dev::constants.genesis_amount - nano::Gxrb_ratio)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send1);
|
||||
auto receive1 = builder
|
||||
.receive ()
|
||||
|
@ -4350,7 +4350,7 @@ TEST (rpc, pruned_exists)
|
|||
.source (send1->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node1->work_generate_blocking (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (receive1);
|
||||
system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
|
||||
ASSERT_TIMELY (5s, node1->block_confirmed (receive1->hash ()));
|
||||
|
@ -4777,7 +4777,7 @@ TEST (rpc, block_create_state_request_work)
|
|||
{
|
||||
// Test work generation for state blocks both with and without previous (in the latter
|
||||
// case, the account will be used for work generation)
|
||||
std::unique_ptr<nano::state_block> epoch2;
|
||||
std::shared_ptr<nano::state_block> epoch2;
|
||||
{
|
||||
nano::test::system system (1);
|
||||
system.upgrade_genesis_epoch (*system.nodes.front (), nano::epoch::epoch_1);
|
||||
|
@ -5340,7 +5340,7 @@ TEST (rpc, block_confirm)
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*node->work_generate_blocking (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
{
|
||||
auto transaction (node->store.tx_begin_write ());
|
||||
ASSERT_EQ (nano::block_status::progress, node->ledger.process (transaction, *send1));
|
||||
|
@ -5445,7 +5445,7 @@ TEST (rpc, unchecked)
|
|||
.link (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto open2 = builder
|
||||
.state ()
|
||||
.account (key.pub)
|
||||
|
@ -5455,7 +5455,7 @@ TEST (rpc, unchecked)
|
|||
.link (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->process_active (open);
|
||||
node->process_active (open2);
|
||||
// Waits for the last block of the queue to get saved in the database
|
||||
|
@ -5497,7 +5497,7 @@ TEST (rpc, unchecked_get)
|
|||
.link (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->process_active (open);
|
||||
// Waits for the open block to get saved in the database
|
||||
ASSERT_TIMELY_EQ (10s, 1, node->unchecked.count ());
|
||||
|
@ -5536,7 +5536,7 @@ TEST (rpc, unchecked_clear)
|
|||
.link (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->process_active (open);
|
||||
boost::property_tree::ptree request{};
|
||||
// Waits for the open block to get saved in the database
|
||||
|
@ -5799,7 +5799,7 @@ TEST (rpc, memory_stats)
|
|||
.link (0)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
std::vector<nano::block_hash> hashes;
|
||||
hashes.push_back (block->hash ());
|
||||
auto vote = nano::test::make_vote (key, { hashes }, 0, 0);
|
||||
|
@ -5877,7 +5877,7 @@ TEST (rpc, block_confirmed)
|
|||
.balance (10)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->process_active (send);
|
||||
ASSERT_TRUE (nano::test::start_elections (system, *node, { send }, true));
|
||||
|
||||
|
@ -6143,7 +6143,7 @@ TEST (rpc, epoch_upgrade)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared (); // to opened account
|
||||
.build (); // to opened account
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send1));
|
||||
auto send2 = builder
|
||||
.state ()
|
||||
|
@ -6154,7 +6154,7 @@ TEST (rpc, epoch_upgrade)
|
|||
.link (key2.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared (); // to unopened account (pending)
|
||||
.build (); // to unopened account (pending)
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send2));
|
||||
auto send3 = builder
|
||||
.state ()
|
||||
|
@ -6165,7 +6165,7 @@ TEST (rpc, epoch_upgrade)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send2->hash ()))
|
||||
.build_shared (); // to burn (0)
|
||||
.build (); // to burn (0)
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send3));
|
||||
nano::account max_account (std::numeric_limits<nano::uint256_t>::max ());
|
||||
auto send4 = builder
|
||||
|
@ -6177,7 +6177,7 @@ TEST (rpc, epoch_upgrade)
|
|||
.link (max_account)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send3->hash ()))
|
||||
.build_shared (); // to max account
|
||||
.build (); // to max account
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send4));
|
||||
auto open = builder
|
||||
.state ()
|
||||
|
@ -6188,7 +6188,7 @@ TEST (rpc, epoch_upgrade)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*open));
|
||||
// Check accounts epochs
|
||||
{
|
||||
|
@ -6234,7 +6234,7 @@ TEST (rpc, epoch_upgrade)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (genesis_latest))
|
||||
.build_shared (); // to burn (0)
|
||||
.build (); // to burn (0)
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send5));
|
||||
auto send6 = builder
|
||||
.state ()
|
||||
|
@ -6245,7 +6245,7 @@ TEST (rpc, epoch_upgrade)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send5->hash ()))
|
||||
.build_shared (); // to key1 (again)
|
||||
.build (); // to key1 (again)
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send6));
|
||||
auto key1_latest (node->latest (key1.pub));
|
||||
auto send7 = builder
|
||||
|
@ -6257,7 +6257,7 @@ TEST (rpc, epoch_upgrade)
|
|||
.link (key3.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1_latest))
|
||||
.build_shared (); // to key3
|
||||
.build (); // to key3
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send7));
|
||||
{
|
||||
// Check pending entry
|
||||
|
@ -6306,7 +6306,7 @@ TEST (rpc, epoch_upgrade_multithreaded)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared (); // to opened account
|
||||
.build (); // to opened account
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send1));
|
||||
auto send2 = builder
|
||||
.state ()
|
||||
|
@ -6317,7 +6317,7 @@ TEST (rpc, epoch_upgrade_multithreaded)
|
|||
.link (key2.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared (); // to unopened account (pending)
|
||||
.build (); // to unopened account (pending)
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send2));
|
||||
auto send3 = builder
|
||||
.state ()
|
||||
|
@ -6328,7 +6328,7 @@ TEST (rpc, epoch_upgrade_multithreaded)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send2->hash ()))
|
||||
.build_shared (); // to burn (0)
|
||||
.build (); // to burn (0)
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send3));
|
||||
nano::account max_account (std::numeric_limits<nano::uint256_t>::max ());
|
||||
auto send4 = builder
|
||||
|
@ -6340,7 +6340,7 @@ TEST (rpc, epoch_upgrade_multithreaded)
|
|||
.link (max_account)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send3->hash ()))
|
||||
.build_shared (); // to max account
|
||||
.build (); // to max account
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send4));
|
||||
auto open = builder
|
||||
.state ()
|
||||
|
@ -6351,7 +6351,7 @@ TEST (rpc, epoch_upgrade_multithreaded)
|
|||
.link (send1->hash ())
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*open));
|
||||
// Check accounts epochs
|
||||
{
|
||||
|
@ -6398,7 +6398,7 @@ TEST (rpc, epoch_upgrade_multithreaded)
|
|||
.link (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (genesis_latest))
|
||||
.build_shared (); // to burn (0)
|
||||
.build (); // to burn (0)
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send5));
|
||||
auto send6 = builder
|
||||
.state ()
|
||||
|
@ -6409,7 +6409,7 @@ TEST (rpc, epoch_upgrade_multithreaded)
|
|||
.link (key1.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send5->hash ()))
|
||||
.build_shared (); // to key1 (again)
|
||||
.build (); // to key1 (again)
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send6));
|
||||
auto key1_latest (node->latest (key1.pub));
|
||||
auto send7 = builder
|
||||
|
@ -6421,7 +6421,7 @@ TEST (rpc, epoch_upgrade_multithreaded)
|
|||
.link (key3.pub)
|
||||
.sign (key1.prv, key1.pub)
|
||||
.work (*system.work.generate (key1_latest))
|
||||
.build_shared (); // to key3
|
||||
.build (); // to key3
|
||||
ASSERT_EQ (nano::block_status::progress, node->process (*send7));
|
||||
{
|
||||
// Check pending entry
|
||||
|
@ -6470,7 +6470,7 @@ TEST (rpc, account_lazy_start)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*send1));
|
||||
auto open = builder
|
||||
.open ()
|
||||
|
@ -6479,7 +6479,7 @@ TEST (rpc, account_lazy_start)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node1->process (*open));
|
||||
|
||||
// Start lazy bootstrap with account
|
||||
|
@ -6869,7 +6869,7 @@ TEST (rpc, confirmation_active)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
auto send2 = builder
|
||||
.send ()
|
||||
.previous (send1->hash ())
|
||||
|
@ -6877,7 +6877,7 @@ TEST (rpc, confirmation_active)
|
|||
.balance (nano::dev::constants.genesis_amount - 200)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (send1->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send1);
|
||||
node1->process_active (send2);
|
||||
ASSERT_TRUE (nano::test::start_elections (system, *node1, { send1, send2 }));
|
||||
|
@ -6913,7 +6913,7 @@ TEST (rpc, confirmation_info)
|
|||
.balance (nano::dev::constants.genesis_amount - 100)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node1->process_active (send);
|
||||
ASSERT_TIMELY (5s, !node1->active.empty ());
|
||||
|
||||
|
|
|
@ -287,7 +287,7 @@ TEST (node, fork_storm)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node_i->work_generate_blocking (*open);
|
||||
auto open_result (node_i->process (*open));
|
||||
ASSERT_EQ (nano::block_status::progress, open_result);
|
||||
|
@ -507,7 +507,7 @@ TEST (store, unchecked_load)
|
|||
.balance (0)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (0)
|
||||
.build_shared ();
|
||||
.build ();
|
||||
constexpr auto num_unchecked = 1'000'000;
|
||||
for (auto i (0); i < num_unchecked; ++i)
|
||||
{
|
||||
|
@ -618,7 +618,7 @@ TEST (node, mass_vote_by_hash)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
previous = block->hash ();
|
||||
blocks.push_back (block);
|
||||
}
|
||||
|
@ -752,7 +752,7 @@ TEST (confirmation_height, many_accounts_many_confirmations)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->ledger.process (transaction, *open));
|
||||
open_blocks.push_back (std::move (open));
|
||||
latest_genesis = send->hash ();
|
||||
|
@ -878,7 +878,7 @@ TEST (confirmation_height, long_chains)
|
|||
.link (send1->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (previous_genesis_chain_hash))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
// Unpocketed. Send to a non-existing account to prevent auto receives from the wallet adjusting expected confirmation height
|
||||
nano::keypair key2;
|
||||
|
@ -962,7 +962,7 @@ TEST (confirmation_height, dynamic_algorithm)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
latest_genesis = send;
|
||||
state_blocks.push_back (send);
|
||||
}
|
||||
|
@ -1028,7 +1028,7 @@ TEST (confirmation_height, dynamic_algorithm_no_transition_while_pending)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_genesis))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
latest_genesis = send->hash ();
|
||||
state_blocks.push_back (send);
|
||||
ASSERT_EQ (nano::block_status::progress, node->ledger.process (transaction, *send));
|
||||
|
@ -1124,7 +1124,7 @@ TEST (confirmation_height, many_accounts_send_receive_self)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, node->ledger.process (transaction, *open));
|
||||
open_blocks.push_back (std::move (open));
|
||||
latest_genesis = send->hash ();
|
||||
|
@ -1161,14 +1161,14 @@ TEST (confirmation_height, many_accounts_send_receive_self)
|
|||
.balance (1)
|
||||
.sign (keypair.prv, keypair.pub)
|
||||
.work (*system.work.generate (open_block->hash ()))
|
||||
.build_shared ());
|
||||
.build ());
|
||||
receive_blocks.emplace_back (builder
|
||||
.receive ()
|
||||
.previous (send_blocks.back ()->hash ())
|
||||
.source (send_blocks.back ()->hash ())
|
||||
.sign (keypair.prv, keypair.pub)
|
||||
.work (*system.work.generate (send_blocks.back ()->hash ()))
|
||||
.build_shared ());
|
||||
.build ());
|
||||
}
|
||||
|
||||
// Now send and receive to self
|
||||
|
@ -1271,7 +1271,7 @@ TEST (confirmation_height, many_accounts_send_receive_self_no_elections)
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*pool.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *open));
|
||||
open_blocks.push_back (std::move (open));
|
||||
latest_genesis = send->hash ();
|
||||
|
@ -1307,14 +1307,14 @@ TEST (confirmation_height, many_accounts_send_receive_self_no_elections)
|
|||
.balance (1)
|
||||
.sign (keypair.prv, keypair.pub)
|
||||
.work (*system.work.generate (open_block->hash ()))
|
||||
.build_shared ());
|
||||
.build ());
|
||||
receive_blocks.emplace_back (builder
|
||||
.receive ()
|
||||
.previous (send_blocks.back ()->hash ())
|
||||
.source (send_blocks.back ()->hash ())
|
||||
.sign (keypair.prv, keypair.pub)
|
||||
.work (*system.work.generate (send_blocks.back ()->hash ()))
|
||||
.build_shared ());
|
||||
.build ());
|
||||
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send_blocks.back ()));
|
||||
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *receive_blocks.back ()));
|
||||
|
@ -1523,7 +1523,7 @@ TEST (telemetry, under_load)
|
|||
.link (key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest_genesis))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->process_active (send);
|
||||
latest_genesis = send->hash ();
|
||||
auto open = builder
|
||||
|
@ -1535,7 +1535,7 @@ TEST (telemetry, under_load)
|
|||
.link (send->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
node->process_active (open);
|
||||
auto latest_key = open->hash ();
|
||||
|
||||
|
@ -1553,7 +1553,7 @@ TEST (telemetry, under_load)
|
|||
.link (key1.pub)
|
||||
.sign (keypair.prv, keypair.pub)
|
||||
.work (*system.work.generate (latest_l))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
latest_l = send->hash ();
|
||||
node->process_active (send);
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ nano::keypair setup_rep (nano::test::system & system, nano::node & node, nano::u
|
|||
.balance (balance - amount)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto open = builder
|
||||
.open ()
|
||||
|
@ -35,7 +35,7 @@ nano::keypair setup_rep (nano::test::system & system, nano::node & node, nano::u
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
EXPECT_TRUE (nano::test::process (node, { send, open }));
|
||||
EXPECT_TRUE (nano::test::start_elections (system, node, { send, open }, true));
|
||||
|
@ -81,7 +81,7 @@ std::vector<std::shared_ptr<nano::block>> setup_blocks (nano::test::system & sys
|
|||
.balance (balance)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto open = builder
|
||||
.open ()
|
||||
|
@ -90,7 +90,7 @@ std::vector<std::shared_ptr<nano::block>> setup_blocks (nano::test::system & sys
|
|||
.account (key.pub)
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
latest = send->hash ();
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ nano::block_list_t nano::test::setup_chain (nano::test::system & system, nano::n
|
|||
.link (throwaway.pub)
|
||||
.sign (target.prv, target.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
latest = send->hash ();
|
||||
|
||||
|
@ -63,7 +63,7 @@ std::vector<std::pair<nano::account, nano::block_list_t>> nano::test::setup_chai
|
|||
.link (key.pub)
|
||||
.sign (source.prv, source.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto open = builder
|
||||
.state ()
|
||||
|
@ -74,7 +74,7 @@ std::vector<std::pair<nano::account, nano::block_list_t>> nano::test::setup_chai
|
|||
.link (send->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
latest = send->hash ();
|
||||
|
||||
|
@ -120,7 +120,7 @@ nano::block_list_t nano::test::setup_independent_blocks (nano::test::system & sy
|
|||
.link (key.pub)
|
||||
.sign (source.prv, source.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
latest = send->hash ();
|
||||
|
||||
|
@ -133,7 +133,7 @@ nano::block_list_t nano::test::setup_independent_blocks (nano::test::system & sy
|
|||
.link (send->hash ())
|
||||
.sign (key.prv, key.pub)
|
||||
.work (*system.work.generate (key.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
EXPECT_TRUE (nano::test::process (node, { send, open }));
|
||||
EXPECT_TIMELY (5s, nano::test::exists (node, { send, open })); // Ensure blocks are in the ledger
|
||||
|
@ -162,7 +162,7 @@ std::pair<std::shared_ptr<nano::block>, std::shared_ptr<nano::block>> nano::test
|
|||
.link (dest.pub)
|
||||
.sign (source.prv, source.pub)
|
||||
.work (*system.work.generate (latest))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
auto open = nano::block_builder ()
|
||||
.state ()
|
||||
|
@ -173,7 +173,7 @@ std::pair<std::shared_ptr<nano::block>, std::shared_ptr<nano::block>> nano::test
|
|||
.link (send->hash ())
|
||||
.sign (dest.prv, dest.pub)
|
||||
.work (*system.work.generate (dest.pub))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
|
||||
EXPECT_TRUE (nano::test::process (node, { send, open }));
|
||||
EXPECT_TRUE (nano::test::start_elections (system, node, { send, open }, force_confirm));
|
||||
|
|
|
@ -56,7 +56,7 @@ auto nano::test::context::ledger_send_receive () -> ledger_context
|
|||
.link (nano::dev::genesis_key.pub)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (send);
|
||||
auto receive = builder.state ()
|
||||
.make_block ()
|
||||
|
@ -67,7 +67,7 @@ auto nano::test::context::ledger_send_receive () -> ledger_context
|
|||
.link (send->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (receive);
|
||||
return ledger_context{ std::move (blocks) };
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ auto nano::test::context::ledger_send_receive_legacy () -> ledger_context
|
|||
.balance (nano::dev::constants.genesis_amount - 1)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (nano::dev::genesis->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (send);
|
||||
auto receive = builder.receive ()
|
||||
.make_block ()
|
||||
|
@ -92,7 +92,7 @@ auto nano::test::context::ledger_send_receive_legacy () -> ledger_context
|
|||
.source (send->hash ())
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*pool.generate (send->hash ()))
|
||||
.build_shared ();
|
||||
.build ();
|
||||
blocks.push_back (receive);
|
||||
return ledger_context{ std::move (blocks) };
|
||||
}
|
||||
|
|
|
@ -192,7 +192,7 @@ void nano::test::system::ledger_initialization_set (std::vector<nano::keypair> c
|
|||
.balance (balance)
|
||||
.sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub)
|
||||
.work (*work.generate (previous));
|
||||
initialization_blocks.emplace_back (builder.build_shared ());
|
||||
initialization_blocks.emplace_back (builder.build ());
|
||||
previous = initialization_blocks.back ()->hash ();
|
||||
builder.make_block ();
|
||||
builder.account (i.pub)
|
||||
|
@ -202,7 +202,7 @@ void nano::test::system::ledger_initialization_set (std::vector<nano::keypair> c
|
|||
.balance (amount)
|
||||
.sign (i.prv, i.pub)
|
||||
.work (*work.generate (i.pub));
|
||||
initialization_blocks.emplace_back (builder.build_shared ());
|
||||
initialization_blocks.emplace_back (builder.build ());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -239,7 +239,7 @@ uint64_t nano::test::system::work_generate_limited (nano::block_hash const & roo
|
|||
/** Initiate an epoch upgrade. Writes the epoch block into the ledger and leaves it to
|
||||
* node background processes (e.g. frontiers confirmation) to cement the block.
|
||||
*/
|
||||
std::unique_ptr<nano::state_block> nano::test::upgrade_epoch (nano::work_pool & pool_a, nano::ledger & ledger_a, nano::epoch epoch_a)
|
||||
std::shared_ptr<nano::state_block> nano::test::upgrade_epoch (nano::work_pool & pool_a, nano::ledger & ledger_a, nano::epoch epoch_a)
|
||||
{
|
||||
auto transaction (ledger_a.store.tx_begin_write ());
|
||||
auto dev_genesis_key = nano::dev::genesis_key;
|
||||
|
@ -268,7 +268,7 @@ std::unique_ptr<nano::state_block> nano::test::upgrade_epoch (nano::work_pool &
|
|||
return !error ? std::move (epoch) : nullptr;
|
||||
}
|
||||
|
||||
std::unique_ptr<nano::state_block> nano::test::system::upgrade_genesis_epoch (nano::node & node_a, nano::epoch const epoch_a)
|
||||
std::shared_ptr<nano::state_block> nano::test::system::upgrade_genesis_epoch (nano::node & node_a, nano::epoch const epoch_a)
|
||||
{
|
||||
return upgrade_epoch (work, node_a.ledger, epoch_a);
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace test
|
|||
void generate_receive (nano::node &);
|
||||
void generate_send_new (nano::node &, std::vector<nano::account> &);
|
||||
void generate_send_existing (nano::node &, std::vector<nano::account> &);
|
||||
std::unique_ptr<nano::state_block> upgrade_genesis_epoch (nano::node &, nano::epoch const);
|
||||
std::shared_ptr<nano::state_block> upgrade_genesis_epoch (nano::node &, nano::epoch const);
|
||||
std::shared_ptr<nano::wallet> wallet (size_t);
|
||||
nano::account account (store::transaction const &, size_t);
|
||||
/** Generate work with difficulty between \p min_difficulty_a (inclusive) and \p max_difficulty_a (exclusive) */
|
||||
|
@ -85,7 +85,7 @@ namespace test
|
|||
std::vector<std::shared_ptr<nano::block>> initialization_blocks;
|
||||
};
|
||||
|
||||
std::unique_ptr<nano::state_block> upgrade_epoch (nano::work_pool &, nano::ledger &, nano::epoch);
|
||||
std::shared_ptr<nano::state_block> upgrade_epoch (nano::work_pool &, nano::ledger &, nano::epoch);
|
||||
void cleanup_dev_directories_on_exit ();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue