pallet-xcm: ensure xcm outcome is always complete, revert effects otherwise (#2405)
On extrinsics/call, ensure local XCM execution is complete/successful.
Otherwise, fail the extrinsic so that state changes don't get committed
to the db.
Added regression tests that fail without the fix.
fixes #2237
---------
Co-authored-by:
Adrian Catangiu <adrian@parity.io>
Showing
- Cargo.lock 1 addition, 0 deletionsCargo.lock
- cumulus/parachains/runtimes/assets/test-utils/src/test_cases.rs 4 additions, 4 deletions...s/parachains/runtimes/assets/test-utils/src/test_cases.rs
- cumulus/parachains/runtimes/assets/test-utils/src/test_cases_over_bridge.rs 2 additions, 2 deletions.../runtimes/assets/test-utils/src/test_cases_over_bridge.rs
- polkadot/xcm/pallet-xcm/src/lib.rs 23 additions, 5 deletionspolkadot/xcm/pallet-xcm/src/lib.rs
- polkadot/xcm/pallet-xcm/src/mock.rs 7 additions, 0 deletionspolkadot/xcm/pallet-xcm/src/mock.rs
- polkadot/xcm/pallet-xcm/src/tests/assets_transfer.rs 58 additions, 0 deletionspolkadot/xcm/pallet-xcm/src/tests/assets_transfer.rs
- polkadot/xcm/pallet-xcm/src/tests/mod.rs 47 additions, 1 deletionpolkadot/xcm/pallet-xcm/src/tests/mod.rs
- polkadot/xcm/src/v3/traits.rs 2 additions, 2 deletionspolkadot/xcm/src/v3/traits.rs
- polkadot/xcm/xcm-executor/integration-tests/Cargo.toml 1 addition, 0 deletionspolkadot/xcm/xcm-executor/integration-tests/Cargo.toml
- polkadot/xcm/xcm-executor/integration-tests/src/lib.rs 65 additions, 21 deletionspolkadot/xcm/xcm-executor/integration-tests/src/lib.rs
Please register or sign in to comment