You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(portal): opt-in PORTAL_ALLOW_MISSING_ACCESS_LIST for RPCs that omit accessList
The fork's hardened RPC-path accessList-required check (in standardizeTransactions,
added by every wiring patch) crashes any app whose RPC/proxy omits the spec-required
accessList on typed-envelope txs. In practice this hits SQD's own zkSync RPC proxy,
which returns type-0x2 txs with no accessList key at all (verified 11/11 across 50
blocks) — a fork-introduced regression vs stock ponder on a supported chain.
The guard is right in general (it prevents fabricating an empty/NULL access list over
a real one, #27/#32), so keep it as the default. Add an opt-in knob (default OFF,
matching the PORTAL_* boolean convention):
- unset → unchanged loud RpcProviderError, whose meta now NAMES the knob;
- set → the missing value flows through and stores as an honest NULL (as the
Portal path already does for column-less datasets, #110/#111).
Read once per standardizeTransactions call (hoisted above the tx loop — cheap, and
toggleable per call in tests). Applied to all 5 tracked wiring patches (0.15.17,
0.16.6-0.16.9), regenerated per PUBLISHING.md. Adds 3 tests to realtime-standardize
covering: default-throws-and-names-knob, knob-passes-through-to-NULL on 0x1/2/3/4,
and knob-preserves-a-present-list.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011h8zdhxsC8A2bcFqZRcjeB
0 commit comments