ethbridge_bridge_events/
lib.rs

1#![allow(dead_code)]
2#![allow(unused_imports)]
3use ::ethbridge_structs::*;
4#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthEvent))]
5#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthDisplay))]
6#[cfg_attr(
7    feature = "ethers-derive",
8    ethevent(
9        name = "TransferToChain",
10        abi = "TransferToChain(uint256,(uint256,address,string)[],uint256)"
11    )
12)]
13#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthAbiCodec))]
14#[derive(Clone, Default, Debug, PartialEq, Eq, Hash)]
15pub struct TransferToChainFilter {
16    pub nonce: ::ethabi::ethereum_types::U256,
17    pub transfers: ::std::vec::Vec<ChainTransfer>,
18    pub confirmations: ::ethabi::ethereum_types::U256,
19}
20#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthEvent))]
21#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthDisplay))]
22#[cfg_attr(
23    feature = "ethers-derive",
24    ethevent(
25        name = "TransferToErc",
26        abi = "TransferToErc(uint256,(bytes32,uint256,address,address)[],string)"
27    )
28)]
29#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthAbiCodec))]
30#[derive(Clone, Default, Debug, PartialEq, Eq, Hash)]
31pub struct TransferToErcFilter {
32    #[cfg_attr(feature = "ethers-derive", ethevent(indexed))]
33    pub nonce: ::ethabi::ethereum_types::U256,
34    pub transfers: ::std::vec::Vec<Erc20Transfer>,
35    pub relayer_address: ::std::string::String,
36}
37#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthEvent))]
38#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthDisplay))]
39#[cfg_attr(
40    feature = "ethers-derive",
41    ethevent(
42        name = "ValidatorSetUpdate",
43        abi = "ValidatorSetUpdate(uint256,bytes32,bytes32)"
44    )
45)]
46#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthAbiCodec))]
47#[derive(Clone, Default, Debug, PartialEq, Eq, Hash)]
48pub struct ValidatorSetUpdateFilter {
49    #[cfg_attr(feature = "ethers-derive", ethevent(indexed))]
50    pub validator_set_nonce: ::ethabi::ethereum_types::U256,
51    pub bridge_validator_set_hash: [u8; 32],
52    pub governance_validator_set_hash: [u8; 32],
53}
54#[cfg_attr(feature = "ethers-derive", derive(::ethers_contract::EthAbiType))]
55#[doc = "Container type for all of the contract's events"]
56#[derive(Clone, Debug, PartialEq, Eq, Hash)]
57pub enum BridgeEvents {
58    TransferToChainFilter(TransferToChainFilter),
59    TransferToErcFilter(TransferToErcFilter),
60    ValidatorSetUpdateFilter(ValidatorSetUpdateFilter),
61}
62#[cfg(feature = "ethers-derive")]
63impl ::ethers_contract::EthLogDecode for BridgeEvents {
64    fn decode_log(
65        log: &::ethers::core::abi::RawLog,
66    ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
67        if let Ok(decoded) = TransferToChainFilter::decode_log(log) {
68            return Ok(BridgeEvents::TransferToChainFilter(decoded));
69        }
70        if let Ok(decoded) = TransferToErcFilter::decode_log(log) {
71            return Ok(BridgeEvents::TransferToErcFilter(decoded));
72        }
73        if let Ok(decoded) = ValidatorSetUpdateFilter::decode_log(log) {
74            return Ok(BridgeEvents::ValidatorSetUpdateFilter(decoded));
75        }
76        Err(::ethers::core::abi::Error::InvalidData)
77    }
78}
79#[cfg(feature = "ethers-derive")]
80impl ::core::fmt::Display for BridgeEvents {
81    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
82        match self {
83            Self::TransferToChainFilter(element) => ::core::fmt::Display::fmt(element, f),
84            Self::TransferToErcFilter(element) => ::core::fmt::Display::fmt(element, f),
85            Self::ValidatorSetUpdateFilter(element) => ::core::fmt::Display::fmt(element, f),
86        }
87    }
88}
89impl ::core::convert::From<TransferToChainFilter> for BridgeEvents {
90    fn from(value: TransferToChainFilter) -> Self {
91        Self::TransferToChainFilter(value)
92    }
93}
94impl ::core::convert::From<TransferToErcFilter> for BridgeEvents {
95    fn from(value: TransferToErcFilter) -> Self {
96        Self::TransferToErcFilter(value)
97    }
98}
99impl ::core::convert::From<ValidatorSetUpdateFilter> for BridgeEvents {
100    fn from(value: ValidatorSetUpdateFilter) -> Self {
101        Self::ValidatorSetUpdateFilter(value)
102    }
103}