EIP-6404: SSZ Transactions

  • Updated to also include commitments to transaction signer, and to the address of newly deployed contracts, in the SSZ tree, to cover remaining JSON-RPC API use cases.
  • Pushed chain_id into the first layer of the transactions_root tree, as it becomes an ExecutionPayload property after transactions have been bundled.
  • Optimized SSZ tree to have shorter proofs for common use cases, added illustration
  • Optimized SSZ tree to have more compact encoding for non-blob transactions
  • Refactored EIP to have clear sections introducing each helper function
  • Updated rationale

I’m still working on benchmarks, as discussed in the last SSZ breakout call.