solana-labs/solana

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

Open

#32,346 创建于 2023年6月30日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)Rust (12,651 star) (3,950 fork)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.

贡献者指南