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

poc(XCM): Deny Nested XCM Barriers #7351

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
faa431a
Fix for DenyThenTry
yrong Jan 15, 2025
d0748cf
Apply suggestions from code review
bkontur Jan 15, 2025
bf669bb
Rename to DenyExportMessageFrom with comments
yrong Jan 15, 2025
716ccdc
Move DenyExportMessageFrom to bridge-hub-common
yrong Jan 15, 2025
17c9b14
Merge branch 'fix-for-deny-then-try' of https://github.com/yrong/polk…
yrong Jan 15, 2025
e10587b
Update comments
yrong Jan 15, 2025
d83dadb
Add the prdoc
yrong Jan 15, 2025
0b4c955
Merge branch 'master' into fix-for-deny-then-try
yrong Jan 15, 2025
ac810f7
Refactor DenyExecution to be more explicit
yrong Jan 15, 2025
8f0af5b
Update prdoc/pr_7169.prdoc
yrong Jan 15, 2025
67e7991
Merge branch 'master' into fix-for-deny-then-try
yrong Jan 15, 2025
ee8de3e
Merge branch 'master' into fix-for-deny-then-try
yrong Jan 16, 2025
2b496e5
Update polkadot/xcm/xcm-executor/src/traits/should_execute.rs
bkontur Jan 16, 2025
81ec7f1
Update polkadot/xcm/xcm-executor/src/traits/should_execute.rs
bkontur Jan 16, 2025
17c4972
Improve tests
yrong Jan 16, 2025
58d7990
Test for DenyReserveTransferToRelayChain
yrong Jan 16, 2025
2258ab1
Merge branch 'fix-for-deny-then-try' of https://github.com/yrong/polk…
yrong Jan 16, 2025
dbfe244
Merge branch 'master' into fix-for-deny-then-try
yrong Jan 17, 2025
462c049
Apply suggestions from code review
bkontur Jan 17, 2025
6e578bf
Update polkadot/xcm/xcm-builder/src/tests/barriers.rs
bkontur Jan 17, 2025
e4acb39
Update from bkontur running command 'fmt'
Jan 17, 2025
8b94963
Move dummy impls to tests
yrong Jan 17, 2025
b2f7338
More tests
yrong Jan 17, 2025
a8a7ea3
Merge branch 'fix-for-deny-then-try' of https://github.com/yrong/polk…
yrong Jan 17, 2025
a78449e
Fix comments
yrong Jan 17, 2025
ddba5dc
Apply suggestions from code review
bkontur Jan 17, 2025
66814c9
Update polkadot/xcm/xcm-executor/src/traits/should_execute.rs
bkontur Jan 21, 2025
02912a6
Update cumulus/parachains/runtimes/bridge-hubs/common/tests/tests.rs
bkontur Jan 21, 2025
5d3a5e7
Merge branch 'master' into fix-for-deny-then-try
bkontur Jan 21, 2025
85b06c2
Add comments
yrong Jan 21, 2025
dfbafc5
Merge branch 'master' into fix-for-deny-then-try
yrong Jan 21, 2025
a842c4d
Fix clippy
yrong Jan 22, 2025
c7cd51d
Merge branch 'fix-for-deny-then-try' of https://github.com/yrong/polk…
yrong Jan 22, 2025
551afc1
Update polkadot/xcm/xcm-executor/src/traits/should_execute.rs
yrong Jan 22, 2025
cd33044
Update polkadot/xcm/xcm-executor/src/traits/should_execute.rs
yrong Jan 22, 2025
639177b
Update polkadot/xcm/xcm-executor/src/traits/should_execute.rs
yrong Jan 22, 2025
7564e23
Update cumulus/parachains/runtimes/bridge-hubs/common/src/barriers.rs
yrong Jan 22, 2025
d9c2f0e
Update cumulus/parachains/runtimes/bridge-hubs/common/src/barriers.rs
yrong Jan 22, 2025
a04aae2
Merge branch 'fix-for-deny-then-try' of https://github.com/yrong/polk…
yrong Jan 22, 2025
c038e86
Merge branch 'master' into fix-for-deny-then-try
yrong Jan 22, 2025
234a5e7
Merge branch 'master' into fix-for-deny-then-try
franciscoaguirre Jan 24, 2025
b39f07e
Update polkadot/xcm/xcm-builder/src/tests/barriers.rs
yrong Jan 25, 2025
110d42e
Update polkadot/xcm/xcm-builder/src/tests/barriers.rs
yrong Jan 25, 2025
8699575
Update cumulus/parachains/runtimes/bridge-hubs/common/src/barriers.rs
yrong Jan 25, 2025
3cd6bf5
Merge branch 'master' into fix-for-deny-then-try
yrong Jan 25, 2025
6b65c81
Change return to Result<(), ProcessMessageError>
yrong Jan 25, 2025
03ff441
Fix tests
yrong Jan 25, 2025
8d61bfb
Merge branch 'master' into fix-for-deny-then-try
yrong Jan 26, 2025
663478c
Removed unused dependencies (partial progress) (#7329)
bkontur Jan 26, 2025
022b4eb
Merge branch 'bko-deny-nested-xcm-barrier' into ray-deny-nested-xcm-b…
raymondkfcheung Jan 27, 2025
92f6f65
Remove ssert_matches
raymondkfcheung Jan 27, 2025
065bf4f
Update from raymondkfcheung running command 'fmt'
github-actions[bot] Jan 27, 2025
4e69018
Draft hardcode in DenyThenTry
raymondkfcheung Jan 27, 2025
a6431e6
Add nested Deny executions
raymondkfcheung Jan 27, 2025
b06c1fb
Merge branch 'master' into ray-deny-nested-xcm-barrier
raymondkfcheung Jan 27, 2025
ab843a6
Merge branch 'bko-deny-nested-xcm-barrier' into ray-deny-nested-xcm-b…
raymondkfcheung Jan 28, 2025
4586d2d
Fix format
raymondkfcheung Jan 28, 2025
45279ed
Merge branch 'bko-deny-nested-xcm-barrier' into ray-deny-nested-xcm-b…
raymondkfcheung Jan 29, 2025
4df8b02
Add PoC with HardcodedDenyThenTry
raymondkfcheung Jan 29, 2025
00b3db9
Add test with valid nested XCM
raymondkfcheung Jan 29, 2025
a6cd879
Merge branch 'bko-deny-nested-xcm-barrier' into ray-deny-nested-xcm-b…
raymondkfcheung Jan 29, 2025
d3de6d7
Add DenyFirstInstructionsWithXcm
raymondkfcheung Jan 29, 2025
ace0624
Add tests for DenyFirstInstructionsWithXcm
raymondkfcheung Jan 29, 2025
848f31b
Fix tests for DenyFirstInstructionsWithXcm
raymondkfcheung Jan 29, 2025
8bc5246
Fix tests for DenyFirstInstructionsWithXcm
raymondkfcheung Jan 29, 2025
3b30403
Impl DenyExecution
raymondkfcheung Jan 29, 2025
b7cf96d
Reuse DenyInstructionsWithXcm
raymondkfcheung Jan 30, 2025
e027ea4
Move dummy filters to mock
raymondkfcheung Jan 30, 2025
64a84fe
Refactor tests
raymondkfcheung Jan 30, 2025
a000802
Update comments
raymondkfcheung Jan 30, 2025
201945e
Fix warning
raymondkfcheung Jan 30, 2025
7787722
Remove unwanted imports
raymondkfcheung Jan 30, 2025
80421b0
Optimise imports
raymondkfcheung Jan 30, 2025
f25467c
Fix imports
raymondkfcheung Jan 30, 2025
1c61bb5
Update warnings
raymondkfcheung Jan 30, 2025
b4ca885
Export new Deny barriers
raymondkfcheung Jan 30, 2025
c8d0a66
Optimise imports
raymondkfcheung Jan 30, 2025
77f1a54
Use DenyExecution for tests
raymondkfcheung Jan 30, 2025
4d90d1e
Add DenyWrapper
raymondkfcheung Jan 31, 2025
3759aa5
Add comparison tests
raymondkfcheung Jan 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Rename to DenyExportMessageFrom with comments
  • Loading branch information
yrong committed Jan 15, 2025
commit bf669bb24eb069f3ae5cfe9b7e9f75ac9d7850e3
8 changes: 5 additions & 3 deletions polkadot/xcm/xcm-builder/src/barriers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -507,13 +507,15 @@ impl ShouldNotExecute for DenyReserveTransferToRelayChain {
}
}

// See https://github.com/paritytech/polkadot-sdk/pull/6838
pub struct DenyFirstExportMessageFrom<FromOrigin, ToGlobalConsensus>(
/// Deny execution if the message contains instruction `ExportMessage` with
/// a. origin is contained in `FromOrigin` (i.e.`FromOrigin::Contains(origin)`)
/// b. network is contained in `ToGlobalConsensus`, (i.e. `ToGlobalConsensus::contains(network)`)
pub struct DenyExportMessageFrom<FromOrigin, ToGlobalConsensus>(
PhantomData<(FromOrigin, ToGlobalConsensus)>,
);

impl<FromOrigin, ToGlobalConsensus> ShouldNotExecute
for DenyFirstExportMessageFrom<FromOrigin, ToGlobalConsensus>
for DenyExportMessageFrom<FromOrigin, ToGlobalConsensus>
where
FromOrigin: Contains<Location>,
ToGlobalConsensus: Contains<NetworkId>,
Expand Down
6 changes: 3 additions & 3 deletions polkadot/xcm/xcm-builder/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ mod barriers;
pub use barriers::{
AllowExplicitUnpaidExecutionFrom, AllowHrmpNotificationsFromRelayChain,
AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom,
AllowUnpaidExecutionFrom, DenyFirstExportMessageFrom, DenyReserveTransferToRelayChain,
DenyThenTry, IsChildSystemParachain, IsParentsOnly, IsSiblingSystemParachain,
RespectSuspension, TakeWeightCredit, TrailingSetTopicAsId, WithComputedOrigin,
AllowUnpaidExecutionFrom, DenyExportMessageFrom, DenyReserveTransferToRelayChain, DenyThenTry,
IsChildSystemParachain, IsParentsOnly, IsSiblingSystemParachain, RespectSuspension,
TakeWeightCredit, TrailingSetTopicAsId, WithComputedOrigin,
};

mod controller;
Expand Down
17 changes: 4 additions & 13 deletions polkadot/xcm/xcm-builder/src/tests/barriers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -546,7 +546,7 @@ parameter_types! {
#[test]
fn deny_reserver_transfer_to_relaychain_should_work() {
pub type Barrier = DenyThenTry<
(DenyReserveTransferToRelayChain, DenyFirstExportMessageFrom<Everything, Everything>),
(DenyReserveTransferToRelayChain, DenyExportMessageFrom<Everything, Everything>),
TakeWeightCredit,
>;

Expand All @@ -571,10 +571,7 @@ fn deny_export_message_from_source_other_than_asset_hub_should_work() {
pub type Barrier = DenyThenTry<
(
DenyReserveTransferToRelayChain,
DenyFirstExportMessageFrom<
EverythingBut<Equals<AssetHubLocation>>,
Equals<EthereumNetwork>,
>,
DenyExportMessageFrom<EverythingBut<Equals<AssetHubLocation>>, Equals<EthereumNetwork>>,
),
TakeWeightCredit,
>;
Expand Down Expand Up @@ -603,10 +600,7 @@ fn allow_export_message_from_asset_hub_should_work() {
pub type Barrier = DenyThenTry<
(
DenyReserveTransferToRelayChain,
DenyFirstExportMessageFrom<
EverythingBut<Equals<AssetHubLocation>>,
Equals<EthereumNetwork>,
>,
DenyExportMessageFrom<EverythingBut<Equals<AssetHubLocation>>, Equals<EthereumNetwork>>,
),
TakeWeightCredit,
>;
Expand Down Expand Up @@ -635,10 +629,7 @@ fn allow_export_message_from_source_other_than_asset_hub_if_destination_other_th
pub type Barrier = DenyThenTry<
(
DenyReserveTransferToRelayChain,
DenyFirstExportMessageFrom<
EverythingBut<Equals<AssetHubLocation>>,
Equals<EthereumNetwork>,
>,
DenyExportMessageFrom<EverythingBut<Equals<AssetHubLocation>>, Equals<EthereumNetwork>>,
),
TakeWeightCredit,
>;
Expand Down