Structs
! The executor is used for block production and validation. Given a block, it will execute all
the transactions contained in the block and persist changes to the underlying database as needed.
In production mode, block fields like transaction commitments are set based on the executed txs.
In validation mode, the processed block commitments are compared with the proposed block.