openzeppelin_rs/contracts/
AccessControlCrossChain.rs

1pub use access_control_cross_chain::*;
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 access_control_cross_chain {
13    #[rustfmt::skip]
14    const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"RoleAdminChanged\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"RoleGranted\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"RoleRevoked\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CROSSCHAIN_ALIAS\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"grantRole\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"renounceRole\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"revokeRole\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]";
15    ///The parsed JSON ABI of the contract.
16    pub static ACCESSCONTROLCROSSCHAIN_ABI: ::ethers_contract::Lazy<
17        ::ethers_core::abi::Abi,
18    > = ::ethers_contract::Lazy::new(|| {
19        ::ethers_core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid")
20    });
21    pub struct AccessControlCrossChain<M>(::ethers_contract::Contract<M>);
22    impl<M> ::core::clone::Clone for AccessControlCrossChain<M> {
23        fn clone(&self) -> Self {
24            Self(::core::clone::Clone::clone(&self.0))
25        }
26    }
27    impl<M> ::core::ops::Deref for AccessControlCrossChain<M> {
28        type Target = ::ethers_contract::Contract<M>;
29        fn deref(&self) -> &Self::Target {
30            &self.0
31        }
32    }
33    impl<M> ::core::ops::DerefMut for AccessControlCrossChain<M> {
34        fn deref_mut(&mut self) -> &mut Self::Target {
35            &mut self.0
36        }
37    }
38    impl<M> ::core::fmt::Debug for AccessControlCrossChain<M> {
39        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
40            f.debug_tuple(stringify!(AccessControlCrossChain))
41                .field(&self.address())
42                .finish()
43        }
44    }
45    impl<M: ::ethers_providers::Middleware> AccessControlCrossChain<M> {
46        /// Creates a new contract instance with the specified `ethers` client at
47        /// `address`. The contract derefs to a `ethers::Contract` object.
48        pub fn new<T: Into<::ethers_core::types::Address>>(
49            address: T,
50            client: ::std::sync::Arc<M>,
51        ) -> Self {
52            Self(
53                ::ethers_contract::Contract::new(
54                    address.into(),
55                    ACCESSCONTROLCROSSCHAIN_ABI.clone(),
56                    client,
57                ),
58            )
59        }
60        ///Calls the contract's `CROSSCHAIN_ALIAS` (0xf9d04295) function
61        pub fn crosschain_alias(
62            &self,
63        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
64            self.0
65                .method_hash([249, 208, 66, 149], ())
66                .expect("method not found (this should never happen)")
67        }
68        ///Calls the contract's `DEFAULT_ADMIN_ROLE` (0xa217fddf) function
69        pub fn default_admin_role(
70            &self,
71        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
72            self.0
73                .method_hash([162, 23, 253, 223], ())
74                .expect("method not found (this should never happen)")
75        }
76        ///Calls the contract's `getRoleAdmin` (0x248a9ca3) function
77        pub fn get_role_admin(
78            &self,
79            role: [u8; 32],
80        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
81            self.0
82                .method_hash([36, 138, 156, 163], role)
83                .expect("method not found (this should never happen)")
84        }
85        ///Calls the contract's `grantRole` (0x2f2ff15d) function
86        pub fn grant_role(
87            &self,
88            role: [u8; 32],
89            account: ::ethers_core::types::Address,
90        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
91            self.0
92                .method_hash([47, 47, 241, 93], (role, account))
93                .expect("method not found (this should never happen)")
94        }
95        ///Calls the contract's `hasRole` (0x91d14854) function
96        pub fn has_role(
97            &self,
98            role: [u8; 32],
99            account: ::ethers_core::types::Address,
100        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
101            self.0
102                .method_hash([145, 209, 72, 84], (role, account))
103                .expect("method not found (this should never happen)")
104        }
105        ///Calls the contract's `renounceRole` (0x36568abe) function
106        pub fn renounce_role(
107            &self,
108            role: [u8; 32],
109            account: ::ethers_core::types::Address,
110        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
111            self.0
112                .method_hash([54, 86, 138, 190], (role, account))
113                .expect("method not found (this should never happen)")
114        }
115        ///Calls the contract's `revokeRole` (0xd547741f) function
116        pub fn revoke_role(
117            &self,
118            role: [u8; 32],
119            account: ::ethers_core::types::Address,
120        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
121            self.0
122                .method_hash([213, 71, 116, 31], (role, account))
123                .expect("method not found (this should never happen)")
124        }
125        ///Calls the contract's `supportsInterface` (0x01ffc9a7) function
126        pub fn supports_interface(
127            &self,
128            interface_id: [u8; 4],
129        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
130            self.0
131                .method_hash([1, 255, 201, 167], interface_id)
132                .expect("method not found (this should never happen)")
133        }
134        ///Gets the contract's `RoleAdminChanged` event
135        pub fn role_admin_changed_filter(
136            &self,
137        ) -> ::ethers_contract::builders::Event<
138            ::std::sync::Arc<M>,
139            M,
140            RoleAdminChangedFilter,
141        > {
142            self.0.event()
143        }
144        ///Gets the contract's `RoleGranted` event
145        pub fn role_granted_filter(
146            &self,
147        ) -> ::ethers_contract::builders::Event<
148            ::std::sync::Arc<M>,
149            M,
150            RoleGrantedFilter,
151        > {
152            self.0.event()
153        }
154        ///Gets the contract's `RoleRevoked` event
155        pub fn role_revoked_filter(
156            &self,
157        ) -> ::ethers_contract::builders::Event<
158            ::std::sync::Arc<M>,
159            M,
160            RoleRevokedFilter,
161        > {
162            self.0.event()
163        }
164        /// Returns an `Event` builder for all the events of this contract.
165        pub fn events(
166            &self,
167        ) -> ::ethers_contract::builders::Event<
168            ::std::sync::Arc<M>,
169            M,
170            AccessControlCrossChainEvents,
171        > {
172            self.0.event_with_filter(::core::default::Default::default())
173        }
174    }
175    impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
176    for AccessControlCrossChain<M> {
177        fn from(contract: ::ethers_contract::Contract<M>) -> Self {
178            Self::new(contract.address(), contract.client())
179        }
180    }
181    #[derive(
182        Clone,
183        ::ethers_contract::EthEvent,
184        ::ethers_contract::EthDisplay,
185        Default,
186        Debug,
187        PartialEq,
188        Eq,
189        Hash
190    )]
191    #[ethevent(
192        name = "RoleAdminChanged",
193        abi = "RoleAdminChanged(bytes32,bytes32,bytes32)"
194    )]
195    pub struct RoleAdminChangedFilter {
196        #[ethevent(indexed)]
197        pub role: [u8; 32],
198        #[ethevent(indexed)]
199        pub previous_admin_role: [u8; 32],
200        #[ethevent(indexed)]
201        pub new_admin_role: [u8; 32],
202    }
203    #[derive(
204        Clone,
205        ::ethers_contract::EthEvent,
206        ::ethers_contract::EthDisplay,
207        Default,
208        Debug,
209        PartialEq,
210        Eq,
211        Hash
212    )]
213    #[ethevent(name = "RoleGranted", abi = "RoleGranted(bytes32,address,address)")]
214    pub struct RoleGrantedFilter {
215        #[ethevent(indexed)]
216        pub role: [u8; 32],
217        #[ethevent(indexed)]
218        pub account: ::ethers_core::types::Address,
219        #[ethevent(indexed)]
220        pub sender: ::ethers_core::types::Address,
221    }
222    #[derive(
223        Clone,
224        ::ethers_contract::EthEvent,
225        ::ethers_contract::EthDisplay,
226        Default,
227        Debug,
228        PartialEq,
229        Eq,
230        Hash
231    )]
232    #[ethevent(name = "RoleRevoked", abi = "RoleRevoked(bytes32,address,address)")]
233    pub struct RoleRevokedFilter {
234        #[ethevent(indexed)]
235        pub role: [u8; 32],
236        #[ethevent(indexed)]
237        pub account: ::ethers_core::types::Address,
238        #[ethevent(indexed)]
239        pub sender: ::ethers_core::types::Address,
240    }
241    ///Container type for all of the contract's events
242    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
243    pub enum AccessControlCrossChainEvents {
244        RoleAdminChangedFilter(RoleAdminChangedFilter),
245        RoleGrantedFilter(RoleGrantedFilter),
246        RoleRevokedFilter(RoleRevokedFilter),
247    }
248    impl ::ethers_contract::EthLogDecode for AccessControlCrossChainEvents {
249        fn decode_log(
250            log: &::ethers_core::abi::RawLog,
251        ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
252            if let Ok(decoded) = RoleAdminChangedFilter::decode_log(log) {
253                return Ok(
254                    AccessControlCrossChainEvents::RoleAdminChangedFilter(decoded),
255                );
256            }
257            if let Ok(decoded) = RoleGrantedFilter::decode_log(log) {
258                return Ok(AccessControlCrossChainEvents::RoleGrantedFilter(decoded));
259            }
260            if let Ok(decoded) = RoleRevokedFilter::decode_log(log) {
261                return Ok(AccessControlCrossChainEvents::RoleRevokedFilter(decoded));
262            }
263            Err(::ethers_core::abi::Error::InvalidData)
264        }
265    }
266    impl ::core::fmt::Display for AccessControlCrossChainEvents {
267        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
268            match self {
269                Self::RoleAdminChangedFilter(element) => {
270                    ::core::fmt::Display::fmt(element, f)
271                }
272                Self::RoleGrantedFilter(element) => ::core::fmt::Display::fmt(element, f),
273                Self::RoleRevokedFilter(element) => ::core::fmt::Display::fmt(element, f),
274            }
275        }
276    }
277    impl ::core::convert::From<RoleAdminChangedFilter>
278    for AccessControlCrossChainEvents {
279        fn from(value: RoleAdminChangedFilter) -> Self {
280            Self::RoleAdminChangedFilter(value)
281        }
282    }
283    impl ::core::convert::From<RoleGrantedFilter> for AccessControlCrossChainEvents {
284        fn from(value: RoleGrantedFilter) -> Self {
285            Self::RoleGrantedFilter(value)
286        }
287    }
288    impl ::core::convert::From<RoleRevokedFilter> for AccessControlCrossChainEvents {
289        fn from(value: RoleRevokedFilter) -> Self {
290            Self::RoleRevokedFilter(value)
291        }
292    }
293    ///Container type for all input parameters for the `CROSSCHAIN_ALIAS` function with signature `CROSSCHAIN_ALIAS()` and selector `0xf9d04295`
294    #[derive(
295        Clone,
296        ::ethers_contract::EthCall,
297        ::ethers_contract::EthDisplay,
298        Default,
299        Debug,
300        PartialEq,
301        Eq,
302        Hash
303    )]
304    #[ethcall(name = "CROSSCHAIN_ALIAS", abi = "CROSSCHAIN_ALIAS()")]
305    pub struct CrosschainAliasCall;
306    ///Container type for all input parameters for the `DEFAULT_ADMIN_ROLE` function with signature `DEFAULT_ADMIN_ROLE()` and selector `0xa217fddf`
307    #[derive(
308        Clone,
309        ::ethers_contract::EthCall,
310        ::ethers_contract::EthDisplay,
311        Default,
312        Debug,
313        PartialEq,
314        Eq,
315        Hash
316    )]
317    #[ethcall(name = "DEFAULT_ADMIN_ROLE", abi = "DEFAULT_ADMIN_ROLE()")]
318    pub struct DefaultAdminRoleCall;
319    ///Container type for all input parameters for the `getRoleAdmin` function with signature `getRoleAdmin(bytes32)` and selector `0x248a9ca3`
320    #[derive(
321        Clone,
322        ::ethers_contract::EthCall,
323        ::ethers_contract::EthDisplay,
324        Default,
325        Debug,
326        PartialEq,
327        Eq,
328        Hash
329    )]
330    #[ethcall(name = "getRoleAdmin", abi = "getRoleAdmin(bytes32)")]
331    pub struct GetRoleAdminCall {
332        pub role: [u8; 32],
333    }
334    ///Container type for all input parameters for the `grantRole` function with signature `grantRole(bytes32,address)` and selector `0x2f2ff15d`
335    #[derive(
336        Clone,
337        ::ethers_contract::EthCall,
338        ::ethers_contract::EthDisplay,
339        Default,
340        Debug,
341        PartialEq,
342        Eq,
343        Hash
344    )]
345    #[ethcall(name = "grantRole", abi = "grantRole(bytes32,address)")]
346    pub struct GrantRoleCall {
347        pub role: [u8; 32],
348        pub account: ::ethers_core::types::Address,
349    }
350    ///Container type for all input parameters for the `hasRole` function with signature `hasRole(bytes32,address)` and selector `0x91d14854`
351    #[derive(
352        Clone,
353        ::ethers_contract::EthCall,
354        ::ethers_contract::EthDisplay,
355        Default,
356        Debug,
357        PartialEq,
358        Eq,
359        Hash
360    )]
361    #[ethcall(name = "hasRole", abi = "hasRole(bytes32,address)")]
362    pub struct HasRoleCall {
363        pub role: [u8; 32],
364        pub account: ::ethers_core::types::Address,
365    }
366    ///Container type for all input parameters for the `renounceRole` function with signature `renounceRole(bytes32,address)` and selector `0x36568abe`
367    #[derive(
368        Clone,
369        ::ethers_contract::EthCall,
370        ::ethers_contract::EthDisplay,
371        Default,
372        Debug,
373        PartialEq,
374        Eq,
375        Hash
376    )]
377    #[ethcall(name = "renounceRole", abi = "renounceRole(bytes32,address)")]
378    pub struct RenounceRoleCall {
379        pub role: [u8; 32],
380        pub account: ::ethers_core::types::Address,
381    }
382    ///Container type for all input parameters for the `revokeRole` function with signature `revokeRole(bytes32,address)` and selector `0xd547741f`
383    #[derive(
384        Clone,
385        ::ethers_contract::EthCall,
386        ::ethers_contract::EthDisplay,
387        Default,
388        Debug,
389        PartialEq,
390        Eq,
391        Hash
392    )]
393    #[ethcall(name = "revokeRole", abi = "revokeRole(bytes32,address)")]
394    pub struct RevokeRoleCall {
395        pub role: [u8; 32],
396        pub account: ::ethers_core::types::Address,
397    }
398    ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
399    #[derive(
400        Clone,
401        ::ethers_contract::EthCall,
402        ::ethers_contract::EthDisplay,
403        Default,
404        Debug,
405        PartialEq,
406        Eq,
407        Hash
408    )]
409    #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")]
410    pub struct SupportsInterfaceCall {
411        pub interface_id: [u8; 4],
412    }
413    ///Container type for all of the contract's call
414    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
415    pub enum AccessControlCrossChainCalls {
416        CrosschainAlias(CrosschainAliasCall),
417        DefaultAdminRole(DefaultAdminRoleCall),
418        GetRoleAdmin(GetRoleAdminCall),
419        GrantRole(GrantRoleCall),
420        HasRole(HasRoleCall),
421        RenounceRole(RenounceRoleCall),
422        RevokeRole(RevokeRoleCall),
423        SupportsInterface(SupportsInterfaceCall),
424    }
425    impl ::ethers_core::abi::AbiDecode for AccessControlCrossChainCalls {
426        fn decode(
427            data: impl AsRef<[u8]>,
428        ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
429            let data = data.as_ref();
430            if let Ok(decoded)
431                = <CrosschainAliasCall as ::ethers_core::abi::AbiDecode>::decode(data) {
432                return Ok(Self::CrosschainAlias(decoded));
433            }
434            if let Ok(decoded)
435                = <DefaultAdminRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
436                return Ok(Self::DefaultAdminRole(decoded));
437            }
438            if let Ok(decoded)
439                = <GetRoleAdminCall as ::ethers_core::abi::AbiDecode>::decode(data) {
440                return Ok(Self::GetRoleAdmin(decoded));
441            }
442            if let Ok(decoded)
443                = <GrantRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
444                return Ok(Self::GrantRole(decoded));
445            }
446            if let Ok(decoded)
447                = <HasRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
448                return Ok(Self::HasRole(decoded));
449            }
450            if let Ok(decoded)
451                = <RenounceRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
452                return Ok(Self::RenounceRole(decoded));
453            }
454            if let Ok(decoded)
455                = <RevokeRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
456                return Ok(Self::RevokeRole(decoded));
457            }
458            if let Ok(decoded)
459                = <SupportsInterfaceCall as ::ethers_core::abi::AbiDecode>::decode(
460                    data,
461                ) {
462                return Ok(Self::SupportsInterface(decoded));
463            }
464            Err(::ethers_core::abi::Error::InvalidData.into())
465        }
466    }
467    impl ::ethers_core::abi::AbiEncode for AccessControlCrossChainCalls {
468        fn encode(self) -> Vec<u8> {
469            match self {
470                Self::CrosschainAlias(element) => {
471                    ::ethers_core::abi::AbiEncode::encode(element)
472                }
473                Self::DefaultAdminRole(element) => {
474                    ::ethers_core::abi::AbiEncode::encode(element)
475                }
476                Self::GetRoleAdmin(element) => {
477                    ::ethers_core::abi::AbiEncode::encode(element)
478                }
479                Self::GrantRole(element) => {
480                    ::ethers_core::abi::AbiEncode::encode(element)
481                }
482                Self::HasRole(element) => ::ethers_core::abi::AbiEncode::encode(element),
483                Self::RenounceRole(element) => {
484                    ::ethers_core::abi::AbiEncode::encode(element)
485                }
486                Self::RevokeRole(element) => {
487                    ::ethers_core::abi::AbiEncode::encode(element)
488                }
489                Self::SupportsInterface(element) => {
490                    ::ethers_core::abi::AbiEncode::encode(element)
491                }
492            }
493        }
494    }
495    impl ::core::fmt::Display for AccessControlCrossChainCalls {
496        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
497            match self {
498                Self::CrosschainAlias(element) => ::core::fmt::Display::fmt(element, f),
499                Self::DefaultAdminRole(element) => ::core::fmt::Display::fmt(element, f),
500                Self::GetRoleAdmin(element) => ::core::fmt::Display::fmt(element, f),
501                Self::GrantRole(element) => ::core::fmt::Display::fmt(element, f),
502                Self::HasRole(element) => ::core::fmt::Display::fmt(element, f),
503                Self::RenounceRole(element) => ::core::fmt::Display::fmt(element, f),
504                Self::RevokeRole(element) => ::core::fmt::Display::fmt(element, f),
505                Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f),
506            }
507        }
508    }
509    impl ::core::convert::From<CrosschainAliasCall> for AccessControlCrossChainCalls {
510        fn from(value: CrosschainAliasCall) -> Self {
511            Self::CrosschainAlias(value)
512        }
513    }
514    impl ::core::convert::From<DefaultAdminRoleCall> for AccessControlCrossChainCalls {
515        fn from(value: DefaultAdminRoleCall) -> Self {
516            Self::DefaultAdminRole(value)
517        }
518    }
519    impl ::core::convert::From<GetRoleAdminCall> for AccessControlCrossChainCalls {
520        fn from(value: GetRoleAdminCall) -> Self {
521            Self::GetRoleAdmin(value)
522        }
523    }
524    impl ::core::convert::From<GrantRoleCall> for AccessControlCrossChainCalls {
525        fn from(value: GrantRoleCall) -> Self {
526            Self::GrantRole(value)
527        }
528    }
529    impl ::core::convert::From<HasRoleCall> for AccessControlCrossChainCalls {
530        fn from(value: HasRoleCall) -> Self {
531            Self::HasRole(value)
532        }
533    }
534    impl ::core::convert::From<RenounceRoleCall> for AccessControlCrossChainCalls {
535        fn from(value: RenounceRoleCall) -> Self {
536            Self::RenounceRole(value)
537        }
538    }
539    impl ::core::convert::From<RevokeRoleCall> for AccessControlCrossChainCalls {
540        fn from(value: RevokeRoleCall) -> Self {
541            Self::RevokeRole(value)
542        }
543    }
544    impl ::core::convert::From<SupportsInterfaceCall> for AccessControlCrossChainCalls {
545        fn from(value: SupportsInterfaceCall) -> Self {
546            Self::SupportsInterface(value)
547        }
548    }
549    ///Container type for all return fields from the `CROSSCHAIN_ALIAS` function with signature `CROSSCHAIN_ALIAS()` and selector `0xf9d04295`
550    #[derive(
551        Clone,
552        ::ethers_contract::EthAbiType,
553        ::ethers_contract::EthAbiCodec,
554        Default,
555        Debug,
556        PartialEq,
557        Eq,
558        Hash
559    )]
560    pub struct CrosschainAliasReturn(pub [u8; 32]);
561    ///Container type for all return fields from the `DEFAULT_ADMIN_ROLE` function with signature `DEFAULT_ADMIN_ROLE()` and selector `0xa217fddf`
562    #[derive(
563        Clone,
564        ::ethers_contract::EthAbiType,
565        ::ethers_contract::EthAbiCodec,
566        Default,
567        Debug,
568        PartialEq,
569        Eq,
570        Hash
571    )]
572    pub struct DefaultAdminRoleReturn(pub [u8; 32]);
573    ///Container type for all return fields from the `getRoleAdmin` function with signature `getRoleAdmin(bytes32)` and selector `0x248a9ca3`
574    #[derive(
575        Clone,
576        ::ethers_contract::EthAbiType,
577        ::ethers_contract::EthAbiCodec,
578        Default,
579        Debug,
580        PartialEq,
581        Eq,
582        Hash
583    )]
584    pub struct GetRoleAdminReturn(pub [u8; 32]);
585    ///Container type for all return fields from the `hasRole` function with signature `hasRole(bytes32,address)` and selector `0x91d14854`
586    #[derive(
587        Clone,
588        ::ethers_contract::EthAbiType,
589        ::ethers_contract::EthAbiCodec,
590        Default,
591        Debug,
592        PartialEq,
593        Eq,
594        Hash
595    )]
596    pub struct HasRoleReturn(pub bool);
597    ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
598    #[derive(
599        Clone,
600        ::ethers_contract::EthAbiType,
601        ::ethers_contract::EthAbiCodec,
602        Default,
603        Debug,
604        PartialEq,
605        Eq,
606        Hash
607    )]
608    pub struct SupportsInterfaceReturn(pub bool);
609}