snowbridge_pallet_system/
benchmarking.rs1use super::*;
5
6#[allow(unused)]
7use crate::Pallet as SnowbridgeControl;
8use frame_benchmarking::v2::*;
9use frame_system::RawOrigin;
10use snowbridge_core::eth;
11use snowbridge_outbound_queue_primitives::OperatingMode;
12use sp_runtime::SaturatedConversion;
13use xcm::prelude::*;
14
15#[benchmarks]
16mod benchmarks {
17 use super::*;
18
19 #[benchmark]
20 fn upgrade() -> Result<(), BenchmarkError> {
21 let impl_address = H160::repeat_byte(1);
22 let impl_code_hash = H256::repeat_byte(1);
23
24 let params: Vec<u8> = (0..256).map(|_| 1u8).collect();
26
27 #[extrinsic_call]
28 _(
29 RawOrigin::Root,
30 impl_address,
31 impl_code_hash,
32 Some(Initializer { params, maximum_required_gas: 100000 }),
33 );
34
35 Ok(())
36 }
37
38 #[benchmark]
39 fn set_operating_mode() -> Result<(), BenchmarkError> {
40 #[extrinsic_call]
41 _(RawOrigin::Root, OperatingMode::RejectingOutboundMessages);
42
43 Ok(())
44 }
45
46 #[benchmark]
47 fn set_pricing_parameters() -> Result<(), BenchmarkError> {
48 let params = T::DefaultPricingParameters::get();
49
50 #[extrinsic_call]
51 _(RawOrigin::Root, params);
52
53 Ok(())
54 }
55
56 #[benchmark]
57 fn set_token_transfer_fees() -> Result<(), BenchmarkError> {
58 #[extrinsic_call]
59 _(RawOrigin::Root, 1, 1, eth(1));
60
61 Ok(())
62 }
63
64 #[benchmark]
65 fn register_token() -> Result<(), BenchmarkError> {
66 let caller: T::AccountId = whitelisted_caller();
67
68 let amount: BalanceOf<T> =
69 (10_000_000_000_000_u128).saturated_into::<u128>().saturated_into();
70
71 T::Token::mint_into(&caller, amount)?;
72
73 let relay_token_asset_id: Location = Location::parent();
74 let asset = Box::new(VersionedLocation::from(relay_token_asset_id));
75 let asset_metadata = AssetMetadata {
76 name: "wnd".as_bytes().to_vec().try_into().unwrap(),
77 symbol: "wnd".as_bytes().to_vec().try_into().unwrap(),
78 decimals: 12,
79 };
80
81 #[extrinsic_call]
82 _(RawOrigin::Root, asset, asset_metadata);
83
84 Ok(())
85 }
86
87 impl_benchmark_test_suite!(
88 SnowbridgeControl,
89 crate::mock::new_test_ext(true),
90 crate::mock::Test
91 );
92}