Skip to content

[Penpal] cleanup XCM config setup regarding assets#10726

Merged
acatangiu merged 150 commits into
paritytech:masterfrom
clangenb:cl/penpal-xcm-config
Mar 26, 2026
Merged

[Penpal] cleanup XCM config setup regarding assets#10726
acatangiu merged 150 commits into
paritytech:masterfrom
clangenb:cl/penpal-xcm-config

Conversation

@clangenb

@clangenb clangenb commented Jan 5, 2026

Copy link
Copy Markdown
Contributor

Closes #7314 by implementing all the subtasks mentioned in #7314 (comment).

Changes

Essentially, the main driver of all changes is that we adjust the Penpal runtime as follows:

  • Make the native token the base token for buying weight (before it was a hybrid set up, probably not 100% intentional).
  • Merge the Assets and the ForeignAssets pallet into one pallet called Assets, as the local assets can also be identified with a location starting with parents: 0.
  • Give the pallet-asset-conversion a genesis config so that we can easily set up pools at genesis instead of redundantly calling the setup macro with the same args.

Test Changes

I tried to keep the changes minimal in the tests in order to not harm any previously established invariants. Hence, in most cases I just did:

  • Add a PEN<>WND pool in order to be able to pay xcm execution fees in WND
  • Replaced the Penpal's teleportable asset with it's new location based version.
  • In very few cases, I switched from WND to PEN to make the tests easier, when I was sure that no invariants would be harmed.
  • The rest should only be renamings.

@clangenb clangenb requested a review from a team as a code owner January 5, 2026 16:08
@clangenb clangenb marked this pull request as draft January 5, 2026 16:09
clangenb and others added 4 commits March 24, 2026 07:21
…s/assets/asset-hub-rococo/src/genesis.rs

Co-authored-by: Adrian Catangiu <adrian@parity.io>
…et-hub-westend/src/tests/xcm_fee_estimation.rs

Co-authored-by: Adrian Catangiu <adrian@parity.io>
@clangenb

Copy link
Copy Markdown
Contributor Author

/cmd prdoc --audience runtime_dev --bump minor

Comment thread cumulus/parachains/integration-tests/emulated/common/src/macros.rs Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Command "prdoc --audience runtime_dev --bump minor" has failed ❌! See logs here

@clangenb

Copy link
Copy Markdown
Contributor Author

/cmd prdoc --audience runtime_dev --bump minor --force

Comment on lines -222 to +232
let asset_id_for_delivery_fees = VersionedAssetId::from(Location::parent());
let asset_id_for_delivery_fees = VersionedAssetId::from(Location::here());

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is controlled by the router configured in the executor

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The asset for delivery fees is defined in PriceForSiblingParachainDelivery and PriceForParentDelivery. They both use FeeAssetId which is set as Location::here() so they are using the penpal native asset

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much, I understand now. 👍

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there anything to do here? unclear

Comment thread substrate/frame/asset-conversion/src/lib.rs Outdated
clangenb and others added 2 commits March 25, 2026 22:44
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
@clangenb

Copy link
Copy Markdown
Contributor Author

Thanks for the reviews guys! I guess we can add this to the merge queue? 😄 🚀

@acatangiu acatangiu added this pull request to the merge queue Mar 26, 2026
Merged via the queue into paritytech:master with commit e8ad708 Mar 26, 2026
250 of 251 checks passed
pepoviola added a commit that referenced this pull request Mar 27, 2026
ggwpez added a commit to polkadot-fellows/runtimes that referenced this pull request May 4, 2026
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
fellowship-merge-bot Bot pushed a commit to polkadot-fellows/runtimes that referenced this pull request May 29, 2026
Integrates SDK release 2604.

## Contracts

- [x] @0xRVE —
[#11460](paritytech/polkadot-sdk#11460)
`CallbackHandle` check
- [x] @0xRVE —
[#11590](paritytech/polkadot-sdk#11590)
Asset-conversion precompile ·
[4759eb9](4759eb9)
- [x] @pgherveou —
[#11416](paritytech/polkadot-sdk#11416)
Auto-mapping (`AutoMap`) ·
[6dd3ddc](6dd3ddc)
#1165
- [x] @mokita-j —
[#11507](paritytech/polkadot-sdk#11507) Revive
debug enable

## Bridges

- [x] @acatangiu —
[#11694](paritytech/polkadot-sdk#11694)
`pallet_xcm_bridge_hub_router` `UnpaidExport` flag ·
[635ac29](635ac29)
- [x] @yrong —
[#11354](paritytech/polkadot-sdk#11354)
Snowbridge inbound nonce API ·
[c6fa9f2](c6fa9f2)

## Async backing / collator

- [x] @sandreim —
[#11778](paritytech/polkadot-sdk#11778)
Relay-parent offset

## Account recovery

- [x] @ggwpez —
[#10482](paritytech/polkadot-sdk#10482)
pallet-recovery modernization (HoldConsideration follow-up + re-bench) ·
[7401ea9](7401ea9)

## Penpal / integration tests

- [x] @clangenb —
[#10726](paritytech/polkadot-sdk#10726) Penpal
merged `Assets`/`ForeignAssets` (downstream fixups) ·
[3a8aa42](3a8aa42)
- [x] @clangenb — Encointer pallet integration 2604: Revert this
afterwards c944b09

## General

- [ ] Re-benchmark weights #1163 
- [x] Check for in-code TODOs
- [x] Check for all migrations

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com>
Co-authored-by: clangenb <37865735+clangenb@users.noreply.github.com>
Co-authored-by: Christian Langenbacher <clangenb@pm.me>
Co-authored-by: Monica Jin <monicachenjin@gmail.com>
Co-authored-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: Andrei Trandafir <142614787+andreitrand@users.noreply.github.com>
Co-authored-by: Christian Langenbacher <clangenb+gh@protonmail.ch>
Co-authored-by: Paolo La Camera <paolo@parity.io>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: GitHub Action <action@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T6-XCM This PR/Issue is related to XCM. T10-tests This PR/Issue is related to tests. T15-bridges This PR/Issue is related to bridges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Penpal xcm configuration cleanup

4 participants