---
# System prepended metadata

title: SSZ Meta for Cancun

---

# 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