ethbridge_bridge_events/
lib.rs1#![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}