EIP-6404: SSZ Transactions

Thanks for the PR! Appreciate the feedback.

Regarding the blob priority fee: The idea is indeed to integrate the EIP-7706 multidimensional fee concept into the SSZ package (EIP-7919 for full scope), so that the fee profiles can be extended for future fee types, rather than having tons of different fee fields like in RLP.

The RlpBlobTransactionPayload is converted from the RLP transaction and imported as having a 0 blob prio fee, and there is a check to only allow 0 initially. That makes the handling of various kinds of fees the same, and future-proofs for additional fees such as calldata fees.

See discussion in EIP-7706:


As for the ChainID change for EIP-7702:

In RLP, 0 is used as a special value for chain-agnostic authorizations. With SSZ, it becomes possible to express the concept of not being locked to a specific chain ID explicitly. RLP authorizations with chain ID 0 would convert to a RlpSetCodeAuthorizationPayload without a chain ID.