Skip to content

v3.1.1

Latest

Choose a tag to compare

@tu11aa tu11aa released this 03 Aug 08:05

Highlights

Correctness release. No new features, no dependency majors — 9 commits across 8 files, all fixing things that were silently broken.

  • Dead RPC endpoints replaced — Blast's Starknet RPC is decommissioned. It returns a well-formed JSON-RPC error envelope (-32000) rather than refusing the connection, so callers failed with confusing parse errors instead of a clear "unreachable". Fixed in websocket.ts fallbacks and AGENTS.md.
  • mainnetFork type widening fixedsupportedChains.ts asserted mainnetFork as chains.Chain, widening the network: "devnet" literal to string and breaking the literal-type indexing contract.ts depends on. Any project targeting mainnetFork failed check-types with 9 errors.
  • README version drift now machine-asserted — the "Compatible versions" block had been wrong for ~6 months, telling users to install Scarb 2.15.1 against a template needing 2.20.0. Corrected and bound to .tool-versions by CI.
  • CI path filters corrected — root .tool-versions, package.json and yarn.lock were in no filter, so toolchain bumps skipped CI entirely. Workflow changes now also get CI on pull requests.
  • Toolchain guardrailsstarknet-foundry/snforge_std version-pair check, openzeppelin_interfaces bounded to the 2.x line, should_panic coverage on the Cairo gate.

Note on the shared Alchemy RPC key

The template ships a shared public demo endpoint so it works on first run. It is an RPC gateway key, not a signing key. For anything beyond a first run — especially workshops, where a whole room shares one rate limit — get your own free Alchemy key and set RPC_URL_SEPOLIA / RPC_URL_MAINNET.

What's Changed

  • chore(sync): drop stale P rules for files deleted upstream by @tu11aa in #729
  • test(cairo): add should_panic coverage to the contract gate by @tu11aa in #731
  • ci: Add check to ensure starknet-foundry and snforge_std versions are in sync by @tu11aa in #732
  • chore(cairo): bound openzeppelin_interfaces to the 2.x line by @tu11aa in #733
  • docs(readme): correct Compatible versions and assert it against .tool-versions by @tu11aa in #734
  • fix(ci): make README compat-block version asserts heading-level agnostic by @tu11aa in #735
  • fix(ci): add root-level dependency files to Next.js CI path filters by @tu11aa in #736
  • fix: widen-safe mainnetFork typing and replace dead Blast RPC endpoints by @tu11aa in #737
  • fix: run CI on pull requests that change workflow files by @tu11aa in #738

Full Changelog: v3.1.0...v3.1.1