Skip to content

chore: sync dependency versions from polkadot-docs (stable2603-1)#298

Merged
brunopgalvao merged 7 commits into
masterfrom
chore/sync-versions-stable2603-1
Jun 29, 2026
Merged

chore: sync dependency versions from polkadot-docs (stable2603-1)#298
brunopgalvao merged 7 commits into
masterfrom
chore/sync-versions-stable2603-1

Conversation

@brunopgalvao

@brunopgalvao brunopgalvao commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Companion to polkadot-developers/polkadot-docs#1716. Syncs versions.yml and the per-harness manifests to the post-update docs variables.yml, plus fixes pre-existing CI breakages surfaced by running the suite.

Dependency sync (versions.yml + per-harness pins)

Dependency From → To
polkadot_sdk.release_tag polkadot-stable2512-3polkadot-stable2603-1
crates.subxt / subxt_cli (+ subxt_signer) 0.50.00.50.1
parachain_template.crates.polkadot_omni_node 0.14.00.15.0
polkadot_api 2.0.12.1.0
chopsticks 1.2.81.3.1
resolc 1.0.01.2.0
hardhat_polkadot (+ solc 0.8.35) 0.2.70.3.0
paraspell_sdk 13.2.213.4.0
hdkd / hdkd_helpers 0.0.27/0.0.280.0.28/0.0.30
polkadot_keyring / util-crypto 14.0.214.0.3

All 18 affected lockfiles regenerated; check-js-versions reports no drift.

CI fixes (pre-existing failures, not caused by the version bumps)

All 7 workflows that were red were already failing on master before this PR, from upstream/infra causes:

  1. core2 yanked from crates.io broke the revive-dev-node build (Contracts Example, Contracts Precompile dep, REVM Uniswap V2 Core/Periphery). Added --locked to setup-revive-dev-node so the polkadot-sdk lockfile pins it.
  2. Chopsticks RPC endpoints in the fork configs (ibp.network, dwellir, amforc, radiumblock) reject GitHub Actions runners. Switched to endpoints proven in CI: rpc.polkadot.io (Polkadot) and Zondax/dotters.network (Paseo). (Fork a Parachain, XCM Fee Estimation)
    • The papi/subxt chain-interaction harnesses (calculate-transaction-fees, query-accounts, query-sdks, runtime-api-calls, send-transactions) connected directly to asset-hub-paseo.dotters.network, whose metadata fetch (papi add/subxt metadata) hung with no step timeout. Switched them (TS/Python/Rust/workflows) to Zondax wss://api2.zondax.ch/pas/assethub/node/rpc — verified locally (papi add ~10s; calculate-transaction-fees 4/4).
  3. Pay Fees: metadata/ is gitignored → subxt metadata -o ENOENT on fresh checkout (added mkdir -p metadata); and its test teardown ran a broad pkill -f chopsticks that SIGTERM'd its own ancestor — replaced with PID-scoped process-group kill (mirrors convert-assets).
  4. Contracts Precompile / setup-zombienet-eth-rpc: from stable2603 the Asset Hub runtime requires the collator to supply relay-parent descendants; the default lookahead collator doesn't, so the parachain panicked and stalled at block #0. Added --authoring slot-based to the polkadot-parachain collator.

Verification

  • Offline-capable harnesses verified locally (resolc/hardhat/solc compile, subxt pay-fees 0.50.1, keyring/util-crypto, full pay-fees suite 3/3).
  • The stable2603-1 zombienet Asset Hub block-production fix (FEAT - contributor workflows, tutorial CI, and script generation + example tutorial #4) was reproduced and validated locally using the aarch64-apple-darwin stable2603-1 binaries: default collator → stuck at #0 (runtime trap); --authoring slot-based → blocks produced.
  • Network-dependent harnesses validated by this repo's CI (the sandbox used to prepare the PR cannot reach Paseo/Asset-Hub testnet RPCs).

Out of scope (pre-existing drift)

  • subxt test crates query-accounts/query-sdks/runtime-api-calls/send-transactions stay at 0.44.2 (0.44→0.50 is a source migration).
  • dot/sdk scaffolding templates remain on polkadot-api 1.23.3 (separate major).

Syncs versions.yml and per-harness manifests to the post-update
polkadot-docs variables.yml.

versions.yml:
- polkadot_sdk.release_tag: polkadot-stable2512-3 -> polkadot-stable2603-1
- crates.subxt / subxt_cli: 0.50.0 -> 0.50.1 (+ add subxt_signer 0.50.1)
- parachain_template.crates.polkadot_omni_node: 0.14.0 -> 0.15.0
- polkadot_api: 2.0.1 -> 2.1.0, chopsticks: 1.2.8 -> 1.3.1,
  resolc: 1.0.0 -> 1.2.0, hardhat_polkadot: 0.2.7 -> 0.3.0 (+ add solc 0.8.35),
  paraspell_sdk: 13.2.2 -> 13.4.0, hdkd: 0.0.27 -> 0.0.28,
  hdkd_helpers: 0.0.28 -> 0.0.30, keyring/util-crypto: 14.0.2 -> 14.0.3

Per-harness package.json + Cargo.toml pins bumped to match, lockfiles regenerated.

Verified locally (offline-capable):
- hardhat-pvm: resolc 1.2.0 + hardhat-polkadot 0.3.0 + solc compile/ABI pass
  (only the live-testnet deploy step soft-fails — no network).
- subxt-pay-fees: 0.50.0 -> 0.50.1 compiles.
- create-account: keyring/util-crypto 14.0.3 pass.
- check-js-versions: no drift across 52 package.json files.
- stable2603-1 relay binaries + npm/crate targets all resolve.

Deferred to CI (sandbox cannot reach Paseo/Asset-Hub testnet RPCs):
- All chopsticks-fork + live-chain query/tx + paraspell transfer harnesses.
- Heavy local-node/zombienet parachain builds (run clean in CI).

Out of scope (pre-existing drift, not these issues):
- subxt test crates query-accounts/query-sdks/runtime-api-calls/send-transactions
  stay at 0.44.2; jumping to 0.50.1 is a 0.44->0.50 source migration that
  breaks compilation (storage()/runtime_api()/generated apis() API changes).
- dot/sdk SDK templates remain on polkadot-api 1.23.3 (separate major upgrade).
…, missing dir)

These 7 workflows were already red on master before the version sync,
from upstream/infra breakage unrelated to the dependency bumps:

1. revive-dev-node build (Contracts Example, Contracts Precompile,
   REVM Uniswap V2 Core/Periphery): the transitive `core2` crate was
   yanked from crates.io, so `cargo install` without --locked fails to
   resolve it. Added --locked so the polkadot-sdk Cargo.lock pins it
   (yanked crates install fine when locked).

2. Chopsticks fork tests (Fork a Parachain, XCM Fee Estimation): the
   configured community RPC providers (ibp.network, dwellir, amforc,
   radiumblock) fail from GitHub Actions runners. Switched to endpoints
   proven to work in CI by the passing harnesses: rpc.polkadot.io for
   Polkadot, and the dotters.network family for Paseo (asset-hub-paseo
   .dotters.network is already used by passing convert-assets/register
   harnesses). Chopsticks itself and its endpoint fallback work fine.

3. Pay Fees: `metadata/` is gitignored and absent on a fresh checkout,
   so `subxt metadata -o metadata/asset_hub.scale` failed with ENOENT
   at the output path. Added `mkdir -p metadata`.

Verified locally: chopsticks 1.3.1 binds against rpc.polkadot.io in ~2s
and falls back past a bad first endpoint; core2 0.4.0 is pinned with a
checksum in the polkadot-sdk Cargo.lock at polkadot-stable2603-1.
people-paseo.dotters.network does not exist (dotters/IBP doesn't serve the
Paseo People Chain; the polkadot-js apps-config registry lists only Amforc
and Zondax). Amforc rejects GitHub Actions runners. Switched to Zondax
(reachable, Cloudflare-fronted) with Amforc as a fallback in the endpoint
array, which chopsticks tries in order.
The dotters endpoint works for direct PAPI connections but timed out under
chopsticks forking (port 8001 'did not become ready'). Zondax's People
endpoint started fine under chopsticks in the same CI run, so use Zondax for
Asset Hub too (with Dwellir as array fallback).
The suite failed only in afterAll: `execSync("pkill -f 'chopsticks' || true")`
matches an ancestor of the pkill shell, which is then SIGTERM'd before `|| true`
is evaluated, so execSync throws and fails the suite. The 3 tests themselves
pass. Ported the safe teardown from the passing convert-assets harness
(SIGTERM then SIGKILL on our own detached process group by PID).

Verified locally: full npm test passes 3/3 against a real polkadot-asset-hub
chopsticks fork, clean teardown.
The Contracts Precompile recipe spins up Asset Hub Westend via zombienet. At
polkadot-stable2603-1 the parachain stayed stuck at block #0; the collator's
runtime panicked in cumulus parachain-system:

  Unable to verify provided relay parent descendants.
  expected_rp_descendants_num: 1, error: InvalidNumberOfDescendants { expected: 2, received: 0 }

From stable2603 the Asset Hub runtime expects the collator to supply
relay-parent descendants, which the default lookahead collator does not.
Adding '--authoring slot-based' switches to the slot-based collator that
provides them.

Reproduced locally with the stable2603-1 aarch64-apple-darwin binaries:
default collator => stuck at #0 (runtime trap); with --authoring slot-based
=> parachain produces blocks (#1, #2 by ~190s, within the 600s timeout).
… RPC

The 5 papi/subxt chain-interaction harnesses (calculate-transaction-fees,
query-accounts, query-sdks, runtime-api-calls, send-transactions) connect
directly to Paseo Asset Hub via wss://asset-hub-paseo.dotters.network. That
endpoint became unreliable for metadata fetch: `papi add` (and `subxt
metadata`) hang with no step timeout, so the jobs ran until GitHub's limit.

Switched all executable references (docs.test.ts, *.py, subxt *.rs, the
workflow papi-add/subxt-metadata steps, and READMEs) to Zondax
(wss://api2.zondax.ch/pas/assethub/node/rpc) — same chain, reliable provider,
consistent with the chopsticks endpoint fixes in this PR.

Verified locally: papi add against Zondax completes in ~10s (vs hanging on
dotters), and calculate-transaction-fees `npm test` passes 4/4 in 6.7s.
@brunopgalvao brunopgalvao self-assigned this Jun 29, 2026
@brunopgalvao brunopgalvao marked this pull request as ready for review June 29, 2026 11:18
@brunopgalvao brunopgalvao merged commit 2064b6b into master Jun 29, 2026
97 checks passed
@brunopgalvao brunopgalvao deleted the chore/sync-versions-stable2603-1 branch June 29, 2026 11:22
@brunopgalvao brunopgalvao mentioned this pull request Jun 29, 2026
9 tasks
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.

1 participant