Use BankForks on tests - Part 2 (#34234)
* Use BankForks on tests - Part 2 Signed-off-by: Lucas Steuernagel <lucas.tnagel@gmail.com>
This commit is contained in:
parent
e1165aaf00
commit
aeb4a348fb
|
@ -966,7 +966,7 @@ pub(super) enum RewardInterval {
|
|||
}
|
||||
|
||||
impl Bank {
|
||||
fn wrap_with_bank_forks_for_tests(self) -> (Arc<Self>, Arc<RwLock<BankForks>>) {
|
||||
pub(super) fn wrap_with_bank_forks_for_tests(self) -> (Arc<Self>, Arc<RwLock<BankForks>>) {
|
||||
let bank_fork = BankForks::new_rw_arc(self);
|
||||
let bank_arc = bank_fork.read().unwrap().root_bank();
|
||||
bank_arc
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -361,8 +361,8 @@ mod tests {
|
|||
let jane_doe_keypair = Keypair::new();
|
||||
let jane_pubkey = jane_doe_keypair.pubkey();
|
||||
let doe_keypairs = vec![&john_doe_keypair, &jane_doe_keypair];
|
||||
let bank = Bank::new_for_tests(&genesis_config);
|
||||
let bank_client = BankClient::new(bank);
|
||||
let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
||||
let bank_client = BankClient::new_shared(bank);
|
||||
let amount = genesis_config.rent.minimum_balance(0);
|
||||
|
||||
// Create 2-2 Multisig Transfer instruction.
|
||||
|
|
|
@ -1249,6 +1249,7 @@ mod tests {
|
|||
use {
|
||||
super::*,
|
||||
crate::{
|
||||
bank_forks::BankForks,
|
||||
genesis_utils,
|
||||
snapshot_utils::{
|
||||
clean_orphaned_account_snapshot_dirs, create_all_accounts_run_and_snapshot_dirs,
|
||||
|
@ -1272,9 +1273,23 @@ mod tests {
|
|||
system_transaction,
|
||||
transaction::SanitizedTransaction,
|
||||
},
|
||||
std::sync::{atomic::Ordering, Arc},
|
||||
std::sync::{atomic::Ordering, Arc, RwLock},
|
||||
};
|
||||
|
||||
fn new_bank_from_parent_with_bank_forks(
|
||||
bank_forks: &RwLock<BankForks>,
|
||||
parent: Arc<Bank>,
|
||||
collector_id: &Pubkey,
|
||||
slot: Slot,
|
||||
) -> Arc<Bank> {
|
||||
let bank = Bank::new_from_parent(parent, collector_id, slot);
|
||||
bank_forks
|
||||
.write()
|
||||
.unwrap()
|
||||
.insert(bank)
|
||||
.clone_without_scheduler()
|
||||
}
|
||||
|
||||
/// Test roundtrip of bank to a full snapshot, then back again. This test creates the simplest
|
||||
/// bank possible, so the contents of the snapshot archive will be quite minimal.
|
||||
#[test]
|
||||
|
@ -1342,7 +1357,7 @@ mod tests {
|
|||
let key5 = Keypair::new();
|
||||
|
||||
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1_000_000.));
|
||||
let bank0 = Arc::new(Bank::new_for_tests(&genesis_config));
|
||||
let (bank0, bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
||||
bank0
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1357,7 +1372,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = 1;
|
||||
let bank1 = Arc::new(Bank::new_from_parent(bank0, &collector, slot));
|
||||
let bank1 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank0, &collector, slot);
|
||||
bank1
|
||||
.transfer(sol_to_lamports(3.), &mint_keypair, &key3.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1372,7 +1388,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank2 = Arc::new(Bank::new_from_parent(bank1, &collector, slot));
|
||||
let bank2 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank1, &collector, slot);
|
||||
bank2
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1381,7 +1398,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank3 = Arc::new(Bank::new_from_parent(bank2, &collector, slot));
|
||||
let bank3 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank2, &collector, slot);
|
||||
bank3
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1390,7 +1408,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank4 = Arc::new(Bank::new_from_parent(bank3, &collector, slot));
|
||||
let bank4 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank3, &collector, slot);
|
||||
bank4
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1460,7 +1479,7 @@ mod tests {
|
|||
let key5 = Keypair::new();
|
||||
|
||||
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1_000_000.));
|
||||
let bank0 = Arc::new(Bank::new_for_tests(&genesis_config));
|
||||
let (bank0, bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
||||
bank0
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1475,7 +1494,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = 1;
|
||||
let bank1 = Arc::new(Bank::new_from_parent(bank0, &collector, slot));
|
||||
let bank1 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank0, &collector, slot);
|
||||
bank1
|
||||
.transfer(sol_to_lamports(3.), &mint_keypair, &key3.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1509,7 +1529,8 @@ mod tests {
|
|||
.unwrap();
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank2 = Arc::new(Bank::new_from_parent(bank1, &collector, slot));
|
||||
let bank2 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank1, &collector, slot);
|
||||
bank2
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1518,7 +1539,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank3 = Arc::new(Bank::new_from_parent(bank2, &collector, slot));
|
||||
let bank3 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank2, &collector, slot);
|
||||
bank3
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1527,7 +1549,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank4 = Arc::new(Bank::new_from_parent(bank3, &collector, slot));
|
||||
let bank4 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank3, &collector, slot);
|
||||
bank4
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1582,7 +1605,7 @@ mod tests {
|
|||
let key3 = Keypair::new();
|
||||
|
||||
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1_000_000.));
|
||||
let bank0 = Arc::new(Bank::new_for_tests(&genesis_config));
|
||||
let (bank0, bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
||||
bank0
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1597,7 +1620,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = 1;
|
||||
let bank1 = Arc::new(Bank::new_from_parent(bank0, &collector, slot));
|
||||
let bank1 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank0, &collector, slot);
|
||||
bank1
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1631,7 +1655,8 @@ mod tests {
|
|||
.unwrap();
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank2 = Arc::new(Bank::new_from_parent(bank1, &collector, slot));
|
||||
let bank2 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank1, &collector, slot);
|
||||
bank2
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1640,7 +1665,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank3 = Arc::new(Bank::new_from_parent(bank2, &collector, slot));
|
||||
let bank3 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank2, &collector, slot);
|
||||
bank3
|
||||
.transfer(sol_to_lamports(2.), &mint_keypair, &key2.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1649,7 +1675,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank4 = Arc::new(Bank::new_from_parent(bank3, &collector, slot));
|
||||
let bank4 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank3, &collector, slot);
|
||||
bank4
|
||||
.transfer(sol_to_lamports(3.), &mint_keypair, &key3.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1732,13 +1759,14 @@ mod tests {
|
|||
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1_000_000.));
|
||||
|
||||
let lamports_to_transfer = sol_to_lamports(123_456.);
|
||||
let bank0 = Arc::new(Bank::new_with_paths_for_tests(
|
||||
let (bank0, bank_forks) = Bank::new_with_paths_for_tests(
|
||||
&genesis_config,
|
||||
Arc::<RuntimeConfig>::default(),
|
||||
vec![accounts_dir.clone()],
|
||||
AccountSecondaryIndexes::default(),
|
||||
AccountShrinkThreshold::default(),
|
||||
));
|
||||
)
|
||||
.wrap_with_bank_forks_for_tests();
|
||||
bank0
|
||||
.transfer(lamports_to_transfer, &mint_keypair, &key2.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1747,7 +1775,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = 1;
|
||||
let bank1 = Arc::new(Bank::new_from_parent(bank0, &collector, slot));
|
||||
let bank1 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank0, &collector, slot);
|
||||
bank1
|
||||
.transfer(lamports_to_transfer, &key2, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -1769,7 +1798,8 @@ mod tests {
|
|||
.unwrap();
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank2 = Arc::new(Bank::new_from_parent(bank1, &collector, slot));
|
||||
let bank2 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank1, &collector, slot);
|
||||
let blockhash = bank2.last_blockhash();
|
||||
let tx = SanitizedTransaction::from_transaction_for_tests(system_transaction::transfer(
|
||||
&key1,
|
||||
|
@ -1836,7 +1866,8 @@ mod tests {
|
|||
);
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank3 = Arc::new(Bank::new_from_parent(bank2, &collector, slot));
|
||||
let bank3 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank2, &collector, slot);
|
||||
// Update Account2 so that it no longer holds a reference to slot2
|
||||
bank3
|
||||
.transfer(lamports_to_transfer, &mint_keypair, &key2.pubkey())
|
||||
|
@ -1846,7 +1877,8 @@ mod tests {
|
|||
}
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank4 = Arc::new(Bank::new_from_parent(bank3, &collector, slot));
|
||||
let bank4 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank3, &collector, slot);
|
||||
while !bank4.is_complete() {
|
||||
bank4.register_unique_tick();
|
||||
}
|
||||
|
@ -1914,13 +1946,14 @@ mod tests {
|
|||
let key1 = Keypair::new();
|
||||
|
||||
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1_000_000.));
|
||||
let bank0 = Arc::new(Bank::new_for_tests(&genesis_config));
|
||||
let (bank0, bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
||||
while !bank0.is_complete() {
|
||||
bank0.register_unique_tick();
|
||||
}
|
||||
|
||||
let slot = 1;
|
||||
let bank1 = Arc::new(Bank::new_from_parent(bank0, &collector, slot));
|
||||
let bank1 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank0, &collector, slot);
|
||||
while !bank1.is_complete() {
|
||||
bank1.register_unique_tick();
|
||||
}
|
||||
|
@ -1942,7 +1975,8 @@ mod tests {
|
|||
.unwrap();
|
||||
|
||||
let slot = slot + 1;
|
||||
let bank2 = Arc::new(Bank::new_from_parent(bank1, &collector, slot));
|
||||
let bank2 =
|
||||
new_bank_from_parent_with_bank_forks(bank_forks.as_ref(), bank1, &collector, slot);
|
||||
bank2
|
||||
.transfer(sol_to_lamports(1.), &mint_keypair, &key1.pubkey())
|
||||
.unwrap();
|
||||
|
@ -2181,12 +2215,18 @@ mod tests {
|
|||
bank.fill_bank_with_ticks_for_tests();
|
||||
};
|
||||
|
||||
let mut bank = Arc::new(Bank::new_for_tests(&genesis_config_info.genesis_config));
|
||||
let (mut bank, bank_forks) =
|
||||
Bank::new_with_bank_forks_for_tests(&genesis_config_info.genesis_config);
|
||||
|
||||
// make some banks, do some transactions, ensure there's some zero-lamport accounts
|
||||
for _ in 0..5 {
|
||||
let slot = bank.slot() + 1;
|
||||
bank = Arc::new(Bank::new_from_parent(bank, &Pubkey::new_unique(), slot));
|
||||
bank = new_bank_from_parent_with_bank_forks(
|
||||
bank_forks.as_ref(),
|
||||
bank,
|
||||
&Pubkey::new_unique(),
|
||||
slot,
|
||||
);
|
||||
do_transfers(&bank);
|
||||
}
|
||||
|
||||
|
@ -2212,7 +2252,12 @@ mod tests {
|
|||
// make more banks, do more transactions, ensure there's more zero-lamport accounts
|
||||
for _ in 0..5 {
|
||||
let slot = bank.slot() + 1;
|
||||
bank = Arc::new(Bank::new_from_parent(bank, &Pubkey::new_unique(), slot));
|
||||
bank = new_bank_from_parent_with_bank_forks(
|
||||
bank_forks.as_ref(),
|
||||
bank,
|
||||
&Pubkey::new_unique(),
|
||||
slot,
|
||||
);
|
||||
do_transfers(&bank);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,12 +5,14 @@ use {
|
|||
solana_runtime::{
|
||||
bank::Bank,
|
||||
bank_client::BankClient,
|
||||
bank_forks::BankForks,
|
||||
genesis_utils::{create_genesis_config_with_leader, GenesisConfigInfo},
|
||||
},
|
||||
solana_sdk::{
|
||||
account::from_account,
|
||||
account_utils::StateMut,
|
||||
client::SyncClient,
|
||||
clock::Slot,
|
||||
epoch_schedule::{EpochSchedule, MINIMUM_SLOTS_PER_EPOCH},
|
||||
hash::Hash,
|
||||
message::Message,
|
||||
|
@ -28,19 +30,37 @@ use {
|
|||
vote_instruction,
|
||||
vote_state::{Vote, VoteInit, VoteState, VoteStateVersions},
|
||||
},
|
||||
std::sync::Arc,
|
||||
std::sync::{Arc, RwLock},
|
||||
};
|
||||
|
||||
fn new_bank_from_parent_with_bank_forks(
|
||||
bank_forks: &RwLock<BankForks>,
|
||||
parent: Arc<Bank>,
|
||||
collector_id: &Pubkey,
|
||||
slot: Slot,
|
||||
) -> Arc<Bank> {
|
||||
let bank = Bank::new_from_parent(parent, collector_id, slot);
|
||||
bank_forks
|
||||
.write()
|
||||
.unwrap()
|
||||
.insert(bank)
|
||||
.clone_without_scheduler()
|
||||
}
|
||||
|
||||
/// get bank at next epoch + `n` slots
|
||||
fn next_epoch_and_n_slots(bank: Arc<Bank>, mut n: usize) -> Arc<Bank> {
|
||||
fn next_epoch_and_n_slots(
|
||||
bank: Arc<Bank>,
|
||||
bank_forks: &RwLock<BankForks>,
|
||||
mut n: usize,
|
||||
) -> Arc<Bank> {
|
||||
bank.squash();
|
||||
let slot = bank.get_slots_in_epoch(bank.epoch()) + bank.slot();
|
||||
let mut bank = Arc::new(Bank::new_from_parent(bank, &Pubkey::default(), slot));
|
||||
let mut bank = new_bank_from_parent_with_bank_forks(bank_forks, bank, &Pubkey::default(), slot);
|
||||
|
||||
while n > 0 {
|
||||
bank.squash();
|
||||
let slot = bank.slot() + 1;
|
||||
bank = Arc::new(Bank::new_from_parent(bank, &Pubkey::default(), slot));
|
||||
bank = new_bank_from_parent_with_bank_forks(bank_forks, bank, &Pubkey::default(), slot);
|
||||
n -= 1;
|
||||
}
|
||||
|
||||
|
@ -49,6 +69,7 @@ fn next_epoch_and_n_slots(bank: Arc<Bank>, mut n: usize) -> Arc<Bank> {
|
|||
|
||||
fn fill_epoch_with_votes(
|
||||
mut bank: Arc<Bank>,
|
||||
bank_forks: &RwLock<BankForks>,
|
||||
vote_keypair: &Keypair,
|
||||
mint_keypair: &Keypair,
|
||||
) -> Arc<Bank> {
|
||||
|
@ -58,7 +79,7 @@ fn fill_epoch_with_votes(
|
|||
while bank.epoch() != old_epoch + 1 {
|
||||
bank.squash();
|
||||
let slot = bank.slot() + 1;
|
||||
bank = Arc::new(Bank::new_from_parent(bank, &Pubkey::default(), slot));
|
||||
bank = new_bank_from_parent_with_bank_forks(bank_forks, bank, &Pubkey::default(), slot);
|
||||
|
||||
let bank_client = BankClient::new_shared(bank.clone());
|
||||
let parent = bank.parent().unwrap();
|
||||
|
@ -125,7 +146,7 @@ fn test_stake_create_and_split_single_signature() {
|
|||
|
||||
let staker_pubkey = staker_keypair.pubkey();
|
||||
|
||||
let bank = Arc::new(Bank::new_for_tests(&genesis_config));
|
||||
let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
||||
let bank_client = BankClient::new_shared(bank.clone());
|
||||
|
||||
let stake_address =
|
||||
|
@ -201,7 +222,7 @@ fn test_stake_create_and_split_to_existing_system_account() {
|
|||
|
||||
let staker_pubkey = staker_keypair.pubkey();
|
||||
|
||||
let bank = Arc::new(Bank::new_for_tests(&genesis_config));
|
||||
let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
||||
let bank_client = BankClient::new_shared(bank.clone());
|
||||
|
||||
let stake_address =
|
||||
|
@ -288,9 +309,8 @@ fn test_stake_account_lifetime() {
|
|||
);
|
||||
genesis_config.epoch_schedule = EpochSchedule::new(MINIMUM_SLOTS_PER_EPOCH);
|
||||
genesis_config.rent = Rent::default();
|
||||
let bank = Bank::new_for_tests(&genesis_config);
|
||||
let (mut bank, bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
||||
let mint_pubkey = mint_keypair.pubkey();
|
||||
let mut bank = Arc::new(bank);
|
||||
// Need to set the EAH to Valid so that `Bank::new_from_parent()` doesn't panic during freeze
|
||||
// when parent is in the EAH calculation window.
|
||||
bank.rc
|
||||
|
@ -392,12 +412,12 @@ fn test_stake_account_lifetime() {
|
|||
break;
|
||||
}
|
||||
// Cycle thru banks until we're fully warmed up
|
||||
bank = next_epoch_and_n_slots(bank, 0);
|
||||
bank = next_epoch_and_n_slots(bank, bank_forks.as_ref(), 0);
|
||||
}
|
||||
|
||||
// Reward redemption
|
||||
// Submit enough votes to generate rewards
|
||||
bank = fill_epoch_with_votes(bank, &vote_keypair, &mint_keypair);
|
||||
bank = fill_epoch_with_votes(bank, bank_forks.as_ref(), &vote_keypair, &mint_keypair);
|
||||
|
||||
// Test that votes and credits are there
|
||||
let account = bank.get_account(&vote_pubkey).expect("account not found");
|
||||
|
@ -410,13 +430,13 @@ fn test_stake_account_lifetime() {
|
|||
// one vote per slot, might be more slots than 32 in the epoch
|
||||
assert!(vote_state.credits() >= 1);
|
||||
|
||||
bank = fill_epoch_with_votes(bank, &vote_keypair, &mint_keypair);
|
||||
bank = fill_epoch_with_votes(bank, bank_forks.as_ref(), &vote_keypair, &mint_keypair);
|
||||
|
||||
let pre_staked = get_staked(&bank, &stake_pubkey);
|
||||
let pre_balance = bank.get_balance(&stake_pubkey);
|
||||
|
||||
// next epoch bank plus one additional slot should pay rewards
|
||||
bank = next_epoch_and_n_slots(bank, 1);
|
||||
bank = next_epoch_and_n_slots(bank, bank_forks.as_ref(), 1);
|
||||
|
||||
// Test that balance increased, and that the balance got staked
|
||||
let staked = get_staked(&bank, &stake_pubkey);
|
||||
|
@ -490,7 +510,7 @@ fn test_stake_account_lifetime() {
|
|||
.send_and_confirm_message(&[&mint_keypair, &stake_keypair], message)
|
||||
.is_err());
|
||||
|
||||
let mut bank = next_epoch_and_n_slots(bank, 1);
|
||||
let mut bank = next_epoch_and_n_slots(bank, bank_forks.as_ref(), 1);
|
||||
|
||||
let bank_client = BankClient::new_shared(bank.clone());
|
||||
|
||||
|
@ -536,7 +556,7 @@ fn test_stake_account_lifetime() {
|
|||
if get_staked(&bank, &split_stake_pubkey) == 0 {
|
||||
break;
|
||||
}
|
||||
bank = next_epoch_and_n_slots(bank, 1);
|
||||
bank = next_epoch_and_n_slots(bank, bank_forks.as_ref(), 1);
|
||||
}
|
||||
let bank_client = BankClient::new_shared(bank.clone());
|
||||
|
||||
|
@ -577,9 +597,8 @@ fn test_create_stake_account_from_seed() {
|
|||
&solana_sdk::pubkey::new_rand(),
|
||||
1_000_000,
|
||||
);
|
||||
let bank = Bank::new_for_tests(&genesis_config);
|
||||
let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
||||
let mint_pubkey = mint_keypair.pubkey();
|
||||
let bank = Arc::new(bank);
|
||||
let bank_client = BankClient::new_shared(bank.clone());
|
||||
|
||||
let seed = "test-string";
|
||||
|
|
Loading…
Reference in New Issue