Skip to content

@subsquid/ponder 0.16.10-sqd.2

Choose a tag to compare

@dzhelezov dzhelezov released this 20 Jul 12:49
dba6bbb

@subsquid/ponder@0.16.10-sqd.2

Supported-lines backport wave (2026-07-28). -sqd.2 re-cuts ponder@0.16.10 with the current Portal layer — the same portal/ tree shipped on latest (0.17.2-sqd.1). It keeps 0.16.10 a first-class supported line so a user pinned to ponder-0.16.10 runs the same fixes as everyone else.

Published under dist-tag ponder-0.16.10latest is not clobbered (it stays 0.17.2-sqd.1, the newest tracked ponder version). Install: npm i @subsquid/ponder@0.16.10-sqd.2 (or npm i @subsquid/ponder@ponder-0.16.10).

New since 0.16.10-sqd.1

  • Factory log-query byte-budget sharding (#194, #195). A factory whose discovered child-address IN-list union overflows the Portal 256 KiB query cap now splits the over-cap child set into byte-sized shards, streamed sequentially and unioned — completeness-preserving by construction, a byte-identical no-op below the wall.
  • Account-tx (from/to) byte-budget sharding (#196, #199). The same over-cap sharding applied to account-source transaction (from/to) queries.
  • INV-26 store-state partition-invariance. The assembled store state is codified as invariant to how the Portal range- and shard-partitions a request (cross-shard duplicate logs collapse via logs_pkey + onConflictDoNothing); adversarial-partition fuzz coverage added. Invariant catalog is now INV-1…INV-26.

Everything from 0.16.10-sqd.1 is carried forward (INV-17 realtime-finalize write-side idempotence #175, the inserted.logs store-inserted metric #143, the accessList honest-NULL fix, the full invariant-first correctness wave).

Compatibility

  • Built + tested green on ponder@0.16.10: 400/400 across 23 files (CI=true scripts/sync-upstream.sh 0.16.10 --test, pnpm@9.10.0) — verified both by a pre-publish gate and by the release workflow's own in-CI build+test.
  • The graft seam (HistoricalSync.syncBlockRangeData/syncBlockData) is untouched; every added fix lives in the Portal fetch/assembly layer, off the seam. wiring/0.16.10.patch is unchanged (a verbatim copy of wiring/0.16.9.patch). No fresh RPC byte-diff; compat rests on seam-identity + the full suite.