solana-labs/solana

Balances are collected for transactions within a TransactionBatch that aren't locked or executed

Open

#32.346 aperta il 30 giu 2023

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)Rust (3950 fork)batch import
communityenhancementgood first issuevalidator

Metriche repository

Star
 (12.651 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Problem

When collecting balances before and after execution in BankingStage, the balances for transactions within a TransactionBatch that didn't execute still get collected even though the state didn't change.

There is likely a slight performance hit for doing this, especially with batches that contain many transactions that failed to lock.

Proposed Solution

When collecting pre-balances, check the lock results and only collect pre-balances for transactions that lock successfully. When collecting post-balances, check the execution results and only collect post-balances for transactions that executed.

Guida contributor