@@ -51,6 +51,10 @@ Implementation will define local primitives/envelopes and wire a custom
5151` NodeTypes ` /` NodePrimitives ` configuration so all node components consume those
5252types without modifying reth crates.
5353
54+ Persistence: 0x76 transactions are persisted as part of block bodies. This
55+ requires a custom envelope type used by ` NodeTypes::Primitives ` and storage
56+ (` EthStorage<CustomEnvelope, Header> ` ) plus DB codecs for the custom envelope.
57+
5458## Specification
5559
5660### Transaction Type
@@ -294,7 +298,11 @@ match tx.tx() {
294298}
295299```
296300
297- 6 . Decode in Engine API payloads and validate (no pool).
301+ 6 . Persistence and storage codecs.
302+ - Implement DB codecs for the envelope (` Compress ` /` Decompress ` and compact
303+ codecs) so blocks containing 0x76 can be stored and retrieved.
304+
305+ 7 . Decode in Engine API payloads and validate (no pool).
298306 - Update the Engine API transaction decoding to use ` EvTxEnvelope ` 2718
299307 decoding, recover signer, and preserve the encoded bytes.
300308 - Add fast, stateless validation for sponsorship fields during payload
@@ -324,7 +332,7 @@ of `reth_primitives::TransactionSigned`. This implies `EvolveNode` must use
324332custom ` NodeTypes::Primitives ` so the payload builder and executor operate on
325333the same envelope type.
326334
327- 7 . Define sponsorship validation and failure modes.
335+ 8 . Define sponsorship validation and failure modes.
328336 - Specify the sponsor authorization format, signature verification, and
329337 constraints (e.g. max fee caps).
330338 - Define stateful validation and exact behavior when sponsor auth is
@@ -353,7 +361,7 @@ Note: stateful validation will be enforced inside the execution handler in
353361` crates/ev-revm/src/handler.rs ` so rules apply consistently at runtime. A
354362builder-level pre-check is optional.
355363
356- 8 . RPC and receipts.
364+ 9 . RPC and receipts.
357365 - Expose an optional ` feePayer ` (or ` sponsor ` ) field for 0x76 in
358366 transaction objects for observability; ` from ` remains the executor.
359367 - This requires a custom RPC type layer (e.g., a custom ` EthApiBuilder ` and
0 commit comments