,
}
impl {
const SOURCE_NAME: &'static str = P::SourceChain::NAME;
const TARGET_NAME: &'static str = P::TargetChain::NAME;
type MessagesProof = SubstrateMessagesProof ) -> anyhow::Result<()>
where
AccountIdOf ::new(
source_client.clone(),
target_client.clone(),
params.lane_id,
params.source_transaction_params,
params.target_to_source_headers_relay,
),
SubstrateMessagesTarget:: ::new(
target_client,
source_client,
params.lane_id,
relayer_id_at_source,
params.target_transaction_params,
params.source_to_target_headers_relay,
),
{
GlobalMetrics::new()?.register_and_spawn(¶ms.metrics_params.registry)?;
params.metrics_params
},
futures::future::pending(),
)
.await
.map_err(Into::into)
}
/// Different ways of building `receive_messages_proof` calls.
pub trait ReceiveMessagesProofCallBuilder {
_phantom: PhantomData<(P, R, I)>,
}
impl ReceiveMessagesProofCallBuilder for DirectReceiveMessagesProofCallBuilder
where
P: SubstrateMessageLane,
R: BridgeMessagesConfig>,
I: 'static,
R::SourceHeaderChain: bp_messages::target_chain::SourceHeaderChain<
MessagesProof = FromBridgedChainMessagesProof {
_phantom: PhantomData<(P, R, I)>,
}
impl ReceiveMessagesDeliveryProofCallBuilder
for DirectReceiveMessagesDeliveryProofCallBuilder
where
P: SubstrateMessageLane,
R: BridgeMessagesConfig,
I: 'static,
R::TargetHeaderChain: bp_messages::source_chain::TargetHeaderChain<
R::OutboundPayload,
R::AccountId,
MessagesDeliveryProof = FromBridgedChainMessagesDeliveryProof