1#![allow(dead_code)]
2#![allow(unused_imports)]
3use ::ethbridge_bridge_events::*;
4use ::ethers::abi::AbiDecode;
5use ::ethers::contract::{AbiError, EthEvent};
6#[doc = r"[`EventCodec`] as a static reference trait object."]
7pub type DynEventCodec = &'static (dyn EventCodec + Sync);
8#[doc = r"Codec to deserialize Ethereum events."]
9pub trait EventCodec {
10 #[doc = r"ABI signature of the Ethereum event."]
11 fn event_signature(&self) -> ::std::borrow::Cow<'static, str>;
12 #[doc = r"The kind of event."]
13 fn kind(&self) -> EventKind;
14 #[doc = r"Decode an Ethereum event."]
15 fn decode(&self, log: &::ethers::abi::RawLog) -> Result<Events, AbiError>;
16}
17#[doc = "Event codec for [`TransferToChainFilter`]."]
18pub static TRANSFER_TO_CHAIN_CODEC: DynEventCodec =
19 &::std::marker::PhantomData::<TransferToChainFilter>;
20impl TryFrom<Events> for TransferToChainFilter {
21 type Error = ();
22 fn try_from(ev: Events) -> Result<Self, ()> {
23 match ev {
24 Events::Bridge(BridgeEvents::TransferToChainFilter(ev)) => Ok(ev),
25 _ => Err(()),
26 }
27 }
28}
29impl EventCodec for ::std::marker::PhantomData<TransferToChainFilter> {
30 fn event_signature(&self) -> ::std::borrow::Cow<'static, str> {
31 TransferToChainFilter::abi_signature()
32 }
33 fn kind(&self) -> EventKind {
34 EventKind::Bridge
35 }
36 fn decode(&self, log: &::ethers::abi::RawLog) -> Result<Events, AbiError> {
37 let event = TransferToChainFilter::decode_log(log)?;
38 Ok(Events::Bridge(BridgeEvents::TransferToChainFilter(event)))
39 }
40}
41#[doc = "Event codec for [`TransferToErcFilter`]."]
42pub static TRANSFER_TO_ERC_CODEC: DynEventCodec =
43 &::std::marker::PhantomData::<TransferToErcFilter>;
44impl TryFrom<Events> for TransferToErcFilter {
45 type Error = ();
46 fn try_from(ev: Events) -> Result<Self, ()> {
47 match ev {
48 Events::Bridge(BridgeEvents::TransferToErcFilter(ev)) => Ok(ev),
49 _ => Err(()),
50 }
51 }
52}
53impl EventCodec for ::std::marker::PhantomData<TransferToErcFilter> {
54 fn event_signature(&self) -> ::std::borrow::Cow<'static, str> {
55 TransferToErcFilter::abi_signature()
56 }
57 fn kind(&self) -> EventKind {
58 EventKind::Bridge
59 }
60 fn decode(&self, log: &::ethers::abi::RawLog) -> Result<Events, AbiError> {
61 let event = TransferToErcFilter::decode_log(log)?;
62 Ok(Events::Bridge(BridgeEvents::TransferToErcFilter(event)))
63 }
64}
65#[doc = "Event codec for [`ValidatorSetUpdateFilter`]."]
66pub static VALIDATOR_SET_UPDATE_CODEC: DynEventCodec =
67 &::std::marker::PhantomData::<ValidatorSetUpdateFilter>;
68impl TryFrom<Events> for ValidatorSetUpdateFilter {
69 type Error = ();
70 fn try_from(ev: Events) -> Result<Self, ()> {
71 match ev {
72 Events::Bridge(BridgeEvents::ValidatorSetUpdateFilter(ev)) => Ok(ev),
73 _ => Err(()),
74 }
75 }
76}
77impl EventCodec for ::std::marker::PhantomData<ValidatorSetUpdateFilter> {
78 fn event_signature(&self) -> ::std::borrow::Cow<'static, str> {
79 ValidatorSetUpdateFilter::abi_signature()
80 }
81 fn kind(&self) -> EventKind {
82 EventKind::Bridge
83 }
84 fn decode(&self, log: &::ethers::abi::RawLog) -> Result<Events, AbiError> {
85 let event = ValidatorSetUpdateFilter::decode_log(log)?;
86 Ok(Events::Bridge(BridgeEvents::ValidatorSetUpdateFilter(
87 event,
88 )))
89 }
90}
91#[doc = r"Return all Ethereum event codecs."]
92pub fn event_codecs() -> [DynEventCodec; 3usize] {
93 [
94 TRANSFER_TO_CHAIN_CODEC,
95 TRANSFER_TO_ERC_CODEC,
96 VALIDATOR_SET_UPDATE_CODEC,
97 ]
98}
99#[doc = r"The Ethereum events generated by `ethbridge-rs`."]
100#[derive(Debug)]
101pub enum Events {
102 #[doc = r" Bridge events."]
103 Bridge(BridgeEvents),
104}
105#[doc = r"The kinds of Ethereum events generated by `ethbridge-rs`."]
106#[derive(Debug)]
107pub enum EventKind {
108 #[doc = r" Bridge events."]
109 Bridge,
110}