fn changes_trie_roots_proof<I: IntoIterator<Item=NumberFor<Block>>>(
		&self,
		cht_size: u64,
		blocks: I
	) -> error::Result<Vec<Vec<u8>>> {
		// most probably we have touched several changes tries that are parts of the single CHT
		// => GroupBy changes tries by CHT number and then gather proof for the whole group at once
		let mut proof = HashSet::new();

		cht::for_each_cht_group::<Block::Header, _, _, _>(cht_size, blocks, |_, cht_num, cht_blocks| {
			let cht_proof = self.changes_trie_roots_proof_at_cht(cht_size, cht_num, cht_blocks)?;
			proof.extend(cht_proof);
			Ok(())
		}, ())?;

		Ok(proof.into_iter().collect())
	}
/// Generate CHT-based proof for roots of changes tries at given blocks.
Generate CHT-based proof for roots of changes tries at given blocks.
Generate CHT - based proof for roots of changes tries at given blocks .
fn changes_trie_roots_proof<I: IntoIterator<Item=NumberFor<Block>>>(
		&self,
		cht_size: u64,
		blocks: I
	) -> error::Result<Vec<Vec<u8>>> {
		// most probably we have touched several changes tries that are parts of the single CHT
		// => GroupBy changes tries by CHT number and then gather proof for the whole group at once
		let mut proof = HashSet::new();
		cht::for_each_cht_group::<Block::Header, _, _, _>(cht_size, blocks, |_, cht_num, cht_blocks| {
			let cht_proof = self.changes_trie_roots_proof_at_cht(cht_size, cht_num, cht_blocks)?;
			proof.extend(cht_proof);
			Ok(())
		}, ())?;
		Ok(proof.into_iter().collect())
	}
fn changes_trie_roots_proof < I : IntoIterator < Item = NumberFor < Block > > > ( & self , cht_size : u64 , blocks : I ) -> error :: Result < Vec < Vec < u8 > > > { // most probably we have touched several changes tries that are parts of the single CHT // => GroupBy changes tries by CHT number and then gather proof for the whole group at once let mut proof = HashSet :: new ( ) ; cht :: for_each_cht_group :: < Block :: Header , _ , _ , _ > ( cht_size , blocks , | _ , cht_num , cht_blocks | { let cht_proof = self . changes_trie_roots_proof_at_cht ( cht_size , cht_num , cht_blocks ) ? ; proof . extend ( cht_proof ) ; Ok ( ( ) ) } , ( ) ) ? ; Ok ( proof . into_iter ( ) . collect ( ) ) }
Generate CHT-based proof for roots of changes tries at given blocks.
Generate CHT - based proof for roots of changes tries at given blocks .
&self
cht_size
u64
blocks
I
&self
cht_size
u64
blocks
I