@@ -32,6 +32,8 @@ pub struct Pallet<T: Config<I>, I: 'static>(crate::Pallet<T, I>);
3232
3333/// Trait that must be implemented by runtime to benchmark the parachains finality pallet.
3434pub trait Config < I : ' static > : crate :: Config < I > {
35+ /// Returns vector of supported parachains.
36+ fn parachains ( ) -> Vec < ParaId > ;
3537 /// Generate parachain heads proof and prepare environment for verifying this proof.
3638 fn prepare_parachain_heads_proof (
3739 parachains : & [ ParaId ] ,
@@ -53,10 +55,11 @@ benchmarks_instance_pallet! {
5355
5456 // Benchmark `submit_parachain_heads` extrinsic with different number of parachains.
5557 submit_parachain_heads_with_n_parachains {
56- let p in 1 ..1024 ;
58+ let p in 1 ..( T :: parachains ( ) . len ( ) + 1 ) as u32 ;
5759
5860 let sender = account( "sender" , 0 , 0 ) ;
59- let parachains = ( 1 ..=p) . map( ParaId ) . collect:: <Vec <_>>( ) ;
61+ let mut parachains = T :: parachains( ) ;
62+ let _ = parachains. split_off( p as usize - 1 ) ;
6063 let ( relay_block_number, relay_block_hash, parachain_heads_proof, parachains_heads) = T :: prepare_parachain_heads_proof(
6164 & parachains,
6265 DEFAULT_PARACHAIN_HEAD_SIZE ,
@@ -73,7 +76,7 @@ benchmarks_instance_pallet! {
7376 // Benchmark `submit_parachain_heads` extrinsic with 1kb proof size.
7477 submit_parachain_heads_with_1kb_proof {
7578 let sender = account( "sender" , 0 , 0 ) ;
76- let parachains = vec![ ParaId ( 1 ) ] ;
79+ let parachains = vec![ T :: parachains ( ) [ 0 ] ] ;
7780 let ( relay_block_number, relay_block_hash, parachain_heads_proof, parachains_heads) = T :: prepare_parachain_heads_proof(
7881 & parachains,
7982 DEFAULT_PARACHAIN_HEAD_SIZE ,
@@ -90,7 +93,7 @@ benchmarks_instance_pallet! {
9093 // Benchmark `submit_parachain_heads` extrinsic with 16kb proof size.
9194 submit_parachain_heads_with_16kb_proof {
9295 let sender = account( "sender" , 0 , 0 ) ;
93- let parachains = vec![ ParaId ( 1 ) ] ;
96+ let parachains = vec![ T :: parachains ( ) [ 0 ] ] ;
9497 let ( relay_block_number, relay_block_hash, parachain_heads_proof, parachains_heads) = T :: prepare_parachain_heads_proof(
9598 & parachains,
9699 DEFAULT_PARACHAIN_HEAD_SIZE ,
0 commit comments