Skip to content

chainsmeta: tolerate SystemConfig 4.0.0 removed getters#1799

Open
mds1 wants to merge 1 commit into
ethereum-optimism:mainfrom
mds1:mds/systemconfig-batch-inbox-removal
Open

chainsmeta: tolerate SystemConfig 4.0.0 removed getters#1799
mds1 wants to merge 1 commit into
ethereum-optimism:mainfrom
mds1:mds/systemconfig-batch-inbox-removal

Conversation

@mds1

@mds1 mds1 commented Jul 8, 2026

Copy link
Copy Markdown

SystemConfig 4.0.0 (op-contracts v8.0.0, ethereum-optimism/optimism#21641) removes the batchInbox(), startBlock(), BATCH_INBOX_SLOT(), and START_BLOCK_SLOT() getters that the chainsmeta systemconfig ingest calls on every chain. Chains upgrade at different times, so the ingest must tolerate both versions indefinitely.

The pipeline already treats per-method reverts as None (that is how operatorFeeScalar and friends work on not-yet-upgraded chains), so reverts from removed getters were already handled. The actual gap: some nodes answer an eth_call to a removed method with an empty 0x result instead of a revert, which previously produced garbage for address fields ("0x0x") or raised for int fields. This PR treats an empty result the same as a revert, marks the two slot annotations Optional, and adds a test covering both failure shapes against a 4.0.0 SystemConfig.

No SQL changes — the ClickHouse columns are already Nullable. Historical rows keep their values; post-upgrade rows get NULL for the removed fields.

Tests: uv run pytest tests/op_analytics/datasources/chainsmeta/ -v → 19 passed; mypy and ruff clean.

Related PRs: ethereum-optimism/optimism#21641 (contracts), ethereum-optimism/specs#922 (spec), ethereum-optimism/superchain-ops#1492 (upgrade tooling), the dev-docs edit rides along in the monorepo PR. Context: ethereum-optimism/optimism#21614.

SystemConfig 4.0.0 (op-contracts v8.0.0) removes batchInbox, startBlock,
BATCH_INBOX_SLOT, and START_BLOCK_SLOT. Reverts were already recorded as
None; also treat empty 0x eth_call results the same way instead of
producing garbage decodes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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