solana-labs/solana

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

Open

#32,346 opened on 2023年6月30日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)Rust (12,651 stars) (3,950 forks)batch import
communityenhancementgood first issuevalidator

説明

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.

コントリビューターガイド