Bump polkadot-sdk to cde8a924 and regenerate codegens - #3313
Merged
Conversation
Moves the pinned polkadot-sdk revision from bfe72652 to cde8a924 (master, 2026-08-07, 58 commits) and regenerates the rococo/westend codegens from the runtimes at that commit. Notable runtime changes picked up: Westend drops the staking stack (staking, nomination_pools, election_provider_multi_phase, fast_unstake, voter_list) and AssetHubWestend drops the parameters pallet. The relay-client version guards need no update -- all six rococo/westend runtimes are still at spec_version 1_024_001 with unchanged transaction_versions. The AssetHub relay-client codegens are deliberately left untouched: they are generated from bridging-enabled asset_hub_*_runtime blobs (#3143) and not from polkadot-sdk, whose AssetHubs carry only pallet-xcm-bridge-hub-router. Regenerating them from the SDK would drop pallet_bridge_messages and break client-asset-hub-*/src/lib.rs. Validated: cargo check --locked --workspace, clippy --all-targets, cargo +nightly fmt --all (no-op) and scripts/check-codegen-compat.py (COMPATIBLE). The zombienet suite was not run for this bump.
Now that #3314 made the AssetHub relay-client codegens track the pinned polkadot-sdk, they are part of the regular bump refresh -- regenerate them at cde8a924 too: scripts/generate-codegen.sh --target relay-clients \ --chains "asset-hub-rococo asset-hub-westend" AssetHubWestend drops the parameters pallet and gains the PSM types (PsmInfo, PsmAdminInfo, ExternalAssetInfo); AssetHubRococo only has minor type changes. All six rococo/westend relay-clients are now generated from the pin, so the AssetHub exception described earlier no longer applies.
… bump-polkadot-sdk-cde8a924
bkontur
enabled auto-merge (squash)
August 10, 2026 13:55
bkontur
disabled auto-merge
August 10, 2026 14:06
`cargo +nightly udeps --workspace --all-targets --all-features` reported
three unused deps in substrate-relay:
* `bridge-runtime-common` -- not referenced anywhere in substrate-relay,
and nothing else in the workspace depends on it, so it (and its
exclusive dependency `pallet-bridge-relayers`) drops out of Cargo.lock
entirely;
* `hex-literal` (dev-dependency) -- no `hex_literal`/`hex!` use left, in
tests or doc-tests;
* `isahc` -- a false positive: it is declared only so the `static-ssl`
feature can statically link OpenSSL and is never named in code. Record
it in `package.metadata.cargo-udeps.ignore` so future runs stay clean.
The two workspace-level entries are dropped as well, since substrate-relay
was their only user.
Validated: cargo check --locked --workspace, clippy --all-targets,
cargo test --workspace, and cargo udeps ("All deps seem to have been
used").
`cargo clippy --all-targets --locked --workspace` (as CI runs it) never lints this code, because the `zombie-ci` feature is off by default, so these went unnoticed: * an unused `anyhow::anyhow` import in both `environment.rs` files; * `free_balance_at` in the `rococo_westend` / `kusama_polkadot` re-export lists -- the call sites import it straight from `common::utils`. `cargo clippy --all-targets --all-features --locked` is now warning-free.
substrate-relay carried `isahc` plus a `static-ssl` feature purely to statically link OpenSSL, with a TODO to remove both once the polkadot-sdk pin contained paritytech/polkadot-sdk#12528. This bump does: cde8a924 includes eb93f6d583d ("bridges: remove dead FloatJsonValueMetric"), which dropped the libcurl-backed metric that made `relay-utils` pull `isahc` in the first place. At the new pin `relay-utils` has no HTTP client dependency at all, and the only Cargo.lock entry referencing `isahc` was substrate-relay's own optional declaration, so removing it drops isahc and its dependencies from the lock entirely. The feature is not needed to avoid a `libssl.so` runtime dependency: `openssl-sys` is already built `vendored` (statically, from source) via `sc-network -> litep2p[webrtc] -> str0m -> str0m-openssl`, and a release binary built without `static-ssl` links only libgcc_s/libm/libc -- no libssl/libcrypto. Since that comes from the dependency graph rather than the build host, it holds in the bullseye CI container too, so the zombienet workflow no longer passes `--features static-ssl`. Validated: cargo check --locked --workspace, clippy --all-targets --all-features, cargo test --workspace, cargo udeps ("All deps seem to have been used") and `ldd` on the release binary.
bkontur
enabled auto-merge (squash)
August 10, 2026 14:29
rosarp
approved these changes
Aug 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the pinned polkadot-sdk revision from
bfe72652tocde8a924(master, 2026-08-07, 58 commits) and regenerates the rococo/westend codegens from the runtimes at that commit.Runtime changes picked up:
staking,nomination_pools,election_provider_multi_phase,fast_unstake,voter_list)parameterspallet and gains the PSM types (PsmInfo,PsmAdminInfo,ExternalAssetInfo)Version guards need no update — all six rococo/westend runtimes are still at
spec_version 1_024_001with unchangedtransaction_versions.Now that #3314 has landed, all six rococo/westend relay-clients (AssetHubs included) are generated from the pin, so this bump regenerates them all — the earlier "AssetHubs excluded" exception no longer applies.
Merged with
origin/master(includes #3312 wasmtime 36.0.13 and #3314).Validated locally:
cargo check --locked --workspace,cargo clippy --all-targets --locked --workspace,cargo +nightly fmt --all(no-op),scripts/check-codegen-compat.py(COMPATIBLE). The zombienet suite was not run — worth aZombienet Testsrun before merging.