Rename Bank.last_id() to Bank.last_block_hash()
This commit is contained in:
committed by
Greg Fitzgerald
parent
95cbb8a5c0
commit
2bfad87a5f
@ -45,7 +45,7 @@ fn create_test_recorder(bank: &Arc<Bank>) -> (Arc<Mutex<PohRecorder>>, PohServic
|
|||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
||||||
bank.tick_height(),
|
bank.tick_height(),
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
)));
|
)));
|
||||||
let poh_service = PohService::new(
|
let poh_service = PohService::new(
|
||||||
poh_recorder.clone(),
|
poh_recorder.clone(),
|
||||||
|
@ -361,7 +361,7 @@ mod tests {
|
|||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
||||||
bank.tick_height(),
|
bank.tick_height(),
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
)));
|
)));
|
||||||
let poh_service = PohService::new(
|
let poh_service = PohService::new(
|
||||||
poh_recorder.clone(),
|
poh_recorder.clone(),
|
||||||
@ -394,7 +394,7 @@ mod tests {
|
|||||||
let (mut genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (mut genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
genesis_block.ticks_per_slot = 4;
|
genesis_block.ticks_per_slot = 4;
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let start_hash = bank.last_id();
|
let start_hash = bank.last_block_hash();
|
||||||
let (verified_sender, verified_receiver) = channel();
|
let (verified_sender, verified_receiver) = channel();
|
||||||
let (poh_recorder, poh_service) = create_test_recorder(&bank);
|
let (poh_recorder, poh_service) = create_test_recorder(&bank);
|
||||||
let (banking_stage, entry_receiver) = BankingStage::new(
|
let (banking_stage, entry_receiver) = BankingStage::new(
|
||||||
@ -413,7 +413,7 @@ mod tests {
|
|||||||
.collect();
|
.collect();
|
||||||
assert_eq!(entries.len(), genesis_block.ticks_per_slot as usize - 1);
|
assert_eq!(entries.len(), genesis_block.ticks_per_slot as usize - 1);
|
||||||
assert!(entries.verify(&start_hash));
|
assert!(entries.verify(&start_hash));
|
||||||
assert_eq!(entries[entries.len() - 1].hash, bank.last_id());
|
assert_eq!(entries[entries.len() - 1].hash, bank.last_block_hash());
|
||||||
banking_stage.join().unwrap();
|
banking_stage.join().unwrap();
|
||||||
poh_service.close().unwrap();
|
poh_service.close().unwrap();
|
||||||
}
|
}
|
||||||
@ -422,7 +422,7 @@ mod tests {
|
|||||||
fn test_banking_stage_entries_only() {
|
fn test_banking_stage_entries_only() {
|
||||||
let (genesis_block, mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let start_hash = bank.last_id();
|
let start_hash = bank.last_block_hash();
|
||||||
let (verified_sender, verified_receiver) = channel();
|
let (verified_sender, verified_receiver) = channel();
|
||||||
let (poh_recorder, poh_service) = create_test_recorder(&bank);
|
let (poh_recorder, poh_service) = create_test_recorder(&bank);
|
||||||
let (banking_stage, entry_receiver) = BankingStage::new(
|
let (banking_stage, entry_receiver) = BankingStage::new(
|
||||||
@ -636,7 +636,7 @@ mod tests {
|
|||||||
|
|
||||||
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
||||||
bank.tick_height(),
|
bank.tick_height(),
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
)));
|
)));
|
||||||
poh_recorder.lock().unwrap().set_working_bank(working_bank);
|
poh_recorder.lock().unwrap().set_working_bank(working_bank);
|
||||||
let pubkey = Keypair::new().pubkey();
|
let pubkey = Keypair::new().pubkey();
|
||||||
@ -691,7 +691,7 @@ mod tests {
|
|||||||
};
|
};
|
||||||
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
||||||
bank.tick_height(),
|
bank.tick_height(),
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
)));
|
)));
|
||||||
poh_recorder.lock().unwrap().set_working_bank(working_bank);
|
poh_recorder.lock().unwrap().set_working_bank(working_bank);
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ pub fn process_blocktree(
|
|||||||
let slot = 0;
|
let slot = 0;
|
||||||
let bank = Arc::new(Bank::new_with_paths(&genesis_block, account_paths));
|
let bank = Arc::new(Bank::new_with_paths(&genesis_block, account_paths));
|
||||||
let entry_height = 0;
|
let entry_height = 0;
|
||||||
let last_entry_hash = bank.last_id();
|
let last_entry_hash = bank.last_block_hash();
|
||||||
vec![(slot, bank, entry_height, last_entry_hash)]
|
vec![(slot, bank, entry_height, last_entry_hash)]
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -500,7 +500,7 @@ mod tests {
|
|||||||
let bank = bank_forks[1].clone();
|
let bank = bank_forks[1].clone();
|
||||||
assert_eq!(bank.get_balance(&mint_keypair.pubkey()), 50 - 3);
|
assert_eq!(bank.get_balance(&mint_keypair.pubkey()), 50 - 3);
|
||||||
assert_eq!(bank.tick_height(), 2 * genesis_block.ticks_per_slot - 1);
|
assert_eq!(bank.tick_height(), 2 * genesis_block.ticks_per_slot - 1);
|
||||||
assert_eq!(bank.last_id(), entries.last().unwrap().hash);
|
assert_eq!(bank.last_block_hash(), entries.last().unwrap().hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -544,19 +544,19 @@ mod tests {
|
|||||||
let keypair1 = Keypair::new();
|
let keypair1 = Keypair::new();
|
||||||
let keypair2 = Keypair::new();
|
let keypair2 = Keypair::new();
|
||||||
|
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
|
|
||||||
// ensure bank can process 2 entries that have a common account and no tick is registered
|
// ensure bank can process 2 entries that have a common account and no tick is registered
|
||||||
let tx =
|
let tx =
|
||||||
SystemTransaction::new_account(&mint_keypair, keypair1.pubkey(), 2, bank.last_id(), 0);
|
SystemTransaction::new_account(&mint_keypair, keypair1.pubkey(), 2, bank.last_block_hash(), 0);
|
||||||
let entry_1 = next_entry(&last_id, 1, vec![tx]);
|
let entry_1 = next_entry(&last_id, 1, vec![tx]);
|
||||||
let tx =
|
let tx =
|
||||||
SystemTransaction::new_account(&mint_keypair, keypair2.pubkey(), 2, bank.last_id(), 0);
|
SystemTransaction::new_account(&mint_keypair, keypair2.pubkey(), 2, bank.last_block_hash(), 0);
|
||||||
let entry_2 = next_entry(&entry_1.hash, 1, vec![tx]);
|
let entry_2 = next_entry(&entry_1.hash, 1, vec![tx]);
|
||||||
assert_eq!(par_process_entries(&bank, &[entry_1, entry_2]), Ok(()));
|
assert_eq!(par_process_entries(&bank, &[entry_1, entry_2]), Ok(()));
|
||||||
assert_eq!(bank.get_balance(&keypair1.pubkey()), 2);
|
assert_eq!(bank.get_balance(&keypair1.pubkey()), 2);
|
||||||
assert_eq!(bank.get_balance(&keypair2.pubkey()), 2);
|
assert_eq!(bank.get_balance(&keypair2.pubkey()), 2);
|
||||||
assert_eq!(bank.last_id(), last_id);
|
assert_eq!(bank.last_block_hash(), last_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -569,23 +569,23 @@ mod tests {
|
|||||||
|
|
||||||
// fund: put 4 in each of 1 and 2
|
// fund: put 4 in each of 1 and 2
|
||||||
assert_matches!(
|
assert_matches!(
|
||||||
bank.transfer(4, &mint_keypair, keypair1.pubkey(), bank.last_id()),
|
bank.transfer(4, &mint_keypair, keypair1.pubkey(), bank.last_block_hash()),
|
||||||
Ok(_)
|
Ok(_)
|
||||||
);
|
);
|
||||||
assert_matches!(
|
assert_matches!(
|
||||||
bank.transfer(4, &mint_keypair, keypair2.pubkey(), bank.last_id()),
|
bank.transfer(4, &mint_keypair, keypair2.pubkey(), bank.last_block_hash()),
|
||||||
Ok(_)
|
Ok(_)
|
||||||
);
|
);
|
||||||
|
|
||||||
// construct an Entry whose 2nd transaction would cause a lock conflict with previous entry
|
// construct an Entry whose 2nd transaction would cause a lock conflict with previous entry
|
||||||
let entry_1_to_mint = next_entry(
|
let entry_1_to_mint = next_entry(
|
||||||
&bank.last_id(),
|
&bank.last_block_hash(),
|
||||||
1,
|
1,
|
||||||
vec![SystemTransaction::new_account(
|
vec![SystemTransaction::new_account(
|
||||||
&keypair1,
|
&keypair1,
|
||||||
mint_keypair.pubkey(),
|
mint_keypair.pubkey(),
|
||||||
1,
|
1,
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
0,
|
0,
|
||||||
)],
|
)],
|
||||||
);
|
);
|
||||||
@ -594,12 +594,12 @@ mod tests {
|
|||||||
&entry_1_to_mint.hash,
|
&entry_1_to_mint.hash,
|
||||||
1,
|
1,
|
||||||
vec![
|
vec![
|
||||||
SystemTransaction::new_account(&keypair2, keypair3.pubkey(), 2, bank.last_id(), 0), // should be fine
|
SystemTransaction::new_account(&keypair2, keypair3.pubkey(), 2, bank.last_block_hash(), 0), // should be fine
|
||||||
SystemTransaction::new_account(
|
SystemTransaction::new_account(
|
||||||
&keypair1,
|
&keypair1,
|
||||||
mint_keypair.pubkey(),
|
mint_keypair.pubkey(),
|
||||||
2,
|
2,
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
0,
|
0,
|
||||||
), // will collide
|
), // will collide
|
||||||
],
|
],
|
||||||
@ -626,22 +626,22 @@ mod tests {
|
|||||||
|
|
||||||
//load accounts
|
//load accounts
|
||||||
let tx =
|
let tx =
|
||||||
SystemTransaction::new_account(&mint_keypair, keypair1.pubkey(), 1, bank.last_id(), 0);
|
SystemTransaction::new_account(&mint_keypair, keypair1.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
||||||
let tx =
|
let tx =
|
||||||
SystemTransaction::new_account(&mint_keypair, keypair2.pubkey(), 1, bank.last_id(), 0);
|
SystemTransaction::new_account(&mint_keypair, keypair2.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
||||||
|
|
||||||
// ensure bank can process 2 entries that do not have a common account and no tick is registered
|
// ensure bank can process 2 entries that do not have a common account and no tick is registered
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let tx = SystemTransaction::new_account(&keypair1, keypair3.pubkey(), 1, bank.last_id(), 0);
|
let tx = SystemTransaction::new_account(&keypair1, keypair3.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
let entry_1 = next_entry(&last_id, 1, vec![tx]);
|
let entry_1 = next_entry(&last_id, 1, vec![tx]);
|
||||||
let tx = SystemTransaction::new_account(&keypair2, keypair4.pubkey(), 1, bank.last_id(), 0);
|
let tx = SystemTransaction::new_account(&keypair2, keypair4.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
let entry_2 = next_entry(&entry_1.hash, 1, vec![tx]);
|
let entry_2 = next_entry(&entry_1.hash, 1, vec![tx]);
|
||||||
assert_eq!(par_process_entries(&bank, &[entry_1, entry_2]), Ok(()));
|
assert_eq!(par_process_entries(&bank, &[entry_1, entry_2]), Ok(()));
|
||||||
assert_eq!(bank.get_balance(&keypair3.pubkey()), 1);
|
assert_eq!(bank.get_balance(&keypair3.pubkey()), 1);
|
||||||
assert_eq!(bank.get_balance(&keypair4.pubkey()), 1);
|
assert_eq!(bank.get_balance(&keypair4.pubkey()), 1);
|
||||||
assert_eq!(bank.last_id(), last_id);
|
assert_eq!(bank.last_block_hash(), last_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -655,14 +655,14 @@ mod tests {
|
|||||||
|
|
||||||
//load accounts
|
//load accounts
|
||||||
let tx =
|
let tx =
|
||||||
SystemTransaction::new_account(&mint_keypair, keypair1.pubkey(), 1, bank.last_id(), 0);
|
SystemTransaction::new_account(&mint_keypair, keypair1.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
||||||
let tx =
|
let tx =
|
||||||
SystemTransaction::new_account(&mint_keypair, keypair2.pubkey(), 1, bank.last_id(), 0);
|
SystemTransaction::new_account(&mint_keypair, keypair2.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
||||||
|
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
while last_id == bank.last_id() {
|
while last_id == bank.last_block_hash() {
|
||||||
bank.register_tick(&Hash::default());
|
bank.register_tick(&Hash::default());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -670,7 +670,7 @@ mod tests {
|
|||||||
let tx = SystemTransaction::new_account(&keypair2, keypair3.pubkey(), 1, last_id, 0);
|
let tx = SystemTransaction::new_account(&keypair2, keypair3.pubkey(), 1, last_id, 0);
|
||||||
let entry_1 = next_entry(&last_id, 1, vec![tx]);
|
let entry_1 = next_entry(&last_id, 1, vec![tx]);
|
||||||
let tick = next_entry(&entry_1.hash, 1, vec![]);
|
let tick = next_entry(&entry_1.hash, 1, vec![]);
|
||||||
let tx = SystemTransaction::new_account(&keypair1, keypair4.pubkey(), 1, bank.last_id(), 0);
|
let tx = SystemTransaction::new_account(&keypair1, keypair4.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
let entry_2 = next_entry(&tick.hash, 1, vec![tx]);
|
let entry_2 = next_entry(&tick.hash, 1, vec![tx]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
par_process_entries(&bank, &[entry_1.clone(), tick.clone(), entry_2.clone()]),
|
par_process_entries(&bank, &[entry_1.clone(), tick.clone(), entry_2.clone()]),
|
||||||
@ -680,7 +680,7 @@ mod tests {
|
|||||||
assert_eq!(bank.get_balance(&keypair4.pubkey()), 1);
|
assert_eq!(bank.get_balance(&keypair4.pubkey()), 1);
|
||||||
|
|
||||||
// ensure that an error is returned for an empty account (keypair2)
|
// ensure that an error is returned for an empty account (keypair2)
|
||||||
let tx = SystemTransaction::new_account(&keypair2, keypair3.pubkey(), 1, bank.last_id(), 0);
|
let tx = SystemTransaction::new_account(&keypair2, keypair3.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
let entry_3 = next_entry(&entry_2.hash, 1, vec![tx]);
|
let entry_3 = next_entry(&entry_2.hash, 1, vec![tx]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
par_process_entries(&bank, &[entry_3]),
|
par_process_entries(&bank, &[entry_3]),
|
||||||
|
@ -124,10 +124,10 @@ impl Fullnode {
|
|||||||
let bank_info = &bank_forks_info[0];
|
let bank_info = &bank_forks_info[0];
|
||||||
let bank = bank_forks[bank_info.bank_id].clone();
|
let bank = bank_forks[bank_info.bank_id].clone();
|
||||||
|
|
||||||
info!("starting PoH... {} {}", bank.tick_height(), bank.last_id(),);
|
info!("starting PoH... {} {}", bank.tick_height(), bank.last_block_hash(),);
|
||||||
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(
|
||||||
bank.tick_height(),
|
bank.tick_height(),
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
)));
|
)));
|
||||||
let poh_service = PohService::new(poh_recorder.clone(), &config.tick_config, exit.clone());
|
let poh_service = PohService::new(poh_recorder.clone(), &config.tick_config, exit.clone());
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ mod tests {
|
|||||||
tick_hash = hash(&serialize(&tick_hash).unwrap());
|
tick_hash = hash(&serialize(&tick_hash).unwrap());
|
||||||
bank.register_tick(&tick_hash);
|
bank.register_tick(&tick_hash);
|
||||||
}
|
}
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
|
|
||||||
// Create a total of 10 vote accounts, each will have a balance of 1 (after giving 1 to
|
// Create a total of 10 vote accounts, each will have a balance of 1 (after giving 1 to
|
||||||
// their vote account), for a total staking pool of 10 tokens.
|
// their vote account), for a total staking pool of 10 tokens.
|
||||||
|
@ -223,7 +223,7 @@ mod tests {
|
|||||||
fn test_poh_recorder_clear() {
|
fn test_poh_recorder_clear() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, _) = channel();
|
let (entry_sender, _) = channel();
|
||||||
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ mod tests {
|
|||||||
fn test_poh_recorder_tick_sent_after_min() {
|
fn test_poh_recorder_tick_sent_after_min() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, entry_receiver) = channel();
|
let (entry_sender, entry_receiver) = channel();
|
||||||
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ mod tests {
|
|||||||
fn test_poh_recorder_tick_sent_upto_and_including_max() {
|
fn test_poh_recorder_tick_sent_upto_and_including_max() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, entry_receiver) = channel();
|
let (entry_sender, entry_receiver) = channel();
|
||||||
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
||||||
|
|
||||||
@ -304,7 +304,7 @@ mod tests {
|
|||||||
fn test_poh_recorder_record_to_early() {
|
fn test_poh_recorder_record_to_early() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, entry_receiver) = channel();
|
let (entry_sender, entry_receiver) = channel();
|
||||||
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
||||||
|
|
||||||
@ -326,7 +326,7 @@ mod tests {
|
|||||||
fn test_poh_recorder_record_at_min_passes() {
|
fn test_poh_recorder_record_at_min_passes() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, entry_receiver) = channel();
|
let (entry_sender, entry_receiver) = channel();
|
||||||
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
||||||
|
|
||||||
@ -357,7 +357,7 @@ mod tests {
|
|||||||
fn test_poh_recorder_record_at_max_fails() {
|
fn test_poh_recorder_record_at_max_fails() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, entry_receiver) = channel();
|
let (entry_sender, entry_receiver) = channel();
|
||||||
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
||||||
|
|
||||||
@ -385,7 +385,7 @@ mod tests {
|
|||||||
fn test_poh_cache_on_disconnect() {
|
fn test_poh_cache_on_disconnect() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, entry_receiver) = channel();
|
let (entry_sender, entry_receiver) = channel();
|
||||||
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
let mut poh_recorder = PohRecorder::new(0, prev_hash);
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ mod tests {
|
|||||||
fn test_poh_service() {
|
fn test_poh_service() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, entry_receiver) = channel();
|
let (entry_sender, entry_receiver) = channel();
|
||||||
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(bank.tick_height(), prev_hash)));
|
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(bank.tick_height(), prev_hash)));
|
||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
@ -204,7 +204,7 @@ mod tests {
|
|||||||
fn test_poh_service_drops_working_bank() {
|
fn test_poh_service_drops_working_bank() {
|
||||||
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
let (genesis_block, _mint_keypair) = GenesisBlock::new(2);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let prev_hash = bank.last_id();
|
let prev_hash = bank.last_block_hash();
|
||||||
let (entry_sender, entry_receiver) = channel();
|
let (entry_sender, entry_receiver) = channel();
|
||||||
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(bank.tick_height(), prev_hash)));
|
let poh_recorder = Arc::new(Mutex::new(PohRecorder::new(bank.tick_height(), prev_hash)));
|
||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
|
@ -137,7 +137,7 @@ impl ReplayStage {
|
|||||||
let vote = VoteTransaction::new_vote(
|
let vote = VoteTransaction::new_vote(
|
||||||
keypair,
|
keypair,
|
||||||
*latest_slot_vote,
|
*latest_slot_vote,
|
||||||
parent.last_id(),
|
parent.last_block_hash(),
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
cluster_info.write().unwrap().push_vote(vote);
|
cluster_info.write().unwrap().push_vote(vote);
|
||||||
@ -152,7 +152,7 @@ impl ReplayStage {
|
|||||||
);
|
);
|
||||||
to_leader_sender.send(TvuRotationInfo {
|
to_leader_sender.send(TvuRotationInfo {
|
||||||
tick_height: parent.tick_height(),
|
tick_height: parent.tick_height(),
|
||||||
last_id: parent.last_id(),
|
last_id: parent.last_block_hash(),
|
||||||
slot: next_slot,
|
slot: next_slot,
|
||||||
leader_id: next_leader,
|
leader_id: next_leader,
|
||||||
})?;
|
})?;
|
||||||
@ -206,7 +206,7 @@ impl ReplayStage {
|
|||||||
progress: &mut HashMap<u64, (Hash, usize)>,
|
progress: &mut HashMap<u64, (Hash, usize)>,
|
||||||
) -> result::Result<(Vec<Entry>, usize)> {
|
) -> result::Result<(Vec<Entry>, usize)> {
|
||||||
let bank_id = bank.slot();
|
let bank_id = bank.slot();
|
||||||
let bank_progress = &mut progress.entry(bank_id).or_insert((bank.last_id(), 0));
|
let bank_progress = &mut progress.entry(bank_id).or_insert((bank.last_block_hash(), 0));
|
||||||
blocktree.get_slot_entries_with_blob_count(bank_id, bank_progress.1 as u64, None)
|
blocktree.get_slot_entries_with_blob_count(bank_id, bank_progress.1 as u64, None)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,7 +217,7 @@ impl ReplayStage {
|
|||||||
forward_entry_sender: &EntrySender,
|
forward_entry_sender: &EntrySender,
|
||||||
num: usize,
|
num: usize,
|
||||||
) -> result::Result<()> {
|
) -> result::Result<()> {
|
||||||
let bank_progress = &mut progress.entry(bank.slot()).or_insert((bank.last_id(), 0));
|
let bank_progress = &mut progress.entry(bank.slot()).or_insert((bank.last_block_hash(), 0));
|
||||||
let result = Self::verify_and_process_entries(&bank, &entries, &bank_progress.0);
|
let result = Self::verify_and_process_entries(&bank, &entries, &bank_progress.0);
|
||||||
bank_progress.1 += num;
|
bank_progress.1 += num;
|
||||||
if let Some(last_entry) = entries.last() {
|
if let Some(last_entry) = entries.last() {
|
||||||
@ -253,7 +253,7 @@ impl ReplayStage {
|
|||||||
entries.len(),
|
entries.len(),
|
||||||
bank.tick_height(),
|
bank.tick_height(),
|
||||||
last_entry,
|
last_entry,
|
||||||
bank.last_id()
|
bank.last_block_hash()
|
||||||
);
|
);
|
||||||
return Err(result::Error::BlobError(BlobError::VerificationFailed));
|
return Err(result::Error::BlobError(BlobError::VerificationFailed));
|
||||||
}
|
}
|
||||||
@ -358,11 +358,11 @@ mod test {
|
|||||||
);
|
);
|
||||||
|
|
||||||
let keypair = voting_keypair.as_ref();
|
let keypair = voting_keypair.as_ref();
|
||||||
let vote = VoteTransaction::new_vote(keypair, 0, bank.last_id(), 0);
|
let vote = VoteTransaction::new_vote(keypair, 0, bank.last_block_hash(), 0);
|
||||||
cluster_info_me.write().unwrap().push_vote(vote);
|
cluster_info_me.write().unwrap().push_vote(vote);
|
||||||
|
|
||||||
info!("Send ReplayStage an entry, should see it on the ledger writer receiver");
|
info!("Send ReplayStage an entry, should see it on the ledger writer receiver");
|
||||||
let next_tick = create_ticks(1, bank.last_id());
|
let next_tick = create_ticks(1, bank.last_block_hash());
|
||||||
blocktree.write_entries(1, 0, 0, next_tick.clone()).unwrap();
|
blocktree.write_entries(1, 0, 0, next_tick.clone()).unwrap();
|
||||||
|
|
||||||
let received_tick = ledger_writer_recv
|
let received_tick = ledger_writer_recv
|
||||||
@ -383,7 +383,7 @@ mod test {
|
|||||||
let (forward_entry_sender, forward_entry_receiver) = channel();
|
let (forward_entry_sender, forward_entry_receiver) = channel();
|
||||||
let genesis_block = GenesisBlock::new(10_000).0;
|
let genesis_block = GenesisBlock::new(10_000).0;
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
let mut last_id = bank.last_id();
|
let mut last_id = bank.last_block_hash();
|
||||||
let mut entries = Vec::new();
|
let mut entries = Vec::new();
|
||||||
for _ in 0..5 {
|
for _ in 0..5 {
|
||||||
let entry = next_entry_mut(&mut last_id, 1, vec![]); //just ticks
|
let entry = next_entry_mut(&mut last_id, 1, vec![]); //just ticks
|
||||||
|
@ -58,7 +58,7 @@ impl JsonRpcRequestProcessor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn get_recent_block_hash(&self) -> Result<String> {
|
fn get_recent_block_hash(&self) -> Result<String> {
|
||||||
let id = self.bank()?.last_id();
|
let id = self.bank()?.last_block_hash();
|
||||||
Ok(bs58::encode(id).into_string())
|
Ok(bs58::encode(id).into_string())
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,7 +255,7 @@ impl RpcSol for RpcSolImpl {
|
|||||||
trace!("request_airdrop id={} tokens={}", id, tokens);
|
trace!("request_airdrop id={} tokens={}", id, tokens);
|
||||||
let pubkey = verify_pubkey(id)?;
|
let pubkey = verify_pubkey(id)?;
|
||||||
|
|
||||||
let last_id = meta.request_processor.read().unwrap().bank()?.last_id();
|
let last_id = meta.request_processor.read().unwrap().bank()?.last_block_hash();
|
||||||
let transaction = request_airdrop_transaction(&meta.drone_addr, &pubkey, tokens, last_id)
|
let transaction = request_airdrop_transaction(&meta.drone_addr, &pubkey, tokens, last_id)
|
||||||
.map_err(|err| {
|
.map_err(|err| {
|
||||||
info!("request_airdrop_transaction failed: {:?}", err);
|
info!("request_airdrop_transaction failed: {:?}", err);
|
||||||
@ -370,7 +370,7 @@ mod tests {
|
|||||||
let (genesis_block, alice) = GenesisBlock::new(10_000);
|
let (genesis_block, alice) = GenesisBlock::new(10_000);
|
||||||
let bank = Arc::new(Bank::new(&genesis_block));
|
let bank = Arc::new(Bank::new(&genesis_block));
|
||||||
|
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let tx = SystemTransaction::new_move(&alice, pubkey, 20, last_id, 0);
|
let tx = SystemTransaction::new_move(&alice, pubkey, 20, last_id, 0);
|
||||||
bank.process_transaction(&tx).expect("process transaction");
|
bank.process_transaction(&tx).expect("process transaction");
|
||||||
|
|
||||||
@ -406,7 +406,7 @@ mod tests {
|
|||||||
let mut request_processor = JsonRpcRequestProcessor::new(StorageState::default());
|
let mut request_processor = JsonRpcRequestProcessor::new(StorageState::default());
|
||||||
request_processor.set_bank(&bank);
|
request_processor.set_bank(&bank);
|
||||||
thread::spawn(move || {
|
thread::spawn(move || {
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let tx = SystemTransaction::new_move(&alice, bob_pubkey, 20, last_id, 0);
|
let tx = SystemTransaction::new_move(&alice, bob_pubkey, 20, last_id, 0);
|
||||||
bank.process_transaction(&tx).expect("process transaction");
|
bank.process_transaction(&tx).expect("process transaction");
|
||||||
})
|
})
|
||||||
|
@ -203,7 +203,7 @@ mod tests {
|
|||||||
let bob_pubkey = bob.pubkey();
|
let bob_pubkey = bob.pubkey();
|
||||||
let bank = Bank::new(&genesis_block);
|
let bank = Bank::new(&genesis_block);
|
||||||
let arc_bank = Arc::new(bank);
|
let arc_bank = Arc::new(bank);
|
||||||
let last_id = arc_bank.last_id();
|
let last_id = arc_bank.last_block_hash();
|
||||||
|
|
||||||
let rpc = RpcSolPubSubImpl::default();
|
let rpc = RpcSolPubSubImpl::default();
|
||||||
|
|
||||||
@ -232,7 +232,7 @@ mod tests {
|
|||||||
let bob_pubkey = Keypair::new().pubkey();
|
let bob_pubkey = Keypair::new().pubkey();
|
||||||
let bank = Bank::new(&genesis_block);
|
let bank = Bank::new(&genesis_block);
|
||||||
let arc_bank = Arc::new(bank);
|
let arc_bank = Arc::new(bank);
|
||||||
let last_id = arc_bank.last_id();
|
let last_id = arc_bank.last_block_hash();
|
||||||
|
|
||||||
let session = create_session();
|
let session = create_session();
|
||||||
|
|
||||||
@ -279,7 +279,7 @@ mod tests {
|
|||||||
let executable = false; // TODO
|
let executable = false; // TODO
|
||||||
let bank = Bank::new(&genesis_block);
|
let bank = Bank::new(&genesis_block);
|
||||||
let arc_bank = Arc::new(bank);
|
let arc_bank = Arc::new(bank);
|
||||||
let last_id = arc_bank.last_id();
|
let last_id = arc_bank.last_block_hash();
|
||||||
|
|
||||||
let rpc = RpcSolPubSubImpl::default();
|
let rpc = RpcSolPubSubImpl::default();
|
||||||
let session = create_session();
|
let session = create_session();
|
||||||
|
@ -156,7 +156,7 @@ mod tests {
|
|||||||
let (genesis_block, mint_keypair) = GenesisBlock::new(100);
|
let (genesis_block, mint_keypair) = GenesisBlock::new(100);
|
||||||
let bank = Bank::new(&genesis_block);
|
let bank = Bank::new(&genesis_block);
|
||||||
let alice = Keypair::new();
|
let alice = Keypair::new();
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let tx = SystemTransaction::new_program_account(
|
let tx = SystemTransaction::new_program_account(
|
||||||
&mint_keypair,
|
&mint_keypair,
|
||||||
alice.pubkey(),
|
alice.pubkey(),
|
||||||
@ -201,7 +201,7 @@ mod tests {
|
|||||||
let (genesis_block, mint_keypair) = GenesisBlock::new(100);
|
let (genesis_block, mint_keypair) = GenesisBlock::new(100);
|
||||||
let bank = Bank::new(&genesis_block);
|
let bank = Bank::new(&genesis_block);
|
||||||
let alice = Keypair::new();
|
let alice = Keypair::new();
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let tx = SystemTransaction::new_move(&mint_keypair, alice.pubkey(), 20, last_id, 0);
|
let tx = SystemTransaction::new_move(&mint_keypair, alice.pubkey(), 20, last_id, 0);
|
||||||
let signature = tx.signatures[0];
|
let signature = tx.signatures[0];
|
||||||
bank.process_transaction(&tx).unwrap();
|
bank.process_transaction(&tx).unwrap();
|
||||||
|
@ -109,7 +109,7 @@ pub mod tests {
|
|||||||
bank: &Bank,
|
bank: &Bank,
|
||||||
num_tokens: u64,
|
num_tokens: u64,
|
||||||
) {
|
) {
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let tx = VoteTransaction::fund_staking_account(
|
let tx = VoteTransaction::fund_staking_account(
|
||||||
from_keypair,
|
from_keypair,
|
||||||
*voting_pubkey,
|
*voting_pubkey,
|
||||||
@ -121,7 +121,7 @@ pub mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn push_vote<T: KeypairUtil>(voting_keypair: &T, bank: &Bank, slot_height: u64) {
|
pub fn push_vote<T: KeypairUtil>(voting_keypair: &T, bank: &Bank, slot_height: u64) {
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let tx = VoteTransaction::new_vote(voting_keypair, slot_height, last_id, 0);
|
let tx = VoteTransaction::new_vote(voting_keypair, slot_height, last_id, 0);
|
||||||
bank.process_transaction(&tx).unwrap();
|
bank.process_transaction(&tx).unwrap();
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ impl<'a> RewardsBank<'a> {
|
|||||||
rewards_id: Pubkey,
|
rewards_id: Pubkey,
|
||||||
lamports: u64,
|
lamports: u64,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let last_id = self.bank.last_id();
|
let last_id = self.bank.last_block_hash();
|
||||||
let tx = RewardsTransaction::new_account(from_keypair, rewards_id, last_id, lamports, 0);
|
let tx = RewardsTransaction::new_account(from_keypair, rewards_id, last_id, lamports, 0);
|
||||||
self.bank.process_transaction(&tx)
|
self.bank.process_transaction(&tx)
|
||||||
}
|
}
|
||||||
@ -35,13 +35,13 @@ impl<'a> RewardsBank<'a> {
|
|||||||
vote_id: Pubkey,
|
vote_id: Pubkey,
|
||||||
lamports: u64,
|
lamports: u64,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let last_id = self.bank.last_id();
|
let last_id = self.bank.last_block_hash();
|
||||||
let tx = VoteTransaction::fund_staking_account(from_keypair, vote_id, last_id, lamports, 0);
|
let tx = VoteTransaction::fund_staking_account(from_keypair, vote_id, last_id, lamports, 0);
|
||||||
self.bank.process_transaction(&tx)
|
self.bank.process_transaction(&tx)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn submit_vote(&self, vote_keypair: &Keypair, tick_height: u64) -> Result<VoteState> {
|
fn submit_vote(&self, vote_keypair: &Keypair, tick_height: u64) -> Result<VoteState> {
|
||||||
let last_id = self.bank.last_id();
|
let last_id = self.bank.last_block_hash();
|
||||||
let tx = VoteTransaction::new_vote(vote_keypair, tick_height, last_id, 0);
|
let tx = VoteTransaction::new_vote(vote_keypair, tick_height, last_id, 0);
|
||||||
self.bank.process_transaction(&tx)?;
|
self.bank.process_transaction(&tx)?;
|
||||||
self.bank.register_tick(&hash(last_id.as_ref()));
|
self.bank.register_tick(&hash(last_id.as_ref()));
|
||||||
@ -51,7 +51,7 @@ impl<'a> RewardsBank<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn redeem_credits(&self, rewards_id: Pubkey, vote_keypair: &Keypair) -> Result<VoteState> {
|
fn redeem_credits(&self, rewards_id: Pubkey, vote_keypair: &Keypair) -> Result<VoteState> {
|
||||||
let last_id = self.bank.last_id();
|
let last_id = self.bank.last_block_hash();
|
||||||
let tx = RewardsTransaction::new_redeem_credits(&vote_keypair, rewards_id, last_id, 0);
|
let tx = RewardsTransaction::new_redeem_credits(&vote_keypair, rewards_id, last_id, 0);
|
||||||
self.bank.process_transaction(&tx)?;
|
self.bank.process_transaction(&tx)?;
|
||||||
let vote_account = self.bank.get_account(&vote_keypair.pubkey()).unwrap();
|
let vote_account = self.bank.get_account(&vote_keypair.pubkey()).unwrap();
|
||||||
|
@ -26,13 +26,13 @@ impl<'a> VoteBank<'a> {
|
|||||||
vote_id: Pubkey,
|
vote_id: Pubkey,
|
||||||
lamports: u64,
|
lamports: u64,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let last_id = self.bank.last_id();
|
let last_id = self.bank.last_block_hash();
|
||||||
let tx = VoteTransaction::fund_staking_account(from_keypair, vote_id, last_id, lamports, 0);
|
let tx = VoteTransaction::fund_staking_account(from_keypair, vote_id, last_id, lamports, 0);
|
||||||
self.bank.process_transaction(&tx)
|
self.bank.process_transaction(&tx)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn submit_vote(&self, vote_keypair: &Keypair, tick_height: u64) -> Result<VoteState> {
|
fn submit_vote(&self, vote_keypair: &Keypair, tick_height: u64) -> Result<VoteState> {
|
||||||
let last_id = self.bank.last_id();
|
let last_id = self.bank.last_block_hash();
|
||||||
let tx = VoteTransaction::new_vote(vote_keypair, tick_height, last_id, 0);
|
let tx = VoteTransaction::new_vote(vote_keypair, tick_height, last_id, 0);
|
||||||
self.bank.process_transaction(&tx)?;
|
self.bank.process_transaction(&tx)?;
|
||||||
self.bank.register_tick(&hash(last_id.as_ref()));
|
self.bank.register_tick(&hash(last_id.as_ref()));
|
||||||
@ -71,7 +71,7 @@ fn test_vote_via_bank_with_no_signature() {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let mallory_id = mallory_keypair.pubkey();
|
let mallory_id = mallory_keypair.pubkey();
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let vote_ix = BuilderInstruction::new(
|
let vote_ix = BuilderInstruction::new(
|
||||||
vote_program::id(),
|
vote_program::id(),
|
||||||
&VoteInstruction::Vote(Vote::new(0)),
|
&VoteInstruction::Vote(Vote::new(0)),
|
||||||
|
@ -15,7 +15,7 @@ fn load_program(bank: &Bank, from: &Keypair, loader_id: Pubkey, program: Vec<u8>
|
|||||||
let tx = SystemTransaction::new_program_account(
|
let tx = SystemTransaction::new_program_account(
|
||||||
from,
|
from,
|
||||||
program_account.pubkey(),
|
program_account.pubkey(),
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
1,
|
1,
|
||||||
program.len() as u64,
|
program.len() as u64,
|
||||||
loader_id,
|
loader_id,
|
||||||
@ -32,14 +32,14 @@ fn load_program(bank: &Bank, from: &Keypair, loader_id: Pubkey, program: Vec<u8>
|
|||||||
loader_id,
|
loader_id,
|
||||||
offset,
|
offset,
|
||||||
chunk.to_vec(),
|
chunk.to_vec(),
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
bank.process_transaction(&tx).unwrap();
|
bank.process_transaction(&tx).unwrap();
|
||||||
offset += chunk_size as u32;
|
offset += chunk_size as u32;
|
||||||
}
|
}
|
||||||
|
|
||||||
let tx = LoaderTransaction::new_finalize(&program_account, loader_id, bank.last_id(), 0);
|
let tx = LoaderTransaction::new_finalize(&program_account, loader_id, bank.last_block_hash(), 0);
|
||||||
bank.process_transaction(&tx).unwrap();
|
bank.process_transaction(&tx).unwrap();
|
||||||
assert_eq!(bank.get_signature_status(&tx.signatures[0]), Some(Ok(())));
|
assert_eq!(bank.get_signature_status(&tx.signatures[0]), Some(Ok(())));
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ fn test_program_native_noop() {
|
|||||||
let program_id = load_program(&bank, &mint_keypair, native_loader::id(), program);
|
let program_id = load_program(&bank, &mint_keypair, native_loader::id(), program);
|
||||||
|
|
||||||
// Call user program
|
// Call user program
|
||||||
let tx = Transaction::new(&mint_keypair, &[], program_id, &1u8, bank.last_id(), 0);
|
let tx = Transaction::new(&mint_keypair, &[], program_id, &1u8, bank.last_block_hash(), 0);
|
||||||
bank.process_transaction(&tx).unwrap();
|
bank.process_transaction(&tx).unwrap();
|
||||||
assert_eq!(bank.get_signature_status(&tx.signatures[0]), Some(Ok(())));
|
assert_eq!(bank.get_signature_status(&tx.signatures[0]), Some(Ok(())));
|
||||||
}
|
}
|
||||||
@ -73,7 +73,7 @@ fn test_program_native_failure() {
|
|||||||
let program_id = load_program(&bank, &mint_keypair, native_loader::id(), program);
|
let program_id = load_program(&bank, &mint_keypair, native_loader::id(), program);
|
||||||
|
|
||||||
// Call user program
|
// Call user program
|
||||||
let tx = Transaction::new(&mint_keypair, &[], program_id, &1u8, bank.last_id(), 0);
|
let tx = Transaction::new(&mint_keypair, &[], program_id, &1u8, bank.last_block_hash(), 0);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
bank.process_transaction(&tx),
|
bank.process_transaction(&tx),
|
||||||
Err(BankError::ProgramError(0, ProgramError::GenericError))
|
Err(BankError::ProgramError(0, ProgramError::GenericError))
|
||||||
@ -126,7 +126,7 @@ fn test_program_bpf_c_noop() {
|
|||||||
&[],
|
&[],
|
||||||
program_id,
|
program_id,
|
||||||
&vec![1u8],
|
&vec![1u8],
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
bank.process_transaction(&tx).unwrap();
|
bank.process_transaction(&tx).unwrap();
|
||||||
@ -170,7 +170,7 @@ fn test_program_bpf_c() {
|
|||||||
&[],
|
&[],
|
||||||
program_id,
|
program_id,
|
||||||
&vec![1u8],
|
&vec![1u8],
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
bank.process_transaction(&tx).unwrap();
|
bank.process_transaction(&tx).unwrap();
|
||||||
@ -210,7 +210,7 @@ fn test_program_bpf_rust() {
|
|||||||
&[],
|
&[],
|
||||||
program_id,
|
program_id,
|
||||||
&vec![1u8],
|
&vec![1u8],
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
bank.process_transaction(&tx).unwrap();
|
bank.process_transaction(&tx).unwrap();
|
||||||
|
@ -25,14 +25,14 @@ fn bench_process_transaction(bencher: &mut Bencher) {
|
|||||||
&mint_keypair,
|
&mint_keypair,
|
||||||
rando0.pubkey(),
|
rando0.pubkey(),
|
||||||
10_000,
|
10_000,
|
||||||
bank.last_id(),
|
bank.last_block_hash(),
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
||||||
|
|
||||||
// Seed the 'to' account and a cell for its signature.
|
// Seed the 'to' account and a cell for its signature.
|
||||||
let rando1 = Keypair::new();
|
let rando1 = Keypair::new();
|
||||||
let tx = SystemTransaction::new_move(&rando0, rando1.pubkey(), 1, bank.last_id(), 0);
|
let tx = SystemTransaction::new_move(&rando0, rando1.pubkey(), 1, bank.last_block_hash(), 0);
|
||||||
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
||||||
|
|
||||||
// Finally, return the transaction to the benchmark.
|
// Finally, return the transaction to the benchmark.
|
||||||
@ -40,7 +40,7 @@ fn bench_process_transaction(bencher: &mut Bencher) {
|
|||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let mut id = bank.last_id();
|
let mut id = bank.last_block_hash();
|
||||||
|
|
||||||
for _ in 0..(MAX_RECENT_TICK_HASHES - 1) {
|
for _ in 0..(MAX_RECENT_TICK_HASHES - 1) {
|
||||||
bank.register_tick(&id);
|
bank.register_tick(&id);
|
||||||
|
@ -298,7 +298,7 @@ impl Bank {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Return the last block hash registered.
|
/// Return the last block hash registered.
|
||||||
pub fn last_id(&self) -> Hash {
|
pub fn last_block_hash(&self) -> Hash {
|
||||||
self.block_hash_queue.read().unwrap().last_hash()
|
self.block_hash_queue.read().unwrap().last_hash()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -881,7 +881,7 @@ mod tests {
|
|||||||
let (genesis_block, mint_keypair) = GenesisBlock::new(10_000);
|
let (genesis_block, mint_keypair) = GenesisBlock::new(10_000);
|
||||||
let pubkey = Keypair::new().pubkey();
|
let pubkey = Keypair::new().pubkey();
|
||||||
let bank = Bank::new(&genesis_block);
|
let bank = Bank::new(&genesis_block);
|
||||||
assert_eq!(bank.last_id(), genesis_block.hash());
|
assert_eq!(bank.last_block_hash(), genesis_block.hash());
|
||||||
|
|
||||||
bank.transfer(1_000, &mint_keypair, pubkey, genesis_block.hash())
|
bank.transfer(1_000, &mint_keypair, pubkey, genesis_block.hash())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@ -899,7 +899,7 @@ mod tests {
|
|||||||
let key1 = Keypair::new().pubkey();
|
let key1 = Keypair::new().pubkey();
|
||||||
let key2 = Keypair::new().pubkey();
|
let key2 = Keypair::new().pubkey();
|
||||||
let bank = Bank::new(&genesis_block);
|
let bank = Bank::new(&genesis_block);
|
||||||
assert_eq!(bank.last_id(), genesis_block.hash());
|
assert_eq!(bank.last_block_hash(), genesis_block.hash());
|
||||||
|
|
||||||
let t1 = SystemTransaction::new_move(&mint_keypair, key1, 1, genesis_block.hash(), 0);
|
let t1 = SystemTransaction::new_move(&mint_keypair, key1, 1, genesis_block.hash(), 0);
|
||||||
let t2 = SystemTransaction::new_move(&mint_keypair, key2, 1, genesis_block.hash(), 0);
|
let t2 = SystemTransaction::new_move(&mint_keypair, key2, 1, genesis_block.hash(), 0);
|
||||||
@ -1394,11 +1394,11 @@ mod tests {
|
|||||||
|
|
||||||
let pubkey = Keypair::new().pubkey();
|
let pubkey = Keypair::new().pubkey();
|
||||||
bank0
|
bank0
|
||||||
.transfer(1_000, &mint_keypair, pubkey, bank0.last_id())
|
.transfer(1_000, &mint_keypair, pubkey, bank0.last_block_hash())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_ne!(bank0.hash_internal_state(), initial_state);
|
assert_ne!(bank0.hash_internal_state(), initial_state);
|
||||||
bank1
|
bank1
|
||||||
.transfer(1_000, &mint_keypair, pubkey, bank1.last_id())
|
.transfer(1_000, &mint_keypair, pubkey, bank1.last_block_hash())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(bank0.hash_internal_state(), bank1.hash_internal_state());
|
assert_eq!(bank0.hash_internal_state(), bank1.hash_internal_state());
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ fn test_replay() {
|
|||||||
let tvu_addr = target1.info.tvu;
|
let tvu_addr = target1.info.tvu;
|
||||||
|
|
||||||
let bank = Bank::new(&genesis_block);
|
let bank = Bank::new(&genesis_block);
|
||||||
let last_id = bank.last_id();
|
let last_id = bank.last_block_hash();
|
||||||
let bank_forks = BankForks::new(0, bank);
|
let bank_forks = BankForks::new(0, bank);
|
||||||
let bank_forks_info = vec![BankForksInfo {
|
let bank_forks_info = vec![BankForksInfo {
|
||||||
bank_id: 0,
|
bank_id: 0,
|
||||||
|
Reference in New Issue
Block a user