1pub use ierc1820_registry::*;
2#[allow(
5 clippy::enum_variant_names,
6 clippy::too_many_arguments,
7 clippy::upper_case_acronyms,
8 clippy::type_complexity,
9 dead_code,
10 non_camel_case_types,
11)]
12pub mod 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 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 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 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 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 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 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 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 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 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 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 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 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 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 #[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 #[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 #[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 #[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 #[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 #[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 #[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 #[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 #[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 #[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 #[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 #[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 #[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 #[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 #[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}