referrerpolicy=no-referrer-when-downgrade

snowbridge_pallet_inbound_queue/benchmarking/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: 2023 Snowfork <hello@snowfork.com>
3use super::*;
4
5use crate::Pallet as InboundQueue;
6use frame_benchmarking::v2::*;
7use frame_support::assert_ok;
8use frame_system::RawOrigin;
9
10#[benchmarks]
11mod benchmarks {
12	use super::*;
13
14	#[benchmark]
15	fn submit() -> Result<(), BenchmarkError> {
16		let caller: T::AccountId = whitelisted_caller();
17
18		let create_message = T::Helper::initialize_storage();
19
20		let sovereign_account = sibling_sovereign_account::<T>(1000u32.into());
21
22		let minimum_balance = T::Token::minimum_balance();
23
24		// So that the receiving account exists
25		assert_ok!(T::Token::mint_into(&caller, minimum_balance));
26		// Fund the sovereign account (parachain sovereign account) so it can transfer a reward
27		// fee to the caller account
28		assert_ok!(T::Token::mint_into(
29			&sovereign_account,
30			3_000_000_000_000u128
31				.try_into()
32				.unwrap_or_else(|_| panic!("unable to cast sovereign account balance")),
33		));
34
35		#[block]
36		{
37			assert_ok!(InboundQueue::<T>::submit(
38				RawOrigin::Signed(caller.clone()).into(),
39				create_message.event,
40			));
41		}
42
43		Ok(())
44	}
45
46	impl_benchmark_test_suite!(InboundQueue, crate::mock::new_tester(), crate::mock::Test);
47}