hermes_relayer_components/chain/impls/delegate/
message_height.rs

1use core::marker::PhantomData;
2
3use cgp::core::component::DelegateComponent;
4
5use crate::chain::traits::types::height::HasHeightType;
6use crate::chain::traits::types::ibc::CounterpartyMessageHeightGetter;
7use crate::chain::traits::types::message::HasMessageType;
8
9pub struct DelegateCounterpartyMessageHeightGetter<Components>(pub PhantomData<Components>);
10
11impl<Chain, Counterparty, Components, Delegate> CounterpartyMessageHeightGetter<Chain, Counterparty>
12    for DelegateCounterpartyMessageHeightGetter<Components>
13where
14    Chain: HasMessageType,
15    Counterparty: HasHeightType,
16    Components: DelegateComponent<Counterparty, Delegate = Delegate>,
17    Delegate: CounterpartyMessageHeightGetter<Chain, Counterparty>,
18{
19    fn counterparty_message_height_for_update_client(
20        message: &Chain::Message,
21    ) -> Option<Counterparty::Height> {
22        Delegate::counterparty_message_height_for_update_client(message)
23    }
24}