Skip to content

@subsquid/ponder 0.17.8-sqd.1

Latest

Choose a tag to compare

@dzhelezov dzhelezov released this 18 Aug 16:55
4f91ef5

@subsquid/ponder@0.17.8-sqd.1 — the Portal fork of ponder, grafted onto ponder@0.17.8.

What this is

The Portal layer (backfill from SQD Portal) grafted onto upstream ponder@0.17.8, published as a drop-in ponder bin. Routine upstream-parity: tracks a new upstream patch line at parity, no fork behavior or public-surface change.

Upstream delta 0.17.6 → 0.17.8

  • The graft seam (HistoricalSync.syncBlockRangeData / syncBlockData, interval-scoped) is unchanged. Both declared signatures are identical to 0.17.6; upstream added only a JSDoc @returns Closest-to-tip synced block, which the Portal implementation already satisfies.
  • wiring/0.17.8.patch is a byte-identical re-derivation of the 0.17.6 patch: the 0.17.6 patch was applied to a fresh 0.17.8 clone, the resulting git diff regenerated, and diff against the original returned zero — 12 files, no drift, no hunk re-anchoring.
  • Upstream's ~115-line removal in this range sits inside syncBlockRangeData — the body the Portal layer replaces.
  • runtime/filter.ts (+178) is internal batching plumbing (mergeLogFiltersToRequests) with the Filter union and the config surface untouched: no new user-facing filter, and hence no silent-data-gap class.

Gate

Full suite green on both versions — 416 tests / 24 files on ponder@0.17.8 and the identical 416/24 on ponder@0.17.6 (scripts/sync-upstream.sh <ver> --test); biome clean; no exported-type / config / signature drift vs 0.17.6-sqd.1. CI fork-seam(0.17.8) green on the tracking PR (#218).

Candor — one test-only change was required. Upstream 0.17.8 added common.options.factoryAddressCountThreshold, read on the path the Portal RPC fallback enters. Three Portal test doubles built their common object with no options at all, so the gate was initially red at 3 failed / 413 passed. Production was never affected — production uses upstream's own options builder, which defaults that field. The doubles are now built from upstream's real buildOptions, so a future new upstream option cannot silently break them the same way. No production code changed.

Mutation-verified: neutering the RPC delegation in portal/portal.ts turns exactly 4 tests red (the 3 INV-9 delegation tests plus the INV-15 × INV-9 regression), so the repaired tests are not vacuous.

Published with --tag latest (numeric-max) — the default npm install @subsquid/ponder. 0.17.6-sqd.1 remains installable by exact version.