# SSZ Meta for Cancun ## Discord: ETH R&D #typed-transactions ## 1. SSZ transaction types - [EIP-6493](https://eips.ethereum.org/EIPS/eip-6493): Signature scheme ### Open questions - Do we need `fork_version` _and_ `genesis_hash`? - Why are both of these used in consensus? - Integrating into EIP-4844 ## 2. SSZ Optionals - [EIP-6475](https://eips.ethereum.org/EIPS/eip-6475): Optionals ### Open questions - Update SSZ Union to be more compact as well? - Should nested Optionals / Optional[List] be allowed? ## 3. `transactions_root` + `receipts_root` - [EIP-6404](https://eips.ethereum.org/EIPS/eip-6404): Transactions - [EIP-6466](https://eips.ethereum.org/EIPS/eip-6466): Receipts (depends on `Transactions`) ### Open questions - [SSZ Union vs Normalized](https://ethereum-magicians.org/t/eip-6404-ssz-transactions-root/12783/17?u=etan-status) - Decision should involve all client devs - Moving derived fields (`transaction_hash`, `from`, `contract_address` for newly deployed contracts) to receipts? - Requires EL networking changes to support backfill sync with receipts before transactions - Receipts: Remove per-receipt `logs_bloom`? - Transactions: `max_fee_per_gas`, `max_priority_fee_per_gas`, `max_data_fee_per_gas` --> `uint128` sufficient? - Chain ID: `Bytes32` or `uint256` or `uint64`? - Receipt `status`: `uint256` or `bool`? ## 4. `withdrawals_root` - [EIP-6465](https://eips.ethereum.org/EIPS/eip-6465): Withdrawals