Fix DryRunApi client-facing XCM versions (#7438)
# Description
Fixes #7413
## Integration
This PR updates the `DryRunApi`. The signature of the `dry_run_call` is
changed, and the XCM version of the return values of `dry_run_xcm` now
follows the version of the input XCM program.
## Review Notes
* **The `DryRunApi` is modified**
* **Added the `Router::clear_messages` to `dry_run_xcm` common
implementation**
* **Fixed the xcmp-queue's Router's clear_messages: channels details'
first_index and last_index are reset when clearing**
* **The MIN_XCM_VERSION is added**
* The common implementation in the `pallet-xcm` is modified accordingly
* The `DryRunApi` tests are modified to account for testing old XCM
versions
* The implementation from the `pallet-xcm` is used where it was not used
(including the `DryRunApi` tests)
* All the runtime implementations are modified according to the Runtime
API change
---------
Co-authored-by:
Adrian Catangiu <adrian@parity.io>
Showing
- Cargo.lock 135 additions, 135 deletionsCargo.lock
- cumulus/pallets/xcmp-queue/Cargo.toml 1 addition, 1 deletioncumulus/pallets/xcmp-queue/Cargo.toml
- cumulus/pallets/xcmp-queue/src/lib.rs 6 additions, 0 deletionscumulus/pallets/xcmp-queue/src/lib.rs
- cumulus/parachains/integration-tests/emulated/common/src/macros.rs 3 additions, 3 deletions...arachains/integration-tests/emulated/common/src/macros.rs
- cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/src/tests/xcm_fee_estimation.rs 2 additions, 2 deletions...s/assets/asset-hub-rococo/src/tests/xcm_fee_estimation.rs
- cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/src/tests/xcm_fee_estimation.rs 2 additions, 2 deletions.../assets/asset-hub-westend/src/tests/xcm_fee_estimation.rs
- cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs 4 additions, 3 deletions...us/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs
- cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs 3 additions, 2 deletions...s/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
- cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs 3 additions, 3 deletions...achains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs
- cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs 3 additions, 3 deletions...chains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs
- cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs 3 additions, 3 deletions...hains/runtimes/collectives/collectives-westend/src/lib.rs
- cumulus/parachains/runtimes/contracts/contracts-rococo/src/lib.rs 3 additions, 3 deletions...parachains/runtimes/contracts/contracts-rococo/src/lib.rs
- cumulus/parachains/runtimes/coretime/coretime-rococo/src/lib.rs 3 additions, 3 deletions...s/parachains/runtimes/coretime/coretime-rococo/src/lib.rs
- cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs 3 additions, 3 deletions.../parachains/runtimes/coretime/coretime-westend/src/lib.rs
- cumulus/parachains/runtimes/people/people-rococo/src/lib.rs 3 additions, 3 deletionscumulus/parachains/runtimes/people/people-rococo/src/lib.rs
- cumulus/parachains/runtimes/people/people-westend/src/lib.rs 3 additions, 3 deletionscumulus/parachains/runtimes/people/people-westend/src/lib.rs
- cumulus/parachains/runtimes/testing/penpal/src/lib.rs 7 additions, 56 deletionscumulus/parachains/runtimes/testing/penpal/src/lib.rs
- polkadot/node/service/Cargo.toml 1 addition, 1 deletionpolkadot/node/service/Cargo.toml
- polkadot/node/service/src/fake_runtime_api.rs 4 additions, 2 deletionspolkadot/node/service/src/fake_runtime_api.rs
- polkadot/runtime/rococo/src/lib.rs 4 additions, 4 deletionspolkadot/runtime/rococo/src/lib.rs