Match the dRPC gateway's per-chain "how many blocks behind is ok" model instead of a
fixed 2s/5s timestamp tolerance:
- check-health.sh: compare the reference head vs local head by BLOCK NUMBER and classify
with the chain's dRPC lag thresholds (LAGGING_LAG/SYNCING_LAG, in blocks, from
chains.yaml). dRPC uses the two thresholds inconsistently across chains (sometimes
lagging<syncing, sometimes the reverse) so the smaller is the online boundary and the
larger the syncing/drop boundary. Defaults 2/6 when a chain has no thresholds.
- multicurl.sh: also skip responses with result:null (a lagging endpoint lacking the
requested block) so the fallback reference URLs are actually tried. Previously the first
endpoint's {"result":null} was accepted as success -> fallbacks never ran, and the null
reference hash made check-health report false "forked" (the online/forked flapping).
- sync-status.sh: resolve the lag thresholds (by drpc slug or chain id) and export
LAGGING_LAG/SYNCING_LAG.
- reference-rpc-endpoint.sh: add --lags and --block-time-ms lookups.
- reference-rpc-endpoint.json: regenerated with per-chain block_time_ms + lagging_lag +
syncing_lag (additive).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The doma --filter run regenerated this global aggregate from only the
doma subset, emptying it. Restore the complete file; doma resolves via
its dshackle label so no reference-endpoint entry is required.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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>
- 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>
- 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>
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>
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>
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.
v1.2.0 tag doesn't exist on Docker Hub, causing compose build
failures on de-27, de-32, us-40. Using the actual tag format.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>