Problem
The CipherBftValidator in crates/mempool/src/validator.rs validates chain ID but does not call ExecutionLayer::validate_transaction() for state-dependent validation.
Details
The validator only checks:
- Chain ID matches configured chain
It does not validate:
- Sender has sufficient balance
- Nonce is correct
- Transaction is well-formed for EVM execution
Impact
- Invalid transactions (insufficient balance, bad nonce) can enter the mempool
- Workers may batch invalid transactions
- Execution fails only at block production time