From 2b562e1e89f76803189d46f8a9ca7d3d498a9b1c Mon Sep 17 00:00:00 2001 From: clemahieu Date: Wed, 4 May 2022 22:00:56 +0100 Subject: [PATCH] Removing usage of vote-by-block from unit tests in preparation for removing support for vote-by-block. --- nano/core_test/active_transactions.cpp | 10 ++--- nano/core_test/conflicts.cpp | 29 ++++++-------- nano/core_test/election.cpp | 12 +++--- nano/core_test/ledger.cpp | 52 +++++++------------------- nano/core_test/message_parser.cpp | 2 +- nano/core_test/network.cpp | 4 +- nano/core_test/node.cpp | 20 +++++----- nano/core_test/websocket.cpp | 2 +- 8 files changed, 49 insertions(+), 82 deletions(-) diff --git a/nano/core_test/active_transactions.cpp b/nano/core_test/active_transactions.cpp index 162fe52f..c58c239b 100644 --- a/nano/core_test/active_transactions.cpp +++ b/nano/core_test/active_transactions.cpp @@ -542,7 +542,7 @@ TEST (active_transactions, vote_replays) nano::blocks_confirm (node, { send1, open1 }); ASSERT_EQ (2, node.active.size ()); // First vote is not a replay and confirms the election, second vote should be a replay since the election has confirmed but not yet removed - auto vote_send1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, send1)); + auto vote_send1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send1->hash () })); ASSERT_EQ (nano::vote_code::vote, node.active.vote (vote_send1)); ASSERT_EQ (2, node.active.size ()); ASSERT_EQ (nano::vote_code::replay, node.active.vote (vote_send1)); @@ -550,7 +550,7 @@ TEST (active_transactions, vote_replays) ASSERT_TIMELY (3s, node.active.size () == 1); ASSERT_EQ (nano::vote_code::replay, node.active.vote (vote_send1)); // Open new account - auto vote_open1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, open1)); + auto vote_open1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ open1->hash () })); ASSERT_EQ (nano::vote_code::vote, node.active.vote (vote_open1)); ASSERT_EQ (nano::vote_code::replay, node.active.vote (vote_open1)); ASSERT_TIMELY (3s, node.active.empty ()); @@ -570,8 +570,8 @@ TEST (active_transactions, vote_replays) node.process_active (send2); nano::blocks_confirm (node, { send2 }); ASSERT_EQ (1, node.active.size ()); - auto vote1_send2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, send2)); - auto vote2_send2 (std::make_shared (key.pub, key.prv, 0, 0, send2)); + auto vote1_send2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send2->hash () })); + auto vote2_send2 (std::make_shared (key.pub, key.prv, 0, 0, std::vector{ send2->hash () })); ASSERT_EQ (nano::vote_code::vote, node.active.vote (vote2_send2)); ASSERT_EQ (1, node.active.size ()); ASSERT_EQ (nano::vote_code::replay, node.active.vote (vote2_send2)); @@ -1021,7 +1021,7 @@ TEST (active_transactions, conflicting_block_vote_existing_election) .sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub) .work (*system.work.generate (nano::dev::genesis->hash ())) .build_shared (); - auto vote_fork (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, fork)); + auto vote_fork (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ fork->hash () })); ASSERT_EQ (nano::process_result::progress, node.process_local (send).code); node.scheduler.flush (); diff --git a/nano/core_test/conflicts.cpp b/nano/core_test/conflicts.cpp index 575b6456..07e916ff 100644 --- a/nano/core_test/conflicts.cpp +++ b/nano/core_test/conflicts.cpp @@ -27,26 +27,19 @@ TEST (conflicts, start_stop) TEST (conflicts, add_existing) { - nano::system system (1); - auto & node1 (*system.nodes[0]); + nano::system system{ 1 }; + auto & node1 = *system.nodes[0]; nano::keypair key1; - auto send1 (std::make_shared (nano::dev::genesis->hash (), key1.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, 0)); + auto send1 = std::make_shared (nano::dev::genesis->hash (), key1.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, 0); node1.work_generate_blocking (*send1); ASSERT_EQ (nano::process_result::progress, node1.process (*send1).code); node1.scheduler.activate (nano::dev::genesis_key.pub, node1.store.tx_begin_read ()); nano::keypair key2; - auto send2 (std::make_shared (nano::dev::genesis->hash (), key2.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, 0)); + auto send2 = std::make_shared (nano::dev::genesis->hash (), key2.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, 0); + node1.work_generate_blocking (*send2); send2->sideband_set ({}); - node1.scheduler.activate (nano::dev::genesis_key.pub, node1.store.tx_begin_read ()); - node1.scheduler.flush (); - auto election1 = node1.active.election (send2->qualified_root ()); - ASSERT_NE (nullptr, election1); - ASSERT_EQ (1, node1.active.size ()); - auto vote1 (std::make_shared (key2.pub, key2.prv, 0, 0, send2)); - node1.active.vote (vote1); - ASSERT_EQ (2, election1->votes ().size ()); - auto votes (election1->votes ()); - ASSERT_NE (votes.end (), votes.find (key2.pub)); + node1.block_processor.add (send2); + ASSERT_TIMELY (5s, node1.active.active (*send2)); } TEST (conflicts, add_two) @@ -213,10 +206,10 @@ TEST (vote_uniquer, cleanup) nano::block_uniquer block_uniquer; nano::vote_uniquer uniquer (block_uniquer); nano::keypair key; - auto vote1 (std::make_shared (key.pub, key.prv, 0, 0, std::make_shared (0, 0, 0, 0, 0, key.prv, key.pub, 0))); - auto vote2 (std::make_shared (key.pub, key.prv, nano::vote::timestamp_min * 1, 0, std::make_shared (0, 0, 0, 0, 0, key.prv, key.pub, 0))); - auto vote3 (uniquer.unique (vote1)); - auto vote4 (uniquer.unique (vote2)); + auto vote1 = std::make_shared (key.pub, key.prv, 0, 0, std::vector{ nano::block_hash{ 0 } }); + auto vote2 = std::make_shared (key.pub, key.prv, nano::vote::timestamp_min * 1, 0, std::vector{ nano::block_hash{ 0 } }); + auto vote3 = uniquer.unique (vote1); + auto vote4 = uniquer.unique (vote2); vote2.reset (); vote4.reset (); ASSERT_EQ (2, uniquer.size ()); diff --git a/nano/core_test/election.cpp b/nano/core_test/election.cpp index 52eca131..d79c8fad 100644 --- a/nano/core_test/election.cpp +++ b/nano/core_test/election.cpp @@ -58,7 +58,7 @@ TEST (election, quorum_minimum_flip_success) ASSERT_TIMELY (5s, (election = node1.active.election (send2->qualified_root ())) != nullptr) ASSERT_TIMELY (5s, election->blocks ().size () == 2); - auto const vote1 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, send2); + auto const vote1 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send2->hash () }); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote1)); ASSERT_TIMELY (5s, election->confirmed ()); @@ -109,7 +109,7 @@ TEST (election, quorum_minimum_flip_fail) ASSERT_TIMELY (5s, (election = node1.active.election (send2->qualified_root ())) != nullptr) ASSERT_TIMELY (5s, election->blocks ().size () == 2); - auto const vote1 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, send2); + auto const vote1 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send2->hash () }); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote1)); // give the election 5 seconds before asserting it is not confirmed so that in case @@ -146,7 +146,7 @@ TEST (election, quorum_minimum_confirm_success) auto election = node1.active.election (send1->qualified_root ()); ASSERT_NE (nullptr, election); ASSERT_EQ (1, election->blocks ().size ()); - auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, send1)); + auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send1->hash () })); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote1)); node1.block_processor.flush (); ASSERT_NE (nullptr, node1.block (send1->hash ())); @@ -179,7 +179,7 @@ TEST (election, quorum_minimum_confirm_fail) auto election = node1.active.election (send1->qualified_root ()); ASSERT_NE (nullptr, election); ASSERT_EQ (1, election->blocks ().size ()); - auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, send1)); + auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send1->hash () })); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote1)); node1.block_processor.flush (); ASSERT_NE (nullptr, node1.block (send1->hash ())); @@ -236,13 +236,13 @@ TEST (election, quorum_minimum_update_weight_before_quorum_checks) ASSERT_TIMELY (5s, (election = node1.active.election (send1->qualified_root ())) != nullptr); ASSERT_EQ (1, election->blocks ().size ()); - auto const vote1 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, send1); + auto const vote1 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send1->hash () }); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote1)); auto channel = node1.network.find_channel (node2.network.endpoint ()); ASSERT_NE (channel, nullptr); - auto const vote2 = std::make_shared (key1.pub, key1.prv, nano::vote::timestamp_max, nano::vote::duration_max, send1); + auto const vote2 = std::make_shared (key1.pub, key1.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send1->hash () }); ASSERT_TIMELY (10s, !node1.rep_crawler.response (channel, vote2)); ASSERT_FALSE (election->confirmed ()); diff --git a/nano/core_test/ledger.cpp b/nano/core_test/ledger.cpp index ac9ea40f..0fcab39e 100644 --- a/nano/core_test/ledger.cpp +++ b/nano/core_test/ledger.cpp @@ -646,7 +646,7 @@ TEST (votes, check_signature) node1.scheduler.flush (); auto election1 = node1.active.election (send1->qualified_root ()); ASSERT_EQ (1, election1->votes ().size ()); - auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, send1)); + auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, std::vector{ send1->hash () })); vote1->signature.bytes[0] ^= 1; ASSERT_EQ (nano::vote_code::invalid, node1.vote_processor.vote_blocking (vote1, std::make_shared (node1, node1))); vote1->signature.bytes[0] ^= 1; @@ -667,9 +667,9 @@ TEST (votes, add_one) node1.scheduler.flush (); auto election1 = node1.active.election (send1->qualified_root ()); ASSERT_EQ (1, election1->votes ().size ()); - auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, send1)); + auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, std::vector{ send1->hash () })); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote1)); - auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, send1)); + auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, std::vector{ send1->hash () })); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote2)); ASSERT_EQ (2, election1->votes ().size ()); auto votes1 (election1->votes ()); @@ -682,33 +682,6 @@ TEST (votes, add_one) ASSERT_EQ (nano::dev::constants.genesis_amount - 100, winner.first); } -TEST (votes, add_two) -{ - nano::system system{ 1 }; - auto & node1 = *system.nodes[0]; - nano::keypair key1; - auto send1 = std::make_shared (nano::dev::genesis->hash (), key1.pub, nano::dev::constants.genesis_amount - 100, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, 0); - node1.work_generate_blocking (*send1); - auto transaction = node1.store.tx_begin_write (); - ASSERT_EQ (nano::process_result::progress, node1.ledger.process (transaction, *send1).code); - node1.block_confirm (send1); - node1.scheduler.flush (); - auto election1 = node1.active.election (send1->qualified_root ()); - nano::keypair key2; - auto send2 = std::make_shared (nano::dev::genesis->hash (), key2.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, 0); - auto vote2 = std::make_shared (key2.pub, key2.prv, nano::vote::timestamp_min * 1, 0, send2); - ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote2)); - auto vote1 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, send1); - ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote1)); - ASSERT_EQ (3, election1->votes ().size ()); - auto votes1 = election1->votes (); - ASSERT_NE (votes1.end (), votes1.find (nano::dev::genesis_key.pub)); - ASSERT_EQ (send1->hash (), votes1[nano::dev::genesis_key.pub].hash); - ASSERT_NE (votes1.end (), votes1.find (key2.pub)); - ASSERT_EQ (send2->hash (), votes1[key2.pub].hash); - ASSERT_EQ (*send1, *election1->winner ()); -} - namespace nano { // Higher timestamps change the vote @@ -735,7 +708,7 @@ TEST (votes, add_existing) node1.scheduler.activate (nano::dev::genesis_key.pub, node1.store.tx_begin_read ()); node1.scheduler.flush (); auto election1 = node1.active.election (send1->qualified_root ()); - auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, send1)); + auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, std::vector{ send1->hash () })); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote1)); // Block is already processed from vote ASSERT_TRUE (node1.active.publish (send1)); @@ -751,13 +724,14 @@ TEST (votes, add_existing) .sign (nano::dev::genesis_key.prv, nano::dev::genesis_key.pub) .build (); node1.work_generate_blocking (*send2); - auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, send2)); + ASSERT_FALSE (node1.active.publish (send2)); + ASSERT_TIMELY (5s, node1.active.active (*send2)); + auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, std::vector{ send2->hash () })); // Pretend we've waited the timeout nano::unique_lock lock (election1->mutex); election1->last_votes[nano::dev::genesis_key.pub].time = std::chrono::steady_clock::now () - std::chrono::seconds (20); lock.unlock (); ASSERT_EQ (nano::vote_code::vote, node1.active.vote (vote2)); - ASSERT_FALSE (node1.active.publish (send2)); ASSERT_EQ (nano::vote::timestamp_min * 2, election1->last_votes[nano::dev::genesis_key.pub].timestamp); // Also resend the old vote, and see if we respect the timestamp lock.lock (); @@ -785,13 +759,13 @@ TEST (votes, add_old) node1.block_confirm (send1); node1.scheduler.flush (); auto election1 = node1.active.election (send1->qualified_root ()); - auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, send1)); + auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, std::vector{ send1->hash () })); auto channel (std::make_shared (node1, node1)); node1.vote_processor.vote_blocking (vote1, channel); nano::keypair key2; auto send2 (std::make_shared (nano::dev::genesis->hash (), key2.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, 0)); node1.work_generate_blocking (*send2); - auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, send2)); + auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, std::vector{ send2->hash () })); { nano::lock_guard lock (election1->mutex); election1->last_votes[nano::dev::genesis_key.pub].time = std::chrono::steady_clock::now () - std::chrono::seconds (20); @@ -827,13 +801,13 @@ TEST (votes, DISABLED_add_old_different_account) ASSERT_NE (nullptr, election2); ASSERT_EQ (1, election1->votes ().size ()); ASSERT_EQ (1, election2->votes ().size ()); - auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, send1)); + auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, std::vector{ send1->hash () })); auto channel (std::make_shared (node1, node1)); auto vote_result1 (node1.vote_processor.vote_blocking (vote1, channel)); ASSERT_EQ (nano::vote_code::vote, vote_result1); ASSERT_EQ (2, election1->votes ().size ()); ASSERT_EQ (1, election2->votes ().size ()); - auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, send2)); + auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, std::vector{ send2->hash () })); auto vote_result2 (node1.vote_processor.vote_blocking (vote2, channel)); ASSERT_EQ (nano::vote_code::vote, vote_result2); ASSERT_EQ (2, election1->votes ().size ()); @@ -861,13 +835,13 @@ TEST (votes, add_cooldown) node1.block_confirm (send1); node1.scheduler.flush (); auto election1 = node1.active.election (send1->qualified_root ()); - auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, send1)); + auto vote1 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 1, 0, std::vector{ send1->hash () })); auto channel (std::make_shared (node1, node1)); node1.vote_processor.vote_blocking (vote1, channel); nano::keypair key2; auto send2 (std::make_shared (nano::dev::genesis->hash (), key2.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, 0)); node1.work_generate_blocking (*send2); - auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, send2)); + auto vote2 (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_min * 2, 0, std::vector{ send2->hash () })); node1.vote_processor.vote_blocking (vote2, channel); ASSERT_EQ (2, election1->votes ().size ()); auto votes (election1->votes ()); diff --git a/nano/core_test/message_parser.cpp b/nano/core_test/message_parser.cpp index 5430cc3e..56afa3c0 100644 --- a/nano/core_test/message_parser.cpp +++ b/nano/core_test/message_parser.cpp @@ -69,7 +69,7 @@ TEST (message_parser, exact_confirm_ack_size) nano::vote_uniquer vote_uniquer (block_uniquer); nano::message_parser parser (filter, block_uniquer, vote_uniquer, visitor, system.work, nano::dev::network_params.network); auto block (std::make_shared (1, 1, 2, nano::keypair ().prv, 4, *system.work.generate (nano::root (1)))); - auto vote (std::make_shared (0, nano::keypair ().prv, 0, 0, std::move (block))); + auto vote (std::make_shared (0, nano::keypair ().prv, 0, 0, std::vector{ block->hash () })); nano::confirm_ack message{ nano::dev::network_params.network, vote }; std::vector bytes; { diff --git a/nano/core_test/network.cpp b/nano/core_test/network.cpp index 536073b1..70ea3f9d 100644 --- a/nano/core_test/network.cpp +++ b/nano/core_test/network.cpp @@ -372,7 +372,7 @@ TEST (receivable_processor, confirm_insufficient_pos) ASSERT_EQ (nano::process_result::progress, node1.process (*block1).code); node1.scheduler.activate (nano::dev::genesis_key.pub, node1.store.tx_begin_read ()); nano::keypair key1; - auto vote (std::make_shared (key1.pub, key1.prv, 0, 0, block1)); + auto vote (std::make_shared (key1.pub, key1.prv, 0, 0, std::vector{ block1->hash () })); nano::confirm_ack con1{ nano::dev::network_params.network, vote }; node1.network.inbound (con1, node1.network.udp_channels.create (node1.network.endpoint ())); } @@ -385,7 +385,7 @@ TEST (receivable_processor, confirm_sufficient_pos) node1.work_generate_blocking (*block1); ASSERT_EQ (nano::process_result::progress, node1.process (*block1).code); node1.scheduler.activate (nano::dev::genesis_key.pub, node1.store.tx_begin_read ()); - auto vote (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, block1)); + auto vote (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, std::vector{ block1->hash () })); nano::confirm_ack con1{ nano::dev::network_params.network, vote }; node1.network.inbound (con1, node1.network.udp_channels.create (node1.network.endpoint ())); } diff --git a/nano/core_test/node.cpp b/nano/core_test/node.cpp index 39d638cd..a715e636 100644 --- a/nano/core_test/node.cpp +++ b/nano/core_test/node.cpp @@ -1154,7 +1154,7 @@ TEST (node, fork_no_vote_quorum) nano::raw_key key3; auto transaction (system.wallet (1)->wallets.tx_begin_read ()); ASSERT_FALSE (system.wallet (1)->store.fetch (transaction, key1, key3)); - auto vote (std::make_shared (key1, key3, 0, 0, send2)); + auto vote = std::make_shared (key1, key3, 0, 0, std::vector{ send2->hash () }); nano::confirm_ack confirm{ nano::dev::network_params.network, vote }; std::vector buffer; { @@ -1816,9 +1816,9 @@ TEST (node, rep_weight) ASSERT_NE (nullptr, channel2); std::shared_ptr channel3 = nano::establish_tcp (system, node, node3.network.endpoint ()); ASSERT_NE (nullptr, channel3); - auto vote0 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, nano::dev::genesis); - auto vote1 = std::make_shared (keypair1.pub, keypair1.prv, 0, 0, nano::dev::genesis); - auto vote2 = std::make_shared (keypair2.pub, keypair2.prv, 0, 0, nano::dev::genesis); + auto vote0 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, std::vector{ nano::dev::genesis->hash () }); + auto vote1 = std::make_shared (keypair1.pub, keypair1.prv, 0, 0, std::vector{ nano::dev::genesis->hash () }); + auto vote2 = std::make_shared (keypair2.pub, keypair2.prv, 0, 0, std::vector{ nano::dev::genesis->hash () }); node.rep_crawler.response (channel1, vote0); node.rep_crawler.response (channel2, vote1); node.rep_crawler.response (channel3, vote2); @@ -1895,7 +1895,7 @@ TEST (node, rep_remove) std::shared_ptr channel0 (std::make_shared (node.network.udp_channels, endpoint0, node.network_params.network.protocol_version)); auto channel_udp = node.network.udp_channels.insert (endpoint0, node.network_params.network.protocol_version); ASSERT_NE (channel_udp, nullptr); - auto vote1 = std::make_shared (keypair1.pub, keypair1.prv, 0, 0, nano::dev::genesis); + auto vote1 = std::make_shared (keypair1.pub, keypair1.prv, 0, 0, std::vector{ nano::dev::genesis->hash () }); ASSERT_FALSE (node.rep_crawler.response (channel0, vote1)); ASSERT_TIMELY (5s, node.rep_crawler.representative_count () == 1); auto reps (node.rep_crawler.representatives (1)); @@ -1916,13 +1916,13 @@ TEST (node, rep_remove) system.wallet (1)->insert_adhoc (nano::dev::genesis_key.prv); auto channel1 (node.network.find_channel (node1->network.endpoint ())); ASSERT_NE (nullptr, channel1); - auto vote2 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, nano::dev::genesis); + auto vote2 = std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, std::vector{ nano::dev::genesis->hash () }); node.rep_crawler.response (channel1, vote2); ASSERT_TIMELY (10s, node.rep_crawler.representative_count () == 1); auto node2 (std::make_shared (system.io_ctx, nano::unique_path (), nano::node_config (nano::get_available_port (), system.logging), system.work)); node2->start (); std::weak_ptr node_w (node.shared ()); - auto vote3 = std::make_shared (keypair2.pub, keypair2.prv, 0, 0, nano::dev::genesis); + auto vote3 = std::make_shared (keypair2.pub, keypair2.prv, 0, 0, std::vector{ nano::dev::genesis->hash () }); node.network.tcp_channels.start_tcp (node2->network.endpoint ()); std::shared_ptr channel2; ASSERT_TIMELY (10s, (channel2 = node.network.tcp_channels.find_channel (nano::transport::map_endpoint_to_tcp (node2->network.endpoint ()))) != nullptr); @@ -2557,7 +2557,7 @@ TEST (node, vote_republish) node1.process_active (send1); ASSERT_TIMELY (5s, node2.block (send1->hash ())); node1.process_active (send2); - auto vote (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, send2)); + auto vote (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, nano::vote::timestamp_max, nano::vote::duration_max, std::vector{ send2->hash () })); ASSERT_TRUE (node1.active.active (*send1)); ASSERT_TIMELY (10s, node2.active.active (*send1)); node1.vote_processor.vote (vote, std::make_shared (node1, node1)); @@ -2830,8 +2830,8 @@ TEST (node, DISABLED_fork_invalid_block_signature) .build_shared (); auto send2_corrupt (std::make_shared (*send2)); send2_corrupt->signature = nano::signature (123); - auto vote (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, send2)); - auto vote_corrupt (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, send2_corrupt)); + auto vote (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, std::vector{ send2->hash () })); + auto vote_corrupt (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, std::vector{ send2_corrupt->hash () })); node1.process_active (send1); ASSERT_TIMELY (5s, node1.block (send1->hash ())); diff --git a/nano/core_test/websocket.cpp b/nano/core_test/websocket.cpp index 3e01d2df..4f3d1928 100644 --- a/nano/core_test/websocket.cpp +++ b/nano/core_test/websocket.cpp @@ -599,7 +599,7 @@ TEST (websocket, vote_options_type) ASSERT_TIMELY (5s, ack_ready); // Custom made votes for simplicity - auto vote (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, nano::dev::genesis)); + auto vote (std::make_shared (nano::dev::genesis_key.pub, nano::dev::genesis_key.prv, 0, 0, std::vector{ nano::dev::genesis->hash () })); nano::websocket::message_builder builder; auto msg (builder.vote_received (vote, nano::vote_code::replay)); node1->websocket_server->broadcast (msg);