Skip to content

feat: stock Engine API payloads; read timestampMillisPart from extraData - #469

Merged
matthias-wright merged 4 commits into
mainfrom
m/timestamp-ethereum-compat
Oct 15, 2026
Merged

matthias-wright merged 4 commits into
mainfrom
m/timestamp-ethereum-compat

Conversation

@matthias-wright

@matthias-wright matthias-wright commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Follows seismic-reth (SeismicSystems/seismic-reth#512).
Seismic headers are stock Ethereum headers and the sub-second block time is the two-byte big-endian prefix of extraData (0..1000).

Changes:

  • Block.payload is the stock ExecutionPayloadV3 (block SSZ and the header's payload_hash change accordingly)
  • payload_timestamp_millis() reconstructs seconds * 1000 + prefix and fails on a malformed layout
  • payload_with_timestamp_millis() stamps a block time into a payload for mocks/tests
  • handle_verify binds the payload's seconds + extraData prefix to the Summit header timestamp and rejects a missing or out-of-range prefix
  • Engine client: getPayloadV4/newPayloadV4 use stock envelope/payload types
  • forkchoiceUpdatedV3 keeps SeismicPayloadAttributes (timestampMillisPart), the only non-stock Engine API type left
  • verify-consensus-state-proof reads the millisecond timestamp from the RPC header's extraData (the timestampMillisPart field is gone)
  • execute-blocks, finalizer mocks and the node mock engine client moved to stock types
  • reth-seismic-engine-types is now only needed by types
  • example_genesis.toml: dev eth_genesis_hash -> 0xa311e08b…

TODO: Re-pin reth-seismic-engine-types after merging the seismic-reth PR.

@matthias-wright
matthias-wright force-pushed the m/timestamp-ethereum-compat branch from 01ebc63 to f6fde37 Compare October 15, 2026 09:28
@matthias-wright
matthias-wright merged commit 69ca74d into main Oct 15, 2026
4 checks passed
@matthias-wright
matthias-wright deleted the m/timestamp-ethereum-compat branch October 15, 2026 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant