From a875562ccdc9b0131f3554993f9cc3e1585cb6f1 Mon Sep 17 00:00:00 2001 From: Andrew Fitzgerald Date: Thu, 15 Jun 2023 11:53:04 -0700 Subject: [PATCH] Funding transactions must specify data limit (#32131) --- bench-tps/src/bench.rs | 1 + bench-tps/src/send_batch.rs | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/bench-tps/src/bench.rs b/bench-tps/src/bench.rs index 15a5f3024..d6444ebe4 100644 --- a/bench-tps/src/bench.rs +++ b/bench-tps/src/bench.rs @@ -1100,6 +1100,7 @@ pub fn fund_keypairs( total, max_fee, lamports_per_account, + TRANSFER_TRANSACTION_LOADED_ACCOUNTS_DATA_SIZE, ); } Ok(()) diff --git a/bench-tps/src/send_batch.rs b/bench-tps/src/send_batch.rs index a3a649e78..b6f1fe776 100644 --- a/bench-tps/src/send_batch.rs +++ b/bench-tps/src/send_batch.rs @@ -6,6 +6,7 @@ use { solana_measure::measure::Measure, solana_sdk::{ commitment_config::CommitmentConfig, + compute_budget::ComputeBudgetInstruction, hash::Hash, message::Message, nonce::State, @@ -65,6 +66,7 @@ pub fn fund_keys( total: u64, max_fee: u64, lamports_per_account: u64, + data_size_limit: u32, ) { let mut funded: Vec<&Keypair> = vec![source]; let mut funded_funds = total; @@ -87,6 +89,7 @@ pub fn fund_keys( &client, chunk, to_lamports, + data_size_limit, ); }); @@ -347,6 +350,7 @@ trait FundingTransactions<'a>: SendBatchTransactions<'a, FundingSigners<'a>> { client: &Arc, to_fund: &FundingChunk<'a>, to_lamports: u64, + data_size_limit: u32, ); } @@ -356,9 +360,13 @@ impl<'a> FundingTransactions<'a> for FundingContainer<'a> { client: &Arc, to_fund: &FundingChunk<'a>, to_lamports: u64, + data_size_limit: u32, ) { self.make(to_fund, |(k, t)| -> (FundingSigners<'a>, Transaction) { - let instructions = system_instruction::transfer_many(&k.pubkey(), t); + let mut instructions = system_instruction::transfer_many(&k.pubkey(), t); + instructions.push( + ComputeBudgetInstruction::set_loaded_accounts_data_size_limit(data_size_limit), + ); let message = Message::new(&instructions, Some(&k.pubkey())); (*k, Transaction::new_unsigned(message)) });