Skip to content

8.6.0: SQD Network datasource updates#1318

Open
Wizard1209 wants to merge 6 commits into
nextfrom
feat/8.6.0-sqd
Open

8.6.0: SQD Network datasource updates#1318
Wizard1209 wants to merge 6 commits into
nextfrom
feat/8.6.0-sqd

Conversation

@Wizard1209

@Wizard1209 Wizard1209 commented May 28, 2026

Copy link
Copy Markdown
Member

Minor release 8.6.0 — SQD Network datasource updates + subsquid api_key support. This branch is the full scope of 8.6.0.

Part 1 — api_key for v2.archive subsquid

Legacy v2.archive.subsquid.io gateways require an API key since 2026-05-19

  • New api_key option on evm.subsquid / starknet.subsquid / substrate.subsquid.
  • Sent as Authorization: Bearer <key> and Token: <key> (matching squid-sdk's ArchiveClient).
  • Demos, templates and test configs gain api_key: ${SUBSQUID_API_KEY:-} (empty default → no header).

Part 2 — evm.sqd_portal datasource

New evm.sqd_portal kind backed by the SQD Portal (portal.sqd.dev), a streaming (/finalized-stream, NDJSON) alternative to the v2.archive evm.subsquid gateway, reusing the existing iter_events/iter_transactions. Adds context.get_evm_portal_datasource.

🤖 Generated with Claude Code

Wizard1209 and others added 6 commits May 28, 2026 11:30
Self-hosted `v2.archive.subsquid.io` gateways require an API key since 2026-05-19 (`/<level>/worker` returns 403 without one, while `/height` still 200), breaking self-hosted EVM/Starknet/Substrate subsquid indexers at the data-fetch step.

Add an `api_key` option to evm/starknet/substrate.subsquid datasource configs and send it as `Authorization: Bearer <key>` + `Token: <key>` (matching squid-sdk's ArchiveClient) on the gateway (`/height`, `/<level>/worker`) and worker POST requests. Demos, templates and test configs gain `api_key: ${SUBSQUID_API_KEY:-}` (empty default => no header). Includes docs, regenerated JSON schema, CHANGELOG and a test skip when SUBSQUID_API_KEY is unset.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Un-ignore CLAUDE.md (CLAUDE.local.md stays ignored) and document the script-driven workflow: generated artifacts (demos, JSON schema, references), the docs include-macro exclusive-end footgun, and conventions via @import of docs/14.contributing.md instead of duplicating README/docs/Makefile.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Introduce a shared `SubsquidDatasourceConfig` base holding `api_key` and the
common `merge_subscriptions`/`rollback_depth` properties; bind the abstract
datasource to it so both worker and datasource read `self._config.api_key`
directly (no `getattr`, no `Any`). Make the `api_key` docstring consistent with
other datasources and drop the inaccurate "self-hosted" framing (v2.archive is
SQD's public gateway). Regenerate schema and config reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Wizard1209 <wizard1209@gmail.com>
Ghostnet was decommissioned; api.ghostnet.tzkt.io no longer resolves, so
the demo_tezos_events run/init tests and test_tzkt.test_no_content all
failed with DNS errors (not an infra flake). Shadownet is the current
Tezos testnet.

- tezos_tzkt: swap the ghostnet entry in TZKT_API_URLS for shadownet
- demo_tezos_events: repoint the events demo at a shadownet contract with
  equivalent properties — KT1E3EQJmoajoTj9YXJWgenuYTHnDUoWSiFt (WETH
  bridge) emits two frequent typed events (Wrap/Unwrap, like move/roll)
  plus a rare Create caught by the fallback handler. Regenerated handlers
  and types via `dipdup init`; move/roll -> wrap/unwrap.
- tests: point demo_tezos_events config and test_no_content at shadownet
- docs: update tezos.events include to on_wrap_event.py
- regenerate merged changelog (was stale, missing the Portal/api_key Added
  entries)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Release prep generated by `make before_release`: regenerated demos, docs
references, demos table, JSON schema, and the v8.6 release-notes page.

Also includes two fixes surfaced while making the release green:
- sentry: crash on init with sentry-sdk 2.61+ (`DEFAULT_MAX_VALUE_LENGTH` is now `None`)
- tests: mypy arg-type error in test_models_evm.py

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Wizard1209 Wizard1209 added this to the 8.6.0 milestone Jun 2, 2026
@Wizard1209 Wizard1209 marked this pull request as ready for review June 2, 2026 00:54
@Wizard1209 Wizard1209 requested a review from droserasprout June 2, 2026 00:56
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.

2 participants