openzeppelin_rs/contracts/
AccessControlEnumerable.rs

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