Skip to content

@subsquid/ponder 0.17.2-sqd.1

Choose a tag to compare

@dzhelezov dzhelezov released this 27 Jul 18:15
7c8d9da

@subsquid/ponder@0.17.2-sqd.1

ponder@0.17.2 + the SQD Portal backfill layer, drop-in (bin stays ponder). This is an upstream-parity release: 0.17.1 → 0.17.2 is two upstream patch-level bugfixes, both off-seam or non-overlapping with the graft, so the fork passively inherits them with no Portal-layer change and no wiring change. It installs by default (--tag latest), superseding 0.17.1-sqd.2 (which now has no dist-tag — installable by exact version, npm i @subsquid/ponder@0.17.1-sqd.2).

Install: npm i @subsquid/ponder, or pin exact: npm i @subsquid/ponder@0.17.2-sqd.1.

What changed upstream — ponder@0.17.1 → 0.17.2

Two upstream patch-level bugfixes, both passively inherited:

  • ponder-sh/ponder#2341 (@hellowodl) — fixes rows returned by context.db.find() / insert() / update() being mutated by a subsequent write to the same row (adds a defensive copy at the get-sites). Implemented purely in src/indexing-store/index.ts, which is off the graft surface (the indexing store, like the 0.16.9 bytea-COPY fix) — the seam is untouched.
  • ponder-sh/ponder#2347 (@kyscott18) — fixes realtime-discovered factory child addresses being omitted from ponder_sync.factory_addresses when a factory is shared across multiple event handlers. Implemented in src/sync-realtime/index.ts — one of the 12 wiring files, but in regions that do not overlap the wiring patch's two hunks (the import block and the #23 filtered-logs shouldRequestLogs fallback), so portal/wiring/0.17.2.patch applies with zero rejects and the fork passively inherits the upstream completeness fix. This is a realtime runtime-state delta (a strictly larger persisted factory_addresses set for shared factories), inherited verbatim from upstream — not a behavior change introduced by the Portal layer.

portal/wiring/0.17.2.patch is a verbatim copy of portal/wiring/0.17.1.patch (sha256-equal, same 12 files — itself a verbatim copy back to 0.17.0). The graft seam (HistoricalSync.syncBlockRangeData / syncBlockData, interval-scoped) is unchanged; 0.17.2 touches only src/indexing-store/index.ts and src/sync-realtime/index.ts, neither of which is the historical seam.

Compatibility

  • Built + tested against ponder@0.17.2: scripts/sync-upstream.sh 0.17.2 --test — patch applies clean (all 12 files "Applied … cleanly"), tsc builds, 396 tests / 22 files green; both-version confirmed (the identical suite is also green on ponder@0.16.6).
  • No fresh RPC byte-diff is claimed on 0.17.2 — compatibility rests on seam identity + verbatim patch + the full suite, exactly as for 0.17.1-sqd.2. The §3 / §5 byte-diff and A/B soak evidence remains on the 0.16.6 graft and transfers by seam identity.
  • Seam verified identical across 0.15.170.17.2 (compat.tested in versions.json).