openzeppelin_rs/contracts/
IDelayedMessageProvider.rs

1pub use i_delayed_message_provider::*;
2/// This module was auto-generated with ethers-rs Abigen.
3/// More information at: <https://github.com/gakonst/ethers-rs>
4#[allow(
5    clippy::enum_variant_names,
6    clippy::too_many_arguments,
7    clippy::upper_case_acronyms,
8    clippy::type_complexity,
9    dead_code,
10    non_camel_case_types,
11)]
12pub mod i_delayed_message_provider {
13    #[rustfmt::skip]
14    const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"messageNum\",\"type\":\"uint256\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"InboxMessageDelivered\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"messageNum\",\"type\":\"uint256\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"InboxMessageDeliveredFromOrigin\",\"outputs\":[],\"anonymous\":false}]";
15    ///The parsed JSON ABI of the contract.
16    pub static IDELAYEDMESSAGEPROVIDER_ABI: ::ethers_contract::Lazy<
17        ::ethers_core::abi::Abi,
18    > = ::ethers_contract::Lazy::new(|| {
19        ::ethers_core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid")
20    });
21    pub struct IDelayedMessageProvider<M>(::ethers_contract::Contract<M>);
22    impl<M> ::core::clone::Clone for IDelayedMessageProvider<M> {
23        fn clone(&self) -> Self {
24            Self(::core::clone::Clone::clone(&self.0))
25        }
26    }
27    impl<M> ::core::ops::Deref for IDelayedMessageProvider<M> {
28        type Target = ::ethers_contract::Contract<M>;
29        fn deref(&self) -> &Self::Target {
30            &self.0
31        }
32    }
33    impl<M> ::core::ops::DerefMut for IDelayedMessageProvider<M> {
34        fn deref_mut(&mut self) -> &mut Self::Target {
35            &mut self.0
36        }
37    }
38    impl<M> ::core::fmt::Debug for IDelayedMessageProvider<M> {
39        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
40            f.debug_tuple(stringify!(IDelayedMessageProvider))
41                .field(&self.address())
42                .finish()
43        }
44    }
45    impl<M: ::ethers_providers::Middleware> IDelayedMessageProvider<M> {
46        /// Creates a new contract instance with the specified `ethers` client at
47        /// `address`. The contract derefs to a `ethers::Contract` object.
48        pub fn new<T: Into<::ethers_core::types::Address>>(
49            address: T,
50            client: ::std::sync::Arc<M>,
51        ) -> Self {
52            Self(
53                ::ethers_contract::Contract::new(
54                    address.into(),
55                    IDELAYEDMESSAGEPROVIDER_ABI.clone(),
56                    client,
57                ),
58            )
59        }
60        ///Gets the contract's `InboxMessageDelivered` event
61        pub fn inbox_message_delivered_filter(
62            &self,
63        ) -> ::ethers_contract::builders::Event<
64            ::std::sync::Arc<M>,
65            M,
66            InboxMessageDeliveredFilter,
67        > {
68            self.0.event()
69        }
70        ///Gets the contract's `InboxMessageDeliveredFromOrigin` event
71        pub fn inbox_message_delivered_from_origin_filter(
72            &self,
73        ) -> ::ethers_contract::builders::Event<
74            ::std::sync::Arc<M>,
75            M,
76            InboxMessageDeliveredFromOriginFilter,
77        > {
78            self.0.event()
79        }
80        /// Returns an `Event` builder for all the events of this contract.
81        pub fn events(
82            &self,
83        ) -> ::ethers_contract::builders::Event<
84            ::std::sync::Arc<M>,
85            M,
86            IDelayedMessageProviderEvents,
87        > {
88            self.0.event_with_filter(::core::default::Default::default())
89        }
90    }
91    impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
92    for IDelayedMessageProvider<M> {
93        fn from(contract: ::ethers_contract::Contract<M>) -> Self {
94            Self::new(contract.address(), contract.client())
95        }
96    }
97    #[derive(
98        Clone,
99        ::ethers_contract::EthEvent,
100        ::ethers_contract::EthDisplay,
101        Default,
102        Debug,
103        PartialEq,
104        Eq,
105        Hash
106    )]
107    #[ethevent(
108        name = "InboxMessageDelivered",
109        abi = "InboxMessageDelivered(uint256,bytes)"
110    )]
111    pub struct InboxMessageDeliveredFilter {
112        #[ethevent(indexed)]
113        pub message_num: ::ethers_core::types::U256,
114        pub data: ::ethers_core::types::Bytes,
115    }
116    #[derive(
117        Clone,
118        ::ethers_contract::EthEvent,
119        ::ethers_contract::EthDisplay,
120        Default,
121        Debug,
122        PartialEq,
123        Eq,
124        Hash
125    )]
126    #[ethevent(
127        name = "InboxMessageDeliveredFromOrigin",
128        abi = "InboxMessageDeliveredFromOrigin(uint256)"
129    )]
130    pub struct InboxMessageDeliveredFromOriginFilter {
131        #[ethevent(indexed)]
132        pub message_num: ::ethers_core::types::U256,
133    }
134    ///Container type for all of the contract's events
135    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
136    pub enum IDelayedMessageProviderEvents {
137        InboxMessageDeliveredFilter(InboxMessageDeliveredFilter),
138        InboxMessageDeliveredFromOriginFilter(InboxMessageDeliveredFromOriginFilter),
139    }
140    impl ::ethers_contract::EthLogDecode for IDelayedMessageProviderEvents {
141        fn decode_log(
142            log: &::ethers_core::abi::RawLog,
143        ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
144            if let Ok(decoded) = InboxMessageDeliveredFilter::decode_log(log) {
145                return Ok(
146                    IDelayedMessageProviderEvents::InboxMessageDeliveredFilter(decoded),
147                );
148            }
149            if let Ok(decoded) = InboxMessageDeliveredFromOriginFilter::decode_log(log) {
150                return Ok(
151                    IDelayedMessageProviderEvents::InboxMessageDeliveredFromOriginFilter(
152                        decoded,
153                    ),
154                );
155            }
156            Err(::ethers_core::abi::Error::InvalidData)
157        }
158    }
159    impl ::core::fmt::Display for IDelayedMessageProviderEvents {
160        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
161            match self {
162                Self::InboxMessageDeliveredFilter(element) => {
163                    ::core::fmt::Display::fmt(element, f)
164                }
165                Self::InboxMessageDeliveredFromOriginFilter(element) => {
166                    ::core::fmt::Display::fmt(element, f)
167                }
168            }
169        }
170    }
171    impl ::core::convert::From<InboxMessageDeliveredFilter>
172    for IDelayedMessageProviderEvents {
173        fn from(value: InboxMessageDeliveredFilter) -> Self {
174            Self::InboxMessageDeliveredFilter(value)
175        }
176    }
177    impl ::core::convert::From<InboxMessageDeliveredFromOriginFilter>
178    for IDelayedMessageProviderEvents {
179        fn from(value: InboxMessageDeliveredFromOriginFilter) -> Self {
180            Self::InboxMessageDeliveredFromOriginFilter(value)
181        }
182    }
183}