Candidate fix for the receipts RLP decode failure that blocks snap sync
past block 4,178,637 (2026-04-12): peers dropped with 'invalid message
(code 10) receipt 1: rlp: ListEnd not positioned at EOL' on the previous
newest published image.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
hemi cannot full-sync across old BTC reorg points: EVM blocks referencing
orphaned Bitcoin Attributes ancestors are unexecutable once no peer retains
the stale BTC block (us-16 wedged at 3353463 on reorged-out block
00000000000000000001dcb3...b971). hemi's official l2-config.toml ships
SyncMode=snap. Registry: 150 entries gain node names (regen enrichment).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Canyon-fork EIP-1559 denominator, present in the authoritative genesis
on rpc-de-32 but missing from the committed copy. Matches the fork-time
addition in d4fc9487.
Add the post-Regolith OP-stack fork activation timestamps (canyon through
karst) to op/mode/mainnet/genesis.json, sourced from the authoritative
copy running on rpc-de-32 (sha256 ea320f6a). The committed genesis was
missing every fork time after regolithTime, so op-reth could not apply
the L2 hardfork schedule.
canyonTime=shanghaiTime=1704992401, deltaTime=1708560000,
ecotoneTime=1710374401, fjordTime=1720627201, graniteTime=1726070401,
holoceneTime=1736445601, isthmusTime=1746806401, jovianTime=1764691201,
karstTime=1783526401.
Match ronin-mainnet's EigenDA alt-DA recipe on both saigon profiles
(archive-trace + pruned-trace): OP_NODE_SYNCMODE execution-layer ->
consensus-layer and OP_NODE_L2_SKIP_SYNC_START_CHECK false -> true.
Hand-maintained edit (these CL-sync flags are not template-driven);
do NOT regenerate saigon via update.sh or it reverts. Mainnet untouched.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Custom op-node forks on these chains cannot run kona-node; drop the
orphaned --kona.yml compose files and registry entries.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop --kona compose profiles for base, fraxtal, zircuit, xlayer, and superseed
where kona-node v1.6.1 stalls or hash-mismatches on custom rollups. Add
worldchain-mainnet-op-reth-pruned-trace--kona for the planned geth→reth+kona swap.
Co-authored-by: Cursor <cursoragent@cursor.com>
Generate --kona compose profiles for base, mode, zircuit, fraxtal, zora,
metal, hashkeychain, superseed, swell, bnb, manta-pacific, blast, and xlayer
so production nodes can migrate off stock op-node before DRPC deprioritizes it.
Each kona variant shares the same EL data volume as its op-node sibling.
Co-authored-by: Cursor <cursoragent@cursor.com>
Persist OP_NODE_SYNCMODE=consensus-layer and OP_NODE_L2_SKIP_SYNC_START_CHECK=true
so op-node drives the EL via engine API (no EL P2P peers on katana mainnet).
Co-authored-by: Cursor <cursoragent@cursor.com>
Add generated op/reth/worldchain-mainnet-op-reth-pruned-trace.yml and
register it in compose_registry.json for Superchain EL migration off op-geth.
Co-authored-by: Cursor <cursoragent@cursor.com>
Reduce stages.transaction_lookup.chunk_size from 5M to 500k in reth.toml
to prevent multi-hour pipeline stalls during large checkpoint windows on
op-reth-pruned-trace (rpc-de-32).
kona's NodeMode enum (crates/node/service/src/service/mode.rs) has only
Validator/Sequencer and parses via FromStr against the PascalCase display
strings. There is no 'verifier' mode, so the old value failed to parse and
kona-node crash-looped on startup. Validator is also kona's default.
Source change is env/op/kona.env (global default for all op-stack kona nodes),
so this regenerates KONA_NODE_MODE across all 38 op/*/...--kona compose files.