Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup testnet system parachain runtimes benchmarking for delivering to sibling parachains instead of Parent #7211

Open
4 tasks
bkontur opened this issue Jan 16, 2025 · 4 comments · May be fixed by #7321
Open
4 tasks
Labels
C1-mentor A task where a mentor is available. Please indicate in the issue who the mentor could be. C2-good-first-issue A task for a first time contributor to become familiar with the Polkadot-SDK. T6-XCM This PR/Issue is related to XCM. T12-benchmarks This PR/Issue is related to benchmarking and weights.

Comments

@bkontur
Copy link
Contributor

bkontur commented Jan 16, 2025

Description

Currently, all system parachains benchmarking setups for pallet_xcm::benchmarking::Config or pallet_xcm_benchmarks::Config are written to deliver to the Parent (i.e., the relay chain), such as for all asset transfers.

As we are transitioning functionality, like balances, from the relay chain to the asset hubs, we need to update these benchmarks to reflect this migration.

Relevant Changes

Delivery Helpers:
Replace DeliveryHelpers that use cumulus_primitives_utility::ToParentDeliveryHelper (example) with polkadot_runtime_common::xcm_sender::ToParachainDeliveryHelper (example).

Destination Updates:
Review and update all destinations used in the benchmarks, including:

  • fn valid_destination()
  • fn subscribe_origin()
  • fn set_up_complex_asset_transfer()
  • TrustedTeleporter
  • ...

This ensures the benchmarks are aligned with the changes in architecture and accurately reflect the new delivery paths.

TODO/Progress

  • revisit/fix all system parachain benchmark setup for pallet_xcm::benchmarking::Config
  • revisit/fix all system parachain benchmark setup for pallet_xcm_benchmarks::Config
  • check all other non-xcm benchmarks
  • investigate coretime (uses calls to Parent) ?

Follow-up

Tracking issue for polkadot-fellows: polkadot-fellows/runtimes#546

@bkontur bkontur added C1-mentor A task where a mentor is available. Please indicate in the issue who the mentor could be. T12-benchmarks This PR/Issue is related to benchmarking and weights. T6-XCM This PR/Issue is related to XCM. labels Jan 16, 2025
@acatangiu acatangiu added the C2-good-first-issue A task for a first time contributor to become familiar with the Polkadot-SDK. label Jan 16, 2025
@EleisonC
Copy link
Contributor

Hey @bkontur I don't mind picking this up if it's still free

@bkontur
Copy link
Contributor Author

bkontur commented Jan 22, 2025

@EleisonC Do you have an estimate of when you can complete it?

@EleisonC
Copy link
Contributor

@EleisonC Do you have an estimate of when you can complete it?

Hey @bkontur I am estimating one day to get a PR up with the first couple of refactors. To complete might depend on feedback involved.

@bkontur
Copy link
Contributor Author

bkontur commented Jan 23, 2025

@EleisonC Do you have an estimate of when you can complete it?

Hey @bkontur I am estimating one day to get a PR up with the first couple of refactors. To complete might depend on feedback involved.

@EleisonC ok, I suggest starting with just one runtime, AssetHubWestend. Once it works as expected, we can simply apply the changes to the others.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C1-mentor A task where a mentor is available. Please indicate in the issue who the mentor could be. C2-good-first-issue A task for a first time contributor to become familiar with the Polkadot-SDK. T6-XCM This PR/Issue is related to XCM. T12-benchmarks This PR/Issue is related to benchmarking and weights.
Projects
Status: No status
Status: No status
3 participants