;
}
/// Building `submit_parachain_heads` call when you have direct access to the target
/// chain runtime.
pub struct DirectSubmitParachainHeadsCallBuilder {
_phantom: PhantomData<(P, R, I)>,
}
impl
SubmitParachainHeadsCallBuilder
for DirectSubmitParachainHeadsCallBuilder
where
P: SubstrateParachainsPipeline,
P::SourceRelayChain: Chain,
R: BridgeParachainsConfig + Send + Sync,
I: 'static + Send + Sync,
R::BridgedChain: bp_runtime::Chain<
BlockNumber = RelayBlockNumber,
Hash = RelayBlockHash,
Hasher = RelayBlockHasher,
>,
CallOf: From>,
{
fn build_submit_parachain_heads_call(
at_relay_block: HeaderIdOf,
parachains: Vec,
parachain_heads_proof: ParaHeadsProof,
) -> CallOf {
BridgeParachainsCall::::submit_parachain_heads {
at_relay_block: (at_relay_block.0, at_relay_block.1),
parachains,
parachain_heads_proof,
}
.into()
}
}