XCM: Deny barrier checks for nested XCMs with specific instructions to be...
XCM: Deny barrier checks for nested XCMs with specific instructions to be executed on the local chain (#7200) Resolves (partially): https://github.com/paritytech/polkadot-sdk/issues/7148 Depends on: https://github.com/paritytech/polkadot-sdk/pull/7169 # Description This PR addresses partially #7148 (Problem 2) and ensures the proper checking of nested local instructions. It introduces a new barrier - `DenyRecursively` - to provide more refined control over instruction denial. The main change is the replacement of `DenyThenTry<Deny, Allow>` with `DenyThenTry<DenyRecursively<Deny>, Allow>` which handles both top-level and nested local instructions by applying allow condition after denial. For context and additional information, please refer to [_Problem 2 - Barrier vs nested XCM validation_](https://github.com/paritytech/polkadot-sdk/issues/7148). # TODO - [x] Evaluate PoC, more details at #7351: - **DenyNestedXcmInstructions**: Keep it as it is and be explicit: 1. Name the Deny barriers for...
parent
a48b3894
Pipeline
#516035
waiting for manual action
with stages
in
29 minutes and 13 seconds
Stage:
Stage:
Stage:
Stage:
Stage:
Showing
- Cargo.lock 1 addition, 0 deletionsCargo.lock
- cumulus/parachains/runtimes/assets/asset-hub-rococo/src/xcm_config.rs 2 additions, 2 deletions...chains/runtimes/assets/asset-hub-rococo/src/xcm_config.rs
- cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs 2 additions, 2 deletions...hains/runtimes/assets/asset-hub-westend/src/xcm_config.rs
- cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs 7 additions, 7 deletions.../runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs
- cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/xcm_config.rs 7 additions, 7 deletions...runtimes/bridge-hubs/bridge-hub-westend/src/xcm_config.rs
- cumulus/parachains/runtimes/collectives/collectives-westend/src/xcm_config.rs 8 additions, 8 deletions...untimes/collectives/collectives-westend/src/xcm_config.rs
- cumulus/parachains/runtimes/contracts/contracts-rococo/src/xcm_config.rs 4 additions, 4 deletions...ins/runtimes/contracts/contracts-rococo/src/xcm_config.rs
- cumulus/parachains/runtimes/coretime/coretime-rococo/src/xcm_config.rs 7 additions, 7 deletions...hains/runtimes/coretime/coretime-rococo/src/xcm_config.rs
- cumulus/parachains/runtimes/coretime/coretime-westend/src/xcm_config.rs 7 additions, 7 deletions...ains/runtimes/coretime/coretime-westend/src/xcm_config.rs
- cumulus/parachains/runtimes/people/people-rococo/src/xcm_config.rs 5 additions, 5 deletions...arachains/runtimes/people/people-rococo/src/xcm_config.rs
- cumulus/parachains/runtimes/people/people-westend/src/xcm_config.rs 5 additions, 5 deletions...rachains/runtimes/people/people-westend/src/xcm_config.rs
- polkadot/xcm/xcm-builder/Cargo.toml 4 additions, 1 deletionpolkadot/xcm/xcm-builder/Cargo.toml
- polkadot/xcm/xcm-builder/src/barriers.rs 93 additions, 0 deletionspolkadot/xcm/xcm-builder/src/barriers.rs
- polkadot/xcm/xcm-builder/src/lib.rs 3 additions, 3 deletionspolkadot/xcm/xcm-builder/src/lib.rs
- polkadot/xcm/xcm-builder/src/tests/barriers.rs 256 additions, 0 deletionspolkadot/xcm/xcm-builder/src/tests/barriers.rs
- polkadot/xcm/xcm-builder/tests/scenarios.rs 98 additions, 0 deletionspolkadot/xcm/xcm-builder/tests/scenarios.rs
- polkadot/xcm/xcm-executor/src/lib.rs 11 additions, 5 deletionspolkadot/xcm/xcm-executor/src/lib.rs
- prdoc/pr_7200.prdoc 40 additions, 0 deletionsprdoc/pr_7200.prdoc
- templates/parachain/runtime/src/configs/xcm_config.rs 3 additions, 2 deletionstemplates/parachain/runtime/src/configs/xcm_config.rs