|
@@ -318,7 +318,7 @@ fn create_simple_test_arc_bank(lamports: u64) -> (Arc<Bank>, Arc<RwLock<BankFork
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_bank_block_height() {
|
|
fn test_bank_block_height() {
|
|
|
- let bank0 = create_simple_test_arc_bank(1).0;
|
|
|
|
|
|
|
+ let (bank0, _bank_forks) = create_simple_test_arc_bank(1);
|
|
|
assert_eq!(bank0.block_height(), 0);
|
|
assert_eq!(bank0.block_height(), 0);
|
|
|
let bank1 = Arc::new(new_from_parent(bank0));
|
|
let bank1 = Arc::new(new_from_parent(bank0));
|
|
|
assert_eq!(bank1.block_height(), 1);
|
|
assert_eq!(bank1.block_height(), 1);
|
|
@@ -922,7 +922,7 @@ fn test_rent_distribution() {
|
|
|
// Enable rent collection
|
|
// Enable rent collection
|
|
|
bank.rent_collector.epoch = 5;
|
|
bank.rent_collector.epoch = 5;
|
|
|
bank.rent_collector.slots_per_year = 192.0;
|
|
bank.rent_collector.slots_per_year = 192.0;
|
|
|
- let bank = bank.wrap_with_bank_forks_for_tests().0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
|
|
|
|
|
|
|
|
let payer = Keypair::new();
|
|
let payer = Keypair::new();
|
|
|
let payer_account = AccountSharedData::new(400, 0, &system_program::id());
|
|
let payer_account = AccountSharedData::new(400, 0, &system_program::id());
|
|
@@ -1271,7 +1271,7 @@ fn test_rent_complex() {
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_rent_eager_across_epoch_without_gap() {
|
|
fn test_rent_eager_across_epoch_without_gap() {
|
|
|
- let mut bank = create_simple_test_arc_bank(1).0;
|
|
|
|
|
|
|
+ let (mut bank, _bank_forks) = create_simple_test_arc_bank(1);
|
|
|
assert_eq!(bank.rent_collection_partitions(), vec![(0, 0, 32)]);
|
|
assert_eq!(bank.rent_collection_partitions(), vec![(0, 0, 32)]);
|
|
|
|
|
|
|
|
bank = Arc::new(new_from_parent(bank));
|
|
bank = Arc::new(new_from_parent(bank));
|
|
@@ -2217,7 +2217,7 @@ fn test_purge_empty_accounts() {
|
|
|
fn test_two_payments_to_one_party() {
|
|
fn test_two_payments_to_one_party() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
|
let pubkey = solana_sdk::pubkey::new_rand();
|
|
let pubkey = solana_sdk::pubkey::new_rand();
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
assert_eq!(bank.last_blockhash(), genesis_config.hash());
|
|
assert_eq!(bank.last_blockhash(), genesis_config.hash());
|
|
|
|
|
|
|
@@ -2235,7 +2235,7 @@ fn test_one_source_two_tx_one_batch() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.));
|
|
|
let key1 = solana_sdk::pubkey::new_rand();
|
|
let key1 = solana_sdk::pubkey::new_rand();
|
|
|
let key2 = solana_sdk::pubkey::new_rand();
|
|
let key2 = solana_sdk::pubkey::new_rand();
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
assert_eq!(bank.last_blockhash(), genesis_config.hash());
|
|
assert_eq!(bank.last_blockhash(), genesis_config.hash());
|
|
|
|
|
|
|
@@ -2265,7 +2265,7 @@ fn test_one_tx_two_out_atomic_fail() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee_no_rent(amount);
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee_no_rent(amount);
|
|
|
let key1 = solana_sdk::pubkey::new_rand();
|
|
let key1 = solana_sdk::pubkey::new_rand();
|
|
|
let key2 = solana_sdk::pubkey::new_rand();
|
|
let key2 = solana_sdk::pubkey::new_rand();
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let instructions = system_instruction::transfer_many(
|
|
let instructions = system_instruction::transfer_many(
|
|
|
&mint_keypair.pubkey(),
|
|
&mint_keypair.pubkey(),
|
|
|
&[(key1, amount), (key2, amount)],
|
|
&[(key1, amount), (key2, amount)],
|
|
@@ -2286,7 +2286,7 @@ fn test_one_tx_two_out_atomic_pass() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.));
|
|
|
let key1 = solana_sdk::pubkey::new_rand();
|
|
let key1 = solana_sdk::pubkey::new_rand();
|
|
|
let key2 = solana_sdk::pubkey::new_rand();
|
|
let key2 = solana_sdk::pubkey::new_rand();
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
let instructions = system_instruction::transfer_many(
|
|
let instructions = system_instruction::transfer_many(
|
|
|
&mint_keypair.pubkey(),
|
|
&mint_keypair.pubkey(),
|
|
@@ -2308,7 +2308,7 @@ fn test_one_tx_two_out_atomic_pass() {
|
|
|
fn test_detect_failed_duplicate_transactions() {
|
|
fn test_detect_failed_duplicate_transactions() {
|
|
|
let (mut genesis_config, mint_keypair) = create_genesis_config(10_000);
|
|
let (mut genesis_config, mint_keypair) = create_genesis_config(10_000);
|
|
|
genesis_config.fee_rate_governor = FeeRateGovernor::new(5_000, 0);
|
|
genesis_config.fee_rate_governor = FeeRateGovernor::new(5_000, 0);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
let dest = Keypair::new();
|
|
let dest = Keypair::new();
|
|
|
|
|
|
|
@@ -2337,7 +2337,7 @@ fn test_detect_failed_duplicate_transactions() {
|
|
|
fn test_account_not_found() {
|
|
fn test_account_not_found() {
|
|
|
solana_logger::setup();
|
|
solana_logger::setup();
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(0);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(0);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let keypair = Keypair::new();
|
|
let keypair = Keypair::new();
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
|
bank.transfer(
|
|
bank.transfer(
|
|
@@ -2355,7 +2355,7 @@ fn test_account_not_found() {
|
|
|
fn test_insufficient_funds() {
|
|
fn test_insufficient_funds() {
|
|
|
let mint_amount = sol_to_lamports(1.);
|
|
let mint_amount = sol_to_lamports(1.);
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(mint_amount);
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(mint_amount);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let pubkey = solana_sdk::pubkey::new_rand();
|
|
let pubkey = solana_sdk::pubkey::new_rand();
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
bank.transfer(amount, &mint_keypair, &pubkey).unwrap();
|
|
bank.transfer(amount, &mint_keypair, &pubkey).unwrap();
|
|
@@ -2426,7 +2426,7 @@ fn test_executed_transaction_count_post_bank_transaction_count_fix() {
|
|
|
fn test_transfer_to_newb() {
|
|
fn test_transfer_to_newb() {
|
|
|
solana_logger::setup();
|
|
solana_logger::setup();
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
let pubkey = solana_sdk::pubkey::new_rand();
|
|
let pubkey = solana_sdk::pubkey::new_rand();
|
|
|
bank.transfer(amount, &mint_keypair, &pubkey).unwrap();
|
|
bank.transfer(amount, &mint_keypair, &pubkey).unwrap();
|
|
@@ -2926,7 +2926,7 @@ fn test_filter_program_errors_and_collect_priority_fee() {
|
|
|
fn test_debits_before_credits() {
|
|
fn test_debits_before_credits() {
|
|
|
let (genesis_config, mint_keypair) =
|
|
let (genesis_config, mint_keypair) =
|
|
|
create_genesis_config_no_tx_fee_no_rent(sol_to_lamports(2.));
|
|
create_genesis_config_no_tx_fee_no_rent(sol_to_lamports(2.));
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let keypair = Keypair::new();
|
|
let keypair = Keypair::new();
|
|
|
let tx0 = system_transaction::transfer(
|
|
let tx0 = system_transaction::transfer(
|
|
|
&mint_keypair,
|
|
&mint_keypair,
|
|
@@ -2956,7 +2956,7 @@ fn test_readonly_accounts() {
|
|
|
mint_keypair,
|
|
mint_keypair,
|
|
|
..
|
|
..
|
|
|
} = create_genesis_config_with_leader(500, &solana_sdk::pubkey::new_rand(), 0);
|
|
} = create_genesis_config_with_leader(500, &solana_sdk::pubkey::new_rand(), 0);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
let vote_pubkey0 = solana_sdk::pubkey::new_rand();
|
|
let vote_pubkey0 = solana_sdk::pubkey::new_rand();
|
|
|
let vote_pubkey1 = solana_sdk::pubkey::new_rand();
|
|
let vote_pubkey1 = solana_sdk::pubkey::new_rand();
|
|
@@ -3028,7 +3028,7 @@ fn test_readonly_accounts() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_interleaving_locks() {
|
|
fn test_interleaving_locks() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let alice = Keypair::new();
|
|
let alice = Keypair::new();
|
|
|
let bob = Keypair::new();
|
|
let bob = Keypair::new();
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
@@ -3163,7 +3163,7 @@ fn test_bank_invalid_account_index() {
|
|
|
fn test_bank_pay_to_self() {
|
|
fn test_bank_pay_to_self() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.));
|
|
|
let key1 = Keypair::new();
|
|
let key1 = Keypair::new();
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
|
|
|
|
|
bank.transfer(amount, &mint_keypair, &key1.pubkey())
|
|
bank.transfer(amount, &mint_keypair, &key1.pubkey())
|
|
@@ -3203,7 +3203,7 @@ fn test_bank_parents() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_tx_already_processed() {
|
|
fn test_tx_already_processed() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
let key1 = Keypair::new();
|
|
let key1 = Keypair::new();
|
|
|
let mut tx = system_transaction::transfer(
|
|
let mut tx = system_transaction::transfer(
|
|
@@ -3273,7 +3273,7 @@ fn test_bank_parent_account_spend() {
|
|
|
fn test_bank_hash_internal_state() {
|
|
fn test_bank_hash_internal_state() {
|
|
|
let (genesis_config, mint_keypair) =
|
|
let (genesis_config, mint_keypair) =
|
|
|
create_genesis_config_no_tx_fee_no_rent(sol_to_lamports(1.));
|
|
create_genesis_config_no_tx_fee_no_rent(sol_to_lamports(1.));
|
|
|
- let (bank0, _) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
+ let (bank0, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let (bank1, bank_forks_1) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
let (bank1, bank_forks_1) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
let initial_state = bank0.hash_internal_state();
|
|
let initial_state = bank0.hash_internal_state();
|
|
@@ -3379,7 +3379,7 @@ fn test_verify_snapshot_bank() {
|
|
|
solana_logger::setup();
|
|
solana_logger::setup();
|
|
|
let pubkey = solana_sdk::pubkey::new_rand();
|
|
let pubkey = solana_sdk::pubkey::new_rand();
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
bank.transfer(
|
|
bank.transfer(
|
|
|
genesis_config.rent.minimum_balance(0),
|
|
genesis_config.rent.minimum_balance(0),
|
|
|
&mint_keypair,
|
|
&mint_keypair,
|
|
@@ -3439,8 +3439,8 @@ fn test_hash_internal_state_genesis() {
|
|
|
fn test_hash_internal_state_order() {
|
|
fn test_hash_internal_state_order() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
- let bank0 = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
- let bank1 = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank0, _bank_forks0) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
+ let (bank1, _bank_forks1) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
assert_eq!(bank0.hash_internal_state(), bank1.hash_internal_state());
|
|
assert_eq!(bank0.hash_internal_state(), bank1.hash_internal_state());
|
|
|
let key0 = solana_sdk::pubkey::new_rand();
|
|
let key0 = solana_sdk::pubkey::new_rand();
|
|
|
let key1 = solana_sdk::pubkey::new_rand();
|
|
let key1 = solana_sdk::pubkey::new_rand();
|
|
@@ -3458,7 +3458,7 @@ fn test_hash_internal_state_error() {
|
|
|
solana_logger::setup();
|
|
solana_logger::setup();
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let key0 = solana_sdk::pubkey::new_rand();
|
|
let key0 = solana_sdk::pubkey::new_rand();
|
|
|
bank.transfer(amount, &mint_keypair, &key0).unwrap();
|
|
bank.transfer(amount, &mint_keypair, &key0).unwrap();
|
|
|
let orig = bank.hash_internal_state();
|
|
let orig = bank.hash_internal_state();
|
|
@@ -3569,7 +3569,7 @@ fn test_bank_squash() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_bank_get_account_in_parent_after_squash() {
|
|
fn test_bank_get_account_in_parent_after_squash() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.));
|
|
|
- let parent = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (parent, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
|
|
|
|
|
let key1 = Keypair::new();
|
|
let key1 = Keypair::new();
|
|
@@ -4007,7 +4007,7 @@ fn test_bank_get_slots_in_epoch() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_is_delta_true() {
|
|
fn test_is_delta_true() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.0));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.0));
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let key1 = Keypair::new();
|
|
let key1 = Keypair::new();
|
|
|
let tx_transfer_mint_to_1 = system_transaction::transfer(
|
|
let tx_transfer_mint_to_1 = system_transaction::transfer(
|
|
|
&mint_keypair,
|
|
&mint_keypair,
|
|
@@ -4031,7 +4031,7 @@ fn test_is_delta_true() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_is_empty() {
|
|
fn test_is_empty() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.0));
|
|
let (genesis_config, mint_keypair) = create_genesis_config(sol_to_lamports(1.0));
|
|
|
- let bank0 = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank0, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let key1 = Keypair::new();
|
|
let key1 = Keypair::new();
|
|
|
|
|
|
|
|
// The zeroth bank is empty becasue there are no transactions
|
|
// The zeroth bank is empty becasue there are no transactions
|
|
@@ -4136,7 +4136,7 @@ fn test_bank_vote_accounts() {
|
|
|
mint_keypair,
|
|
mint_keypair,
|
|
|
..
|
|
..
|
|
|
} = create_genesis_config_with_leader(500, &solana_sdk::pubkey::new_rand(), 1);
|
|
} = create_genesis_config_with_leader(500, &solana_sdk::pubkey::new_rand(), 1);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
let vote_accounts = bank.vote_accounts();
|
|
let vote_accounts = bank.vote_accounts();
|
|
|
assert_eq!(vote_accounts.len(), 1); // bootstrap validator has
|
|
assert_eq!(vote_accounts.len(), 1); // bootstrap validator has
|
|
@@ -4193,7 +4193,7 @@ fn test_bank_cloned_stake_delegations() {
|
|
|
123_000_000_000,
|
|
123_000_000_000,
|
|
|
);
|
|
);
|
|
|
genesis_config.rent = Rent::default();
|
|
genesis_config.rent = Rent::default();
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
let stake_delegations = bank.stakes_cache.stakes().stake_delegations().clone();
|
|
let stake_delegations = bank.stakes_cache.stakes().stake_delegations().clone();
|
|
|
assert_eq!(stake_delegations.len(), 1); // bootstrap validator has
|
|
assert_eq!(stake_delegations.len(), 1); // bootstrap validator has
|
|
@@ -4254,7 +4254,7 @@ fn test_bank_cloned_stake_delegations() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_is_delta_with_no_committables() {
|
|
fn test_is_delta_with_no_committables() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(8000);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(8000);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
bank.is_delta.store(false, Relaxed);
|
|
bank.is_delta.store(false, Relaxed);
|
|
|
|
|
|
|
|
let keypair1 = Keypair::new();
|
|
let keypair1 = Keypair::new();
|
|
@@ -4470,7 +4470,7 @@ fn test_get_filtered_indexed_accounts() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_status_cache_ancestors() {
|
|
fn test_status_cache_ancestors() {
|
|
|
solana_logger::setup();
|
|
solana_logger::setup();
|
|
|
- let parent = create_simple_test_arc_bank(500).0;
|
|
|
|
|
|
|
+ let (parent, _bank_forks) = create_simple_test_arc_bank(500);
|
|
|
let bank1 = Arc::new(new_from_parent(parent));
|
|
let bank1 = Arc::new(new_from_parent(parent));
|
|
|
let mut bank = bank1;
|
|
let mut bank = bank1;
|
|
|
for _ in 0..MAX_CACHE_ENTRIES * 2 {
|
|
for _ in 0..MAX_CACHE_ENTRIES * 2 {
|
|
@@ -4531,7 +4531,7 @@ fn test_add_builtin() {
|
|
|
bank.last_blockhash(),
|
|
bank.last_blockhash(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
- let bank = bank.wrap_with_bank_forks_for_tests().0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
|
bank.process_transaction(&transaction),
|
|
bank.process_transaction(&transaction),
|
|
|
Err(TransactionError::InstructionError(
|
|
Err(TransactionError::InstructionError(
|
|
@@ -4697,7 +4697,7 @@ fn test_add_instruction_processor_for_existing_unrelated_accounts() {
|
|
|
#[allow(deprecated)]
|
|
#[allow(deprecated)]
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_recent_blockhashes_sysvar() {
|
|
fn test_recent_blockhashes_sysvar() {
|
|
|
- let mut bank = create_simple_test_arc_bank(500).0;
|
|
|
|
|
|
|
+ let (mut bank, _bank_forks) = create_simple_test_arc_bank(500);
|
|
|
for i in 1..5 {
|
|
for i in 1..5 {
|
|
|
let bhq_account = bank.get_account(&sysvar::recent_blockhashes::id()).unwrap();
|
|
let bhq_account = bank.get_account(&sysvar::recent_blockhashes::id()).unwrap();
|
|
|
let recent_blockhashes =
|
|
let recent_blockhashes =
|
|
@@ -4715,7 +4715,7 @@ fn test_recent_blockhashes_sysvar() {
|
|
|
#[allow(deprecated)]
|
|
#[allow(deprecated)]
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_blockhash_queue_sysvar_consistency() {
|
|
fn test_blockhash_queue_sysvar_consistency() {
|
|
|
- let bank = create_simple_test_arc_bank(100_000).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = create_simple_test_arc_bank(100_000);
|
|
|
goto_end_of_slot(bank.clone());
|
|
goto_end_of_slot(bank.clone());
|
|
|
|
|
|
|
|
let bhq_account = bank.get_account(&sysvar::recent_blockhashes::id()).unwrap();
|
|
let bhq_account = bank.get_account(&sysvar::recent_blockhashes::id()).unwrap();
|
|
@@ -5067,7 +5067,7 @@ fn test_check_and_load_message_nonce_account_bad_tx_hash_fail() {
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_assign_from_nonce_account_fail() {
|
|
fn test_assign_from_nonce_account_fail() {
|
|
|
- let bank = create_simple_test_arc_bank(100_000_000).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = create_simple_test_arc_bank(100_000_000);
|
|
|
let nonce = Keypair::new();
|
|
let nonce = Keypair::new();
|
|
|
let nonce_account = AccountSharedData::new_data(
|
|
let nonce_account = AccountSharedData::new_data(
|
|
|
42_424_242,
|
|
42_424_242,
|
|
@@ -5093,7 +5093,7 @@ fn test_assign_from_nonce_account_fail() {
|
|
|
fn test_nonce_must_be_advanceable() {
|
|
fn test_nonce_must_be_advanceable() {
|
|
|
let mut bank = create_simple_test_bank(100_000_000);
|
|
let mut bank = create_simple_test_bank(100_000_000);
|
|
|
bank.feature_set = Arc::new(FeatureSet::all_enabled());
|
|
bank.feature_set = Arc::new(FeatureSet::all_enabled());
|
|
|
- let bank = bank.wrap_with_bank_forks_for_tests().0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
|
|
|
let nonce_keypair = Keypair::new();
|
|
let nonce_keypair = Keypair::new();
|
|
|
let nonce_authority = nonce_keypair.pubkey();
|
|
let nonce_authority = nonce_keypair.pubkey();
|
|
|
let durable_nonce = DurableNonce::from_blockhash(&bank.last_blockhash());
|
|
let durable_nonce = DurableNonce::from_blockhash(&bank.last_blockhash());
|
|
@@ -5769,7 +5769,7 @@ fn test_check_ro_durable_nonce_fails() {
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_collect_balances() {
|
|
fn test_collect_balances() {
|
|
|
- let parent = create_simple_test_arc_bank(500).0;
|
|
|
|
|
|
|
+ let (parent, _bank_forks) = create_simple_test_arc_bank(500);
|
|
|
let bank0 = Arc::new(new_from_parent(parent));
|
|
let bank0 = Arc::new(new_from_parent(parent));
|
|
|
|
|
|
|
|
let keypair = Keypair::new();
|
|
let keypair = Keypair::new();
|
|
@@ -5904,9 +5904,8 @@ fn test_transaction_with_duplicate_accounts_in_instruction() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee_no_rent(500);
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee_no_rent(500);
|
|
|
|
|
|
|
|
let mock_program_id = Pubkey::from([2u8; 32]);
|
|
let mock_program_id = Pubkey::from([2u8; 32]);
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, mock_program_id, MockBuiltin::vm)
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, mock_program_id, MockBuiltin::vm);
|
|
|
|
|
|
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
|
let transaction_context = &invoke_context.transaction_context;
|
|
let transaction_context = &invoke_context.transaction_context;
|
|
@@ -5961,9 +5960,8 @@ fn test_transaction_with_program_ids_passed_to_programs() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee_no_rent(500);
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee_no_rent(500);
|
|
|
|
|
|
|
|
let mock_program_id = Pubkey::from([2u8; 32]);
|
|
let mock_program_id = Pubkey::from([2u8; 32]);
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, mock_program_id, MockBuiltin::vm)
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, mock_program_id, MockBuiltin::vm);
|
|
|
|
|
|
|
|
let from_pubkey = solana_sdk::pubkey::new_rand();
|
|
let from_pubkey = solana_sdk::pubkey::new_rand();
|
|
|
let to_pubkey = solana_sdk::pubkey::new_rand();
|
|
let to_pubkey = solana_sdk::pubkey::new_rand();
|
|
@@ -6064,12 +6062,11 @@ fn test_incinerator() {
|
|
|
fn test_duplicate_account_key() {
|
|
fn test_duplicate_account_key() {
|
|
|
solana_logger::setup();
|
|
solana_logger::setup();
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(500);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(500);
|
|
|
- let bank = Bank::new_with_mockup_builtin_for_tests(
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_mockup_builtin_for_tests(
|
|
|
&genesis_config,
|
|
&genesis_config,
|
|
|
solana_vote_program::id(),
|
|
solana_vote_program::id(),
|
|
|
MockBuiltin::vm,
|
|
MockBuiltin::vm,
|
|
|
- )
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ );
|
|
|
|
|
|
|
|
let from_pubkey = solana_sdk::pubkey::new_rand();
|
|
let from_pubkey = solana_sdk::pubkey::new_rand();
|
|
|
let to_pubkey = solana_sdk::pubkey::new_rand();
|
|
let to_pubkey = solana_sdk::pubkey::new_rand();
|
|
@@ -6096,12 +6093,11 @@ fn test_duplicate_account_key() {
|
|
|
fn test_process_transaction_with_too_many_account_locks() {
|
|
fn test_process_transaction_with_too_many_account_locks() {
|
|
|
solana_logger::setup();
|
|
solana_logger::setup();
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(500);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(500);
|
|
|
- let bank = Bank::new_with_mockup_builtin_for_tests(
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_mockup_builtin_for_tests(
|
|
|
&genesis_config,
|
|
&genesis_config,
|
|
|
solana_vote_program::id(),
|
|
solana_vote_program::id(),
|
|
|
MockBuiltin::vm,
|
|
MockBuiltin::vm,
|
|
|
- )
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ );
|
|
|
|
|
|
|
|
let from_pubkey = solana_sdk::pubkey::new_rand();
|
|
let from_pubkey = solana_sdk::pubkey::new_rand();
|
|
|
let to_pubkey = solana_sdk::pubkey::new_rand();
|
|
let to_pubkey = solana_sdk::pubkey::new_rand();
|
|
@@ -6232,7 +6228,7 @@ fn test_fuzz_instructions() {
|
|
|
(key, name.as_bytes().to_vec())
|
|
(key, name.as_bytes().to_vec())
|
|
|
})
|
|
})
|
|
|
.collect();
|
|
.collect();
|
|
|
- let bank = bank.wrap_with_bank_forks_for_tests().0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
|
|
|
let max_keys = 100;
|
|
let max_keys = 100;
|
|
|
let keys: Vec<_> = (0..max_keys)
|
|
let keys: Vec<_> = (0..max_keys)
|
|
|
.enumerate()
|
|
.enumerate()
|
|
@@ -6435,9 +6431,8 @@ fn test_same_program_id_uses_unique_executable_accounts() {
|
|
|
|
|
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(50000);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(50000);
|
|
|
let program1_pubkey = solana_sdk::pubkey::new_rand();
|
|
let program1_pubkey = solana_sdk::pubkey::new_rand();
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, program1_pubkey, MockBuiltin::vm)
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, program1_pubkey, MockBuiltin::vm);
|
|
|
|
|
|
|
|
// Add a new program owned by the first
|
|
// Add a new program owned by the first
|
|
|
let program2_pubkey = solana_sdk::pubkey::new_rand();
|
|
let program2_pubkey = solana_sdk::pubkey::new_rand();
|
|
@@ -6645,11 +6640,8 @@ fn test_add_builtin_no_overwrite() {
|
|
|
let slot = 123;
|
|
let slot = 123;
|
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
|
|
|
|
|
|
- let mut bank = Arc::new(Bank::new_from_parent(
|
|
|
|
|
- create_simple_test_arc_bank(100_000).0,
|
|
|
|
|
- &Pubkey::default(),
|
|
|
|
|
- slot,
|
|
|
|
|
- ));
|
|
|
|
|
|
|
+ let (parent_bank, _bank_forks) = create_simple_test_arc_bank(100_000);
|
|
|
|
|
+ let mut bank = Arc::new(Bank::new_from_parent(parent_bank, &Pubkey::default(), slot));
|
|
|
assert_eq!(bank.get_account_modified_slot(&program_id), None);
|
|
assert_eq!(bank.get_account_modified_slot(&program_id), None);
|
|
|
|
|
|
|
|
Arc::get_mut(&mut bank)
|
|
Arc::get_mut(&mut bank)
|
|
@@ -6669,11 +6661,8 @@ fn test_add_builtin_loader_no_overwrite() {
|
|
|
let slot = 123;
|
|
let slot = 123;
|
|
|
let loader_id = solana_sdk::pubkey::new_rand();
|
|
let loader_id = solana_sdk::pubkey::new_rand();
|
|
|
|
|
|
|
|
- let mut bank = Arc::new(Bank::new_from_parent(
|
|
|
|
|
- create_simple_test_arc_bank(100_000).0,
|
|
|
|
|
- &Pubkey::default(),
|
|
|
|
|
- slot,
|
|
|
|
|
- ));
|
|
|
|
|
|
|
+ let (parent_bank, _bank_forks) = create_simple_test_arc_bank(100_000);
|
|
|
|
|
+ let mut bank = Arc::new(Bank::new_from_parent(parent_bank, &Pubkey::default(), slot));
|
|
|
assert_eq!(bank.get_account_modified_slot(&loader_id), None);
|
|
assert_eq!(bank.get_account_modified_slot(&loader_id), None);
|
|
|
|
|
|
|
|
Arc::get_mut(&mut bank)
|
|
Arc::get_mut(&mut bank)
|
|
@@ -6839,11 +6828,8 @@ fn test_add_builtin_account_after_frozen() {
|
|
|
let slot = 123;
|
|
let slot = 123;
|
|
|
let program_id = Pubkey::from_str("CiXgo2KHKSDmDnV1F6B69eWFgNAPiSBjjYvfB4cvRNre").unwrap();
|
|
let program_id = Pubkey::from_str("CiXgo2KHKSDmDnV1F6B69eWFgNAPiSBjjYvfB4cvRNre").unwrap();
|
|
|
|
|
|
|
|
- let bank = Bank::new_from_parent(
|
|
|
|
|
- create_simple_test_arc_bank(100_000).0,
|
|
|
|
|
- &Pubkey::default(),
|
|
|
|
|
- slot,
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ let (parent_bank, _bank_forks) = create_simple_test_arc_bank(100_000);
|
|
|
|
|
+ let bank = Bank::new_from_parent(parent_bank, &Pubkey::default(), slot);
|
|
|
bank.freeze();
|
|
bank.freeze();
|
|
|
|
|
|
|
|
bank.add_builtin_account("mock_program", &program_id);
|
|
bank.add_builtin_account("mock_program", &program_id);
|
|
@@ -6970,11 +6956,8 @@ fn test_add_precompiled_account_after_frozen() {
|
|
|
let slot = 123;
|
|
let slot = 123;
|
|
|
let program_id = Pubkey::from_str("CiXgo2KHKSDmDnV1F6B69eWFgNAPiSBjjYvfB4cvRNre").unwrap();
|
|
let program_id = Pubkey::from_str("CiXgo2KHKSDmDnV1F6B69eWFgNAPiSBjjYvfB4cvRNre").unwrap();
|
|
|
|
|
|
|
|
- let bank = Bank::new_from_parent(
|
|
|
|
|
- create_simple_test_arc_bank(100_000).0,
|
|
|
|
|
- &Pubkey::default(),
|
|
|
|
|
- slot,
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ let (parent_bank, _bank_forks) = create_simple_test_arc_bank(100_000);
|
|
|
|
|
+ let bank = Bank::new_from_parent(parent_bank, &Pubkey::default(), slot);
|
|
|
bank.freeze();
|
|
bank.freeze();
|
|
|
|
|
|
|
|
bank.add_precompiled_account(&program_id);
|
|
bank.add_precompiled_account(&program_id);
|
|
@@ -7855,7 +7838,7 @@ fn test_bpf_loader_upgradeable_deploy_with_max_len() {
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_compute_active_feature_set() {
|
|
fn test_compute_active_feature_set() {
|
|
|
- let bank0 = create_simple_test_arc_bank(100_000).0;
|
|
|
|
|
|
|
+ let (bank0, _bank_forks) = create_simple_test_arc_bank(100_000);
|
|
|
let mut bank = Bank::new_from_parent(bank0, &Pubkey::default(), 1);
|
|
let mut bank = Bank::new_from_parent(bank0, &Pubkey::default(), 1);
|
|
|
|
|
|
|
|
let test_feature = "TestFeature11111111111111111111111111111111"
|
|
let test_feature = "TestFeature11111111111111111111111111111111"
|
|
@@ -7906,7 +7889,7 @@ fn test_compute_active_feature_set() {
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_reserved_account_keys() {
|
|
fn test_reserved_account_keys() {
|
|
|
- let bank0 = create_simple_test_arc_bank(100_000).0;
|
|
|
|
|
|
|
+ let (bank0, _bank_forks) = create_simple_test_arc_bank(100_000);
|
|
|
let mut bank = Bank::new_from_parent(bank0, &Pubkey::default(), 1);
|
|
let mut bank = Bank::new_from_parent(bank0, &Pubkey::default(), 1);
|
|
|
bank.feature_set = Arc::new(FeatureSet::default());
|
|
bank.feature_set = Arc::new(FeatureSet::default());
|
|
|
|
|
|
|
@@ -8188,7 +8171,7 @@ fn test_timestamp_fast() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_program_is_native_loader() {
|
|
fn test_program_is_native_loader() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(50000);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(50000);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
let tx = Transaction::new_signed_with_payer(
|
|
let tx = Transaction::new_signed_with_payer(
|
|
|
&[Instruction::new_with_bincode(
|
|
&[Instruction::new_with_bincode(
|
|
@@ -9213,7 +9196,7 @@ fn test_tx_log_order() {
|
|
|
&Pubkey::new_unique(),
|
|
&Pubkey::new_unique(),
|
|
|
bootstrap_validator_stake_lamports(),
|
|
bootstrap_validator_stake_lamports(),
|
|
|
);
|
|
);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
*bank.transaction_log_collector_config.write().unwrap() = TransactionLogCollectorConfig {
|
|
*bank.transaction_log_collector_config.write().unwrap() = TransactionLogCollectorConfig {
|
|
|
mentioned_addresses: HashSet::new(),
|
|
mentioned_addresses: HashSet::new(),
|
|
|
filter: TransactionLogCollectorFilter::All,
|
|
filter: TransactionLogCollectorFilter::All,
|
|
@@ -9303,9 +9286,8 @@ fn test_tx_return_data() {
|
|
|
bootstrap_validator_stake_lamports(),
|
|
bootstrap_validator_stake_lamports(),
|
|
|
);
|
|
);
|
|
|
let mock_program_id = Pubkey::from([2u8; 32]);
|
|
let mock_program_id = Pubkey::from([2u8; 32]);
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, mock_program_id, MockBuiltin::vm)
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, mock_program_id, MockBuiltin::vm);
|
|
|
|
|
|
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
|
let mock_program_id = Pubkey::from([2u8; 32]);
|
|
let mock_program_id = Pubkey::from([2u8; 32]);
|
|
@@ -9505,8 +9487,8 @@ fn test_transfer_sysvar() {
|
|
|
);
|
|
);
|
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
|
|
|
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm);
|
|
|
|
|
|
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
|
let transaction_context = &invoke_context.transaction_context;
|
|
let transaction_context = &invoke_context.transaction_context;
|
|
@@ -9715,8 +9697,8 @@ fn test_compute_budget_program_noop() {
|
|
|
bootstrap_validator_stake_lamports(),
|
|
bootstrap_validator_stake_lamports(),
|
|
|
);
|
|
);
|
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm);
|
|
|
|
|
|
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
|
let compute_budget = invoke_context.get_compute_budget();
|
|
let compute_budget = invoke_context.get_compute_budget();
|
|
@@ -9760,8 +9742,8 @@ fn test_compute_request_instruction() {
|
|
|
bootstrap_validator_stake_lamports(),
|
|
bootstrap_validator_stake_lamports(),
|
|
|
);
|
|
);
|
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm);
|
|
|
|
|
|
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
declare_process_instruction!(MockBuiltin, 1, |invoke_context| {
|
|
|
let compute_budget = invoke_context.get_compute_budget();
|
|
let compute_budget = invoke_context.get_compute_budget();
|
|
@@ -9806,8 +9788,8 @@ fn test_failed_compute_request_instruction() {
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
let program_id = solana_sdk::pubkey::new_rand();
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm);
|
|
|
|
|
|
|
|
let payer0_keypair = Keypair::new();
|
|
let payer0_keypair = Keypair::new();
|
|
|
let payer1_keypair = Keypair::new();
|
|
let payer1_keypair = Keypair::new();
|
|
@@ -9979,7 +9961,7 @@ fn test_call_precomiled_program() {
|
|
|
..
|
|
..
|
|
|
} = create_genesis_config_with_leader(42, &Pubkey::new_unique(), 42);
|
|
} = create_genesis_config_with_leader(42, &Pubkey::new_unique(), 42);
|
|
|
activate_all_features(&mut genesis_config);
|
|
activate_all_features(&mut genesis_config);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
// libsecp256k1
|
|
// libsecp256k1
|
|
|
// Since libsecp256k1 is still using the old version of rand, this test
|
|
// Since libsecp256k1 is still using the old version of rand, this test
|
|
@@ -10244,7 +10226,7 @@ fn test_an_empty_instruction_without_program() {
|
|
|
let message = Message::new(&[ix], Some(&mint_keypair.pubkey()));
|
|
let message = Message::new(&[ix], Some(&mint_keypair.pubkey()));
|
|
|
let tx = Transaction::new(&[&mint_keypair], message, genesis_config.hash());
|
|
let tx = Transaction::new(&[&mint_keypair], message, genesis_config.hash());
|
|
|
|
|
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
|
bank.process_transaction(&tx).unwrap_err(),
|
|
bank.process_transaction(&tx).unwrap_err(),
|
|
|
TransactionError::InstructionError(0, InstructionError::UnsupportedProgramId),
|
|
TransactionError::InstructionError(0, InstructionError::UnsupportedProgramId),
|
|
@@ -10272,7 +10254,7 @@ fn test_accounts_data_size_with_good_transaction() {
|
|
|
const ACCOUNT_SIZE: u64 = MAX_PERMITTED_DATA_LENGTH;
|
|
const ACCOUNT_SIZE: u64 = MAX_PERMITTED_DATA_LENGTH;
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(1_000 * LAMPORTS_PER_SOL);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(1_000 * LAMPORTS_PER_SOL);
|
|
|
let bank = Bank::new_for_tests(&genesis_config);
|
|
let bank = Bank::new_for_tests(&genesis_config);
|
|
|
- let bank = bank.wrap_with_bank_forks_for_tests().0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
|
|
|
let transaction = system_transaction::create_account(
|
|
let transaction = system_transaction::create_account(
|
|
|
&mint_keypair,
|
|
&mint_keypair,
|
|
|
&Keypair::new(),
|
|
&Keypair::new(),
|
|
@@ -10313,7 +10295,7 @@ fn test_accounts_data_size_with_bad_transaction() {
|
|
|
const ACCOUNT_SIZE: u64 = MAX_PERMITTED_DATA_LENGTH;
|
|
const ACCOUNT_SIZE: u64 = MAX_PERMITTED_DATA_LENGTH;
|
|
|
let (genesis_config, _mint_keypair) = create_genesis_config(1_000 * LAMPORTS_PER_SOL);
|
|
let (genesis_config, _mint_keypair) = create_genesis_config(1_000 * LAMPORTS_PER_SOL);
|
|
|
let bank = Bank::new_for_tests(&genesis_config);
|
|
let bank = Bank::new_for_tests(&genesis_config);
|
|
|
- let bank = bank.wrap_with_bank_forks_for_tests().0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
|
|
|
let transaction = system_transaction::create_account(
|
|
let transaction = system_transaction::create_account(
|
|
|
&Keypair::new(),
|
|
&Keypair::new(),
|
|
|
&Keypair::new(),
|
|
&Keypair::new(),
|
|
@@ -10430,12 +10412,11 @@ fn test_invalid_rent_state_changes_existing_accounts() {
|
|
|
),
|
|
),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
- let bank = Bank::new_with_mockup_builtin_for_tests(
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_mockup_builtin_for_tests(
|
|
|
&genesis_config,
|
|
&genesis_config,
|
|
|
mock_program_id,
|
|
mock_program_id,
|
|
|
MockTransferBuiltin::vm,
|
|
MockTransferBuiltin::vm,
|
|
|
- )
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ );
|
|
|
let recent_blockhash = bank.last_blockhash();
|
|
let recent_blockhash = bank.last_blockhash();
|
|
|
|
|
|
|
|
let check_account_is_rent_exempt = |pubkey: &Pubkey| -> bool {
|
|
let check_account_is_rent_exempt = |pubkey: &Pubkey| -> bool {
|
|
@@ -10517,12 +10498,11 @@ fn test_invalid_rent_state_changes_new_accounts() {
|
|
|
let account_data_size = 100;
|
|
let account_data_size = 100;
|
|
|
let rent_exempt_minimum = genesis_config.rent.minimum_balance(account_data_size);
|
|
let rent_exempt_minimum = genesis_config.rent.minimum_balance(account_data_size);
|
|
|
|
|
|
|
|
- let bank = Bank::new_with_mockup_builtin_for_tests(
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_mockup_builtin_for_tests(
|
|
|
&genesis_config,
|
|
&genesis_config,
|
|
|
mock_program_id,
|
|
mock_program_id,
|
|
|
MockTransferBuiltin::vm,
|
|
MockTransferBuiltin::vm,
|
|
|
- )
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ );
|
|
|
let recent_blockhash = bank.last_blockhash();
|
|
let recent_blockhash = bank.last_blockhash();
|
|
|
|
|
|
|
|
let check_account_is_rent_exempt = |pubkey: &Pubkey| -> bool {
|
|
let check_account_is_rent_exempt = |pubkey: &Pubkey| -> bool {
|
|
@@ -10580,12 +10560,11 @@ fn test_drained_created_account() {
|
|
|
// Create legacy accounts of various kinds
|
|
// Create legacy accounts of various kinds
|
|
|
let created_keypair = Keypair::new();
|
|
let created_keypair = Keypair::new();
|
|
|
|
|
|
|
|
- let bank = Bank::new_with_mockup_builtin_for_tests(
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_mockup_builtin_for_tests(
|
|
|
&genesis_config,
|
|
&genesis_config,
|
|
|
mock_program_id,
|
|
mock_program_id,
|
|
|
MockTransferBuiltin::vm,
|
|
MockTransferBuiltin::vm,
|
|
|
- )
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ );
|
|
|
let recent_blockhash = bank.last_blockhash();
|
|
let recent_blockhash = bank.last_blockhash();
|
|
|
|
|
|
|
|
// Create and drain a small data size account
|
|
// Create and drain a small data size account
|
|
@@ -10696,7 +10675,7 @@ fn test_rent_state_changes_sysvars() {
|
|
|
Account::from(validator_vote_account),
|
|
Account::from(validator_vote_account),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
// Ensure transactions with sysvars succeed, even though sysvars appear RentPaying by balance
|
|
// Ensure transactions with sysvars succeed, even though sysvars appear RentPaying by balance
|
|
|
let tx = Transaction::new_signed_with_payer(
|
|
let tx = Transaction::new_signed_with_payer(
|
|
@@ -10739,7 +10718,7 @@ fn test_invalid_rent_state_changes_fee_payer() {
|
|
|
Account::new(rent_exempt_minimum, 0, &system_program::id()),
|
|
Account::new(rent_exempt_minimum, 0, &system_program::id()),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let recent_blockhash = bank.last_blockhash();
|
|
let recent_blockhash = bank.last_blockhash();
|
|
|
|
|
|
|
|
let check_account_is_rent_exempt = |pubkey: &Pubkey| -> bool {
|
|
let check_account_is_rent_exempt = |pubkey: &Pubkey| -> bool {
|
|
@@ -10968,7 +10947,7 @@ fn test_rent_state_incinerator() {
|
|
|
genesis_config.rent = Rent::default();
|
|
genesis_config.rent = Rent::default();
|
|
|
let rent_exempt_minimum = genesis_config.rent.minimum_balance(0);
|
|
let rent_exempt_minimum = genesis_config.rent.minimum_balance(0);
|
|
|
|
|
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
for amount in [rent_exempt_minimum - 1, rent_exempt_minimum] {
|
|
for amount in [rent_exempt_minimum - 1, rent_exempt_minimum] {
|
|
|
bank.transfer(amount, &mint_keypair, &solana_sdk::incinerator::id())
|
|
bank.transfer(amount, &mint_keypair, &solana_sdk::incinerator::id())
|
|
@@ -11138,12 +11117,11 @@ fn test_resize_and_rent() {
|
|
|
activate_all_features(&mut genesis_config);
|
|
activate_all_features(&mut genesis_config);
|
|
|
|
|
|
|
|
let mock_program_id = Pubkey::new_unique();
|
|
let mock_program_id = Pubkey::new_unique();
|
|
|
- let bank = Bank::new_with_mockup_builtin_for_tests(
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_mockup_builtin_for_tests(
|
|
|
&genesis_config,
|
|
&genesis_config,
|
|
|
mock_program_id,
|
|
mock_program_id,
|
|
|
MockReallocBuiltin::vm,
|
|
MockReallocBuiltin::vm,
|
|
|
- )
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ );
|
|
|
|
|
|
|
|
let recent_blockhash = bank.last_blockhash();
|
|
let recent_blockhash = bank.last_blockhash();
|
|
|
|
|
|
|
@@ -11414,12 +11392,11 @@ fn test_accounts_data_size_and_resize_transactions() {
|
|
|
..
|
|
..
|
|
|
} = genesis_utils::create_genesis_config(100 * LAMPORTS_PER_SOL);
|
|
} = genesis_utils::create_genesis_config(100 * LAMPORTS_PER_SOL);
|
|
|
let mock_program_id = Pubkey::new_unique();
|
|
let mock_program_id = Pubkey::new_unique();
|
|
|
- let bank = Bank::new_with_mockup_builtin_for_tests(
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_mockup_builtin_for_tests(
|
|
|
&genesis_config,
|
|
&genesis_config,
|
|
|
mock_program_id,
|
|
mock_program_id,
|
|
|
MockReallocBuiltin::vm,
|
|
MockReallocBuiltin::vm,
|
|
|
- )
|
|
|
|
|
- .0;
|
|
|
|
|
|
|
+ );
|
|
|
|
|
|
|
|
let recent_blockhash = bank.last_blockhash();
|
|
let recent_blockhash = bank.last_blockhash();
|
|
|
|
|
|
|
@@ -11669,7 +11646,7 @@ fn test_cap_accounts_data_allocations_per_transaction() {
|
|
|
/ MAX_PERMITTED_DATA_LENGTH as usize;
|
|
/ MAX_PERMITTED_DATA_LENGTH as usize;
|
|
|
|
|
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(1_000_000 * LAMPORTS_PER_SOL);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(1_000_000 * LAMPORTS_PER_SOL);
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
|
|
|
|
|
let mut instructions = Vec::new();
|
|
let mut instructions = Vec::new();
|
|
|
let mut keypairs = vec![mint_keypair.insecure_clone()];
|
|
let mut keypairs = vec![mint_keypair.insecure_clone()];
|
|
@@ -11876,7 +11853,7 @@ fn test_calculate_fee_with_request_heap_frame_flag() {
|
|
|
fn test_is_in_slot_hashes_history() {
|
|
fn test_is_in_slot_hashes_history() {
|
|
|
use solana_sdk::slot_hashes::MAX_ENTRIES;
|
|
use solana_sdk::slot_hashes::MAX_ENTRIES;
|
|
|
|
|
|
|
|
- let bank0 = create_simple_test_arc_bank(1).0;
|
|
|
|
|
|
|
+ let (bank0, _bank_forks) = create_simple_test_arc_bank(1);
|
|
|
assert!(!bank0.is_in_slot_hashes_history(&0));
|
|
assert!(!bank0.is_in_slot_hashes_history(&0));
|
|
|
assert!(!bank0.is_in_slot_hashes_history(&1));
|
|
assert!(!bank0.is_in_slot_hashes_history(&1));
|
|
|
let mut last_bank = bank0;
|
|
let mut last_bank = bank0;
|
|
@@ -12183,7 +12160,7 @@ fn test_squash_timing_add_assign() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_system_instruction_allocate() {
|
|
fn test_system_instruction_allocate() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.0));
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.0));
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let bank_client = BankClient::new_shared(bank);
|
|
let bank_client = BankClient::new_shared(bank);
|
|
|
let data_len = 2;
|
|
let data_len = 2;
|
|
|
let amount = genesis_config.rent.minimum_balance(data_len);
|
|
let amount = genesis_config.rent.minimum_balance(data_len);
|
|
@@ -12310,7 +12287,7 @@ fn test_create_zero_lamport_without_clean() {
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_system_instruction_assign_with_seed() {
|
|
fn test_system_instruction_assign_with_seed() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.0));
|
|
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(sol_to_lamports(1.0));
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let bank_client = BankClient::new_shared(bank);
|
|
let bank_client = BankClient::new_shared(bank);
|
|
|
|
|
|
|
|
let alice_keypair = Keypair::new();
|
|
let alice_keypair = Keypair::new();
|
|
@@ -12351,7 +12328,7 @@ fn test_system_instruction_unsigned_transaction() {
|
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
let amount = genesis_config.rent.minimum_balance(0);
|
|
|
|
|
|
|
|
// Fund to account to bypass AccountNotFound error
|
|
// Fund to account to bypass AccountNotFound error
|
|
|
- let bank = Bank::new_with_bank_forks_for_tests(&genesis_config).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
|
|
|
let bank_client = BankClient::new_shared(bank);
|
|
let bank_client = BankClient::new_shared(bank);
|
|
|
bank_client
|
|
bank_client
|
|
|
.transfer_and_confirm(amount, &alice_keypair, &mallory_pubkey)
|
|
.transfer_and_confirm(amount, &alice_keypair, &mallory_pubkey)
|
|
@@ -12855,8 +12832,8 @@ fn test_get_accounts_for_bank_hash_details(skip_rewrites: bool) {
|
|
|
fn test_failed_simulation_compute_units() {
|
|
fn test_failed_simulation_compute_units() {
|
|
|
let (genesis_config, mint_keypair) = create_genesis_config(LAMPORTS_PER_SOL);
|
|
let (genesis_config, mint_keypair) = create_genesis_config(LAMPORTS_PER_SOL);
|
|
|
let program_id = Pubkey::new_unique();
|
|
let program_id = Pubkey::new_unique();
|
|
|
- let bank =
|
|
|
|
|
- Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm).0;
|
|
|
|
|
|
|
+ let (bank, _bank_forks) =
|
|
|
|
|
+ Bank::new_with_mockup_builtin_for_tests(&genesis_config, program_id, MockBuiltin::vm);
|
|
|
|
|
|
|
|
const TEST_UNITS: u64 = 10_000;
|
|
const TEST_UNITS: u64 = 10_000;
|
|
|
const MOCK_BUILTIN_UNITS: u64 = 1;
|
|
const MOCK_BUILTIN_UNITS: u64 = 1;
|