openzeppelin_rs/contracts/
IERC1820Registry.rs

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