Commit Graph

594 Commits

Author SHA1 Message Date
rob
27d0ea0d28 op/doma: rename celestia relay to op-alt, add mainnet op-alt relay, vendor mainnet rollup.json
- Rename doma testnet relay from celestia to op-alt (ghcr.io/celestiaorg/op-alt-da)
- Add op-alt relay for doma mainnet with image tag 0.15.0 (not v0.15.0)
- Vendor complete mainnet rollup.json with alt_da (GenericCommitment)
- Fix per-network relay settings: namespace + CELESTIA_*_RPC env vars
- Switch mainnet op-geth to use vendored rollup.json (bind-mounted)

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-17 14:02:34 +00:00
rob
1944662053 op/doma/testnet: fix celestia relay image tag from v0.15.0 to 0.14.0-mocha
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-17 11:21:56 +00:00
rob
fc03d6ddf6 op/doma/testnet: add Celestia Alt-DA support (celestiaorg/op-alt-da:v0.15.0)
- Add relay template (templates/relays/celestia.doma.yml) for op-alt-da
- Add celestia relay config to op/doma stack in context.yml
- Add relay: celestia to op/doma testnet in config.yml
- Add op-node.doma.yml template with ALTDA env vars gated on relay_name
- Update op/doma/testnet/rollup.json with complete config including alt_da block

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-17 10:40:59 +00:00
4ea0bed344 doma-testnet: vendor rollup.json with chain_op_config
Conduit's testnet rollup.json (doma-dev-ix58nm4rnd) omits chain_op_config,
crashing op-node v1.19.0 with 'cfg.Rollup.ChainOpConfig is nil'. Vendor a
complete rollup.json (chain_op_config eip1559 6/50/250, confirmed identical
in mainnet rollup.json and testnet genesis optimism config) plus the
post-fjord fork times baked in, mounted via custom_config so op-node uses
the local file instead of curling Conduit's incomplete one.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:50:29 +00:00
f4b42ff530 doma-testnet: add op-reth variant on conduit-op-reth (chain 97476, L1 sepolia)
Doma testnet (Conduit slug doma-dev-ix58nm4rnd) on Conduit's purpose-built
conduit-op-reth image - better-tested for Conduit chains than upstream op-geth.
Fork times granite/holocene/isthmus/jovian (missing from Conduit's bare
rollup.json) supplied via env/op/doma/testnet/node.env. Experiment to validate
a clean canonical sync before redoing mainnet on op-reth.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:31:25 +00:00
9921391cfa doma-mainnet: add OP_NODE_OVERRIDE_JOVIAN=1769065201 (Conduit rollup.json omits it)
Conduit's bare rollup.json for doma-mainnet omits jovian_time entirely, but the
EL genesis activates Jovian at 1769065201. Without the override op-node has no
Jovian fork time and mis-derives at the boundary (chain forks off canonical).
Same fix pattern as bob-sepolia. Override comes from env/op/doma/mainnet/node.env.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 01:39:58 +00:00
fe94f3b605 doma: op-node consensus-layer sync (node_sync)
op-geth was stuck at genesis (block 0, 0 L2 peers for 31h) because execution-layer
snap-sync had no peers. node_sync=true -> OP_NODE_SYNCMODE=consensus-layer (derive
L2 from L1) + geth --syncmode=full. Diagnosed by cursor on de-13.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 14:23:25 +00:00
677a98d9bd xlayer: archive-only reth on OKX xlayer/op-reth image + snapshot reth.toml
X Layer mainnet/testnet op-reth now use the OKX xlayer/op-reth:v0.0.4.1 fork
(generic op-reth can't read the X Layer DB format), the image's built-in
xlayer-<network> chain spec, --rpc.legacy-url for post-snapshot history gap-fill,
and the OKX archive-compatible reth.toml (light pruning only: merkle_changesets
distance=10064). Switched the reth profile from full_trace to archive_trace and
deleted the pruned variants — a "pruned" compose over archive snapshot data
crash-loops on a block-height mismatch. Requires the official OKX reth snapshot
pre-loaded into the volume; do NOT sync from scratch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 04:35:28 +00:00
95f9da1e73 bob-sepolia: consensus-layer sync + debug_geth L1 + Jovian override (unstick)
op-node was following the sequencer tip in execution-layer mode while op-reth stayed
at genesis (blocks buffered, never canonical). Switch to consensus-layer sync so
op-node drives L1 derivation, add op-reth --disable-discovery, and use debug_geth
(eth_getBlockReceipts) for the L1 RPC kind — "basic" per-tx receipts hit "receipt 0
has unexpected nil block number" on the Sepolia L1 endpoint. OP_NODE_OVERRIDE_JOVIAN
=1772548201 is belt-and-suspenders (jovian_time already in rollup.json). Applies to
all bob-sepolia EL variants. Regenerated from the vibe-node generator.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 04:14:34 +00:00
fbd498aaa2 superseed-sepolia: consensus-layer sync + debug_geth L1 + drop genesis blob fields
op-reth/op-geth sepolia now run op-node consensus-layer sync (empty DB is never
P2P-backfilled) with --disable-discovery, derive L1 via debug_geth against an
operator-set full-history Sepolia RPC (SUPERSEED_SEPOLIA_L1_EXECUTION_RPC, falling
back to ETHEREUM_SEPOLIA_EXECUTION_RPC), and serve a genesis.json with the invalid
top-level excessBlobGas/blobGasUsed nulls removed (eip1559DenominatorCanyon=250
retained). Regenerated from the vibe-node generator.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 04:05:05 +00:00
c07fb81a56 op-node: default L1 RPC kind basic -> standard (eth_getBlockReceipts)
Our L1 geth (e.g. rpc-de-31 ethereum-mainnet-geth) returns null for the
per-tx receipt path on historical blocks but serves eth_getBlockReceipts
fine. op-node's 'basic' kind only uses the per-tx batch, so chains
deriving from genesis (e.g. Katana) hit the broken path immediately;
chains already synced past it don't. 'standard' uses eth_getBlockReceipts
and keeps the per-tx batch as fallback (strict superset of 'basic'), so
it is safe for every OP-stack node.

Flips OP_NODE_L1_RPC_KIND default across all 176 op-node compose files.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 03:26:02 +00:00
fa3f96382c base: bump node-reth client + op-node v0.16.1 -> v1.1.0 (Storage V2 / reth 2.3.0-dev)
For de-33 base V1->V2 migrate-v2 experiment. Global pin per operator;
de-13 prod base only moves on its next run-rpc-update.
2026-06-15 11:16:49 +00:00
0838787aa8 katana-mainnet: add Jovian (1773066601) fork override for op-geth + op-node
Conduit rollup.json omits post-Fjord fork times; chain is past Jovian so
without it op-geth/op-node mis-execute/mis-derive at the boundary.
2026-06-15 10:38:58 +00:00
be54c7d7cd Revert "superseed-sepolia: add Karst hardfork time (1781712001 = 2026-06-17 16:00:01 UTC)"
This reverts commit ec702984f1.
2026-06-15 10:36:35 +00:00
ec702984f1 superseed-sepolia: add Karst hardfork time (1781712001 = 2026-06-17 16:00:01 UTC)
OP Sepolia network-wide Karst activation. op-node v1.19.0 (pinned) and
conduit-op-reth:latest are Karst-aware; op-node v1.17.0 introduced Karst.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 10:29:17 +00:00
1afe87fe12 Add doma-mainnet op-geth node (Conduit OP-stack, chain 97477)
Conduit OP-stack L2 on Ethereum mainnet L1. Canyon-at-genesis; op-geth
ingests the Conduit genesis.json directly (no op-reth hash pitfall).
Config served from Conduit slug doma-mainnet-qvzsfv8nv0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 05:51:18 +00:00
f39e09dac0 hemi mainnet: fix op-geth/op-node startup crashes
- op-geth: drop stray trailing ` \` on --hvm.genesisheader and
  --tbc.leveldbhome (the backslash was decoded as part of the hVM
  genesis header -> "invalid byte U+0020 ' '" crash)
- op-node: add OP_NODE_OVERRIDE_ECOTONE/CANYON/DELTA=1725868497
  (rollup.json carries only regolith_time; without these the later
  fjord override tripped "fork fjord set but prior fork ecotone missing")
- op-node: OP_NODE_BSS_WS no longer wrapped in literal quotes
- bump to Hemi's current pins (mainnet is past isthmus/holocene):
  op-geth 05d4d8f, op-node 7c70d2d

Values mirror hemilabs/hemi-node mainnet scripts/gen.sh + config.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 02:27:32 +00:00
2249352c20 op-node: default OP_NODE_L2_ENGINE_RPC_TIMEOUT=120s for all OP-stack nodes
op-node's default engine-API RPC timeout is short; on nodes whose EL responds
slowly to engine_newPayload/forkChoiceUpdated (e.g. boba-mainnet op-reth pruned
during catch-up) op-node times out driving the EL and the execution head freezes
while op-node keeps deriving from L1. Raising the engine RPC timeout to 120s
prevents this class of stall fleet-wide.

Regenerated from env/op/node.env: adds the env var to every op-node service
(116 geth + 40 reth + 22 erigon composes); additions only, no other changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 15:43:34 +00:00
16057e4875 bob-sepolia: add Jovian to EL genesis; drop redundant op-node override
genesis.json had no jovianTime, so op-geth/op-reth never activated Jovian
and op-node rejected Jovian-era L1-info txs ("unexpected length"). Added
jovianTime=1772548201 to the genesis config (EL source of truth for both
geth and reth). Removed OP_NODE_OVERRIDE_JOVIAN from the op-node env: the
local rollup.json already carries jovian_time, making the override redundant.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 06:28:01 +00:00
36b8243a03 op-reth: emit --disable-discovery (not --nodiscover) for node_sync nodes
op-reth rejects geth's --nodiscover flag, which the op-geth base template
emits for node_sync nodes. Use reth's --disable-discovery instead.

- hashkeychain-testnet: now node_sync/consensus-layer (was execution-layer
  with an empty DB, which could not backfill) + --disable-discovery
- xlayer mainnet/testnet (archive+pruned): --nodiscover -> --disable-discovery
  (these were latently broken on restart)

Fix lives in the op-reth.yml base template so all reth nodes are covered;
the redundant override in op-reth.boba.yml was removed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 06:18:55 +00:00
10deed7819 superseed-sepolia op-reth: use conduit-op-reth image + historicalrpc
Chain 53302 is legacy Canyon-at-genesis (block 0 has no Shanghai
withdrawalsRoot). Upstream op-reth always injects it and computes the wrong
genesis hash 0xfa6f21ae vs canonical 0x7274a90e, so it crash-loops against
the DB. conduit-op-reth has legacy-Canyon genesis compatibility for 53302.

Regenerated from context.yml (reth client_image override) + op-reth.yml
template (historicalrpc for superseed-sepolia fresh-sync backfill).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 06:10:06 +00:00
31309aaac3 bob-sepolia: use local genesis/rollup for all variants, drop Conduit URLs
Conduit's downloaded genesis.json/rollup.json are faulty (rollup.json
lacks chain_op_config + post-Fjord fork times, crashing op-node v1.19.0).
The fixed configs live in op/bob/sepolia/. Removed the client_genesis /
node_rollup_json Conduit URLs from context.yml and regenerated, so all 7
bob-sepolia composes (geth + reth) now bind-mount ./op/bob/sepolia:/config
and drop the curl-from-Conduit init containers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 05:45:55 +00:00
be1f8d33b9 superseed-sepolia: add pectra_blob_schedule_time + fix eip1559DenominatorCanyon
op-node was crashing post-Jovian and the rollup/genesis configs were missing
two fields present in the live sequencer (sepolia.superseed.xyz
optimism_rollupConfig):
- rollup.json: add pectra_blob_schedule_time=1742486400 (L1 Sepolia Pectra)
- genesis.json: eip1559DenominatorCanyon 0 -> 250 (match chain_op_config)

Verified against the live sequencer. Fixes op-node 'unexpected length: 178'
L1-info parse error. karst_time not yet published by the sequencer (Karst
Sepolia ~2026-06-17 16:00 UTC) - to be added once available.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 05:26:56 +00:00
4209d46ba7 Fix bob-sepolia op-reth-pruned-trace: local rollup config for op-node v1.19.0
Conduit's rollup.json lacked chain_op_config and fork times required by op-node v1.19.0, causing a crash loop. Mount op/bob/sepolia locally (genesis + rollup) and drop Conduit init containers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 07:10:29 +02:00
ff49dc92f5 bob-sepolia: force OP_NODE_OVERRIDE_JOVIAN; drop stale op/bob.by backup
bob-sepolia is past the Jovian hardfork (jovian_time=1772548201). Conduit's
downloaded rollup.json omits jovian_time, so op-node misparsed the 178-byte
Jovian L1-info deposit txs ("data is unexpected length: 178") and the node
stalled at genesis. Add OP_NODE_OVERRIDE_JOVIAN to all bob-sepolia variants.

Remove op/bob.by: an unused local genesis/rollup backup. Source of truth is
the genesis/rollup downloaded from the Conduit URLs in context.yml.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-14 03:16:25 +00:00
db59f360ca boba op-reth: --disable-discovery (op-reth v2.3.0 rejects geth's --nodiscover) for node_sync 2026-06-14 02:43:45 +00:00
97d2cfe4aa op-reth sepolia fixes: superseed Jovian fork times, Karst v2.3.1 bump, op-sepolia/soneium template fixes
- superseed-sepolia: add holocene/isthmus/jovian fork times to rollup.json (CL)
  and genesis.json (EL). jovian_time=1768978801 is superseed's chain-specific
  activation (verified live via sepolia.superseed.xyz optimism_rollupConfig);
  the official superseed-xyz/node repo + the old committed config both lacked it,
  causing op-node "failed to parse L1 info deposit tx ... unexpected length: 178".
- op-reth v2.3.0 -> v2.3.1 across all op-reth composes (Karst-mandatory release,
  Sepolia activation Jun 17 2026 16:00 UTC).
- op-sepolia: --chain=optimismsepolia -> optimism-sepolia (invalid chain spec
  prevented op-reth from starting).
- soneium-minato-sepolia (reth/geth/erigon): L1 upstream vars now resolve to
  ETHEREUM_SEPOLIA_* (were ETHEREUM_MINATO-SEPOLIA_*, nonexistent -> no L1 RPC);
  state-cache shell var de-hyphenated; pectra blob-schedule override now emitted.

NOTE: superseed karst_time not yet published by the chain; must be added before
Jun 17 2026 once superseed announces it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 15:06:42 +00:00
9958d4e50d boba-mainnet op-reth: upstream op-reth + vendored patched chainspec (reth-config.json, bedrockBlock=1149019); revive boba on reth from Boba's snapshot (op-geth EOL 2026-05-31) 2026-06-13 14:32:28 +00:00
c4a61bf35c Add op-reth sepolia testnets: unichain-sepolia (registry chain), superseed-sepolia (custom genesis) — Superchain Jun-19 fork fallback 2026-06-13 11:50:30 +00:00
cb556f9df8 Add op-reth variants: unichain-mainnet, hashkey mainnet+testnet (Superchain op-geth->reth migration); add hashkey mainnet config (chainid 177, mainnet.hsk.xyz) which also fixes the previously-empty geth/erigon mainnet composes
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 05:41:41 +00:00
405f36d02f monitoring scripts: protocol dispatch via registry slug + mantle/metis chainid fixes
- sync-status.sh: resolve protocol family from the compose x-upstreams chain
  label via the registry (reference-rpc-endpoint.sh --protocol) instead of
  path-substring guessing; legacy path detection kept as fallback for
  composes without a resolved label. Unknown families report
  'unsupported protocol: X' honestly instead of a bogus eth_chainId error.
  Aztec reference lookup falls back to slug urls when rollup_version is
  not in the registry.
- reference-rpc-endpoint.sh: new --chain <slug> (urls by registry key,
  works for idless non-EVM entries) and --protocol <slug> modes; existing
  chainid and --rollup-version lookups unchanged.
- mantle-sepolia: chainid 5001 -> 5003 (verified live: 0x138b), label and
  --networkid now correct
- metis-sepolia: label resolves via registry override (drpc chains.yaml
  carries wrong id 59901; live chain is 59902, verified via official RPC)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 06:34:31 +00:00
714e8ba07a non-EVM chain labels via full registry import + reference endpoint ladder
- aztec-testnet, solana, ripple x-upstreams now carry their drpc slug as
  chain label (was empty -> dshackle ignored the upstreams)
- reference-rpc-endpoint.json: every chain now has a protocol field
  (eth/bitcoin/solana/ripple/aztec/...) for protocol-family dispatch in
  scripts, plus https://{slug}.drpc.org appended as LAST fallback url
  (independent endpoints stay preferred; overrides win entirely)
- registry grew 247 -> 333 entries (all drpc protocols imported, not just eth)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 06:12:24 +00:00
f5f475cdb1 fix dshackle chain labels: hoodi, rootstock-testnet, ronin-saigon + registry refresh drift
- ethereum-hoodi composes: chain ethereum -> hoodi (was mislabeled as mainnet)
- rootstock-bamboo: chain rootstock -> rootstock-testnet
- ronin-saigon op-reth: empty chain -> ronin-saigon (fresh DRPC registry now
  carries saigon at chainid 202601; stale local upstreams.yml had dropped it)
- assorted regen drift from fresh chain registry

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 05:32:16 +00:00
4b0ce9ca69 aztec-testnet: bump to 4.3.1 (network redeployed, 3.0.2 genesis incompatible) + regen drift
Aztec testnet rollup was redeployed on Sepolia; 3.0.2 computes the old
genesis archive root and crash-loops. 4.3.1 matches the deployed rollup
and bootstraps from snapshot. Verified live on rpc-de-13.

Includes regen drift from current templates for other stale compose files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 03:33:44 +00:00
goldsquid
12e5ff8ee1 fix 2026-06-11 18:11:40 +07:00
goldsquid
6ec861bd60 too much to chekc 2026-06-11 17:07:16 +07:00
2375dc3ef7 Regenerate compose files: ZKSync v29.17.0, Base new registry, multi-client bumps
Sync compose files with context.yml accumulated updates:
- ZKSync ERA/Abstract/Lens/Sophon external-node: v29.16.0-alpha → v29.17.0 (stable; fixes interop fee 403s)
- Base: registry ghcr.io/base/node-{reth,geth} v0.16.1/v0.15.6 (was oplabs GCR)
- Arbitrum/AlephZero/Connext/Nitro chains: v3.9.9-rc.3 → v3.10.1
- Gnosis reth: v1.1.11-eraimports → v1.2.1
- Gnosis/Linea erigon3: v3.4.0 → v3.4.2
- Polygon bor 2.7.2→2.8.1, erigon3 v3.5.0→v3.6.0
- Prysm v7.1.3→v7.1.4, Besu v26.4.0→v26.5.0
- Blast sepolia v1.4.0→v1.7.0, XRP 3.1.2→3.1.3
- Viction v2.5.1→v2.6.0, Immutable/Linea geth v1.17.2→v1.17.3

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-06-10 19:58:49 +00:00
c0416b4ae6 Add ronin-mainnet and ronin-saigon op-reth (OP-stack migration, May 12 2026)
Ronin migrated from standalone sidechain to OP-stack L2 operated by
Conduit, with EigenDA V2 for data availability. New composes follow
conduitxyz/ronin-migration-reth-docker: conduit-op-reth fork +
op-node v1.16.5 + eigenda-proxy 2.7.0 relay.

- op/ronin/{mainnet,saigon}: Conduit genesis (bedrockBlock patched to
  55577500 / 45528550) and rollup.json (alt_da GenericCommitment injected)
- saigon is a NEW chain post-migration: chainid 202601, L1 sepolia
- also regenerated: xlayer-testnet composes (dshackle chain label was
  corrupted to 'ronin' by an override typo), native ronin/ronin composes
  (upstream labels follow new chain ids), reference-rpc-endpoint.json

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 09:00:45 +00:00
goldsquid
5fd86bdf28 update xlayer 2026-06-10 13:41:18 +07:00
goldsquid
1f7dd60483 genesis for bob-sepolia 2026-06-09 13:02:21 +07:00
e9024c5c17 add op-reth sepolia variants for bob, worldchain, ink
Superchain Sepolia hardfork ~2026-06-19 drops op-geth support; op-erigon is
already broken post-hardfork. op-reth is the migration target for Superchain
members. Generates archive-trace, minimal-trace, and pruned-trace variants
via the 'full_minimal_trace' profile (mirroring base-sepolia / op-sepolia).
2026-06-09 05:37:19 +00:00
2e08acbe07 regenerate drifted celo-sepolia compose files
Pre-existing template change: bind-mount './op/celo/sepolia:/config' migrated to
parameterizable named docker volumes (CELO_SEPOLIA_OP_GETH_*_CONFIG /
CELO_SEPOLIA_OP_GETH_*_NODE_CONFIG with sensible defaults). Surfaced when
running update.sh on top of the current rpc/ submodule HEAD.
2026-06-09 05:37:19 +00:00
goldsquid
2a194909da geth init fixes when genesis available. and that fixes reth too 2026-06-07 12:58:54 +07:00
goldsquid
d369f62c44 fix 2026-06-06 09:32:46 +07:00
goldsquid
1390b47bb8 move the init for geth to a init container 2026-06-06 09:27:23 +07:00
goldsquid
19739b5c34 fix 2026-06-06 09:17:35 +07:00
goldsquid
49a3b5c8b7 fix 2026-06-06 09:13:45 +07:00
goldsquid
bb3b54934d download rollup.json with iniut container 2026-06-06 09:08:49 +07:00
goldsquid
d5f755629f fix 2026-06-06 08:26:01 +07:00
goldsquid
6e97a5e6f7 hardcode fork time 2026-06-06 08:12:01 +07:00