openzeppelin_rs/contracts/
IDelayedMessageProvider.rs1pub use i_delayed_message_provider::*;
2#[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 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 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 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 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 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 #[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}