1pub use iamb::*;
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 iamb {
13 #[rustfmt::skip]
14 const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"AffirmationCompleted\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"RelayedMessage\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes\",\"name\":\"encodedData\",\"type\":\"bytes\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"UserRequestForAffirmation\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes\",\"name\":\"encodedData\",\"type\":\"bytes\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"UserRequestForSignature\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"destinationChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageId\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"failedMessageDataHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageId\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"failedMessageReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageId\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"failedMessageSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"maxGasPerTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageId\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"messageCallStatus\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"messageId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"messageSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"messageSourceChainId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"requireToConfirmMessage\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"requireToPassMessage\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"sourceChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"transactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]}]";
15 pub static IAMB_ABI: ::ethers_contract::Lazy<::ethers_core::abi::Abi> = ::ethers_contract::Lazy::new(||
17 ::ethers_core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid"));
18 pub struct IAMB<M>(::ethers_contract::Contract<M>);
19 impl<M> ::core::clone::Clone for IAMB<M> {
20 fn clone(&self) -> Self {
21 Self(::core::clone::Clone::clone(&self.0))
22 }
23 }
24 impl<M> ::core::ops::Deref for IAMB<M> {
25 type Target = ::ethers_contract::Contract<M>;
26 fn deref(&self) -> &Self::Target {
27 &self.0
28 }
29 }
30 impl<M> ::core::ops::DerefMut for IAMB<M> {
31 fn deref_mut(&mut self) -> &mut Self::Target {
32 &mut self.0
33 }
34 }
35 impl<M> ::core::fmt::Debug for IAMB<M> {
36 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
37 f.debug_tuple(stringify!(IAMB)).field(&self.address()).finish()
38 }
39 }
40 impl<M: ::ethers_providers::Middleware> IAMB<M> {
41 pub fn new<T: Into<::ethers_core::types::Address>>(
44 address: T,
45 client: ::std::sync::Arc<M>,
46 ) -> Self {
47 Self(
48 ::ethers_contract::Contract::new(
49 address.into(),
50 IAMB_ABI.clone(),
51 client,
52 ),
53 )
54 }
55 pub fn destination_chain_id(
57 &self,
58 ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
59 self.0
60 .method_hash([176, 117, 6, 17], ())
61 .expect("method not found (this should never happen)")
62 }
63 pub fn failed_message_data_hash(
65 &self,
66 message_id: [u8; 32],
67 ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
68 self.0
69 .method_hash([227, 124, 50, 137], message_id)
70 .expect("method not found (this should never happen)")
71 }
72 pub fn failed_message_receiver(
74 &self,
75 message_id: [u8; 32],
76 ) -> ::ethers_contract::builders::ContractCall<
77 M,
78 ::ethers_core::types::Address,
79 > {
80 self.0
81 .method_hash([63, 154, 142, 126], message_id)
82 .expect("method not found (this should never happen)")
83 }
84 pub fn failed_message_sender(
86 &self,
87 message_id: [u8; 32],
88 ) -> ::ethers_contract::builders::ContractCall<
89 M,
90 ::ethers_core::types::Address,
91 > {
92 self.0
93 .method_hash([74, 97, 11, 4], message_id)
94 .expect("method not found (this should never happen)")
95 }
96 pub fn max_gas_per_tx(
98 &self,
99 ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
100 self.0
101 .method_hash([229, 120, 157, 3], ())
102 .expect("method not found (this should never happen)")
103 }
104 pub fn message_call_status(
106 &self,
107 message_id: [u8; 32],
108 ) -> ::ethers_contract::builders::ContractCall<M, bool> {
109 self.0
110 .method_hash([203, 8, 161, 12], message_id)
111 .expect("method not found (this should never happen)")
112 }
113 pub fn message_id(
115 &self,
116 ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
117 self.0
118 .method_hash([102, 159, 97, 139], ())
119 .expect("method not found (this should never happen)")
120 }
121 pub fn message_sender(
123 &self,
124 ) -> ::ethers_contract::builders::ContractCall<
125 M,
126 ::ethers_core::types::Address,
127 > {
128 self.0
129 .method_hash([214, 123, 221, 37], ())
130 .expect("method not found (this should never happen)")
131 }
132 pub fn message_source_chain_id(
134 &self,
135 ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
136 self.0
137 .method_hash([158, 48, 125, 255], ())
138 .expect("method not found (this should never happen)")
139 }
140 pub fn require_to_confirm_message(
142 &self,
143 contract: ::ethers_core::types::Address,
144 data: ::ethers_core::types::Bytes,
145 gas: ::ethers_core::types::U256,
146 ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
147 self.0
148 .method_hash([148, 100, 63, 113], (contract, data, gas))
149 .expect("method not found (this should never happen)")
150 }
151 pub fn require_to_pass_message(
153 &self,
154 contract: ::ethers_core::types::Address,
155 data: ::ethers_core::types::Bytes,
156 gas: ::ethers_core::types::U256,
157 ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
158 self.0
159 .method_hash([220, 134, 1, 179], (contract, data, gas))
160 .expect("method not found (this should never happen)")
161 }
162 pub fn source_chain_id(
164 &self,
165 ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
166 self.0
167 .method_hash([21, 68, 41, 142], ())
168 .expect("method not found (this should never happen)")
169 }
170 pub fn transaction_hash(
172 &self,
173 ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
174 self.0
175 .method_hash([10, 193, 195, 19], ())
176 .expect("method not found (this should never happen)")
177 }
178 pub fn affirmation_completed_filter(
180 &self,
181 ) -> ::ethers_contract::builders::Event<
182 ::std::sync::Arc<M>,
183 M,
184 AffirmationCompletedFilter,
185 > {
186 self.0.event()
187 }
188 pub fn relayed_message_filter(
190 &self,
191 ) -> ::ethers_contract::builders::Event<
192 ::std::sync::Arc<M>,
193 M,
194 RelayedMessageFilter,
195 > {
196 self.0.event()
197 }
198 pub fn user_request_for_affirmation_filter(
200 &self,
201 ) -> ::ethers_contract::builders::Event<
202 ::std::sync::Arc<M>,
203 M,
204 UserRequestForAffirmationFilter,
205 > {
206 self.0.event()
207 }
208 pub fn user_request_for_signature_filter(
210 &self,
211 ) -> ::ethers_contract::builders::Event<
212 ::std::sync::Arc<M>,
213 M,
214 UserRequestForSignatureFilter,
215 > {
216 self.0.event()
217 }
218 pub fn events(
220 &self,
221 ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, IAMBEvents> {
222 self.0.event_with_filter(::core::default::Default::default())
223 }
224 }
225 impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
226 for IAMB<M> {
227 fn from(contract: ::ethers_contract::Contract<M>) -> Self {
228 Self::new(contract.address(), contract.client())
229 }
230 }
231 #[derive(
232 Clone,
233 ::ethers_contract::EthEvent,
234 ::ethers_contract::EthDisplay,
235 Default,
236 Debug,
237 PartialEq,
238 Eq,
239 Hash
240 )]
241 #[ethevent(
242 name = "AffirmationCompleted",
243 abi = "AffirmationCompleted(address,address,bytes32,bool)"
244 )]
245 pub struct AffirmationCompletedFilter {
246 #[ethevent(indexed)]
247 pub sender: ::ethers_core::types::Address,
248 #[ethevent(indexed)]
249 pub executor: ::ethers_core::types::Address,
250 #[ethevent(indexed)]
251 pub message_id: [u8; 32],
252 pub status: bool,
253 }
254 #[derive(
255 Clone,
256 ::ethers_contract::EthEvent,
257 ::ethers_contract::EthDisplay,
258 Default,
259 Debug,
260 PartialEq,
261 Eq,
262 Hash
263 )]
264 #[ethevent(
265 name = "RelayedMessage",
266 abi = "RelayedMessage(address,address,bytes32,bool)"
267 )]
268 pub struct RelayedMessageFilter {
269 #[ethevent(indexed)]
270 pub sender: ::ethers_core::types::Address,
271 #[ethevent(indexed)]
272 pub executor: ::ethers_core::types::Address,
273 #[ethevent(indexed)]
274 pub message_id: [u8; 32],
275 pub status: bool,
276 }
277 #[derive(
278 Clone,
279 ::ethers_contract::EthEvent,
280 ::ethers_contract::EthDisplay,
281 Default,
282 Debug,
283 PartialEq,
284 Eq,
285 Hash
286 )]
287 #[ethevent(
288 name = "UserRequestForAffirmation",
289 abi = "UserRequestForAffirmation(bytes32,bytes)"
290 )]
291 pub struct UserRequestForAffirmationFilter {
292 #[ethevent(indexed)]
293 pub message_id: [u8; 32],
294 pub encoded_data: ::ethers_core::types::Bytes,
295 }
296 #[derive(
297 Clone,
298 ::ethers_contract::EthEvent,
299 ::ethers_contract::EthDisplay,
300 Default,
301 Debug,
302 PartialEq,
303 Eq,
304 Hash
305 )]
306 #[ethevent(
307 name = "UserRequestForSignature",
308 abi = "UserRequestForSignature(bytes32,bytes)"
309 )]
310 pub struct UserRequestForSignatureFilter {
311 #[ethevent(indexed)]
312 pub message_id: [u8; 32],
313 pub encoded_data: ::ethers_core::types::Bytes,
314 }
315 #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
317 pub enum IAMBEvents {
318 AffirmationCompletedFilter(AffirmationCompletedFilter),
319 RelayedMessageFilter(RelayedMessageFilter),
320 UserRequestForAffirmationFilter(UserRequestForAffirmationFilter),
321 UserRequestForSignatureFilter(UserRequestForSignatureFilter),
322 }
323 impl ::ethers_contract::EthLogDecode for IAMBEvents {
324 fn decode_log(
325 log: &::ethers_core::abi::RawLog,
326 ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
327 if let Ok(decoded) = AffirmationCompletedFilter::decode_log(log) {
328 return Ok(IAMBEvents::AffirmationCompletedFilter(decoded));
329 }
330 if let Ok(decoded) = RelayedMessageFilter::decode_log(log) {
331 return Ok(IAMBEvents::RelayedMessageFilter(decoded));
332 }
333 if let Ok(decoded) = UserRequestForAffirmationFilter::decode_log(log) {
334 return Ok(IAMBEvents::UserRequestForAffirmationFilter(decoded));
335 }
336 if let Ok(decoded) = UserRequestForSignatureFilter::decode_log(log) {
337 return Ok(IAMBEvents::UserRequestForSignatureFilter(decoded));
338 }
339 Err(::ethers_core::abi::Error::InvalidData)
340 }
341 }
342 impl ::core::fmt::Display for IAMBEvents {
343 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
344 match self {
345 Self::AffirmationCompletedFilter(element) => {
346 ::core::fmt::Display::fmt(element, f)
347 }
348 Self::RelayedMessageFilter(element) => {
349 ::core::fmt::Display::fmt(element, f)
350 }
351 Self::UserRequestForAffirmationFilter(element) => {
352 ::core::fmt::Display::fmt(element, f)
353 }
354 Self::UserRequestForSignatureFilter(element) => {
355 ::core::fmt::Display::fmt(element, f)
356 }
357 }
358 }
359 }
360 impl ::core::convert::From<AffirmationCompletedFilter> for IAMBEvents {
361 fn from(value: AffirmationCompletedFilter) -> Self {
362 Self::AffirmationCompletedFilter(value)
363 }
364 }
365 impl ::core::convert::From<RelayedMessageFilter> for IAMBEvents {
366 fn from(value: RelayedMessageFilter) -> Self {
367 Self::RelayedMessageFilter(value)
368 }
369 }
370 impl ::core::convert::From<UserRequestForAffirmationFilter> for IAMBEvents {
371 fn from(value: UserRequestForAffirmationFilter) -> Self {
372 Self::UserRequestForAffirmationFilter(value)
373 }
374 }
375 impl ::core::convert::From<UserRequestForSignatureFilter> for IAMBEvents {
376 fn from(value: UserRequestForSignatureFilter) -> Self {
377 Self::UserRequestForSignatureFilter(value)
378 }
379 }
380 #[derive(
382 Clone,
383 ::ethers_contract::EthCall,
384 ::ethers_contract::EthDisplay,
385 Default,
386 Debug,
387 PartialEq,
388 Eq,
389 Hash
390 )]
391 #[ethcall(name = "destinationChainId", abi = "destinationChainId()")]
392 pub struct DestinationChainIdCall;
393 #[derive(
395 Clone,
396 ::ethers_contract::EthCall,
397 ::ethers_contract::EthDisplay,
398 Default,
399 Debug,
400 PartialEq,
401 Eq,
402 Hash
403 )]
404 #[ethcall(name = "failedMessageDataHash", abi = "failedMessageDataHash(bytes32)")]
405 pub struct FailedMessageDataHashCall {
406 pub message_id: [u8; 32],
407 }
408 #[derive(
410 Clone,
411 ::ethers_contract::EthCall,
412 ::ethers_contract::EthDisplay,
413 Default,
414 Debug,
415 PartialEq,
416 Eq,
417 Hash
418 )]
419 #[ethcall(name = "failedMessageReceiver", abi = "failedMessageReceiver(bytes32)")]
420 pub struct FailedMessageReceiverCall {
421 pub message_id: [u8; 32],
422 }
423 #[derive(
425 Clone,
426 ::ethers_contract::EthCall,
427 ::ethers_contract::EthDisplay,
428 Default,
429 Debug,
430 PartialEq,
431 Eq,
432 Hash
433 )]
434 #[ethcall(name = "failedMessageSender", abi = "failedMessageSender(bytes32)")]
435 pub struct FailedMessageSenderCall {
436 pub message_id: [u8; 32],
437 }
438 #[derive(
440 Clone,
441 ::ethers_contract::EthCall,
442 ::ethers_contract::EthDisplay,
443 Default,
444 Debug,
445 PartialEq,
446 Eq,
447 Hash
448 )]
449 #[ethcall(name = "maxGasPerTx", abi = "maxGasPerTx()")]
450 pub struct MaxGasPerTxCall;
451 #[derive(
453 Clone,
454 ::ethers_contract::EthCall,
455 ::ethers_contract::EthDisplay,
456 Default,
457 Debug,
458 PartialEq,
459 Eq,
460 Hash
461 )]
462 #[ethcall(name = "messageCallStatus", abi = "messageCallStatus(bytes32)")]
463 pub struct MessageCallStatusCall {
464 pub message_id: [u8; 32],
465 }
466 #[derive(
468 Clone,
469 ::ethers_contract::EthCall,
470 ::ethers_contract::EthDisplay,
471 Default,
472 Debug,
473 PartialEq,
474 Eq,
475 Hash
476 )]
477 #[ethcall(name = "messageId", abi = "messageId()")]
478 pub struct MessageIdCall;
479 #[derive(
481 Clone,
482 ::ethers_contract::EthCall,
483 ::ethers_contract::EthDisplay,
484 Default,
485 Debug,
486 PartialEq,
487 Eq,
488 Hash
489 )]
490 #[ethcall(name = "messageSender", abi = "messageSender()")]
491 pub struct MessageSenderCall;
492 #[derive(
494 Clone,
495 ::ethers_contract::EthCall,
496 ::ethers_contract::EthDisplay,
497 Default,
498 Debug,
499 PartialEq,
500 Eq,
501 Hash
502 )]
503 #[ethcall(name = "messageSourceChainId", abi = "messageSourceChainId()")]
504 pub struct MessageSourceChainIdCall;
505 #[derive(
507 Clone,
508 ::ethers_contract::EthCall,
509 ::ethers_contract::EthDisplay,
510 Default,
511 Debug,
512 PartialEq,
513 Eq,
514 Hash
515 )]
516 #[ethcall(
517 name = "requireToConfirmMessage",
518 abi = "requireToConfirmMessage(address,bytes,uint256)"
519 )]
520 pub struct RequireToConfirmMessageCall {
521 pub contract: ::ethers_core::types::Address,
522 pub data: ::ethers_core::types::Bytes,
523 pub gas: ::ethers_core::types::U256,
524 }
525 #[derive(
527 Clone,
528 ::ethers_contract::EthCall,
529 ::ethers_contract::EthDisplay,
530 Default,
531 Debug,
532 PartialEq,
533 Eq,
534 Hash
535 )]
536 #[ethcall(
537 name = "requireToPassMessage",
538 abi = "requireToPassMessage(address,bytes,uint256)"
539 )]
540 pub struct RequireToPassMessageCall {
541 pub contract: ::ethers_core::types::Address,
542 pub data: ::ethers_core::types::Bytes,
543 pub gas: ::ethers_core::types::U256,
544 }
545 #[derive(
547 Clone,
548 ::ethers_contract::EthCall,
549 ::ethers_contract::EthDisplay,
550 Default,
551 Debug,
552 PartialEq,
553 Eq,
554 Hash
555 )]
556 #[ethcall(name = "sourceChainId", abi = "sourceChainId()")]
557 pub struct SourceChainIdCall;
558 #[derive(
560 Clone,
561 ::ethers_contract::EthCall,
562 ::ethers_contract::EthDisplay,
563 Default,
564 Debug,
565 PartialEq,
566 Eq,
567 Hash
568 )]
569 #[ethcall(name = "transactionHash", abi = "transactionHash()")]
570 pub struct TransactionHashCall;
571 #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
573 pub enum IAMBCalls {
574 DestinationChainId(DestinationChainIdCall),
575 FailedMessageDataHash(FailedMessageDataHashCall),
576 FailedMessageReceiver(FailedMessageReceiverCall),
577 FailedMessageSender(FailedMessageSenderCall),
578 MaxGasPerTx(MaxGasPerTxCall),
579 MessageCallStatus(MessageCallStatusCall),
580 MessageId(MessageIdCall),
581 MessageSender(MessageSenderCall),
582 MessageSourceChainId(MessageSourceChainIdCall),
583 RequireToConfirmMessage(RequireToConfirmMessageCall),
584 RequireToPassMessage(RequireToPassMessageCall),
585 SourceChainId(SourceChainIdCall),
586 TransactionHash(TransactionHashCall),
587 }
588 impl ::ethers_core::abi::AbiDecode for IAMBCalls {
589 fn decode(
590 data: impl AsRef<[u8]>,
591 ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
592 let data = data.as_ref();
593 if let Ok(decoded)
594 = <DestinationChainIdCall as ::ethers_core::abi::AbiDecode>::decode(
595 data,
596 ) {
597 return Ok(Self::DestinationChainId(decoded));
598 }
599 if let Ok(decoded)
600 = <FailedMessageDataHashCall as ::ethers_core::abi::AbiDecode>::decode(
601 data,
602 ) {
603 return Ok(Self::FailedMessageDataHash(decoded));
604 }
605 if let Ok(decoded)
606 = <FailedMessageReceiverCall as ::ethers_core::abi::AbiDecode>::decode(
607 data,
608 ) {
609 return Ok(Self::FailedMessageReceiver(decoded));
610 }
611 if let Ok(decoded)
612 = <FailedMessageSenderCall as ::ethers_core::abi::AbiDecode>::decode(
613 data,
614 ) {
615 return Ok(Self::FailedMessageSender(decoded));
616 }
617 if let Ok(decoded)
618 = <MaxGasPerTxCall as ::ethers_core::abi::AbiDecode>::decode(data) {
619 return Ok(Self::MaxGasPerTx(decoded));
620 }
621 if let Ok(decoded)
622 = <MessageCallStatusCall as ::ethers_core::abi::AbiDecode>::decode(
623 data,
624 ) {
625 return Ok(Self::MessageCallStatus(decoded));
626 }
627 if let Ok(decoded)
628 = <MessageIdCall as ::ethers_core::abi::AbiDecode>::decode(data) {
629 return Ok(Self::MessageId(decoded));
630 }
631 if let Ok(decoded)
632 = <MessageSenderCall as ::ethers_core::abi::AbiDecode>::decode(data) {
633 return Ok(Self::MessageSender(decoded));
634 }
635 if let Ok(decoded)
636 = <MessageSourceChainIdCall as ::ethers_core::abi::AbiDecode>::decode(
637 data,
638 ) {
639 return Ok(Self::MessageSourceChainId(decoded));
640 }
641 if let Ok(decoded)
642 = <RequireToConfirmMessageCall as ::ethers_core::abi::AbiDecode>::decode(
643 data,
644 ) {
645 return Ok(Self::RequireToConfirmMessage(decoded));
646 }
647 if let Ok(decoded)
648 = <RequireToPassMessageCall as ::ethers_core::abi::AbiDecode>::decode(
649 data,
650 ) {
651 return Ok(Self::RequireToPassMessage(decoded));
652 }
653 if let Ok(decoded)
654 = <SourceChainIdCall as ::ethers_core::abi::AbiDecode>::decode(data) {
655 return Ok(Self::SourceChainId(decoded));
656 }
657 if let Ok(decoded)
658 = <TransactionHashCall as ::ethers_core::abi::AbiDecode>::decode(data) {
659 return Ok(Self::TransactionHash(decoded));
660 }
661 Err(::ethers_core::abi::Error::InvalidData.into())
662 }
663 }
664 impl ::ethers_core::abi::AbiEncode for IAMBCalls {
665 fn encode(self) -> Vec<u8> {
666 match self {
667 Self::DestinationChainId(element) => {
668 ::ethers_core::abi::AbiEncode::encode(element)
669 }
670 Self::FailedMessageDataHash(element) => {
671 ::ethers_core::abi::AbiEncode::encode(element)
672 }
673 Self::FailedMessageReceiver(element) => {
674 ::ethers_core::abi::AbiEncode::encode(element)
675 }
676 Self::FailedMessageSender(element) => {
677 ::ethers_core::abi::AbiEncode::encode(element)
678 }
679 Self::MaxGasPerTx(element) => {
680 ::ethers_core::abi::AbiEncode::encode(element)
681 }
682 Self::MessageCallStatus(element) => {
683 ::ethers_core::abi::AbiEncode::encode(element)
684 }
685 Self::MessageId(element) => {
686 ::ethers_core::abi::AbiEncode::encode(element)
687 }
688 Self::MessageSender(element) => {
689 ::ethers_core::abi::AbiEncode::encode(element)
690 }
691 Self::MessageSourceChainId(element) => {
692 ::ethers_core::abi::AbiEncode::encode(element)
693 }
694 Self::RequireToConfirmMessage(element) => {
695 ::ethers_core::abi::AbiEncode::encode(element)
696 }
697 Self::RequireToPassMessage(element) => {
698 ::ethers_core::abi::AbiEncode::encode(element)
699 }
700 Self::SourceChainId(element) => {
701 ::ethers_core::abi::AbiEncode::encode(element)
702 }
703 Self::TransactionHash(element) => {
704 ::ethers_core::abi::AbiEncode::encode(element)
705 }
706 }
707 }
708 }
709 impl ::core::fmt::Display for IAMBCalls {
710 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
711 match self {
712 Self::DestinationChainId(element) => {
713 ::core::fmt::Display::fmt(element, f)
714 }
715 Self::FailedMessageDataHash(element) => {
716 ::core::fmt::Display::fmt(element, f)
717 }
718 Self::FailedMessageReceiver(element) => {
719 ::core::fmt::Display::fmt(element, f)
720 }
721 Self::FailedMessageSender(element) => {
722 ::core::fmt::Display::fmt(element, f)
723 }
724 Self::MaxGasPerTx(element) => ::core::fmt::Display::fmt(element, f),
725 Self::MessageCallStatus(element) => ::core::fmt::Display::fmt(element, f),
726 Self::MessageId(element) => ::core::fmt::Display::fmt(element, f),
727 Self::MessageSender(element) => ::core::fmt::Display::fmt(element, f),
728 Self::MessageSourceChainId(element) => {
729 ::core::fmt::Display::fmt(element, f)
730 }
731 Self::RequireToConfirmMessage(element) => {
732 ::core::fmt::Display::fmt(element, f)
733 }
734 Self::RequireToPassMessage(element) => {
735 ::core::fmt::Display::fmt(element, f)
736 }
737 Self::SourceChainId(element) => ::core::fmt::Display::fmt(element, f),
738 Self::TransactionHash(element) => ::core::fmt::Display::fmt(element, f),
739 }
740 }
741 }
742 impl ::core::convert::From<DestinationChainIdCall> for IAMBCalls {
743 fn from(value: DestinationChainIdCall) -> Self {
744 Self::DestinationChainId(value)
745 }
746 }
747 impl ::core::convert::From<FailedMessageDataHashCall> for IAMBCalls {
748 fn from(value: FailedMessageDataHashCall) -> Self {
749 Self::FailedMessageDataHash(value)
750 }
751 }
752 impl ::core::convert::From<FailedMessageReceiverCall> for IAMBCalls {
753 fn from(value: FailedMessageReceiverCall) -> Self {
754 Self::FailedMessageReceiver(value)
755 }
756 }
757 impl ::core::convert::From<FailedMessageSenderCall> for IAMBCalls {
758 fn from(value: FailedMessageSenderCall) -> Self {
759 Self::FailedMessageSender(value)
760 }
761 }
762 impl ::core::convert::From<MaxGasPerTxCall> for IAMBCalls {
763 fn from(value: MaxGasPerTxCall) -> Self {
764 Self::MaxGasPerTx(value)
765 }
766 }
767 impl ::core::convert::From<MessageCallStatusCall> for IAMBCalls {
768 fn from(value: MessageCallStatusCall) -> Self {
769 Self::MessageCallStatus(value)
770 }
771 }
772 impl ::core::convert::From<MessageIdCall> for IAMBCalls {
773 fn from(value: MessageIdCall) -> Self {
774 Self::MessageId(value)
775 }
776 }
777 impl ::core::convert::From<MessageSenderCall> for IAMBCalls {
778 fn from(value: MessageSenderCall) -> Self {
779 Self::MessageSender(value)
780 }
781 }
782 impl ::core::convert::From<MessageSourceChainIdCall> for IAMBCalls {
783 fn from(value: MessageSourceChainIdCall) -> Self {
784 Self::MessageSourceChainId(value)
785 }
786 }
787 impl ::core::convert::From<RequireToConfirmMessageCall> for IAMBCalls {
788 fn from(value: RequireToConfirmMessageCall) -> Self {
789 Self::RequireToConfirmMessage(value)
790 }
791 }
792 impl ::core::convert::From<RequireToPassMessageCall> for IAMBCalls {
793 fn from(value: RequireToPassMessageCall) -> Self {
794 Self::RequireToPassMessage(value)
795 }
796 }
797 impl ::core::convert::From<SourceChainIdCall> for IAMBCalls {
798 fn from(value: SourceChainIdCall) -> Self {
799 Self::SourceChainId(value)
800 }
801 }
802 impl ::core::convert::From<TransactionHashCall> for IAMBCalls {
803 fn from(value: TransactionHashCall) -> Self {
804 Self::TransactionHash(value)
805 }
806 }
807 #[derive(
809 Clone,
810 ::ethers_contract::EthAbiType,
811 ::ethers_contract::EthAbiCodec,
812 Default,
813 Debug,
814 PartialEq,
815 Eq,
816 Hash
817 )]
818 pub struct DestinationChainIdReturn(pub ::ethers_core::types::U256);
819 #[derive(
821 Clone,
822 ::ethers_contract::EthAbiType,
823 ::ethers_contract::EthAbiCodec,
824 Default,
825 Debug,
826 PartialEq,
827 Eq,
828 Hash
829 )]
830 pub struct FailedMessageDataHashReturn(pub [u8; 32]);
831 #[derive(
833 Clone,
834 ::ethers_contract::EthAbiType,
835 ::ethers_contract::EthAbiCodec,
836 Default,
837 Debug,
838 PartialEq,
839 Eq,
840 Hash
841 )]
842 pub struct FailedMessageReceiverReturn(pub ::ethers_core::types::Address);
843 #[derive(
845 Clone,
846 ::ethers_contract::EthAbiType,
847 ::ethers_contract::EthAbiCodec,
848 Default,
849 Debug,
850 PartialEq,
851 Eq,
852 Hash
853 )]
854 pub struct FailedMessageSenderReturn(pub ::ethers_core::types::Address);
855 #[derive(
857 Clone,
858 ::ethers_contract::EthAbiType,
859 ::ethers_contract::EthAbiCodec,
860 Default,
861 Debug,
862 PartialEq,
863 Eq,
864 Hash
865 )]
866 pub struct MaxGasPerTxReturn(pub ::ethers_core::types::U256);
867 #[derive(
869 Clone,
870 ::ethers_contract::EthAbiType,
871 ::ethers_contract::EthAbiCodec,
872 Default,
873 Debug,
874 PartialEq,
875 Eq,
876 Hash
877 )]
878 pub struct MessageCallStatusReturn(pub bool);
879 #[derive(
881 Clone,
882 ::ethers_contract::EthAbiType,
883 ::ethers_contract::EthAbiCodec,
884 Default,
885 Debug,
886 PartialEq,
887 Eq,
888 Hash
889 )]
890 pub struct MessageIdReturn(pub [u8; 32]);
891 #[derive(
893 Clone,
894 ::ethers_contract::EthAbiType,
895 ::ethers_contract::EthAbiCodec,
896 Default,
897 Debug,
898 PartialEq,
899 Eq,
900 Hash
901 )]
902 pub struct MessageSenderReturn(pub ::ethers_core::types::Address);
903 #[derive(
905 Clone,
906 ::ethers_contract::EthAbiType,
907 ::ethers_contract::EthAbiCodec,
908 Default,
909 Debug,
910 PartialEq,
911 Eq,
912 Hash
913 )]
914 pub struct MessageSourceChainIdReturn(pub [u8; 32]);
915 #[derive(
917 Clone,
918 ::ethers_contract::EthAbiType,
919 ::ethers_contract::EthAbiCodec,
920 Default,
921 Debug,
922 PartialEq,
923 Eq,
924 Hash
925 )]
926 pub struct RequireToConfirmMessageReturn(pub [u8; 32]);
927 #[derive(
929 Clone,
930 ::ethers_contract::EthAbiType,
931 ::ethers_contract::EthAbiCodec,
932 Default,
933 Debug,
934 PartialEq,
935 Eq,
936 Hash
937 )]
938 pub struct RequireToPassMessageReturn(pub [u8; 32]);
939 #[derive(
941 Clone,
942 ::ethers_contract::EthAbiType,
943 ::ethers_contract::EthAbiCodec,
944 Default,
945 Debug,
946 PartialEq,
947 Eq,
948 Hash
949 )]
950 pub struct SourceChainIdReturn(pub ::ethers_core::types::U256);
951 #[derive(
953 Clone,
954 ::ethers_contract::EthAbiType,
955 ::ethers_contract::EthAbiCodec,
956 Default,
957 Debug,
958 PartialEq,
959 Eq,
960 Hash
961 )]
962 pub struct TransactionHashReturn(pub [u8; 32]);
963}