hopr_bindings/codegen/
hoprnodesaferegistryevents.rs

1/**
2
3Generated by the following Solidity interface...
4```solidity
5interface HoprNodeSafeRegistryEvents {
6    event DergisteredNodeSafe(address indexed safeAddress, address indexed nodeAddress);
7    event DomainSeparatorUpdated(bytes32 indexed domainSeparator);
8    event RegisteredNodeSafe(address indexed safeAddress, address indexed nodeAddress);
9}
10```
11
12...which was generated by the following JSON ABI:
13```json
14[
15  {
16    "type": "event",
17    "name": "DergisteredNodeSafe",
18    "inputs": [
19      {
20        "name": "safeAddress",
21        "type": "address",
22        "indexed": true,
23        "internalType": "address"
24      },
25      {
26        "name": "nodeAddress",
27        "type": "address",
28        "indexed": true,
29        "internalType": "address"
30      }
31    ],
32    "anonymous": false
33  },
34  {
35    "type": "event",
36    "name": "DomainSeparatorUpdated",
37    "inputs": [
38      {
39        "name": "domainSeparator",
40        "type": "bytes32",
41        "indexed": true,
42        "internalType": "bytes32"
43      }
44    ],
45    "anonymous": false
46  },
47  {
48    "type": "event",
49    "name": "RegisteredNodeSafe",
50    "inputs": [
51      {
52        "name": "safeAddress",
53        "type": "address",
54        "indexed": true,
55        "internalType": "address"
56      },
57      {
58        "name": "nodeAddress",
59        "type": "address",
60        "indexed": true,
61        "internalType": "address"
62      }
63    ],
64    "anonymous": false
65  }
66]
67```*/
68#[allow(
69    non_camel_case_types,
70    non_snake_case,
71    clippy::pub_underscore_fields,
72    clippy::style,
73    clippy::empty_structs_with_brackets
74)]
75pub mod HoprNodeSafeRegistryEvents {
76    use super::*;
77    use alloy::sol_types as alloy_sol_types;
78    /// The creation / init bytecode of the contract.
79    ///
80    /// ```text
81    ///0x
82    /// ```
83    #[rustfmt::skip]
84    #[allow(clippy::all)]
85    pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
86        b"",
87    );
88    /// The runtime bytecode of the contract, as deployed on the network.
89    ///
90    /// ```text
91    ///0x
92    /// ```
93    #[rustfmt::skip]
94    #[allow(clippy::all)]
95    pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
96        b"",
97    );
98    #[derive(serde::Serialize, serde::Deserialize)]
99    #[derive(Default, Debug, PartialEq, Eq, Hash)]
100    /**Event with signature `DergisteredNodeSafe(address,address)` and selector `0xe837f339639296bec9f4bc986154f5ff76bbbefc3149a512920e1311414e3da1`.
101```solidity
102event DergisteredNodeSafe(address indexed safeAddress, address indexed nodeAddress);
103```*/
104    #[allow(
105        non_camel_case_types,
106        non_snake_case,
107        clippy::pub_underscore_fields,
108        clippy::style
109    )]
110    #[derive(Clone)]
111    pub struct DergisteredNodeSafe {
112        #[allow(missing_docs)]
113        pub safeAddress: alloy::sol_types::private::Address,
114        #[allow(missing_docs)]
115        pub nodeAddress: alloy::sol_types::private::Address,
116    }
117    #[allow(
118        non_camel_case_types,
119        non_snake_case,
120        clippy::pub_underscore_fields,
121        clippy::style
122    )]
123    const _: () = {
124        use alloy::sol_types as alloy_sol_types;
125        #[automatically_derived]
126        impl alloy_sol_types::SolEvent for DergisteredNodeSafe {
127            type DataTuple<'a> = ();
128            type DataToken<'a> = <Self::DataTuple<
129                'a,
130            > as alloy_sol_types::SolType>::Token<'a>;
131            type TopicList = (
132                alloy_sol_types::sol_data::FixedBytes<32>,
133                alloy::sol_types::sol_data::Address,
134                alloy::sol_types::sol_data::Address,
135            );
136            const SIGNATURE: &'static str = "DergisteredNodeSafe(address,address)";
137            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
138                232u8, 55u8, 243u8, 57u8, 99u8, 146u8, 150u8, 190u8, 201u8, 244u8, 188u8,
139                152u8, 97u8, 84u8, 245u8, 255u8, 118u8, 187u8, 190u8, 252u8, 49u8, 73u8,
140                165u8, 18u8, 146u8, 14u8, 19u8, 17u8, 65u8, 78u8, 61u8, 161u8,
141            ]);
142            const ANONYMOUS: bool = false;
143            #[allow(unused_variables)]
144            #[inline]
145            fn new(
146                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
147                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
148            ) -> Self {
149                Self {
150                    safeAddress: topics.1,
151                    nodeAddress: topics.2,
152                }
153            }
154            #[inline]
155            fn check_signature(
156                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
157            ) -> alloy_sol_types::Result<()> {
158                if topics.0 != Self::SIGNATURE_HASH {
159                    return Err(
160                        alloy_sol_types::Error::invalid_event_signature_hash(
161                            Self::SIGNATURE,
162                            topics.0,
163                            Self::SIGNATURE_HASH,
164                        ),
165                    );
166                }
167                Ok(())
168            }
169            #[inline]
170            fn tokenize_body(&self) -> Self::DataToken<'_> {
171                ()
172            }
173            #[inline]
174            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
175                (
176                    Self::SIGNATURE_HASH.into(),
177                    self.safeAddress.clone(),
178                    self.nodeAddress.clone(),
179                )
180            }
181            #[inline]
182            fn encode_topics_raw(
183                &self,
184                out: &mut [alloy_sol_types::abi::token::WordToken],
185            ) -> alloy_sol_types::Result<()> {
186                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
187                    return Err(alloy_sol_types::Error::Overrun);
188                }
189                out[0usize] = alloy_sol_types::abi::token::WordToken(
190                    Self::SIGNATURE_HASH,
191                );
192                out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
193                    &self.safeAddress,
194                );
195                out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
196                    &self.nodeAddress,
197                );
198                Ok(())
199            }
200        }
201        #[automatically_derived]
202        impl alloy_sol_types::private::IntoLogData for DergisteredNodeSafe {
203            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
204                From::from(self)
205            }
206            fn into_log_data(self) -> alloy_sol_types::private::LogData {
207                From::from(&self)
208            }
209        }
210        #[automatically_derived]
211        impl From<&DergisteredNodeSafe> for alloy_sol_types::private::LogData {
212            #[inline]
213            fn from(this: &DergisteredNodeSafe) -> alloy_sol_types::private::LogData {
214                alloy_sol_types::SolEvent::encode_log_data(this)
215            }
216        }
217    };
218    #[derive(serde::Serialize, serde::Deserialize)]
219    #[derive(Default, Debug, PartialEq, Eq, Hash)]
220    /**Event with signature `DomainSeparatorUpdated(bytes32)` and selector `0x771f5240ae5fd8a7640d3fb82fa70aab2fb1dbf35f2ef464f8509946717664c5`.
221```solidity
222event DomainSeparatorUpdated(bytes32 indexed domainSeparator);
223```*/
224    #[allow(
225        non_camel_case_types,
226        non_snake_case,
227        clippy::pub_underscore_fields,
228        clippy::style
229    )]
230    #[derive(Clone)]
231    pub struct DomainSeparatorUpdated {
232        #[allow(missing_docs)]
233        pub domainSeparator: alloy::sol_types::private::FixedBytes<32>,
234    }
235    #[allow(
236        non_camel_case_types,
237        non_snake_case,
238        clippy::pub_underscore_fields,
239        clippy::style
240    )]
241    const _: () = {
242        use alloy::sol_types as alloy_sol_types;
243        #[automatically_derived]
244        impl alloy_sol_types::SolEvent for DomainSeparatorUpdated {
245            type DataTuple<'a> = ();
246            type DataToken<'a> = <Self::DataTuple<
247                'a,
248            > as alloy_sol_types::SolType>::Token<'a>;
249            type TopicList = (
250                alloy_sol_types::sol_data::FixedBytes<32>,
251                alloy::sol_types::sol_data::FixedBytes<32>,
252            );
253            const SIGNATURE: &'static str = "DomainSeparatorUpdated(bytes32)";
254            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
255                119u8, 31u8, 82u8, 64u8, 174u8, 95u8, 216u8, 167u8, 100u8, 13u8, 63u8,
256                184u8, 47u8, 167u8, 10u8, 171u8, 47u8, 177u8, 219u8, 243u8, 95u8, 46u8,
257                244u8, 100u8, 248u8, 80u8, 153u8, 70u8, 113u8, 118u8, 100u8, 197u8,
258            ]);
259            const ANONYMOUS: bool = false;
260            #[allow(unused_variables)]
261            #[inline]
262            fn new(
263                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
264                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
265            ) -> Self {
266                Self { domainSeparator: topics.1 }
267            }
268            #[inline]
269            fn check_signature(
270                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
271            ) -> alloy_sol_types::Result<()> {
272                if topics.0 != Self::SIGNATURE_HASH {
273                    return Err(
274                        alloy_sol_types::Error::invalid_event_signature_hash(
275                            Self::SIGNATURE,
276                            topics.0,
277                            Self::SIGNATURE_HASH,
278                        ),
279                    );
280                }
281                Ok(())
282            }
283            #[inline]
284            fn tokenize_body(&self) -> Self::DataToken<'_> {
285                ()
286            }
287            #[inline]
288            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
289                (Self::SIGNATURE_HASH.into(), self.domainSeparator.clone())
290            }
291            #[inline]
292            fn encode_topics_raw(
293                &self,
294                out: &mut [alloy_sol_types::abi::token::WordToken],
295            ) -> alloy_sol_types::Result<()> {
296                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
297                    return Err(alloy_sol_types::Error::Overrun);
298                }
299                out[0usize] = alloy_sol_types::abi::token::WordToken(
300                    Self::SIGNATURE_HASH,
301                );
302                out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
303                    32,
304                > as alloy_sol_types::EventTopic>::encode_topic(&self.domainSeparator);
305                Ok(())
306            }
307        }
308        #[automatically_derived]
309        impl alloy_sol_types::private::IntoLogData for DomainSeparatorUpdated {
310            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
311                From::from(self)
312            }
313            fn into_log_data(self) -> alloy_sol_types::private::LogData {
314                From::from(&self)
315            }
316        }
317        #[automatically_derived]
318        impl From<&DomainSeparatorUpdated> for alloy_sol_types::private::LogData {
319            #[inline]
320            fn from(this: &DomainSeparatorUpdated) -> alloy_sol_types::private::LogData {
321                alloy_sol_types::SolEvent::encode_log_data(this)
322            }
323        }
324    };
325    #[derive(serde::Serialize, serde::Deserialize)]
326    #[derive(Default, Debug, PartialEq, Eq, Hash)]
327    /**Event with signature `RegisteredNodeSafe(address,address)` and selector `0x776da40cbf2c223552661bd48502ceb72409b3362bb0c66d8989bd7e20e4497d`.
328```solidity
329event RegisteredNodeSafe(address indexed safeAddress, address indexed nodeAddress);
330```*/
331    #[allow(
332        non_camel_case_types,
333        non_snake_case,
334        clippy::pub_underscore_fields,
335        clippy::style
336    )]
337    #[derive(Clone)]
338    pub struct RegisteredNodeSafe {
339        #[allow(missing_docs)]
340        pub safeAddress: alloy::sol_types::private::Address,
341        #[allow(missing_docs)]
342        pub nodeAddress: alloy::sol_types::private::Address,
343    }
344    #[allow(
345        non_camel_case_types,
346        non_snake_case,
347        clippy::pub_underscore_fields,
348        clippy::style
349    )]
350    const _: () = {
351        use alloy::sol_types as alloy_sol_types;
352        #[automatically_derived]
353        impl alloy_sol_types::SolEvent for RegisteredNodeSafe {
354            type DataTuple<'a> = ();
355            type DataToken<'a> = <Self::DataTuple<
356                'a,
357            > as alloy_sol_types::SolType>::Token<'a>;
358            type TopicList = (
359                alloy_sol_types::sol_data::FixedBytes<32>,
360                alloy::sol_types::sol_data::Address,
361                alloy::sol_types::sol_data::Address,
362            );
363            const SIGNATURE: &'static str = "RegisteredNodeSafe(address,address)";
364            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
365                119u8, 109u8, 164u8, 12u8, 191u8, 44u8, 34u8, 53u8, 82u8, 102u8, 27u8,
366                212u8, 133u8, 2u8, 206u8, 183u8, 36u8, 9u8, 179u8, 54u8, 43u8, 176u8,
367                198u8, 109u8, 137u8, 137u8, 189u8, 126u8, 32u8, 228u8, 73u8, 125u8,
368            ]);
369            const ANONYMOUS: bool = false;
370            #[allow(unused_variables)]
371            #[inline]
372            fn new(
373                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
374                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
375            ) -> Self {
376                Self {
377                    safeAddress: topics.1,
378                    nodeAddress: topics.2,
379                }
380            }
381            #[inline]
382            fn check_signature(
383                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
384            ) -> alloy_sol_types::Result<()> {
385                if topics.0 != Self::SIGNATURE_HASH {
386                    return Err(
387                        alloy_sol_types::Error::invalid_event_signature_hash(
388                            Self::SIGNATURE,
389                            topics.0,
390                            Self::SIGNATURE_HASH,
391                        ),
392                    );
393                }
394                Ok(())
395            }
396            #[inline]
397            fn tokenize_body(&self) -> Self::DataToken<'_> {
398                ()
399            }
400            #[inline]
401            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
402                (
403                    Self::SIGNATURE_HASH.into(),
404                    self.safeAddress.clone(),
405                    self.nodeAddress.clone(),
406                )
407            }
408            #[inline]
409            fn encode_topics_raw(
410                &self,
411                out: &mut [alloy_sol_types::abi::token::WordToken],
412            ) -> alloy_sol_types::Result<()> {
413                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
414                    return Err(alloy_sol_types::Error::Overrun);
415                }
416                out[0usize] = alloy_sol_types::abi::token::WordToken(
417                    Self::SIGNATURE_HASH,
418                );
419                out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
420                    &self.safeAddress,
421                );
422                out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
423                    &self.nodeAddress,
424                );
425                Ok(())
426            }
427        }
428        #[automatically_derived]
429        impl alloy_sol_types::private::IntoLogData for RegisteredNodeSafe {
430            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
431                From::from(self)
432            }
433            fn into_log_data(self) -> alloy_sol_types::private::LogData {
434                From::from(&self)
435            }
436        }
437        #[automatically_derived]
438        impl From<&RegisteredNodeSafe> for alloy_sol_types::private::LogData {
439            #[inline]
440            fn from(this: &RegisteredNodeSafe) -> alloy_sol_types::private::LogData {
441                alloy_sol_types::SolEvent::encode_log_data(this)
442            }
443        }
444    };
445    ///Container for all the [`HoprNodeSafeRegistryEvents`](self) events.
446    #[derive(serde::Serialize, serde::Deserialize)]
447    #[derive(Debug, PartialEq, Eq, Hash)]
448    pub enum HoprNodeSafeRegistryEventsEvents {
449        #[allow(missing_docs)]
450        DergisteredNodeSafe(DergisteredNodeSafe),
451        #[allow(missing_docs)]
452        DomainSeparatorUpdated(DomainSeparatorUpdated),
453        #[allow(missing_docs)]
454        RegisteredNodeSafe(RegisteredNodeSafe),
455    }
456    #[automatically_derived]
457    impl HoprNodeSafeRegistryEventsEvents {
458        /// All the selectors of this enum.
459        ///
460        /// Note that the selectors might not be in the same order as the variants.
461        /// No guarantees are made about the order of the selectors.
462        ///
463        /// Prefer using `SolInterface` methods instead.
464        pub const SELECTORS: &'static [[u8; 32usize]] = &[
465            [
466                119u8, 31u8, 82u8, 64u8, 174u8, 95u8, 216u8, 167u8, 100u8, 13u8, 63u8,
467                184u8, 47u8, 167u8, 10u8, 171u8, 47u8, 177u8, 219u8, 243u8, 95u8, 46u8,
468                244u8, 100u8, 248u8, 80u8, 153u8, 70u8, 113u8, 118u8, 100u8, 197u8,
469            ],
470            [
471                119u8, 109u8, 164u8, 12u8, 191u8, 44u8, 34u8, 53u8, 82u8, 102u8, 27u8,
472                212u8, 133u8, 2u8, 206u8, 183u8, 36u8, 9u8, 179u8, 54u8, 43u8, 176u8,
473                198u8, 109u8, 137u8, 137u8, 189u8, 126u8, 32u8, 228u8, 73u8, 125u8,
474            ],
475            [
476                232u8, 55u8, 243u8, 57u8, 99u8, 146u8, 150u8, 190u8, 201u8, 244u8, 188u8,
477                152u8, 97u8, 84u8, 245u8, 255u8, 118u8, 187u8, 190u8, 252u8, 49u8, 73u8,
478                165u8, 18u8, 146u8, 14u8, 19u8, 17u8, 65u8, 78u8, 61u8, 161u8,
479            ],
480        ];
481    }
482    #[automatically_derived]
483    impl alloy_sol_types::SolEventInterface for HoprNodeSafeRegistryEventsEvents {
484        const NAME: &'static str = "HoprNodeSafeRegistryEventsEvents";
485        const COUNT: usize = 3usize;
486        fn decode_raw_log(
487            topics: &[alloy_sol_types::Word],
488            data: &[u8],
489        ) -> alloy_sol_types::Result<Self> {
490            match topics.first().copied() {
491                Some(
492                    <DergisteredNodeSafe as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
493                ) => {
494                    <DergisteredNodeSafe as alloy_sol_types::SolEvent>::decode_raw_log(
495                            topics,
496                            data,
497                        )
498                        .map(Self::DergisteredNodeSafe)
499                }
500                Some(
501                    <DomainSeparatorUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
502                ) => {
503                    <DomainSeparatorUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
504                            topics,
505                            data,
506                        )
507                        .map(Self::DomainSeparatorUpdated)
508                }
509                Some(
510                    <RegisteredNodeSafe as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
511                ) => {
512                    <RegisteredNodeSafe as alloy_sol_types::SolEvent>::decode_raw_log(
513                            topics,
514                            data,
515                        )
516                        .map(Self::RegisteredNodeSafe)
517                }
518                _ => {
519                    alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
520                        name: <Self as alloy_sol_types::SolEventInterface>::NAME,
521                        log: alloy_sol_types::private::Box::new(
522                            alloy_sol_types::private::LogData::new_unchecked(
523                                topics.to_vec(),
524                                data.to_vec().into(),
525                            ),
526                        ),
527                    })
528                }
529            }
530        }
531    }
532    #[automatically_derived]
533    impl alloy_sol_types::private::IntoLogData for HoprNodeSafeRegistryEventsEvents {
534        fn to_log_data(&self) -> alloy_sol_types::private::LogData {
535            match self {
536                Self::DergisteredNodeSafe(inner) => {
537                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
538                }
539                Self::DomainSeparatorUpdated(inner) => {
540                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
541                }
542                Self::RegisteredNodeSafe(inner) => {
543                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
544                }
545            }
546        }
547        fn into_log_data(self) -> alloy_sol_types::private::LogData {
548            match self {
549                Self::DergisteredNodeSafe(inner) => {
550                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
551                }
552                Self::DomainSeparatorUpdated(inner) => {
553                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
554                }
555                Self::RegisteredNodeSafe(inner) => {
556                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
557                }
558            }
559        }
560    }
561    use alloy::contract as alloy_contract;
562    /**Creates a new wrapper around an on-chain [`HoprNodeSafeRegistryEvents`](self) contract instance.
563
564See the [wrapper's documentation](`HoprNodeSafeRegistryEventsInstance`) for more details.*/
565    #[inline]
566    pub const fn new<
567        P: alloy_contract::private::Provider<N>,
568        N: alloy_contract::private::Network,
569    >(
570        address: alloy_sol_types::private::Address,
571        provider: P,
572    ) -> HoprNodeSafeRegistryEventsInstance<P, N> {
573        HoprNodeSafeRegistryEventsInstance::<P, N>::new(address, provider)
574    }
575    /**Deploys this contract using the given `provider` and constructor arguments, if any.
576
577Returns a new instance of the contract, if the deployment was successful.
578
579For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
580    #[inline]
581    pub fn deploy<
582        P: alloy_contract::private::Provider<N>,
583        N: alloy_contract::private::Network,
584    >(
585        provider: P,
586    ) -> impl ::core::future::Future<
587        Output = alloy_contract::Result<HoprNodeSafeRegistryEventsInstance<P, N>>,
588    > {
589        HoprNodeSafeRegistryEventsInstance::<P, N>::deploy(provider)
590    }
591    /**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
592and constructor arguments, if any.
593
594This is a simple wrapper around creating a `RawCallBuilder` with the data set to
595the bytecode concatenated with the constructor's ABI-encoded arguments.*/
596    #[inline]
597    pub fn deploy_builder<
598        P: alloy_contract::private::Provider<N>,
599        N: alloy_contract::private::Network,
600    >(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
601        HoprNodeSafeRegistryEventsInstance::<P, N>::deploy_builder(provider)
602    }
603    /**A [`HoprNodeSafeRegistryEvents`](self) instance.
604
605Contains type-safe methods for interacting with an on-chain instance of the
606[`HoprNodeSafeRegistryEvents`](self) contract located at a given `address`, using a given
607provider `P`.
608
609If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
610documentation on how to provide it), the `deploy` and `deploy_builder` methods can
611be used to deploy a new instance of the contract.
612
613See the [module-level documentation](self) for all the available methods.*/
614    #[derive(Clone)]
615    pub struct HoprNodeSafeRegistryEventsInstance<
616        P,
617        N = alloy_contract::private::Ethereum,
618    > {
619        address: alloy_sol_types::private::Address,
620        provider: P,
621        _network: ::core::marker::PhantomData<N>,
622    }
623    #[automatically_derived]
624    impl<P, N> ::core::fmt::Debug for HoprNodeSafeRegistryEventsInstance<P, N> {
625        #[inline]
626        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
627            f.debug_tuple("HoprNodeSafeRegistryEventsInstance")
628                .field(&self.address)
629                .finish()
630        }
631    }
632    /// Instantiation and getters/setters.
633    #[automatically_derived]
634    impl<
635        P: alloy_contract::private::Provider<N>,
636        N: alloy_contract::private::Network,
637    > HoprNodeSafeRegistryEventsInstance<P, N> {
638        /**Creates a new wrapper around an on-chain [`HoprNodeSafeRegistryEvents`](self) contract instance.
639
640See the [wrapper's documentation](`HoprNodeSafeRegistryEventsInstance`) for more details.*/
641        #[inline]
642        pub const fn new(
643            address: alloy_sol_types::private::Address,
644            provider: P,
645        ) -> Self {
646            Self {
647                address,
648                provider,
649                _network: ::core::marker::PhantomData,
650            }
651        }
652        /**Deploys this contract using the given `provider` and constructor arguments, if any.
653
654Returns a new instance of the contract, if the deployment was successful.
655
656For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
657        #[inline]
658        pub async fn deploy(
659            provider: P,
660        ) -> alloy_contract::Result<HoprNodeSafeRegistryEventsInstance<P, N>> {
661            let call_builder = Self::deploy_builder(provider);
662            let contract_address = call_builder.deploy().await?;
663            Ok(Self::new(contract_address, call_builder.provider))
664        }
665        /**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
666and constructor arguments, if any.
667
668This is a simple wrapper around creating a `RawCallBuilder` with the data set to
669the bytecode concatenated with the constructor's ABI-encoded arguments.*/
670        #[inline]
671        pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
672            alloy_contract::RawCallBuilder::new_raw_deploy(
673                provider,
674                ::core::clone::Clone::clone(&BYTECODE),
675            )
676        }
677        /// Returns a reference to the address.
678        #[inline]
679        pub const fn address(&self) -> &alloy_sol_types::private::Address {
680            &self.address
681        }
682        /// Sets the address.
683        #[inline]
684        pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
685            self.address = address;
686        }
687        /// Sets the address and returns `self`.
688        pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
689            self.set_address(address);
690            self
691        }
692        /// Returns a reference to the provider.
693        #[inline]
694        pub const fn provider(&self) -> &P {
695            &self.provider
696        }
697    }
698    impl<P: ::core::clone::Clone, N> HoprNodeSafeRegistryEventsInstance<&P, N> {
699        /// Clones the provider and returns a new instance with the cloned provider.
700        #[inline]
701        pub fn with_cloned_provider(self) -> HoprNodeSafeRegistryEventsInstance<P, N> {
702            HoprNodeSafeRegistryEventsInstance {
703                address: self.address,
704                provider: ::core::clone::Clone::clone(&self.provider),
705                _network: ::core::marker::PhantomData,
706            }
707        }
708    }
709    /// Function calls.
710    #[automatically_derived]
711    impl<
712        P: alloy_contract::private::Provider<N>,
713        N: alloy_contract::private::Network,
714    > HoprNodeSafeRegistryEventsInstance<P, N> {
715        /// Creates a new call builder using this contract instance's provider and address.
716        ///
717        /// Note that the call can be any function call, not just those defined in this
718        /// contract. Prefer using the other methods for building type-safe contract calls.
719        pub fn call_builder<C: alloy_sol_types::SolCall>(
720            &self,
721            call: &C,
722        ) -> alloy_contract::SolCallBuilder<&P, C, N> {
723            alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
724        }
725    }
726    /// Event filters.
727    #[automatically_derived]
728    impl<
729        P: alloy_contract::private::Provider<N>,
730        N: alloy_contract::private::Network,
731    > HoprNodeSafeRegistryEventsInstance<P, N> {
732        /// Creates a new event filter using this contract instance's provider and address.
733        ///
734        /// Note that the type can be any event, not just those defined in this contract.
735        /// Prefer using the other methods for building type-safe event filters.
736        pub fn event_filter<E: alloy_sol_types::SolEvent>(
737            &self,
738        ) -> alloy_contract::Event<&P, E, N> {
739            alloy_contract::Event::new_sol(&self.provider, &self.address)
740        }
741        ///Creates a new event filter for the [`DergisteredNodeSafe`] event.
742        pub fn DergisteredNodeSafe_filter(
743            &self,
744        ) -> alloy_contract::Event<&P, DergisteredNodeSafe, N> {
745            self.event_filter::<DergisteredNodeSafe>()
746        }
747        ///Creates a new event filter for the [`DomainSeparatorUpdated`] event.
748        pub fn DomainSeparatorUpdated_filter(
749            &self,
750        ) -> alloy_contract::Event<&P, DomainSeparatorUpdated, N> {
751            self.event_filter::<DomainSeparatorUpdated>()
752        }
753        ///Creates a new event filter for the [`RegisteredNodeSafe`] event.
754        pub fn RegisteredNodeSafe_filter(
755            &self,
756        ) -> alloy_contract::Event<&P, RegisteredNodeSafe, N> {
757            self.event_filter::<RegisteredNodeSafe>()
758        }
759    }
760}