Funding transactions must specify data limit (#32131)

This commit is contained in:
Andrew Fitzgerald 2023-06-15 11:53:04 -07:00 committed by GitHub
parent d79b565c72
commit a875562ccd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -1100,6 +1100,7 @@ pub fn fund_keypairs<T: 'static + BenchTpsClient + Send + Sync + ?Sized>(
total,
max_fee,
lamports_per_account,
TRANSFER_TRANSACTION_LOADED_ACCOUNTS_DATA_SIZE,
);
}
Ok(())

View File

@ -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<T: 'static + BenchTpsClient + Send + Sync + ?Sized>(
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<T: 'static + BenchTpsClient + Send + Sync + ?Sized>(
&client,
chunk,
to_lamports,
data_size_limit,
);
});
@ -347,6 +350,7 @@ trait FundingTransactions<'a>: SendBatchTransactions<'a, FundingSigners<'a>> {
client: &Arc<T>,
to_fund: &FundingChunk<'a>,
to_lamports: u64,
data_size_limit: u32,
);
}
@ -356,9 +360,13 @@ impl<'a> FundingTransactions<'a> for FundingContainer<'a> {
client: &Arc<T>,
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))
});