openzeppelin_rs/contracts/
IBridge.rs

1pub use i_bridge::*;
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_bridge {
13    #[rustfmt::skip]
14    const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"outbox\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"BridgeCallTriggered\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"InboxToggle\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"messageIndex\",\"type\":\"uint256\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"beforeInboxAcc\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\",\"components\":[],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"bytes32\",\"name\":\"messageDataHash\",\"type\":\"bytes32\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"baseFeeL1\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"MessageDelivered\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"outbox\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"OutboxToggle\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newSequencerInbox\",\"type\":\"address\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"SequencerInboxUpdated\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"activeOutbox\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"allowedDelayedInboxList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowedDelayedInboxes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"allowedOutboxList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"outbox\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowedOutboxes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"delayedInboxAccs\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"delayedMessageCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"messageDataHash\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"enqueueDelayedMessage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"afterDelayedMessagesRead\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prevMessageCount\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"newMessageCount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"enqueueSequencerMessage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"seqMessageIndex\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"beforeAcc\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"delayedAcc\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"acc\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"executeCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rollup_\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"initialize\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"rollup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"sequencerInbox\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"sequencerInboxAccs\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"sequencerMessageCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"sequencerReportedSubMessageCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setDelayedInbox\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"inbox\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setOutbox\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sequencerInbox\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setSequencerInbox\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"batchPoster\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"submitBatchSpendingReport\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"msgNum\",\"type\":\"uint256\",\"components\":[]}]}]";
15    ///The parsed JSON ABI of the contract.
16    pub static IBRIDGE_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 IBridge<M>(::ethers_contract::Contract<M>);
19    impl<M> ::core::clone::Clone for IBridge<M> {
20        fn clone(&self) -> Self {
21            Self(::core::clone::Clone::clone(&self.0))
22        }
23    }
24    impl<M> ::core::ops::Deref for IBridge<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 IBridge<M> {
31        fn deref_mut(&mut self) -> &mut Self::Target {
32            &mut self.0
33        }
34    }
35    impl<M> ::core::fmt::Debug for IBridge<M> {
36        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
37            f.debug_tuple(stringify!(IBridge)).field(&self.address()).finish()
38        }
39    }
40    impl<M: ::ethers_providers::Middleware> IBridge<M> {
41        /// Creates a new contract instance with the specified `ethers` client at
42        /// `address`. The contract derefs to a `ethers::Contract` object.
43        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                    IBRIDGE_ABI.clone(),
51                    client,
52                ),
53            )
54        }
55        ///Calls the contract's `activeOutbox` (0xab5d8943) function
56        pub fn active_outbox(
57            &self,
58        ) -> ::ethers_contract::builders::ContractCall<
59            M,
60            ::ethers_core::types::Address,
61        > {
62            self.0
63                .method_hash([171, 93, 137, 67], ())
64                .expect("method not found (this should never happen)")
65        }
66        ///Calls the contract's `allowedDelayedInboxList` (0xe76f5c8d) function
67        pub fn allowed_delayed_inbox_list(
68            &self,
69            p0: ::ethers_core::types::U256,
70        ) -> ::ethers_contract::builders::ContractCall<
71            M,
72            ::ethers_core::types::Address,
73        > {
74            self.0
75                .method_hash([231, 111, 92, 141], p0)
76                .expect("method not found (this should never happen)")
77        }
78        ///Calls the contract's `allowedDelayedInboxes` (0xae60bd13) function
79        pub fn allowed_delayed_inboxes(
80            &self,
81            inbox: ::ethers_core::types::Address,
82        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
83            self.0
84                .method_hash([174, 96, 189, 19], inbox)
85                .expect("method not found (this should never happen)")
86        }
87        ///Calls the contract's `allowedOutboxList` (0x945e1147) function
88        pub fn allowed_outbox_list(
89            &self,
90            p0: ::ethers_core::types::U256,
91        ) -> ::ethers_contract::builders::ContractCall<
92            M,
93            ::ethers_core::types::Address,
94        > {
95            self.0
96                .method_hash([148, 94, 17, 71], p0)
97                .expect("method not found (this should never happen)")
98        }
99        ///Calls the contract's `allowedOutboxes` (0x413b35bd) function
100        pub fn allowed_outboxes(
101            &self,
102            outbox: ::ethers_core::types::Address,
103        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
104            self.0
105                .method_hash([65, 59, 53, 189], outbox)
106                .expect("method not found (this should never happen)")
107        }
108        ///Calls the contract's `delayedInboxAccs` (0xd5719dc2) function
109        pub fn delayed_inbox_accs(
110            &self,
111            p0: ::ethers_core::types::U256,
112        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
113            self.0
114                .method_hash([213, 113, 157, 194], p0)
115                .expect("method not found (this should never happen)")
116        }
117        ///Calls the contract's `delayedMessageCount` (0xeca067ad) function
118        pub fn delayed_message_count(
119            &self,
120        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
121            self.0
122                .method_hash([236, 160, 103, 173], ())
123                .expect("method not found (this should never happen)")
124        }
125        ///Calls the contract's `enqueueDelayedMessage` (0x8db5993b) function
126        pub fn enqueue_delayed_message(
127            &self,
128            kind: u8,
129            sender: ::ethers_core::types::Address,
130            message_data_hash: [u8; 32],
131        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
132            self.0
133                .method_hash([141, 181, 153, 59], (kind, sender, message_data_hash))
134                .expect("method not found (this should never happen)")
135        }
136        ///Calls the contract's `enqueueSequencerMessage` (0x86598a56) function
137        pub fn enqueue_sequencer_message(
138            &self,
139            data_hash: [u8; 32],
140            after_delayed_messages_read: ::ethers_core::types::U256,
141            prev_message_count: ::ethers_core::types::U256,
142            new_message_count: ::ethers_core::types::U256,
143        ) -> ::ethers_contract::builders::ContractCall<
144            M,
145            (::ethers_core::types::U256, [u8; 32], [u8; 32], [u8; 32]),
146        > {
147            self.0
148                .method_hash(
149                    [134, 89, 138, 86],
150                    (
151                        data_hash,
152                        after_delayed_messages_read,
153                        prev_message_count,
154                        new_message_count,
155                    ),
156                )
157                .expect("method not found (this should never happen)")
158        }
159        ///Calls the contract's `executeCall` (0x9e5d4c49) function
160        pub fn execute_call(
161            &self,
162            to: ::ethers_core::types::Address,
163            value: ::ethers_core::types::U256,
164            data: ::ethers_core::types::Bytes,
165        ) -> ::ethers_contract::builders::ContractCall<
166            M,
167            (bool, ::ethers_core::types::Bytes),
168        > {
169            self.0
170                .method_hash([158, 93, 76, 73], (to, value, data))
171                .expect("method not found (this should never happen)")
172        }
173        ///Calls the contract's `initialize` (0xc4d66de8) function
174        pub fn initialize(
175            &self,
176            rollup: ::ethers_core::types::Address,
177        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
178            self.0
179                .method_hash([196, 214, 109, 232], rollup)
180                .expect("method not found (this should never happen)")
181        }
182        ///Calls the contract's `rollup` (0xcb23bcb5) function
183        pub fn rollup(
184            &self,
185        ) -> ::ethers_contract::builders::ContractCall<
186            M,
187            ::ethers_core::types::Address,
188        > {
189            self.0
190                .method_hash([203, 35, 188, 181], ())
191                .expect("method not found (this should never happen)")
192        }
193        ///Calls the contract's `sequencerInbox` (0xee35f327) function
194        pub fn sequencer_inbox(
195            &self,
196        ) -> ::ethers_contract::builders::ContractCall<
197            M,
198            ::ethers_core::types::Address,
199        > {
200            self.0
201                .method_hash([238, 53, 243, 39], ())
202                .expect("method not found (this should never happen)")
203        }
204        ///Calls the contract's `sequencerInboxAccs` (0x16bf5579) function
205        pub fn sequencer_inbox_accs(
206            &self,
207            p0: ::ethers_core::types::U256,
208        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
209            self.0
210                .method_hash([22, 191, 85, 121], p0)
211                .expect("method not found (this should never happen)")
212        }
213        ///Calls the contract's `sequencerMessageCount` (0x0084120c) function
214        pub fn sequencer_message_count(
215            &self,
216        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
217            self.0
218                .method_hash([0, 132, 18, 12], ())
219                .expect("method not found (this should never happen)")
220        }
221        ///Calls the contract's `sequencerReportedSubMessageCount` (0x5fca4a16) function
222        pub fn sequencer_reported_sub_message_count(
223            &self,
224        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
225            self.0
226                .method_hash([95, 202, 74, 22], ())
227                .expect("method not found (this should never happen)")
228        }
229        ///Calls the contract's `setDelayedInbox` (0x47fb24c5) function
230        pub fn set_delayed_inbox(
231            &self,
232            inbox: ::ethers_core::types::Address,
233            enabled: bool,
234        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
235            self.0
236                .method_hash([71, 251, 36, 197], (inbox, enabled))
237                .expect("method not found (this should never happen)")
238        }
239        ///Calls the contract's `setOutbox` (0xcee3d728) function
240        pub fn set_outbox(
241            &self,
242            inbox: ::ethers_core::types::Address,
243            enabled: bool,
244        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
245            self.0
246                .method_hash([206, 227, 215, 40], (inbox, enabled))
247                .expect("method not found (this should never happen)")
248        }
249        ///Calls the contract's `setSequencerInbox` (0x4f61f850) function
250        pub fn set_sequencer_inbox(
251            &self,
252            sequencer_inbox: ::ethers_core::types::Address,
253        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
254            self.0
255                .method_hash([79, 97, 248, 80], sequencer_inbox)
256                .expect("method not found (this should never happen)")
257        }
258        ///Calls the contract's `submitBatchSpendingReport` (0x7a88b107) function
259        pub fn submit_batch_spending_report(
260            &self,
261            batch_poster: ::ethers_core::types::Address,
262            data_hash: [u8; 32],
263        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
264            self.0
265                .method_hash([122, 136, 177, 7], (batch_poster, data_hash))
266                .expect("method not found (this should never happen)")
267        }
268        ///Gets the contract's `BridgeCallTriggered` event
269        pub fn bridge_call_triggered_filter(
270            &self,
271        ) -> ::ethers_contract::builders::Event<
272            ::std::sync::Arc<M>,
273            M,
274            BridgeCallTriggeredFilter,
275        > {
276            self.0.event()
277        }
278        ///Gets the contract's `InboxToggle` event
279        pub fn inbox_toggle_filter(
280            &self,
281        ) -> ::ethers_contract::builders::Event<
282            ::std::sync::Arc<M>,
283            M,
284            InboxToggleFilter,
285        > {
286            self.0.event()
287        }
288        ///Gets the contract's `MessageDelivered` event
289        pub fn message_delivered_filter(
290            &self,
291        ) -> ::ethers_contract::builders::Event<
292            ::std::sync::Arc<M>,
293            M,
294            MessageDeliveredFilter,
295        > {
296            self.0.event()
297        }
298        ///Gets the contract's `OutboxToggle` event
299        pub fn outbox_toggle_filter(
300            &self,
301        ) -> ::ethers_contract::builders::Event<
302            ::std::sync::Arc<M>,
303            M,
304            OutboxToggleFilter,
305        > {
306            self.0.event()
307        }
308        ///Gets the contract's `SequencerInboxUpdated` event
309        pub fn sequencer_inbox_updated_filter(
310            &self,
311        ) -> ::ethers_contract::builders::Event<
312            ::std::sync::Arc<M>,
313            M,
314            SequencerInboxUpdatedFilter,
315        > {
316            self.0.event()
317        }
318        /// Returns an `Event` builder for all the events of this contract.
319        pub fn events(
320            &self,
321        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, IBridgeEvents> {
322            self.0.event_with_filter(::core::default::Default::default())
323        }
324    }
325    impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
326    for IBridge<M> {
327        fn from(contract: ::ethers_contract::Contract<M>) -> Self {
328            Self::new(contract.address(), contract.client())
329        }
330    }
331    #[derive(
332        Clone,
333        ::ethers_contract::EthEvent,
334        ::ethers_contract::EthDisplay,
335        Default,
336        Debug,
337        PartialEq,
338        Eq,
339        Hash
340    )]
341    #[ethevent(
342        name = "BridgeCallTriggered",
343        abi = "BridgeCallTriggered(address,address,uint256,bytes)"
344    )]
345    pub struct BridgeCallTriggeredFilter {
346        #[ethevent(indexed)]
347        pub outbox: ::ethers_core::types::Address,
348        #[ethevent(indexed)]
349        pub to: ::ethers_core::types::Address,
350        pub value: ::ethers_core::types::U256,
351        pub data: ::ethers_core::types::Bytes,
352    }
353    #[derive(
354        Clone,
355        ::ethers_contract::EthEvent,
356        ::ethers_contract::EthDisplay,
357        Default,
358        Debug,
359        PartialEq,
360        Eq,
361        Hash
362    )]
363    #[ethevent(name = "InboxToggle", abi = "InboxToggle(address,bool)")]
364    pub struct InboxToggleFilter {
365        #[ethevent(indexed)]
366        pub inbox: ::ethers_core::types::Address,
367        pub enabled: bool,
368    }
369    #[derive(
370        Clone,
371        ::ethers_contract::EthEvent,
372        ::ethers_contract::EthDisplay,
373        Default,
374        Debug,
375        PartialEq,
376        Eq,
377        Hash
378    )]
379    #[ethevent(
380        name = "MessageDelivered",
381        abi = "MessageDelivered(uint256,bytes32,address,uint8,address,bytes32,uint256,uint64)"
382    )]
383    pub struct MessageDeliveredFilter {
384        #[ethevent(indexed)]
385        pub message_index: ::ethers_core::types::U256,
386        #[ethevent(indexed)]
387        pub before_inbox_acc: [u8; 32],
388        pub inbox: ::ethers_core::types::Address,
389        pub kind: u8,
390        pub sender: ::ethers_core::types::Address,
391        pub message_data_hash: [u8; 32],
392        pub base_fee_l1: ::ethers_core::types::U256,
393        pub timestamp: u64,
394    }
395    #[derive(
396        Clone,
397        ::ethers_contract::EthEvent,
398        ::ethers_contract::EthDisplay,
399        Default,
400        Debug,
401        PartialEq,
402        Eq,
403        Hash
404    )]
405    #[ethevent(name = "OutboxToggle", abi = "OutboxToggle(address,bool)")]
406    pub struct OutboxToggleFilter {
407        #[ethevent(indexed)]
408        pub outbox: ::ethers_core::types::Address,
409        pub enabled: bool,
410    }
411    #[derive(
412        Clone,
413        ::ethers_contract::EthEvent,
414        ::ethers_contract::EthDisplay,
415        Default,
416        Debug,
417        PartialEq,
418        Eq,
419        Hash
420    )]
421    #[ethevent(name = "SequencerInboxUpdated", abi = "SequencerInboxUpdated(address)")]
422    pub struct SequencerInboxUpdatedFilter {
423        pub new_sequencer_inbox: ::ethers_core::types::Address,
424    }
425    ///Container type for all of the contract's events
426    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
427    pub enum IBridgeEvents {
428        BridgeCallTriggeredFilter(BridgeCallTriggeredFilter),
429        InboxToggleFilter(InboxToggleFilter),
430        MessageDeliveredFilter(MessageDeliveredFilter),
431        OutboxToggleFilter(OutboxToggleFilter),
432        SequencerInboxUpdatedFilter(SequencerInboxUpdatedFilter),
433    }
434    impl ::ethers_contract::EthLogDecode for IBridgeEvents {
435        fn decode_log(
436            log: &::ethers_core::abi::RawLog,
437        ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
438            if let Ok(decoded) = BridgeCallTriggeredFilter::decode_log(log) {
439                return Ok(IBridgeEvents::BridgeCallTriggeredFilter(decoded));
440            }
441            if let Ok(decoded) = InboxToggleFilter::decode_log(log) {
442                return Ok(IBridgeEvents::InboxToggleFilter(decoded));
443            }
444            if let Ok(decoded) = MessageDeliveredFilter::decode_log(log) {
445                return Ok(IBridgeEvents::MessageDeliveredFilter(decoded));
446            }
447            if let Ok(decoded) = OutboxToggleFilter::decode_log(log) {
448                return Ok(IBridgeEvents::OutboxToggleFilter(decoded));
449            }
450            if let Ok(decoded) = SequencerInboxUpdatedFilter::decode_log(log) {
451                return Ok(IBridgeEvents::SequencerInboxUpdatedFilter(decoded));
452            }
453            Err(::ethers_core::abi::Error::InvalidData)
454        }
455    }
456    impl ::core::fmt::Display for IBridgeEvents {
457        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
458            match self {
459                Self::BridgeCallTriggeredFilter(element) => {
460                    ::core::fmt::Display::fmt(element, f)
461                }
462                Self::InboxToggleFilter(element) => ::core::fmt::Display::fmt(element, f),
463                Self::MessageDeliveredFilter(element) => {
464                    ::core::fmt::Display::fmt(element, f)
465                }
466                Self::OutboxToggleFilter(element) => {
467                    ::core::fmt::Display::fmt(element, f)
468                }
469                Self::SequencerInboxUpdatedFilter(element) => {
470                    ::core::fmt::Display::fmt(element, f)
471                }
472            }
473        }
474    }
475    impl ::core::convert::From<BridgeCallTriggeredFilter> for IBridgeEvents {
476        fn from(value: BridgeCallTriggeredFilter) -> Self {
477            Self::BridgeCallTriggeredFilter(value)
478        }
479    }
480    impl ::core::convert::From<InboxToggleFilter> for IBridgeEvents {
481        fn from(value: InboxToggleFilter) -> Self {
482            Self::InboxToggleFilter(value)
483        }
484    }
485    impl ::core::convert::From<MessageDeliveredFilter> for IBridgeEvents {
486        fn from(value: MessageDeliveredFilter) -> Self {
487            Self::MessageDeliveredFilter(value)
488        }
489    }
490    impl ::core::convert::From<OutboxToggleFilter> for IBridgeEvents {
491        fn from(value: OutboxToggleFilter) -> Self {
492            Self::OutboxToggleFilter(value)
493        }
494    }
495    impl ::core::convert::From<SequencerInboxUpdatedFilter> for IBridgeEvents {
496        fn from(value: SequencerInboxUpdatedFilter) -> Self {
497            Self::SequencerInboxUpdatedFilter(value)
498        }
499    }
500    ///Container type for all input parameters for the `activeOutbox` function with signature `activeOutbox()` and selector `0xab5d8943`
501    #[derive(
502        Clone,
503        ::ethers_contract::EthCall,
504        ::ethers_contract::EthDisplay,
505        Default,
506        Debug,
507        PartialEq,
508        Eq,
509        Hash
510    )]
511    #[ethcall(name = "activeOutbox", abi = "activeOutbox()")]
512    pub struct ActiveOutboxCall;
513    ///Container type for all input parameters for the `allowedDelayedInboxList` function with signature `allowedDelayedInboxList(uint256)` and selector `0xe76f5c8d`
514    #[derive(
515        Clone,
516        ::ethers_contract::EthCall,
517        ::ethers_contract::EthDisplay,
518        Default,
519        Debug,
520        PartialEq,
521        Eq,
522        Hash
523    )]
524    #[ethcall(
525        name = "allowedDelayedInboxList",
526        abi = "allowedDelayedInboxList(uint256)"
527    )]
528    pub struct AllowedDelayedInboxListCall(pub ::ethers_core::types::U256);
529    ///Container type for all input parameters for the `allowedDelayedInboxes` function with signature `allowedDelayedInboxes(address)` and selector `0xae60bd13`
530    #[derive(
531        Clone,
532        ::ethers_contract::EthCall,
533        ::ethers_contract::EthDisplay,
534        Default,
535        Debug,
536        PartialEq,
537        Eq,
538        Hash
539    )]
540    #[ethcall(name = "allowedDelayedInboxes", abi = "allowedDelayedInboxes(address)")]
541    pub struct AllowedDelayedInboxesCall {
542        pub inbox: ::ethers_core::types::Address,
543    }
544    ///Container type for all input parameters for the `allowedOutboxList` function with signature `allowedOutboxList(uint256)` and selector `0x945e1147`
545    #[derive(
546        Clone,
547        ::ethers_contract::EthCall,
548        ::ethers_contract::EthDisplay,
549        Default,
550        Debug,
551        PartialEq,
552        Eq,
553        Hash
554    )]
555    #[ethcall(name = "allowedOutboxList", abi = "allowedOutboxList(uint256)")]
556    pub struct AllowedOutboxListCall(pub ::ethers_core::types::U256);
557    ///Container type for all input parameters for the `allowedOutboxes` function with signature `allowedOutboxes(address)` and selector `0x413b35bd`
558    #[derive(
559        Clone,
560        ::ethers_contract::EthCall,
561        ::ethers_contract::EthDisplay,
562        Default,
563        Debug,
564        PartialEq,
565        Eq,
566        Hash
567    )]
568    #[ethcall(name = "allowedOutboxes", abi = "allowedOutboxes(address)")]
569    pub struct AllowedOutboxesCall {
570        pub outbox: ::ethers_core::types::Address,
571    }
572    ///Container type for all input parameters for the `delayedInboxAccs` function with signature `delayedInboxAccs(uint256)` and selector `0xd5719dc2`
573    #[derive(
574        Clone,
575        ::ethers_contract::EthCall,
576        ::ethers_contract::EthDisplay,
577        Default,
578        Debug,
579        PartialEq,
580        Eq,
581        Hash
582    )]
583    #[ethcall(name = "delayedInboxAccs", abi = "delayedInboxAccs(uint256)")]
584    pub struct DelayedInboxAccsCall(pub ::ethers_core::types::U256);
585    ///Container type for all input parameters for the `delayedMessageCount` function with signature `delayedMessageCount()` and selector `0xeca067ad`
586    #[derive(
587        Clone,
588        ::ethers_contract::EthCall,
589        ::ethers_contract::EthDisplay,
590        Default,
591        Debug,
592        PartialEq,
593        Eq,
594        Hash
595    )]
596    #[ethcall(name = "delayedMessageCount", abi = "delayedMessageCount()")]
597    pub struct DelayedMessageCountCall;
598    ///Container type for all input parameters for the `enqueueDelayedMessage` function with signature `enqueueDelayedMessage(uint8,address,bytes32)` and selector `0x8db5993b`
599    #[derive(
600        Clone,
601        ::ethers_contract::EthCall,
602        ::ethers_contract::EthDisplay,
603        Default,
604        Debug,
605        PartialEq,
606        Eq,
607        Hash
608    )]
609    #[ethcall(
610        name = "enqueueDelayedMessage",
611        abi = "enqueueDelayedMessage(uint8,address,bytes32)"
612    )]
613    pub struct EnqueueDelayedMessageCall {
614        pub kind: u8,
615        pub sender: ::ethers_core::types::Address,
616        pub message_data_hash: [u8; 32],
617    }
618    ///Container type for all input parameters for the `enqueueSequencerMessage` function with signature `enqueueSequencerMessage(bytes32,uint256,uint256,uint256)` and selector `0x86598a56`
619    #[derive(
620        Clone,
621        ::ethers_contract::EthCall,
622        ::ethers_contract::EthDisplay,
623        Default,
624        Debug,
625        PartialEq,
626        Eq,
627        Hash
628    )]
629    #[ethcall(
630        name = "enqueueSequencerMessage",
631        abi = "enqueueSequencerMessage(bytes32,uint256,uint256,uint256)"
632    )]
633    pub struct EnqueueSequencerMessageCall {
634        pub data_hash: [u8; 32],
635        pub after_delayed_messages_read: ::ethers_core::types::U256,
636        pub prev_message_count: ::ethers_core::types::U256,
637        pub new_message_count: ::ethers_core::types::U256,
638    }
639    ///Container type for all input parameters for the `executeCall` function with signature `executeCall(address,uint256,bytes)` and selector `0x9e5d4c49`
640    #[derive(
641        Clone,
642        ::ethers_contract::EthCall,
643        ::ethers_contract::EthDisplay,
644        Default,
645        Debug,
646        PartialEq,
647        Eq,
648        Hash
649    )]
650    #[ethcall(name = "executeCall", abi = "executeCall(address,uint256,bytes)")]
651    pub struct ExecuteCallCall {
652        pub to: ::ethers_core::types::Address,
653        pub value: ::ethers_core::types::U256,
654        pub data: ::ethers_core::types::Bytes,
655    }
656    ///Container type for all input parameters for the `initialize` function with signature `initialize(address)` and selector `0xc4d66de8`
657    #[derive(
658        Clone,
659        ::ethers_contract::EthCall,
660        ::ethers_contract::EthDisplay,
661        Default,
662        Debug,
663        PartialEq,
664        Eq,
665        Hash
666    )]
667    #[ethcall(name = "initialize", abi = "initialize(address)")]
668    pub struct InitializeCall {
669        pub rollup: ::ethers_core::types::Address,
670    }
671    ///Container type for all input parameters for the `rollup` function with signature `rollup()` and selector `0xcb23bcb5`
672    #[derive(
673        Clone,
674        ::ethers_contract::EthCall,
675        ::ethers_contract::EthDisplay,
676        Default,
677        Debug,
678        PartialEq,
679        Eq,
680        Hash
681    )]
682    #[ethcall(name = "rollup", abi = "rollup()")]
683    pub struct RollupCall;
684    ///Container type for all input parameters for the `sequencerInbox` function with signature `sequencerInbox()` and selector `0xee35f327`
685    #[derive(
686        Clone,
687        ::ethers_contract::EthCall,
688        ::ethers_contract::EthDisplay,
689        Default,
690        Debug,
691        PartialEq,
692        Eq,
693        Hash
694    )]
695    #[ethcall(name = "sequencerInbox", abi = "sequencerInbox()")]
696    pub struct SequencerInboxCall;
697    ///Container type for all input parameters for the `sequencerInboxAccs` function with signature `sequencerInboxAccs(uint256)` and selector `0x16bf5579`
698    #[derive(
699        Clone,
700        ::ethers_contract::EthCall,
701        ::ethers_contract::EthDisplay,
702        Default,
703        Debug,
704        PartialEq,
705        Eq,
706        Hash
707    )]
708    #[ethcall(name = "sequencerInboxAccs", abi = "sequencerInboxAccs(uint256)")]
709    pub struct SequencerInboxAccsCall(pub ::ethers_core::types::U256);
710    ///Container type for all input parameters for the `sequencerMessageCount` function with signature `sequencerMessageCount()` and selector `0x0084120c`
711    #[derive(
712        Clone,
713        ::ethers_contract::EthCall,
714        ::ethers_contract::EthDisplay,
715        Default,
716        Debug,
717        PartialEq,
718        Eq,
719        Hash
720    )]
721    #[ethcall(name = "sequencerMessageCount", abi = "sequencerMessageCount()")]
722    pub struct SequencerMessageCountCall;
723    ///Container type for all input parameters for the `sequencerReportedSubMessageCount` function with signature `sequencerReportedSubMessageCount()` and selector `0x5fca4a16`
724    #[derive(
725        Clone,
726        ::ethers_contract::EthCall,
727        ::ethers_contract::EthDisplay,
728        Default,
729        Debug,
730        PartialEq,
731        Eq,
732        Hash
733    )]
734    #[ethcall(
735        name = "sequencerReportedSubMessageCount",
736        abi = "sequencerReportedSubMessageCount()"
737    )]
738    pub struct SequencerReportedSubMessageCountCall;
739    ///Container type for all input parameters for the `setDelayedInbox` function with signature `setDelayedInbox(address,bool)` and selector `0x47fb24c5`
740    #[derive(
741        Clone,
742        ::ethers_contract::EthCall,
743        ::ethers_contract::EthDisplay,
744        Default,
745        Debug,
746        PartialEq,
747        Eq,
748        Hash
749    )]
750    #[ethcall(name = "setDelayedInbox", abi = "setDelayedInbox(address,bool)")]
751    pub struct SetDelayedInboxCall {
752        pub inbox: ::ethers_core::types::Address,
753        pub enabled: bool,
754    }
755    ///Container type for all input parameters for the `setOutbox` function with signature `setOutbox(address,bool)` and selector `0xcee3d728`
756    #[derive(
757        Clone,
758        ::ethers_contract::EthCall,
759        ::ethers_contract::EthDisplay,
760        Default,
761        Debug,
762        PartialEq,
763        Eq,
764        Hash
765    )]
766    #[ethcall(name = "setOutbox", abi = "setOutbox(address,bool)")]
767    pub struct SetOutboxCall {
768        pub inbox: ::ethers_core::types::Address,
769        pub enabled: bool,
770    }
771    ///Container type for all input parameters for the `setSequencerInbox` function with signature `setSequencerInbox(address)` and selector `0x4f61f850`
772    #[derive(
773        Clone,
774        ::ethers_contract::EthCall,
775        ::ethers_contract::EthDisplay,
776        Default,
777        Debug,
778        PartialEq,
779        Eq,
780        Hash
781    )]
782    #[ethcall(name = "setSequencerInbox", abi = "setSequencerInbox(address)")]
783    pub struct SetSequencerInboxCall {
784        pub sequencer_inbox: ::ethers_core::types::Address,
785    }
786    ///Container type for all input parameters for the `submitBatchSpendingReport` function with signature `submitBatchSpendingReport(address,bytes32)` and selector `0x7a88b107`
787    #[derive(
788        Clone,
789        ::ethers_contract::EthCall,
790        ::ethers_contract::EthDisplay,
791        Default,
792        Debug,
793        PartialEq,
794        Eq,
795        Hash
796    )]
797    #[ethcall(
798        name = "submitBatchSpendingReport",
799        abi = "submitBatchSpendingReport(address,bytes32)"
800    )]
801    pub struct SubmitBatchSpendingReportCall {
802        pub batch_poster: ::ethers_core::types::Address,
803        pub data_hash: [u8; 32],
804    }
805    ///Container type for all of the contract's call
806    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
807    pub enum IBridgeCalls {
808        ActiveOutbox(ActiveOutboxCall),
809        AllowedDelayedInboxList(AllowedDelayedInboxListCall),
810        AllowedDelayedInboxes(AllowedDelayedInboxesCall),
811        AllowedOutboxList(AllowedOutboxListCall),
812        AllowedOutboxes(AllowedOutboxesCall),
813        DelayedInboxAccs(DelayedInboxAccsCall),
814        DelayedMessageCount(DelayedMessageCountCall),
815        EnqueueDelayedMessage(EnqueueDelayedMessageCall),
816        EnqueueSequencerMessage(EnqueueSequencerMessageCall),
817        ExecuteCall(ExecuteCallCall),
818        Initialize(InitializeCall),
819        Rollup(RollupCall),
820        SequencerInbox(SequencerInboxCall),
821        SequencerInboxAccs(SequencerInboxAccsCall),
822        SequencerMessageCount(SequencerMessageCountCall),
823        SequencerReportedSubMessageCount(SequencerReportedSubMessageCountCall),
824        SetDelayedInbox(SetDelayedInboxCall),
825        SetOutbox(SetOutboxCall),
826        SetSequencerInbox(SetSequencerInboxCall),
827        SubmitBatchSpendingReport(SubmitBatchSpendingReportCall),
828    }
829    impl ::ethers_core::abi::AbiDecode for IBridgeCalls {
830        fn decode(
831            data: impl AsRef<[u8]>,
832        ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
833            let data = data.as_ref();
834            if let Ok(decoded)
835                = <ActiveOutboxCall as ::ethers_core::abi::AbiDecode>::decode(data) {
836                return Ok(Self::ActiveOutbox(decoded));
837            }
838            if let Ok(decoded)
839                = <AllowedDelayedInboxListCall as ::ethers_core::abi::AbiDecode>::decode(
840                    data,
841                ) {
842                return Ok(Self::AllowedDelayedInboxList(decoded));
843            }
844            if let Ok(decoded)
845                = <AllowedDelayedInboxesCall as ::ethers_core::abi::AbiDecode>::decode(
846                    data,
847                ) {
848                return Ok(Self::AllowedDelayedInboxes(decoded));
849            }
850            if let Ok(decoded)
851                = <AllowedOutboxListCall as ::ethers_core::abi::AbiDecode>::decode(
852                    data,
853                ) {
854                return Ok(Self::AllowedOutboxList(decoded));
855            }
856            if let Ok(decoded)
857                = <AllowedOutboxesCall as ::ethers_core::abi::AbiDecode>::decode(data) {
858                return Ok(Self::AllowedOutboxes(decoded));
859            }
860            if let Ok(decoded)
861                = <DelayedInboxAccsCall as ::ethers_core::abi::AbiDecode>::decode(data) {
862                return Ok(Self::DelayedInboxAccs(decoded));
863            }
864            if let Ok(decoded)
865                = <DelayedMessageCountCall as ::ethers_core::abi::AbiDecode>::decode(
866                    data,
867                ) {
868                return Ok(Self::DelayedMessageCount(decoded));
869            }
870            if let Ok(decoded)
871                = <EnqueueDelayedMessageCall as ::ethers_core::abi::AbiDecode>::decode(
872                    data,
873                ) {
874                return Ok(Self::EnqueueDelayedMessage(decoded));
875            }
876            if let Ok(decoded)
877                = <EnqueueSequencerMessageCall as ::ethers_core::abi::AbiDecode>::decode(
878                    data,
879                ) {
880                return Ok(Self::EnqueueSequencerMessage(decoded));
881            }
882            if let Ok(decoded)
883                = <ExecuteCallCall as ::ethers_core::abi::AbiDecode>::decode(data) {
884                return Ok(Self::ExecuteCall(decoded));
885            }
886            if let Ok(decoded)
887                = <InitializeCall as ::ethers_core::abi::AbiDecode>::decode(data) {
888                return Ok(Self::Initialize(decoded));
889            }
890            if let Ok(decoded)
891                = <RollupCall as ::ethers_core::abi::AbiDecode>::decode(data) {
892                return Ok(Self::Rollup(decoded));
893            }
894            if let Ok(decoded)
895                = <SequencerInboxCall as ::ethers_core::abi::AbiDecode>::decode(data) {
896                return Ok(Self::SequencerInbox(decoded));
897            }
898            if let Ok(decoded)
899                = <SequencerInboxAccsCall as ::ethers_core::abi::AbiDecode>::decode(
900                    data,
901                ) {
902                return Ok(Self::SequencerInboxAccs(decoded));
903            }
904            if let Ok(decoded)
905                = <SequencerMessageCountCall as ::ethers_core::abi::AbiDecode>::decode(
906                    data,
907                ) {
908                return Ok(Self::SequencerMessageCount(decoded));
909            }
910            if let Ok(decoded)
911                = <SequencerReportedSubMessageCountCall as ::ethers_core::abi::AbiDecode>::decode(
912                    data,
913                ) {
914                return Ok(Self::SequencerReportedSubMessageCount(decoded));
915            }
916            if let Ok(decoded)
917                = <SetDelayedInboxCall as ::ethers_core::abi::AbiDecode>::decode(data) {
918                return Ok(Self::SetDelayedInbox(decoded));
919            }
920            if let Ok(decoded)
921                = <SetOutboxCall as ::ethers_core::abi::AbiDecode>::decode(data) {
922                return Ok(Self::SetOutbox(decoded));
923            }
924            if let Ok(decoded)
925                = <SetSequencerInboxCall as ::ethers_core::abi::AbiDecode>::decode(
926                    data,
927                ) {
928                return Ok(Self::SetSequencerInbox(decoded));
929            }
930            if let Ok(decoded)
931                = <SubmitBatchSpendingReportCall as ::ethers_core::abi::AbiDecode>::decode(
932                    data,
933                ) {
934                return Ok(Self::SubmitBatchSpendingReport(decoded));
935            }
936            Err(::ethers_core::abi::Error::InvalidData.into())
937        }
938    }
939    impl ::ethers_core::abi::AbiEncode for IBridgeCalls {
940        fn encode(self) -> Vec<u8> {
941            match self {
942                Self::ActiveOutbox(element) => {
943                    ::ethers_core::abi::AbiEncode::encode(element)
944                }
945                Self::AllowedDelayedInboxList(element) => {
946                    ::ethers_core::abi::AbiEncode::encode(element)
947                }
948                Self::AllowedDelayedInboxes(element) => {
949                    ::ethers_core::abi::AbiEncode::encode(element)
950                }
951                Self::AllowedOutboxList(element) => {
952                    ::ethers_core::abi::AbiEncode::encode(element)
953                }
954                Self::AllowedOutboxes(element) => {
955                    ::ethers_core::abi::AbiEncode::encode(element)
956                }
957                Self::DelayedInboxAccs(element) => {
958                    ::ethers_core::abi::AbiEncode::encode(element)
959                }
960                Self::DelayedMessageCount(element) => {
961                    ::ethers_core::abi::AbiEncode::encode(element)
962                }
963                Self::EnqueueDelayedMessage(element) => {
964                    ::ethers_core::abi::AbiEncode::encode(element)
965                }
966                Self::EnqueueSequencerMessage(element) => {
967                    ::ethers_core::abi::AbiEncode::encode(element)
968                }
969                Self::ExecuteCall(element) => {
970                    ::ethers_core::abi::AbiEncode::encode(element)
971                }
972                Self::Initialize(element) => {
973                    ::ethers_core::abi::AbiEncode::encode(element)
974                }
975                Self::Rollup(element) => ::ethers_core::abi::AbiEncode::encode(element),
976                Self::SequencerInbox(element) => {
977                    ::ethers_core::abi::AbiEncode::encode(element)
978                }
979                Self::SequencerInboxAccs(element) => {
980                    ::ethers_core::abi::AbiEncode::encode(element)
981                }
982                Self::SequencerMessageCount(element) => {
983                    ::ethers_core::abi::AbiEncode::encode(element)
984                }
985                Self::SequencerReportedSubMessageCount(element) => {
986                    ::ethers_core::abi::AbiEncode::encode(element)
987                }
988                Self::SetDelayedInbox(element) => {
989                    ::ethers_core::abi::AbiEncode::encode(element)
990                }
991                Self::SetOutbox(element) => {
992                    ::ethers_core::abi::AbiEncode::encode(element)
993                }
994                Self::SetSequencerInbox(element) => {
995                    ::ethers_core::abi::AbiEncode::encode(element)
996                }
997                Self::SubmitBatchSpendingReport(element) => {
998                    ::ethers_core::abi::AbiEncode::encode(element)
999                }
1000            }
1001        }
1002    }
1003    impl ::core::fmt::Display for IBridgeCalls {
1004        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1005            match self {
1006                Self::ActiveOutbox(element) => ::core::fmt::Display::fmt(element, f),
1007                Self::AllowedDelayedInboxList(element) => {
1008                    ::core::fmt::Display::fmt(element, f)
1009                }
1010                Self::AllowedDelayedInboxes(element) => {
1011                    ::core::fmt::Display::fmt(element, f)
1012                }
1013                Self::AllowedOutboxList(element) => ::core::fmt::Display::fmt(element, f),
1014                Self::AllowedOutboxes(element) => ::core::fmt::Display::fmt(element, f),
1015                Self::DelayedInboxAccs(element) => ::core::fmt::Display::fmt(element, f),
1016                Self::DelayedMessageCount(element) => {
1017                    ::core::fmt::Display::fmt(element, f)
1018                }
1019                Self::EnqueueDelayedMessage(element) => {
1020                    ::core::fmt::Display::fmt(element, f)
1021                }
1022                Self::EnqueueSequencerMessage(element) => {
1023                    ::core::fmt::Display::fmt(element, f)
1024                }
1025                Self::ExecuteCall(element) => ::core::fmt::Display::fmt(element, f),
1026                Self::Initialize(element) => ::core::fmt::Display::fmt(element, f),
1027                Self::Rollup(element) => ::core::fmt::Display::fmt(element, f),
1028                Self::SequencerInbox(element) => ::core::fmt::Display::fmt(element, f),
1029                Self::SequencerInboxAccs(element) => {
1030                    ::core::fmt::Display::fmt(element, f)
1031                }
1032                Self::SequencerMessageCount(element) => {
1033                    ::core::fmt::Display::fmt(element, f)
1034                }
1035                Self::SequencerReportedSubMessageCount(element) => {
1036                    ::core::fmt::Display::fmt(element, f)
1037                }
1038                Self::SetDelayedInbox(element) => ::core::fmt::Display::fmt(element, f),
1039                Self::SetOutbox(element) => ::core::fmt::Display::fmt(element, f),
1040                Self::SetSequencerInbox(element) => ::core::fmt::Display::fmt(element, f),
1041                Self::SubmitBatchSpendingReport(element) => {
1042                    ::core::fmt::Display::fmt(element, f)
1043                }
1044            }
1045        }
1046    }
1047    impl ::core::convert::From<ActiveOutboxCall> for IBridgeCalls {
1048        fn from(value: ActiveOutboxCall) -> Self {
1049            Self::ActiveOutbox(value)
1050        }
1051    }
1052    impl ::core::convert::From<AllowedDelayedInboxListCall> for IBridgeCalls {
1053        fn from(value: AllowedDelayedInboxListCall) -> Self {
1054            Self::AllowedDelayedInboxList(value)
1055        }
1056    }
1057    impl ::core::convert::From<AllowedDelayedInboxesCall> for IBridgeCalls {
1058        fn from(value: AllowedDelayedInboxesCall) -> Self {
1059            Self::AllowedDelayedInboxes(value)
1060        }
1061    }
1062    impl ::core::convert::From<AllowedOutboxListCall> for IBridgeCalls {
1063        fn from(value: AllowedOutboxListCall) -> Self {
1064            Self::AllowedOutboxList(value)
1065        }
1066    }
1067    impl ::core::convert::From<AllowedOutboxesCall> for IBridgeCalls {
1068        fn from(value: AllowedOutboxesCall) -> Self {
1069            Self::AllowedOutboxes(value)
1070        }
1071    }
1072    impl ::core::convert::From<DelayedInboxAccsCall> for IBridgeCalls {
1073        fn from(value: DelayedInboxAccsCall) -> Self {
1074            Self::DelayedInboxAccs(value)
1075        }
1076    }
1077    impl ::core::convert::From<DelayedMessageCountCall> for IBridgeCalls {
1078        fn from(value: DelayedMessageCountCall) -> Self {
1079            Self::DelayedMessageCount(value)
1080        }
1081    }
1082    impl ::core::convert::From<EnqueueDelayedMessageCall> for IBridgeCalls {
1083        fn from(value: EnqueueDelayedMessageCall) -> Self {
1084            Self::EnqueueDelayedMessage(value)
1085        }
1086    }
1087    impl ::core::convert::From<EnqueueSequencerMessageCall> for IBridgeCalls {
1088        fn from(value: EnqueueSequencerMessageCall) -> Self {
1089            Self::EnqueueSequencerMessage(value)
1090        }
1091    }
1092    impl ::core::convert::From<ExecuteCallCall> for IBridgeCalls {
1093        fn from(value: ExecuteCallCall) -> Self {
1094            Self::ExecuteCall(value)
1095        }
1096    }
1097    impl ::core::convert::From<InitializeCall> for IBridgeCalls {
1098        fn from(value: InitializeCall) -> Self {
1099            Self::Initialize(value)
1100        }
1101    }
1102    impl ::core::convert::From<RollupCall> for IBridgeCalls {
1103        fn from(value: RollupCall) -> Self {
1104            Self::Rollup(value)
1105        }
1106    }
1107    impl ::core::convert::From<SequencerInboxCall> for IBridgeCalls {
1108        fn from(value: SequencerInboxCall) -> Self {
1109            Self::SequencerInbox(value)
1110        }
1111    }
1112    impl ::core::convert::From<SequencerInboxAccsCall> for IBridgeCalls {
1113        fn from(value: SequencerInboxAccsCall) -> Self {
1114            Self::SequencerInboxAccs(value)
1115        }
1116    }
1117    impl ::core::convert::From<SequencerMessageCountCall> for IBridgeCalls {
1118        fn from(value: SequencerMessageCountCall) -> Self {
1119            Self::SequencerMessageCount(value)
1120        }
1121    }
1122    impl ::core::convert::From<SequencerReportedSubMessageCountCall> for IBridgeCalls {
1123        fn from(value: SequencerReportedSubMessageCountCall) -> Self {
1124            Self::SequencerReportedSubMessageCount(value)
1125        }
1126    }
1127    impl ::core::convert::From<SetDelayedInboxCall> for IBridgeCalls {
1128        fn from(value: SetDelayedInboxCall) -> Self {
1129            Self::SetDelayedInbox(value)
1130        }
1131    }
1132    impl ::core::convert::From<SetOutboxCall> for IBridgeCalls {
1133        fn from(value: SetOutboxCall) -> Self {
1134            Self::SetOutbox(value)
1135        }
1136    }
1137    impl ::core::convert::From<SetSequencerInboxCall> for IBridgeCalls {
1138        fn from(value: SetSequencerInboxCall) -> Self {
1139            Self::SetSequencerInbox(value)
1140        }
1141    }
1142    impl ::core::convert::From<SubmitBatchSpendingReportCall> for IBridgeCalls {
1143        fn from(value: SubmitBatchSpendingReportCall) -> Self {
1144            Self::SubmitBatchSpendingReport(value)
1145        }
1146    }
1147    ///Container type for all return fields from the `activeOutbox` function with signature `activeOutbox()` and selector `0xab5d8943`
1148    #[derive(
1149        Clone,
1150        ::ethers_contract::EthAbiType,
1151        ::ethers_contract::EthAbiCodec,
1152        Default,
1153        Debug,
1154        PartialEq,
1155        Eq,
1156        Hash
1157    )]
1158    pub struct ActiveOutboxReturn(pub ::ethers_core::types::Address);
1159    ///Container type for all return fields from the `allowedDelayedInboxList` function with signature `allowedDelayedInboxList(uint256)` and selector `0xe76f5c8d`
1160    #[derive(
1161        Clone,
1162        ::ethers_contract::EthAbiType,
1163        ::ethers_contract::EthAbiCodec,
1164        Default,
1165        Debug,
1166        PartialEq,
1167        Eq,
1168        Hash
1169    )]
1170    pub struct AllowedDelayedInboxListReturn(pub ::ethers_core::types::Address);
1171    ///Container type for all return fields from the `allowedDelayedInboxes` function with signature `allowedDelayedInboxes(address)` and selector `0xae60bd13`
1172    #[derive(
1173        Clone,
1174        ::ethers_contract::EthAbiType,
1175        ::ethers_contract::EthAbiCodec,
1176        Default,
1177        Debug,
1178        PartialEq,
1179        Eq,
1180        Hash
1181    )]
1182    pub struct AllowedDelayedInboxesReturn(pub bool);
1183    ///Container type for all return fields from the `allowedOutboxList` function with signature `allowedOutboxList(uint256)` and selector `0x945e1147`
1184    #[derive(
1185        Clone,
1186        ::ethers_contract::EthAbiType,
1187        ::ethers_contract::EthAbiCodec,
1188        Default,
1189        Debug,
1190        PartialEq,
1191        Eq,
1192        Hash
1193    )]
1194    pub struct AllowedOutboxListReturn(pub ::ethers_core::types::Address);
1195    ///Container type for all return fields from the `allowedOutboxes` function with signature `allowedOutboxes(address)` and selector `0x413b35bd`
1196    #[derive(
1197        Clone,
1198        ::ethers_contract::EthAbiType,
1199        ::ethers_contract::EthAbiCodec,
1200        Default,
1201        Debug,
1202        PartialEq,
1203        Eq,
1204        Hash
1205    )]
1206    pub struct AllowedOutboxesReturn(pub bool);
1207    ///Container type for all return fields from the `delayedInboxAccs` function with signature `delayedInboxAccs(uint256)` and selector `0xd5719dc2`
1208    #[derive(
1209        Clone,
1210        ::ethers_contract::EthAbiType,
1211        ::ethers_contract::EthAbiCodec,
1212        Default,
1213        Debug,
1214        PartialEq,
1215        Eq,
1216        Hash
1217    )]
1218    pub struct DelayedInboxAccsReturn(pub [u8; 32]);
1219    ///Container type for all return fields from the `delayedMessageCount` function with signature `delayedMessageCount()` and selector `0xeca067ad`
1220    #[derive(
1221        Clone,
1222        ::ethers_contract::EthAbiType,
1223        ::ethers_contract::EthAbiCodec,
1224        Default,
1225        Debug,
1226        PartialEq,
1227        Eq,
1228        Hash
1229    )]
1230    pub struct DelayedMessageCountReturn(pub ::ethers_core::types::U256);
1231    ///Container type for all return fields from the `enqueueDelayedMessage` function with signature `enqueueDelayedMessage(uint8,address,bytes32)` and selector `0x8db5993b`
1232    #[derive(
1233        Clone,
1234        ::ethers_contract::EthAbiType,
1235        ::ethers_contract::EthAbiCodec,
1236        Default,
1237        Debug,
1238        PartialEq,
1239        Eq,
1240        Hash
1241    )]
1242    pub struct EnqueueDelayedMessageReturn(pub ::ethers_core::types::U256);
1243    ///Container type for all return fields from the `enqueueSequencerMessage` function with signature `enqueueSequencerMessage(bytes32,uint256,uint256,uint256)` and selector `0x86598a56`
1244    #[derive(
1245        Clone,
1246        ::ethers_contract::EthAbiType,
1247        ::ethers_contract::EthAbiCodec,
1248        Default,
1249        Debug,
1250        PartialEq,
1251        Eq,
1252        Hash
1253    )]
1254    pub struct EnqueueSequencerMessageReturn {
1255        pub seq_message_index: ::ethers_core::types::U256,
1256        pub before_acc: [u8; 32],
1257        pub delayed_acc: [u8; 32],
1258        pub acc: [u8; 32],
1259    }
1260    ///Container type for all return fields from the `executeCall` function with signature `executeCall(address,uint256,bytes)` and selector `0x9e5d4c49`
1261    #[derive(
1262        Clone,
1263        ::ethers_contract::EthAbiType,
1264        ::ethers_contract::EthAbiCodec,
1265        Default,
1266        Debug,
1267        PartialEq,
1268        Eq,
1269        Hash
1270    )]
1271    pub struct ExecuteCallReturn {
1272        pub success: bool,
1273        pub return_data: ::ethers_core::types::Bytes,
1274    }
1275    ///Container type for all return fields from the `rollup` function with signature `rollup()` and selector `0xcb23bcb5`
1276    #[derive(
1277        Clone,
1278        ::ethers_contract::EthAbiType,
1279        ::ethers_contract::EthAbiCodec,
1280        Default,
1281        Debug,
1282        PartialEq,
1283        Eq,
1284        Hash
1285    )]
1286    pub struct RollupReturn(pub ::ethers_core::types::Address);
1287    ///Container type for all return fields from the `sequencerInbox` function with signature `sequencerInbox()` and selector `0xee35f327`
1288    #[derive(
1289        Clone,
1290        ::ethers_contract::EthAbiType,
1291        ::ethers_contract::EthAbiCodec,
1292        Default,
1293        Debug,
1294        PartialEq,
1295        Eq,
1296        Hash
1297    )]
1298    pub struct SequencerInboxReturn(pub ::ethers_core::types::Address);
1299    ///Container type for all return fields from the `sequencerInboxAccs` function with signature `sequencerInboxAccs(uint256)` and selector `0x16bf5579`
1300    #[derive(
1301        Clone,
1302        ::ethers_contract::EthAbiType,
1303        ::ethers_contract::EthAbiCodec,
1304        Default,
1305        Debug,
1306        PartialEq,
1307        Eq,
1308        Hash
1309    )]
1310    pub struct SequencerInboxAccsReturn(pub [u8; 32]);
1311    ///Container type for all return fields from the `sequencerMessageCount` function with signature `sequencerMessageCount()` and selector `0x0084120c`
1312    #[derive(
1313        Clone,
1314        ::ethers_contract::EthAbiType,
1315        ::ethers_contract::EthAbiCodec,
1316        Default,
1317        Debug,
1318        PartialEq,
1319        Eq,
1320        Hash
1321    )]
1322    pub struct SequencerMessageCountReturn(pub ::ethers_core::types::U256);
1323    ///Container type for all return fields from the `sequencerReportedSubMessageCount` function with signature `sequencerReportedSubMessageCount()` and selector `0x5fca4a16`
1324    #[derive(
1325        Clone,
1326        ::ethers_contract::EthAbiType,
1327        ::ethers_contract::EthAbiCodec,
1328        Default,
1329        Debug,
1330        PartialEq,
1331        Eq,
1332        Hash
1333    )]
1334    pub struct SequencerReportedSubMessageCountReturn(pub ::ethers_core::types::U256);
1335    ///Container type for all return fields from the `submitBatchSpendingReport` function with signature `submitBatchSpendingReport(address,bytes32)` and selector `0x7a88b107`
1336    #[derive(
1337        Clone,
1338        ::ethers_contract::EthAbiType,
1339        ::ethers_contract::EthAbiCodec,
1340        Default,
1341        Debug,
1342        PartialEq,
1343        Eq,
1344        Hash
1345    )]
1346    pub struct SubmitBatchSpendingReportReturn {
1347        pub msg_num: ::ethers_core::types::U256,
1348    }
1349}