Fix transaction logs and inner ixs for leader nodes (#18395)
* Fix transaction logs and inner ixs for leader nodes * Fix cpi log storage flag
This commit is contained in:
@@ -292,26 +292,24 @@ fn process_transaction_and_record_inner(
|
||||
let signature = tx.signatures.get(0).unwrap().clone();
|
||||
let txs = vec![tx];
|
||||
let tx_batch = bank.prepare_batch(txs.iter());
|
||||
let (mut results, _, mut inner, _transaction_logs) = bank.load_execute_and_commit_transactions(
|
||||
&tx_batch,
|
||||
MAX_PROCESSING_AGE,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
&mut ExecuteTimings::default(),
|
||||
);
|
||||
let inner_instructions = if inner.is_empty() {
|
||||
Some(vec![vec![]])
|
||||
} else {
|
||||
inner.swap_remove(0)
|
||||
};
|
||||
let (mut results, _, mut inner_instructions, _transaction_logs) = bank
|
||||
.load_execute_and_commit_transactions(
|
||||
&tx_batch,
|
||||
MAX_PROCESSING_AGE,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
&mut ExecuteTimings::default(),
|
||||
);
|
||||
let result = results
|
||||
.fee_collection_results
|
||||
.swap_remove(0)
|
||||
.and_then(|_| bank.get_signature_status(&signature).unwrap());
|
||||
(
|
||||
result,
|
||||
inner_instructions.expect("cpi recording should be enabled"),
|
||||
inner_instructions
|
||||
.swap_remove(0)
|
||||
.expect("cpi recording should be enabled"),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -329,8 +327,8 @@ fn execute_transactions(bank: &Bank, txs: &[Transaction]) -> Vec<ConfirmedTransa
|
||||
post_balances,
|
||||
..
|
||||
},
|
||||
mut inner_instructions,
|
||||
mut transaction_logs,
|
||||
inner_instructions,
|
||||
transaction_logs,
|
||||
) = bank.load_execute_and_commit_transactions(
|
||||
&batch,
|
||||
std::usize::MAX,
|
||||
@@ -341,13 +339,6 @@ fn execute_transactions(bank: &Bank, txs: &[Transaction]) -> Vec<ConfirmedTransa
|
||||
);
|
||||
let tx_post_token_balances = collect_token_balances(&bank, &batch, &mut mint_decimals);
|
||||
|
||||
for _ in 0..(txs.len() - transaction_logs.len()) {
|
||||
transaction_logs.push(vec![]);
|
||||
}
|
||||
for _ in 0..(txs.len() - inner_instructions.len()) {
|
||||
inner_instructions.push(None);
|
||||
}
|
||||
|
||||
izip!(
|
||||
txs.iter(),
|
||||
execution_results.into_iter(),
|
||||
@@ -395,7 +386,7 @@ fn execute_transactions(bank: &Bank, txs: &[Transaction]) -> Vec<ConfirmedTransa
|
||||
pre_token_balances: Some(pre_token_balances),
|
||||
post_token_balances: Some(post_token_balances),
|
||||
inner_instructions,
|
||||
log_messages: Some(log_messages),
|
||||
log_messages,
|
||||
rewards: None,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user