Remove AssetHub<>AssetHub message lanes - #3314
Merged
Merged
Conversation
The AssetHubRococo<>AssetHubWestend message lanes added in #3143 cannot run against any existing chain: neither AssetHub runtime includes pallet-bridge-messages (only pallet-xcm-bridge-hub-router), so the `relay-messages asset-hub-rococo-to-bridge-hub-westend` / `asset-hub-westend-to-bridge-hub-rococo` CLI options have never had a target to relay to. Nothing in deployments/, the zombienet tests or the docs references them, and they are not wired into relay-headers-and-messages. Keeping them forces the two AssetHub relay-client codegens to be generated from bridging-enabled runtime blobs that are not reproducible from this repo, which in turn keeps them out of the regular polkadot-sdk-bump codegen refresh. Removes the two message lane modules, their FullBridge variants (whose names were copy-pasted from the parachains enum and said AssetHub..ToBridgeHub.. while relaying AssetHub -> AssetHub) and the now unused BridgeMessagesCall alias in both AssetHub clients. AssetHub parachain head syncing -- the actual subject of #3143 -- is untouched: it uses the AssetHub clients only as a source parachain and submits to the BridgeHubs. These lanes can be reintroduced once bridging on AssetHub lands in polkadot-sdk; the bridge-primitives crates are already there.
With the AssetHub<>AssetHub message lanes gone, nothing references the
bridging types any more, so these two codegens can finally be generated
from the pinned polkadot-sdk (bfe72652) like every other rococo/westend
relay-client:
scripts/generate-codegen.sh --target relay-clients \
--chains "asset-hub-rococo asset-hub-westend"
Previously they came from bridging-enabled asset_hub_*_runtime blobs that
are not reproducible from this repo, which is why the polkadot-sdk-bump
codegen refresh had to skip them. Now they track the pin.
The EXECUTED COMMAND header is kept in its committed form so the diff
carries only type changes, not local machine paths.
Validated: cargo clippy --all-targets --locked --workspace,
cargo +nightly fmt --all and scripts/check-codegen-compat.py (COMPATIBLE).
bkontur
enabled auto-merge (squash)
August 10, 2026 12:22
rosarp
approved these changes
Aug 10, 2026
bkontur
added a commit
that referenced
this pull request
Aug 10, 2026
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.
bkontur
added a commit
that referenced
this pull request
Aug 10, 2026
* Bump polkadot-sdk to cde8a924 and regenerate codegens 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. * Regenerate AssetHub codegens for the new pin 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. * Remove unused dependencies reported by cargo udeps `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"). * Remove dead imports from the zombie-ci gated tests `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. * Drop the isahc dependency and the static-ssl feature 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.
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.
The
AssetHubRococo<>AssetHubWestendmessage lanes added in #3143 cannot run against any existing chain: neither AssetHub runtime includespallet-bridge-messages(onlypallet-xcm-bridge-hub-router), so therelay-messages asset-hub-rococo-to-bridge-hub-westend/asset-hub-westend-to-bridge-hub-rococoCLI options never had a target to relay to. Nothing indeployments/, the zombienet tests or the docs references them, and they are not wired intorelay-headers-and-messages.Keeping them forced the two AssetHub relay-client codegens to be generated from bridging-enabled
asset_hub_*_runtimeblobs that are not reproducible from this repo, which is why the polkadot-sdk-bump codegen refresh had to skip them.Commit 1 removes the two message lane modules, their
FullBridgevariants (whose names were copy-pasted from the parachains enum and readAssetHub..ToBridgeHub..while relaying AssetHub -> AssetHub) and the now unusedBridgeMessagesCallalias in both AssetHub clients — 22 deletions plus the two files.Commit 2 regenerates both AssetHub codegens from the pinned polkadot-sdk (
bfe72652), so they finally track the pin like every other rococo/westend relay-client.AssetHub parachain head syncing — the actual subject of #3143 — is untouched: it uses the AssetHub clients only as a source parachain and submits to the BridgeHubs.
These lanes can be reintroduced once bridging on AssetHub lands in polkadot-sdk; the
asset-hub-*/bridge-primitivescrates are already there.Validated:
cargo clippy --all-targets --locked --workspace,cargo +nightly fmt --all,scripts/check-codegen-compat.py(COMPATIBLE).Note on merge order with #3313 (polkadot-sdk bump): whichever lands second needs the AssetHub codegens regenerated at the then-current pin. If this merges first, #3313 can drop its "AssetHubs excluded" caveat and regenerate all six chains normally.