Skip to content

Commit

Permalink
Snowbridge - Disable create agent and create channel calls (polkadot-…
Browse files Browse the repository at this point in the history
…fellows#506)

Disable the Snowbridge create agent and channel calls, since they are
not used and will be overhauled in v2.

---------

Co-authored-by: joe petrowski <[email protected]>
  • Loading branch information
claravanstaden and joepetrowski authored Dec 19, 2024
1 parent 5b61c46 commit 2e73a6c
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 19 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Changed

- Kusama Treasury: remove funding to the Kappa Sigma Mu Society and disable burn ([polkadot-fellows/runtimes#507](https://github.com/polkadot-fellows/runtimes/pull/507))
- Remove Snowbridge create agent and channel extrinsics. ([polkadot-fellows/runtimes#506](https://github.com/polkadot-fellows/runtimes/pull/506))

#### From [#490](https://github.com/polkadot-fellows/runtimes/pull/490)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,14 +135,14 @@ fn create_agent() {

BridgeHubPolkadot::execute_with(|| {
type RuntimeEvent = <BridgeHubPolkadot as Chain>::RuntimeEvent;
// Check that a message was sent to Ethereum to create the agent
assert_expected_events!(
BridgeHubPolkadot,
vec![
RuntimeEvent::EthereumSystem(snowbridge_pallet_system::Event::CreateAgent {
..
}) => {},
]

let events = BridgeHubPolkadot::events();
assert!(
events.iter().any(|event| !matches!(
event,
RuntimeEvent::EthereumSystem(snowbridge_pallet_system::Event::CreateAgent { .. })
)),
"Create agent event found while not expected."
);
});
}
Expand Down Expand Up @@ -215,14 +215,13 @@ fn create_channel() {
BridgeHubPolkadot::execute_with(|| {
type RuntimeEvent = <BridgeHubPolkadot as Chain>::RuntimeEvent;

// Check that the Channel was created
assert_expected_events!(
BridgeHubPolkadot,
vec![
RuntimeEvent::EthereumSystem(snowbridge_pallet_system::Event::CreateChannel {
..
}) => {},
]
let events = BridgeHubPolkadot::events();
assert!(
events.iter().any(|event| !matches!(
event,
RuntimeEvent::EthereumSystem(snowbridge_pallet_system::Event::CreateChannel { .. })
)),
"Create channel event found while not expected."
);
});
}
Expand Down
24 changes: 21 additions & 3 deletions system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ use frame_support::{
genesis_builder_helper::{build_state, get_preset},
parameter_types,
traits::{
tokens::imbalance::ResolveTo, ConstBool, ConstU32, ConstU64, ConstU8, EitherOfDiverse,
Everything, TransformOrigin,
tokens::imbalance::ResolveTo, ConstBool, ConstU32, ConstU64, ConstU8, Contains,
EitherOfDiverse, TransformOrigin,
},
weights::{ConstantMultiplier, Weight, WeightToFee as _},
PalletId,
Expand Down Expand Up @@ -226,6 +226,24 @@ parameter_types! {
pub const SS58Prefix: u8 = 0;
}

/// Disables extrinsics matching the specified calls.
pub struct BaseFilter;
impl Contains<RuntimeCall> for BaseFilter {
fn contains(call: &RuntimeCall) -> bool {
// Disallow these Snowbridge system calls.
if matches!(
call,
RuntimeCall::EthereumSystem(snowbridge_pallet_system::Call::create_agent { .. }) |
RuntimeCall::EthereumSystem(
snowbridge_pallet_system::Call::create_channel { .. }
)
) {
return false;
}
true
}
}

// Configure FRAME pallets to include in runtime.

impl frame_system::Config for Runtime {
Expand Down Expand Up @@ -263,7 +281,7 @@ impl frame_system::Config for Runtime {
/// The weight of database operations that the runtime can invoke.
type DbWeight = RocksDbWeight;
/// The basic call filter to use in dispatchable.
type BaseCallFilter = Everything;
type BaseCallFilter = BaseFilter;
/// Weight information for the extrinsics of this pallet.
type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
/// Block & extrinsics weights: base values and limits.
Expand Down

0 comments on commit 2e73a6c

Please sign in to comment.