diff --git a/src/db_ledger.rs b/src/db_ledger.rs index 6d72464f94..fcb24a7452 100644 --- a/src/db_ledger.rs +++ b/src/db_ledger.rs @@ -879,23 +879,10 @@ pub fn create_tmp_ledger(name: &str, genesis_block: &GenesisBlock) -> String { ledger_path } -pub fn create_tmp_genesis( - name: &str, - num: u64, - bootstrap_leader_id: Pubkey, - bootstrap_leader_tokens: u64, -) -> (GenesisBlock, Keypair, String) { - let (genesis_block, mint_keypair) = - GenesisBlock::new_with_leader(num, bootstrap_leader_id, bootstrap_leader_tokens); - let ledger_path = create_tmp_ledger(name, &genesis_block); - - (genesis_block, mint_keypair, ledger_path) -} - pub fn create_tmp_sample_ledger( name: &str, num_tokens: u64, - num_ending_ticks: u64, + num_extra_ticks: u64, bootstrap_leader_id: Pubkey, bootstrap_leader_tokens: u64, ) -> (GenesisBlock, Keypair, String, u64, Hash) { @@ -904,8 +891,8 @@ pub fn create_tmp_sample_ledger( let path = get_tmp_ledger_path(name); let (mut entry_height, mut last_id) = create_empty_ledger(&path, &genesis_block).unwrap(); - if num_ending_ticks > 0 { - let entries = crate::entry::create_ticks(num_ending_ticks, last_id); + if num_extra_ticks > 0 { + let entries = crate::entry::create_ticks(num_extra_ticks, last_id); let db_ledger = DbLedger::open(&path).unwrap(); db_ledger diff --git a/src/fullnode.rs b/src/fullnode.rs index 5cca4e8417..428bb3759a 100644 --- a/src/fullnode.rs +++ b/src/fullnode.rs @@ -463,8 +463,8 @@ mod tests { let validator_keypair = Keypair::new(); let validator_node = Node::new_localhost_with_pubkey(validator_keypair.pubkey()); - let (_, _, validator_ledger_path) = - create_tmp_genesis("validator_exit", 10_000, leader_keypair.pubkey(), 1000); + let (_, _, validator_ledger_path, _, _) = + create_tmp_sample_ledger("validator_exit", 10_000, 0, leader_keypair.pubkey(), 1000); let validator = Fullnode::new( validator_node, @@ -489,9 +489,10 @@ mod tests { .map(|i| { let validator_keypair = Keypair::new(); let validator_node = Node::new_localhost_with_pubkey(validator_keypair.pubkey()); - let (_, _, validator_ledger_path) = create_tmp_genesis( + let (_, _, validator_ledger_path, _, _) = create_tmp_sample_ledger( &format!("validator_parallel_exit_{}", i), 10_000, + 0, leader_keypair.pubkey(), 1000, ); diff --git a/src/thin_client.rs b/src/thin_client.rs index 148f8f6e25..3ceeaaed3b 100644 --- a/src/thin_client.rs +++ b/src/thin_client.rs @@ -6,7 +6,6 @@ use crate::bank::Bank; use crate::cluster_info::{ClusterInfo, ClusterInfoError, NodeInfo}; use crate::fullnode::Fullnode; -use crate::genesis_block::GenesisBlock; use crate::gossip_service::GossipService; use crate::packet::PACKET_DATA_SIZE; use crate::result::{Error, Result}; @@ -439,7 +438,7 @@ pub fn retry_get_balance( pub fn new_fullnode(ledger_name: &'static str) -> (Fullnode, NodeInfo, Keypair, String) { use crate::cluster_info::Node; - use crate::db_ledger::create_tmp_ledger; + use crate::db_ledger::create_tmp_sample_ledger; use crate::leader_scheduler::LeaderScheduler; use crate::vote_signer_proxy::VoteSignerProxy; use solana_sdk::signature::KeypairUtil; @@ -448,8 +447,8 @@ pub fn new_fullnode(ledger_name: &'static str) -> (Fullnode, NodeInfo, Keypair, let node = Node::new_localhost_with_pubkey(node_keypair.pubkey()); let node_info = node.info.clone(); - let (genesis_block, mint_keypair) = GenesisBlock::new_with_leader(10_000, node_info.id, 42); - let ledger_path = create_tmp_ledger(ledger_name, &genesis_block); + let (_genesis_block, mint_keypair, ledger_path, _, _) = + create_tmp_sample_ledger(ledger_name, 10_000, 0, node_info.id, 42); let leader_scheduler = LeaderScheduler::from_bootstrap_leader(node_info.id); let vote_account_keypair = Arc::new(Keypair::new()); diff --git a/tests/multinode.rs b/tests/multinode.rs index 33f64cb1c1..b3387babbc 100644 --- a/tests/multinode.rs +++ b/tests/multinode.rs @@ -4,7 +4,7 @@ extern crate log; use solana::blob_fetch_stage::BlobFetchStage; use solana::cluster_info::{ClusterInfo, Node, NodeInfo}; use solana::contact_info::ContactInfo; -use solana::db_ledger::{create_tmp_genesis, create_tmp_sample_ledger, tmp_copy_ledger}; +use solana::db_ledger::{create_tmp_sample_ledger, tmp_copy_ledger}; use solana::db_ledger::{DbLedger, DEFAULT_SLOT_HEIGHT}; use solana::entry::{reconstruct_entries_from_blobs, Entry}; use solana::fullnode::{Fullnode, FullnodeReturnType}; @@ -135,8 +135,8 @@ fn test_multi_node_ledger_window() -> result::Result<()> { let bob_pubkey = Keypair::new().pubkey(); let mut ledger_paths = Vec::new(); - let (genesis_block, alice, leader_ledger_path) = - create_tmp_genesis("multi_node_ledger_window", 10_000, leader_data.id, 500); + let (genesis_block, alice, leader_ledger_path, _last_entry_height, _last_entry_id) = + create_tmp_sample_ledger("multi_node_ledger_window", 10_000, 0, leader_data.id, 500); ledger_paths.push(leader_ledger_path.clone()); // make a copy at zero @@ -236,12 +236,14 @@ fn test_multi_node_validator_catchup_from_zero() -> result::Result<()> { let bob_pubkey = Keypair::new().pubkey(); let mut ledger_paths = Vec::new(); - let (_genesis_block, alice, genesis_ledger_path) = create_tmp_genesis( - "multi_node_validator_catchup_from_zero", - 10_000, - leader_data.id, - 500, - ); + let (_genesis_block, alice, genesis_ledger_path, _last_entry_height, _last_entry_id) = + create_tmp_sample_ledger( + "multi_node_validator_catchup_from_zero", + 10_000, + 0, + leader_data.id, + 500, + ); ledger_paths.push(genesis_ledger_path.clone()); let zero_ledger_path = tmp_copy_ledger( @@ -432,8 +434,8 @@ fn test_multi_node_basic() { let bob_pubkey = Keypair::new().pubkey(); let mut ledger_paths = Vec::new(); - let (_genesis_block, alice, genesis_ledger_path) = - create_tmp_genesis("multi_node_basic", 10_000, leader_data.id, 500); + let (_genesis_block, alice, genesis_ledger_path, _last_entry_height, _last_entry_id) = + create_tmp_sample_ledger("multi_node_basic", 10_000, 0, leader_data.id, 500); ledger_paths.push(genesis_ledger_path.clone()); let leader_ledger_path = tmp_copy_ledger(&genesis_ledger_path, "multi_node_basic"); @@ -539,8 +541,8 @@ fn test_boot_validator_from_file() -> result::Result<()> { let bob_pubkey = Keypair::new().pubkey(); let mut ledger_paths = Vec::new(); - let (_genesis_block, alice, genesis_ledger_path) = - create_tmp_genesis("boot_validator_from_file", 100_000, leader_pubkey, 1000); + let (_genesis_block, alice, genesis_ledger_path, _last_entry_height, _last_entry_id) = + create_tmp_sample_ledger("boot_validator_from_file", 100_000, 0, leader_pubkey, 1000); ledger_paths.push(genesis_ledger_path.clone()); let leader_ledger_path = tmp_copy_ledger(&genesis_ledger_path, "multi_node_basic"); @@ -627,12 +629,14 @@ fn test_leader_restart_validator_start_from_old_ledger() -> result::Result<()> { let leader_keypair = Arc::new(Keypair::new()); let initial_leader_balance = 500; - let (_genesis_block, alice, ledger_path) = create_tmp_genesis( - "leader_restart_validator_start_from_old_ledger", - 100_000 + 500 * solana::window_service::MAX_REPAIR_BACKOFF as u64, - leader_keypair.pubkey(), - initial_leader_balance, - ); + let (_genesis_block, alice, ledger_path, _last_entry_height, _last_entry_id) = + create_tmp_sample_ledger( + "leader_restart_validator_start_from_old_ledger", + 100_000 + 500 * solana::window_service::MAX_REPAIR_BACKOFF as u64, + 0, + leader_keypair.pubkey(), + initial_leader_balance, + ); let bob_pubkey = Keypair::new().pubkey(); let signer_proxy = Arc::new(VoteSignerProxy::new_local(&leader_keypair)); @@ -736,8 +740,14 @@ fn test_multi_node_dynamic_network() { let leader_pubkey = leader_keypair.pubkey().clone(); let leader = Node::new_localhost_with_pubkey(leader_keypair.pubkey()); let bob_pubkey = Keypair::new().pubkey(); - let (_genesis_block, alice, genesis_ledger_path) = - create_tmp_genesis("multi_node_dynamic_network", 10_000_000, leader_pubkey, 500); + let (_genesis_block, alice, genesis_ledger_path, _last_entry_height, _last_entry_id) = + create_tmp_sample_ledger( + "multi_node_dynamic_network", + 10_000_000, + 0, + leader_pubkey, + 500, + ); let mut ledger_paths = Vec::new(); ledger_paths.push(genesis_ledger_path.clone()); diff --git a/tests/replicator.rs b/tests/replicator.rs index 84bc99b801..2023593729 100644 --- a/tests/replicator.rs +++ b/tests/replicator.rs @@ -9,7 +9,7 @@ use bincode::deserialize; use solana::client::mk_client; use solana::cluster_info::{ClusterInfo, Node, NodeInfo}; use solana::db_ledger::DbLedger; -use solana::db_ledger::{create_tmp_genesis, get_tmp_ledger_path, tmp_copy_ledger}; +use solana::db_ledger::{create_tmp_sample_ledger, get_tmp_ledger_path, tmp_copy_ledger}; use solana::entry::Entry; use solana::fullnode::{Fullnode, FullnodeConfig}; use solana::leader_scheduler::LeaderScheduler; @@ -40,8 +40,8 @@ fn test_replicator_startup() { let leader_info = leader_node.info.clone(); let leader_ledger_path = "replicator_test_leader_ledger"; - let (_genesis_block, mint_keypair, leader_ledger_path) = - create_tmp_genesis(leader_ledger_path, 1_000_000_000, leader_info.id, 1); + let (_genesis_block, mint_keypair, leader_ledger_path, _last_entry_height, _last_entry_id) = + create_tmp_sample_ledger(leader_ledger_path, 1_000_000_000, 0, leader_info.id, 1); let validator_ledger_path = tmp_copy_ledger(&leader_ledger_path, "replicator_test_validator_ledger"); @@ -267,8 +267,8 @@ fn test_replicator_startup_ledger_hang() { let leader_info = leader_node.info.clone(); let leader_ledger_path = "replicator_test_leader_ledger"; - let (_genesis_block, _mint_keypair, leader_ledger_path) = - create_tmp_genesis(leader_ledger_path, 100, leader_info.id, 1); + let (_genesis_block, _mint_keypair, leader_ledger_path, _last_entry_height, _last_entry_id) = + create_tmp_sample_ledger(leader_ledger_path, 100, 0, leader_info.id, 1); let validator_ledger_path = tmp_copy_ledger(&leader_ledger_path, "replicator_test_validator_ledger");