1#![allow(clippy::all, clippy::pedantic, clippy::nursery, warnings, unknown_lints, rustdoc::all, elided_lifetimes_in_paths)]
2use EigenPod::*;
3
4#[allow(
16 non_camel_case_types,
17 non_snake_case,
18 clippy::pub_underscore_fields,
19 clippy::style,
20 clippy::empty_structs_with_brackets
21)]
22pub mod BeaconChainProofs {
23 use super::*;
24 use alloy::sol_types as alloy_sol_types;
25 #[derive(Default, Debug, PartialEq, Eq, Hash)]
26 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
30 #[derive(Clone)]
31 pub struct BalanceContainerProof {
32 #[allow(missing_docs)]
33 pub balanceContainerRoot: alloy::sol_types::private::FixedBytes<32>,
34 #[allow(missing_docs)]
35 pub proof: alloy::sol_types::private::Bytes,
36 }
37 #[allow(
38 non_camel_case_types,
39 non_snake_case,
40 clippy::pub_underscore_fields,
41 clippy::style
42 )]
43 const _: () = {
44 use alloy::sol_types as alloy_sol_types;
45 #[doc(hidden)]
46 type UnderlyingSolTuple<'a> = (
47 alloy::sol_types::sol_data::FixedBytes<32>,
48 alloy::sol_types::sol_data::Bytes,
49 );
50 #[doc(hidden)]
51 type UnderlyingRustTuple<'a> = (
52 alloy::sol_types::private::FixedBytes<32>,
53 alloy::sol_types::private::Bytes,
54 );
55 #[cfg(test)]
56 #[allow(dead_code, unreachable_patterns)]
57 fn _type_assertion(
58 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
59 ) {
60 match _t {
61 alloy_sol_types::private::AssertTypeEq::<
62 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
63 >(_) => {}
64 }
65 }
66 #[automatically_derived]
67 #[doc(hidden)]
68 impl ::core::convert::From<BalanceContainerProof> for UnderlyingRustTuple<'_> {
69 fn from(value: BalanceContainerProof) -> Self {
70 (value.balanceContainerRoot, value.proof)
71 }
72 }
73 #[automatically_derived]
74 #[doc(hidden)]
75 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BalanceContainerProof {
76 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
77 Self {
78 balanceContainerRoot: tuple.0,
79 proof: tuple.1,
80 }
81 }
82 }
83 #[automatically_derived]
84 impl alloy_sol_types::SolValue for BalanceContainerProof {
85 type SolType = Self;
86 }
87 #[automatically_derived]
88 impl alloy_sol_types::private::SolTypeValue<Self> for BalanceContainerProof {
89 #[inline]
90 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
91 (
92 <alloy::sol_types::sol_data::FixedBytes<
93 32,
94 > as alloy_sol_types::SolType>::tokenize(&self.balanceContainerRoot),
95 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
96 &self.proof,
97 ),
98 )
99 }
100 #[inline]
101 fn stv_abi_encoded_size(&self) -> usize {
102 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
103 return size;
104 }
105 let tuple = <UnderlyingRustTuple<
106 '_,
107 > as ::core::convert::From<Self>>::from(self.clone());
108 <UnderlyingSolTuple<
109 '_,
110 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
111 }
112 #[inline]
113 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
114 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
115 }
116 #[inline]
117 fn stv_abi_encode_packed_to(
118 &self,
119 out: &mut alloy_sol_types::private::Vec<u8>,
120 ) {
121 let tuple = <UnderlyingRustTuple<
122 '_,
123 > as ::core::convert::From<Self>>::from(self.clone());
124 <UnderlyingSolTuple<
125 '_,
126 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
127 }
128 #[inline]
129 fn stv_abi_packed_encoded_size(&self) -> usize {
130 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
131 return size;
132 }
133 let tuple = <UnderlyingRustTuple<
134 '_,
135 > as ::core::convert::From<Self>>::from(self.clone());
136 <UnderlyingSolTuple<
137 '_,
138 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
139 }
140 }
141 #[automatically_derived]
142 impl alloy_sol_types::SolType for BalanceContainerProof {
143 type RustType = Self;
144 type Token<'a> = <UnderlyingSolTuple<
145 'a,
146 > as alloy_sol_types::SolType>::Token<'a>;
147 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
148 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
149 '_,
150 > as alloy_sol_types::SolType>::ENCODED_SIZE;
151 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
152 '_,
153 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
154 #[inline]
155 fn valid_token(token: &Self::Token<'_>) -> bool {
156 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
157 }
158 #[inline]
159 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
160 let tuple = <UnderlyingSolTuple<
161 '_,
162 > as alloy_sol_types::SolType>::detokenize(token);
163 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
164 }
165 }
166 #[automatically_derived]
167 impl alloy_sol_types::SolStruct for BalanceContainerProof {
168 const NAME: &'static str = "BalanceContainerProof";
169 #[inline]
170 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
171 alloy_sol_types::private::Cow::Borrowed(
172 "BalanceContainerProof(bytes32 balanceContainerRoot,bytes proof)",
173 )
174 }
175 #[inline]
176 fn eip712_components() -> alloy_sol_types::private::Vec<
177 alloy_sol_types::private::Cow<'static, str>,
178 > {
179 alloy_sol_types::private::Vec::new()
180 }
181 #[inline]
182 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
183 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
184 }
185 #[inline]
186 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
187 [
188 <alloy::sol_types::sol_data::FixedBytes<
189 32,
190 > as alloy_sol_types::SolType>::eip712_data_word(
191 &self.balanceContainerRoot,
192 )
193 .0,
194 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
195 &self.proof,
196 )
197 .0,
198 ]
199 .concat()
200 }
201 }
202 #[automatically_derived]
203 impl alloy_sol_types::EventTopic for BalanceContainerProof {
204 #[inline]
205 fn topic_preimage_length(rust: &Self::RustType) -> usize {
206 0usize
207 + <alloy::sol_types::sol_data::FixedBytes<
208 32,
209 > as alloy_sol_types::EventTopic>::topic_preimage_length(
210 &rust.balanceContainerRoot,
211 )
212 + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
213 &rust.proof,
214 )
215 }
216 #[inline]
217 fn encode_topic_preimage(
218 rust: &Self::RustType,
219 out: &mut alloy_sol_types::private::Vec<u8>,
220 ) {
221 out.reserve(
222 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
223 );
224 <alloy::sol_types::sol_data::FixedBytes<
225 32,
226 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
227 &rust.balanceContainerRoot,
228 out,
229 );
230 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
231 &rust.proof,
232 out,
233 );
234 }
235 #[inline]
236 fn encode_topic(
237 rust: &Self::RustType,
238 ) -> alloy_sol_types::abi::token::WordToken {
239 let mut out = alloy_sol_types::private::Vec::new();
240 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
241 rust,
242 &mut out,
243 );
244 alloy_sol_types::abi::token::WordToken(
245 alloy_sol_types::private::keccak256(out),
246 )
247 }
248 }
249 };
250 #[derive(Default, Debug, PartialEq, Eq, Hash)]
251 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
255 #[derive(Clone)]
256 pub struct BalanceProof {
257 #[allow(missing_docs)]
258 pub pubkeyHash: alloy::sol_types::private::FixedBytes<32>,
259 #[allow(missing_docs)]
260 pub balanceRoot: alloy::sol_types::private::FixedBytes<32>,
261 #[allow(missing_docs)]
262 pub proof: alloy::sol_types::private::Bytes,
263 }
264 #[allow(
265 non_camel_case_types,
266 non_snake_case,
267 clippy::pub_underscore_fields,
268 clippy::style
269 )]
270 const _: () = {
271 use alloy::sol_types as alloy_sol_types;
272 #[doc(hidden)]
273 type UnderlyingSolTuple<'a> = (
274 alloy::sol_types::sol_data::FixedBytes<32>,
275 alloy::sol_types::sol_data::FixedBytes<32>,
276 alloy::sol_types::sol_data::Bytes,
277 );
278 #[doc(hidden)]
279 type UnderlyingRustTuple<'a> = (
280 alloy::sol_types::private::FixedBytes<32>,
281 alloy::sol_types::private::FixedBytes<32>,
282 alloy::sol_types::private::Bytes,
283 );
284 #[cfg(test)]
285 #[allow(dead_code, unreachable_patterns)]
286 fn _type_assertion(
287 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
288 ) {
289 match _t {
290 alloy_sol_types::private::AssertTypeEq::<
291 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
292 >(_) => {}
293 }
294 }
295 #[automatically_derived]
296 #[doc(hidden)]
297 impl ::core::convert::From<BalanceProof> for UnderlyingRustTuple<'_> {
298 fn from(value: BalanceProof) -> Self {
299 (value.pubkeyHash, value.balanceRoot, value.proof)
300 }
301 }
302 #[automatically_derived]
303 #[doc(hidden)]
304 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BalanceProof {
305 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
306 Self {
307 pubkeyHash: tuple.0,
308 balanceRoot: tuple.1,
309 proof: tuple.2,
310 }
311 }
312 }
313 #[automatically_derived]
314 impl alloy_sol_types::SolValue for BalanceProof {
315 type SolType = Self;
316 }
317 #[automatically_derived]
318 impl alloy_sol_types::private::SolTypeValue<Self> for BalanceProof {
319 #[inline]
320 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
321 (
322 <alloy::sol_types::sol_data::FixedBytes<
323 32,
324 > as alloy_sol_types::SolType>::tokenize(&self.pubkeyHash),
325 <alloy::sol_types::sol_data::FixedBytes<
326 32,
327 > as alloy_sol_types::SolType>::tokenize(&self.balanceRoot),
328 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
329 &self.proof,
330 ),
331 )
332 }
333 #[inline]
334 fn stv_abi_encoded_size(&self) -> usize {
335 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
336 return size;
337 }
338 let tuple = <UnderlyingRustTuple<
339 '_,
340 > as ::core::convert::From<Self>>::from(self.clone());
341 <UnderlyingSolTuple<
342 '_,
343 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
344 }
345 #[inline]
346 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
347 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
348 }
349 #[inline]
350 fn stv_abi_encode_packed_to(
351 &self,
352 out: &mut alloy_sol_types::private::Vec<u8>,
353 ) {
354 let tuple = <UnderlyingRustTuple<
355 '_,
356 > as ::core::convert::From<Self>>::from(self.clone());
357 <UnderlyingSolTuple<
358 '_,
359 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
360 }
361 #[inline]
362 fn stv_abi_packed_encoded_size(&self) -> usize {
363 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
364 return size;
365 }
366 let tuple = <UnderlyingRustTuple<
367 '_,
368 > as ::core::convert::From<Self>>::from(self.clone());
369 <UnderlyingSolTuple<
370 '_,
371 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
372 }
373 }
374 #[automatically_derived]
375 impl alloy_sol_types::SolType for BalanceProof {
376 type RustType = Self;
377 type Token<'a> = <UnderlyingSolTuple<
378 'a,
379 > as alloy_sol_types::SolType>::Token<'a>;
380 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
381 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
382 '_,
383 > as alloy_sol_types::SolType>::ENCODED_SIZE;
384 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
385 '_,
386 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
387 #[inline]
388 fn valid_token(token: &Self::Token<'_>) -> bool {
389 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
390 }
391 #[inline]
392 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
393 let tuple = <UnderlyingSolTuple<
394 '_,
395 > as alloy_sol_types::SolType>::detokenize(token);
396 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
397 }
398 }
399 #[automatically_derived]
400 impl alloy_sol_types::SolStruct for BalanceProof {
401 const NAME: &'static str = "BalanceProof";
402 #[inline]
403 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
404 alloy_sol_types::private::Cow::Borrowed(
405 "BalanceProof(bytes32 pubkeyHash,bytes32 balanceRoot,bytes proof)",
406 )
407 }
408 #[inline]
409 fn eip712_components() -> alloy_sol_types::private::Vec<
410 alloy_sol_types::private::Cow<'static, str>,
411 > {
412 alloy_sol_types::private::Vec::new()
413 }
414 #[inline]
415 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
416 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
417 }
418 #[inline]
419 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
420 [
421 <alloy::sol_types::sol_data::FixedBytes<
422 32,
423 > as alloy_sol_types::SolType>::eip712_data_word(&self.pubkeyHash)
424 .0,
425 <alloy::sol_types::sol_data::FixedBytes<
426 32,
427 > as alloy_sol_types::SolType>::eip712_data_word(&self.balanceRoot)
428 .0,
429 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
430 &self.proof,
431 )
432 .0,
433 ]
434 .concat()
435 }
436 }
437 #[automatically_derived]
438 impl alloy_sol_types::EventTopic for BalanceProof {
439 #[inline]
440 fn topic_preimage_length(rust: &Self::RustType) -> usize {
441 0usize
442 + <alloy::sol_types::sol_data::FixedBytes<
443 32,
444 > as alloy_sol_types::EventTopic>::topic_preimage_length(
445 &rust.pubkeyHash,
446 )
447 + <alloy::sol_types::sol_data::FixedBytes<
448 32,
449 > as alloy_sol_types::EventTopic>::topic_preimage_length(
450 &rust.balanceRoot,
451 )
452 + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
453 &rust.proof,
454 )
455 }
456 #[inline]
457 fn encode_topic_preimage(
458 rust: &Self::RustType,
459 out: &mut alloy_sol_types::private::Vec<u8>,
460 ) {
461 out.reserve(
462 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
463 );
464 <alloy::sol_types::sol_data::FixedBytes<
465 32,
466 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
467 &rust.pubkeyHash,
468 out,
469 );
470 <alloy::sol_types::sol_data::FixedBytes<
471 32,
472 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
473 &rust.balanceRoot,
474 out,
475 );
476 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
477 &rust.proof,
478 out,
479 );
480 }
481 #[inline]
482 fn encode_topic(
483 rust: &Self::RustType,
484 ) -> alloy_sol_types::abi::token::WordToken {
485 let mut out = alloy_sol_types::private::Vec::new();
486 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
487 rust,
488 &mut out,
489 );
490 alloy_sol_types::abi::token::WordToken(
491 alloy_sol_types::private::keccak256(out),
492 )
493 }
494 }
495 };
496 #[derive(Default, Debug, PartialEq, Eq, Hash)]
497 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
501 #[derive(Clone)]
502 pub struct StateRootProof {
503 #[allow(missing_docs)]
504 pub beaconStateRoot: alloy::sol_types::private::FixedBytes<32>,
505 #[allow(missing_docs)]
506 pub proof: alloy::sol_types::private::Bytes,
507 }
508 #[allow(
509 non_camel_case_types,
510 non_snake_case,
511 clippy::pub_underscore_fields,
512 clippy::style
513 )]
514 const _: () = {
515 use alloy::sol_types as alloy_sol_types;
516 #[doc(hidden)]
517 type UnderlyingSolTuple<'a> = (
518 alloy::sol_types::sol_data::FixedBytes<32>,
519 alloy::sol_types::sol_data::Bytes,
520 );
521 #[doc(hidden)]
522 type UnderlyingRustTuple<'a> = (
523 alloy::sol_types::private::FixedBytes<32>,
524 alloy::sol_types::private::Bytes,
525 );
526 #[cfg(test)]
527 #[allow(dead_code, unreachable_patterns)]
528 fn _type_assertion(
529 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
530 ) {
531 match _t {
532 alloy_sol_types::private::AssertTypeEq::<
533 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
534 >(_) => {}
535 }
536 }
537 #[automatically_derived]
538 #[doc(hidden)]
539 impl ::core::convert::From<StateRootProof> for UnderlyingRustTuple<'_> {
540 fn from(value: StateRootProof) -> Self {
541 (value.beaconStateRoot, value.proof)
542 }
543 }
544 #[automatically_derived]
545 #[doc(hidden)]
546 impl ::core::convert::From<UnderlyingRustTuple<'_>> for StateRootProof {
547 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
548 Self {
549 beaconStateRoot: tuple.0,
550 proof: tuple.1,
551 }
552 }
553 }
554 #[automatically_derived]
555 impl alloy_sol_types::SolValue for StateRootProof {
556 type SolType = Self;
557 }
558 #[automatically_derived]
559 impl alloy_sol_types::private::SolTypeValue<Self> for StateRootProof {
560 #[inline]
561 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
562 (
563 <alloy::sol_types::sol_data::FixedBytes<
564 32,
565 > as alloy_sol_types::SolType>::tokenize(&self.beaconStateRoot),
566 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
567 &self.proof,
568 ),
569 )
570 }
571 #[inline]
572 fn stv_abi_encoded_size(&self) -> usize {
573 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
574 return size;
575 }
576 let tuple = <UnderlyingRustTuple<
577 '_,
578 > as ::core::convert::From<Self>>::from(self.clone());
579 <UnderlyingSolTuple<
580 '_,
581 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
582 }
583 #[inline]
584 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
585 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
586 }
587 #[inline]
588 fn stv_abi_encode_packed_to(
589 &self,
590 out: &mut alloy_sol_types::private::Vec<u8>,
591 ) {
592 let tuple = <UnderlyingRustTuple<
593 '_,
594 > as ::core::convert::From<Self>>::from(self.clone());
595 <UnderlyingSolTuple<
596 '_,
597 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
598 }
599 #[inline]
600 fn stv_abi_packed_encoded_size(&self) -> usize {
601 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
602 return size;
603 }
604 let tuple = <UnderlyingRustTuple<
605 '_,
606 > as ::core::convert::From<Self>>::from(self.clone());
607 <UnderlyingSolTuple<
608 '_,
609 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
610 }
611 }
612 #[automatically_derived]
613 impl alloy_sol_types::SolType for StateRootProof {
614 type RustType = Self;
615 type Token<'a> = <UnderlyingSolTuple<
616 'a,
617 > as alloy_sol_types::SolType>::Token<'a>;
618 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
619 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
620 '_,
621 > as alloy_sol_types::SolType>::ENCODED_SIZE;
622 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
623 '_,
624 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
625 #[inline]
626 fn valid_token(token: &Self::Token<'_>) -> bool {
627 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
628 }
629 #[inline]
630 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
631 let tuple = <UnderlyingSolTuple<
632 '_,
633 > as alloy_sol_types::SolType>::detokenize(token);
634 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
635 }
636 }
637 #[automatically_derived]
638 impl alloy_sol_types::SolStruct for StateRootProof {
639 const NAME: &'static str = "StateRootProof";
640 #[inline]
641 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
642 alloy_sol_types::private::Cow::Borrowed(
643 "StateRootProof(bytes32 beaconStateRoot,bytes proof)",
644 )
645 }
646 #[inline]
647 fn eip712_components() -> alloy_sol_types::private::Vec<
648 alloy_sol_types::private::Cow<'static, str>,
649 > {
650 alloy_sol_types::private::Vec::new()
651 }
652 #[inline]
653 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
654 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
655 }
656 #[inline]
657 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
658 [
659 <alloy::sol_types::sol_data::FixedBytes<
660 32,
661 > as alloy_sol_types::SolType>::eip712_data_word(
662 &self.beaconStateRoot,
663 )
664 .0,
665 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
666 &self.proof,
667 )
668 .0,
669 ]
670 .concat()
671 }
672 }
673 #[automatically_derived]
674 impl alloy_sol_types::EventTopic for StateRootProof {
675 #[inline]
676 fn topic_preimage_length(rust: &Self::RustType) -> usize {
677 0usize
678 + <alloy::sol_types::sol_data::FixedBytes<
679 32,
680 > as alloy_sol_types::EventTopic>::topic_preimage_length(
681 &rust.beaconStateRoot,
682 )
683 + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
684 &rust.proof,
685 )
686 }
687 #[inline]
688 fn encode_topic_preimage(
689 rust: &Self::RustType,
690 out: &mut alloy_sol_types::private::Vec<u8>,
691 ) {
692 out.reserve(
693 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
694 );
695 <alloy::sol_types::sol_data::FixedBytes<
696 32,
697 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
698 &rust.beaconStateRoot,
699 out,
700 );
701 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
702 &rust.proof,
703 out,
704 );
705 }
706 #[inline]
707 fn encode_topic(
708 rust: &Self::RustType,
709 ) -> alloy_sol_types::abi::token::WordToken {
710 let mut out = alloy_sol_types::private::Vec::new();
711 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
712 rust,
713 &mut out,
714 );
715 alloy_sol_types::abi::token::WordToken(
716 alloy_sol_types::private::keccak256(out),
717 )
718 }
719 }
720 };
721 #[derive(Default, Debug, PartialEq, Eq, Hash)]
722 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
726 #[derive(Clone)]
727 pub struct ValidatorProof {
728 #[allow(missing_docs)]
729 pub validatorFields: alloy::sol_types::private::Vec<
730 alloy::sol_types::private::FixedBytes<32>,
731 >,
732 #[allow(missing_docs)]
733 pub proof: alloy::sol_types::private::Bytes,
734 }
735 #[allow(
736 non_camel_case_types,
737 non_snake_case,
738 clippy::pub_underscore_fields,
739 clippy::style
740 )]
741 const _: () = {
742 use alloy::sol_types as alloy_sol_types;
743 #[doc(hidden)]
744 type UnderlyingSolTuple<'a> = (
745 alloy::sol_types::sol_data::Array<
746 alloy::sol_types::sol_data::FixedBytes<32>,
747 >,
748 alloy::sol_types::sol_data::Bytes,
749 );
750 #[doc(hidden)]
751 type UnderlyingRustTuple<'a> = (
752 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
753 alloy::sol_types::private::Bytes,
754 );
755 #[cfg(test)]
756 #[allow(dead_code, unreachable_patterns)]
757 fn _type_assertion(
758 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
759 ) {
760 match _t {
761 alloy_sol_types::private::AssertTypeEq::<
762 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
763 >(_) => {}
764 }
765 }
766 #[automatically_derived]
767 #[doc(hidden)]
768 impl ::core::convert::From<ValidatorProof> for UnderlyingRustTuple<'_> {
769 fn from(value: ValidatorProof) -> Self {
770 (value.validatorFields, value.proof)
771 }
772 }
773 #[automatically_derived]
774 #[doc(hidden)]
775 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorProof {
776 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
777 Self {
778 validatorFields: tuple.0,
779 proof: tuple.1,
780 }
781 }
782 }
783 #[automatically_derived]
784 impl alloy_sol_types::SolValue for ValidatorProof {
785 type SolType = Self;
786 }
787 #[automatically_derived]
788 impl alloy_sol_types::private::SolTypeValue<Self> for ValidatorProof {
789 #[inline]
790 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
791 (
792 <alloy::sol_types::sol_data::Array<
793 alloy::sol_types::sol_data::FixedBytes<32>,
794 > as alloy_sol_types::SolType>::tokenize(&self.validatorFields),
795 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
796 &self.proof,
797 ),
798 )
799 }
800 #[inline]
801 fn stv_abi_encoded_size(&self) -> usize {
802 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
803 return size;
804 }
805 let tuple = <UnderlyingRustTuple<
806 '_,
807 > as ::core::convert::From<Self>>::from(self.clone());
808 <UnderlyingSolTuple<
809 '_,
810 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
811 }
812 #[inline]
813 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
814 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
815 }
816 #[inline]
817 fn stv_abi_encode_packed_to(
818 &self,
819 out: &mut alloy_sol_types::private::Vec<u8>,
820 ) {
821 let tuple = <UnderlyingRustTuple<
822 '_,
823 > as ::core::convert::From<Self>>::from(self.clone());
824 <UnderlyingSolTuple<
825 '_,
826 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
827 }
828 #[inline]
829 fn stv_abi_packed_encoded_size(&self) -> usize {
830 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
831 return size;
832 }
833 let tuple = <UnderlyingRustTuple<
834 '_,
835 > as ::core::convert::From<Self>>::from(self.clone());
836 <UnderlyingSolTuple<
837 '_,
838 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
839 }
840 }
841 #[automatically_derived]
842 impl alloy_sol_types::SolType for ValidatorProof {
843 type RustType = Self;
844 type Token<'a> = <UnderlyingSolTuple<
845 'a,
846 > as alloy_sol_types::SolType>::Token<'a>;
847 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
848 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
849 '_,
850 > as alloy_sol_types::SolType>::ENCODED_SIZE;
851 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
852 '_,
853 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
854 #[inline]
855 fn valid_token(token: &Self::Token<'_>) -> bool {
856 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
857 }
858 #[inline]
859 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
860 let tuple = <UnderlyingSolTuple<
861 '_,
862 > as alloy_sol_types::SolType>::detokenize(token);
863 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
864 }
865 }
866 #[automatically_derived]
867 impl alloy_sol_types::SolStruct for ValidatorProof {
868 const NAME: &'static str = "ValidatorProof";
869 #[inline]
870 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
871 alloy_sol_types::private::Cow::Borrowed(
872 "ValidatorProof(bytes32[] validatorFields,bytes proof)",
873 )
874 }
875 #[inline]
876 fn eip712_components() -> alloy_sol_types::private::Vec<
877 alloy_sol_types::private::Cow<'static, str>,
878 > {
879 alloy_sol_types::private::Vec::new()
880 }
881 #[inline]
882 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
883 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
884 }
885 #[inline]
886 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
887 [
888 <alloy::sol_types::sol_data::Array<
889 alloy::sol_types::sol_data::FixedBytes<32>,
890 > as alloy_sol_types::SolType>::eip712_data_word(
891 &self.validatorFields,
892 )
893 .0,
894 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
895 &self.proof,
896 )
897 .0,
898 ]
899 .concat()
900 }
901 }
902 #[automatically_derived]
903 impl alloy_sol_types::EventTopic for ValidatorProof {
904 #[inline]
905 fn topic_preimage_length(rust: &Self::RustType) -> usize {
906 0usize
907 + <alloy::sol_types::sol_data::Array<
908 alloy::sol_types::sol_data::FixedBytes<32>,
909 > as alloy_sol_types::EventTopic>::topic_preimage_length(
910 &rust.validatorFields,
911 )
912 + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
913 &rust.proof,
914 )
915 }
916 #[inline]
917 fn encode_topic_preimage(
918 rust: &Self::RustType,
919 out: &mut alloy_sol_types::private::Vec<u8>,
920 ) {
921 out.reserve(
922 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
923 );
924 <alloy::sol_types::sol_data::Array<
925 alloy::sol_types::sol_data::FixedBytes<32>,
926 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
927 &rust.validatorFields,
928 out,
929 );
930 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
931 &rust.proof,
932 out,
933 );
934 }
935 #[inline]
936 fn encode_topic(
937 rust: &Self::RustType,
938 ) -> alloy_sol_types::abi::token::WordToken {
939 let mut out = alloy_sol_types::private::Vec::new();
940 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
941 rust,
942 &mut out,
943 );
944 alloy_sol_types::abi::token::WordToken(
945 alloy_sol_types::private::keccak256(out),
946 )
947 }
948 }
949 };
950 use alloy::contract as alloy_contract;
951 #[inline]
955 pub const fn new<
956 T: alloy_contract::private::Transport + ::core::clone::Clone,
957 P: alloy_contract::private::Provider<T, N>,
958 N: alloy_contract::private::Network,
959 >(
960 address: alloy_sol_types::private::Address,
961 provider: P,
962 ) -> BeaconChainProofsInstance<T, P, N> {
963 BeaconChainProofsInstance::<T, P, N>::new(address, provider)
964 }
965 #[derive(Clone)]
977 pub struct BeaconChainProofsInstance<T, P, N = alloy_contract::private::Ethereum> {
978 address: alloy_sol_types::private::Address,
979 provider: P,
980 _network_transport: ::core::marker::PhantomData<(N, T)>,
981 }
982 #[automatically_derived]
983 impl<T, P, N> ::core::fmt::Debug for BeaconChainProofsInstance<T, P, N> {
984 #[inline]
985 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
986 f.debug_tuple("BeaconChainProofsInstance").field(&self.address).finish()
987 }
988 }
989 #[automatically_derived]
991 impl<
992 T: alloy_contract::private::Transport + ::core::clone::Clone,
993 P: alloy_contract::private::Provider<T, N>,
994 N: alloy_contract::private::Network,
995 > BeaconChainProofsInstance<T, P, N> {
996 #[inline]
1000 pub const fn new(
1001 address: alloy_sol_types::private::Address,
1002 provider: P,
1003 ) -> Self {
1004 Self {
1005 address,
1006 provider,
1007 _network_transport: ::core::marker::PhantomData,
1008 }
1009 }
1010 #[inline]
1012 pub const fn address(&self) -> &alloy_sol_types::private::Address {
1013 &self.address
1014 }
1015 #[inline]
1017 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1018 self.address = address;
1019 }
1020 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1022 self.set_address(address);
1023 self
1024 }
1025 #[inline]
1027 pub const fn provider(&self) -> &P {
1028 &self.provider
1029 }
1030 }
1031 impl<T, P: ::core::clone::Clone, N> BeaconChainProofsInstance<T, &P, N> {
1032 #[inline]
1034 pub fn with_cloned_provider(self) -> BeaconChainProofsInstance<T, P, N> {
1035 BeaconChainProofsInstance {
1036 address: self.address,
1037 provider: ::core::clone::Clone::clone(&self.provider),
1038 _network_transport: ::core::marker::PhantomData,
1039 }
1040 }
1041 }
1042 #[automatically_derived]
1044 impl<
1045 T: alloy_contract::private::Transport + ::core::clone::Clone,
1046 P: alloy_contract::private::Provider<T, N>,
1047 N: alloy_contract::private::Network,
1048 > BeaconChainProofsInstance<T, P, N> {
1049 pub fn call_builder<C: alloy_sol_types::SolCall>(
1054 &self,
1055 call: &C,
1056 ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
1057 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1058 }
1059 }
1060 #[automatically_derived]
1062 impl<
1063 T: alloy_contract::private::Transport + ::core::clone::Clone,
1064 P: alloy_contract::private::Provider<T, N>,
1065 N: alloy_contract::private::Network,
1066 > BeaconChainProofsInstance<T, P, N> {
1067 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1072 &self,
1073 ) -> alloy_contract::Event<T, &P, E, N> {
1074 alloy_contract::Event::new_sol(&self.provider, &self.address)
1075 }
1076 }
1077}
1078#[allow(
1089 non_camel_case_types,
1090 non_snake_case,
1091 clippy::pub_underscore_fields,
1092 clippy::style,
1093 clippy::empty_structs_with_brackets
1094)]
1095pub mod IEigenPodTypes {
1096 use super::*;
1097 use alloy::sol_types as alloy_sol_types;
1098 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1099 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1100 #[derive(Clone)]
1101 pub struct VALIDATOR_STATUS(u8);
1102 const _: () = {
1103 use alloy::sol_types as alloy_sol_types;
1104 #[automatically_derived]
1105 impl alloy_sol_types::private::SolTypeValue<VALIDATOR_STATUS> for u8 {
1106 #[inline]
1107 fn stv_to_tokens(
1108 &self,
1109 ) -> <alloy::sol_types::sol_data::Uint<
1110 8,
1111 > as alloy_sol_types::SolType>::Token<'_> {
1112 alloy_sol_types::private::SolTypeValue::<
1113 alloy::sol_types::sol_data::Uint<8>,
1114 >::stv_to_tokens(self)
1115 }
1116 #[inline]
1117 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1118 <alloy::sol_types::sol_data::Uint<
1119 8,
1120 > as alloy_sol_types::SolType>::tokenize(self)
1121 .0
1122 }
1123 #[inline]
1124 fn stv_abi_encode_packed_to(
1125 &self,
1126 out: &mut alloy_sol_types::private::Vec<u8>,
1127 ) {
1128 <alloy::sol_types::sol_data::Uint<
1129 8,
1130 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
1131 }
1132 #[inline]
1133 fn stv_abi_packed_encoded_size(&self) -> usize {
1134 <alloy::sol_types::sol_data::Uint<
1135 8,
1136 > as alloy_sol_types::SolType>::abi_encoded_size(self)
1137 }
1138 }
1139 #[automatically_derived]
1140 impl VALIDATOR_STATUS {
1141 pub const NAME: &'static str = stringify!(@ name);
1143 #[inline]
1145 pub const fn from(value: u8) -> Self {
1146 Self(value)
1147 }
1148 #[inline]
1150 pub const fn into(self) -> u8 {
1151 self.0
1152 }
1153 #[inline]
1156 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
1157 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
1158 }
1159 #[inline]
1162 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
1163 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
1164 }
1165 }
1166 #[automatically_derived]
1167 impl alloy_sol_types::SolType for VALIDATOR_STATUS {
1168 type RustType = u8;
1169 type Token<'a> = <alloy::sol_types::sol_data::Uint<
1170 8,
1171 > as alloy_sol_types::SolType>::Token<'a>;
1172 const SOL_NAME: &'static str = Self::NAME;
1173 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
1174 8,
1175 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1176 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
1177 8,
1178 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1179 #[inline]
1180 fn valid_token(token: &Self::Token<'_>) -> bool {
1181 Self::type_check(token).is_ok()
1182 }
1183 #[inline]
1184 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
1185 <alloy::sol_types::sol_data::Uint<
1186 8,
1187 > as alloy_sol_types::SolType>::type_check(token)
1188 }
1189 #[inline]
1190 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1191 <alloy::sol_types::sol_data::Uint<
1192 8,
1193 > as alloy_sol_types::SolType>::detokenize(token)
1194 }
1195 }
1196 #[automatically_derived]
1197 impl alloy_sol_types::EventTopic for VALIDATOR_STATUS {
1198 #[inline]
1199 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1200 <alloy::sol_types::sol_data::Uint<
1201 8,
1202 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
1203 }
1204 #[inline]
1205 fn encode_topic_preimage(
1206 rust: &Self::RustType,
1207 out: &mut alloy_sol_types::private::Vec<u8>,
1208 ) {
1209 <alloy::sol_types::sol_data::Uint<
1210 8,
1211 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
1212 }
1213 #[inline]
1214 fn encode_topic(
1215 rust: &Self::RustType,
1216 ) -> alloy_sol_types::abi::token::WordToken {
1217 <alloy::sol_types::sol_data::Uint<
1218 8,
1219 > as alloy_sol_types::EventTopic>::encode_topic(rust)
1220 }
1221 }
1222 };
1223 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1224 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1228 #[derive(Clone)]
1229 pub struct Checkpoint {
1230 #[allow(missing_docs)]
1231 pub beaconBlockRoot: alloy::sol_types::private::FixedBytes<32>,
1232 #[allow(missing_docs)]
1233 pub proofsRemaining: alloy::sol_types::private::primitives::aliases::U24,
1234 #[allow(missing_docs)]
1235 pub podBalanceGwei: u64,
1236 #[allow(missing_docs)]
1237 pub balanceDeltasGwei: i64,
1238 #[allow(missing_docs)]
1239 pub prevBeaconBalanceGwei: u64,
1240 }
1241 #[allow(
1242 non_camel_case_types,
1243 non_snake_case,
1244 clippy::pub_underscore_fields,
1245 clippy::style
1246 )]
1247 const _: () = {
1248 use alloy::sol_types as alloy_sol_types;
1249 #[doc(hidden)]
1250 type UnderlyingSolTuple<'a> = (
1251 alloy::sol_types::sol_data::FixedBytes<32>,
1252 alloy::sol_types::sol_data::Uint<24>,
1253 alloy::sol_types::sol_data::Uint<64>,
1254 alloy::sol_types::sol_data::Int<64>,
1255 alloy::sol_types::sol_data::Uint<64>,
1256 );
1257 #[doc(hidden)]
1258 type UnderlyingRustTuple<'a> = (
1259 alloy::sol_types::private::FixedBytes<32>,
1260 alloy::sol_types::private::primitives::aliases::U24,
1261 u64,
1262 i64,
1263 u64,
1264 );
1265 #[cfg(test)]
1266 #[allow(dead_code, unreachable_patterns)]
1267 fn _type_assertion(
1268 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1269 ) {
1270 match _t {
1271 alloy_sol_types::private::AssertTypeEq::<
1272 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1273 >(_) => {}
1274 }
1275 }
1276 #[automatically_derived]
1277 #[doc(hidden)]
1278 impl ::core::convert::From<Checkpoint> for UnderlyingRustTuple<'_> {
1279 fn from(value: Checkpoint) -> Self {
1280 (
1281 value.beaconBlockRoot,
1282 value.proofsRemaining,
1283 value.podBalanceGwei,
1284 value.balanceDeltasGwei,
1285 value.prevBeaconBalanceGwei,
1286 )
1287 }
1288 }
1289 #[automatically_derived]
1290 #[doc(hidden)]
1291 impl ::core::convert::From<UnderlyingRustTuple<'_>> for Checkpoint {
1292 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1293 Self {
1294 beaconBlockRoot: tuple.0,
1295 proofsRemaining: tuple.1,
1296 podBalanceGwei: tuple.2,
1297 balanceDeltasGwei: tuple.3,
1298 prevBeaconBalanceGwei: tuple.4,
1299 }
1300 }
1301 }
1302 #[automatically_derived]
1303 impl alloy_sol_types::SolValue for Checkpoint {
1304 type SolType = Self;
1305 }
1306 #[automatically_derived]
1307 impl alloy_sol_types::private::SolTypeValue<Self> for Checkpoint {
1308 #[inline]
1309 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
1310 (
1311 <alloy::sol_types::sol_data::FixedBytes<
1312 32,
1313 > as alloy_sol_types::SolType>::tokenize(&self.beaconBlockRoot),
1314 <alloy::sol_types::sol_data::Uint<
1315 24,
1316 > as alloy_sol_types::SolType>::tokenize(&self.proofsRemaining),
1317 <alloy::sol_types::sol_data::Uint<
1318 64,
1319 > as alloy_sol_types::SolType>::tokenize(&self.podBalanceGwei),
1320 <alloy::sol_types::sol_data::Int<
1321 64,
1322 > as alloy_sol_types::SolType>::tokenize(&self.balanceDeltasGwei),
1323 <alloy::sol_types::sol_data::Uint<
1324 64,
1325 > as alloy_sol_types::SolType>::tokenize(&self.prevBeaconBalanceGwei),
1326 )
1327 }
1328 #[inline]
1329 fn stv_abi_encoded_size(&self) -> usize {
1330 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
1331 return size;
1332 }
1333 let tuple = <UnderlyingRustTuple<
1334 '_,
1335 > as ::core::convert::From<Self>>::from(self.clone());
1336 <UnderlyingSolTuple<
1337 '_,
1338 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
1339 }
1340 #[inline]
1341 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1342 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
1343 }
1344 #[inline]
1345 fn stv_abi_encode_packed_to(
1346 &self,
1347 out: &mut alloy_sol_types::private::Vec<u8>,
1348 ) {
1349 let tuple = <UnderlyingRustTuple<
1350 '_,
1351 > as ::core::convert::From<Self>>::from(self.clone());
1352 <UnderlyingSolTuple<
1353 '_,
1354 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
1355 }
1356 #[inline]
1357 fn stv_abi_packed_encoded_size(&self) -> usize {
1358 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
1359 return size;
1360 }
1361 let tuple = <UnderlyingRustTuple<
1362 '_,
1363 > as ::core::convert::From<Self>>::from(self.clone());
1364 <UnderlyingSolTuple<
1365 '_,
1366 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
1367 }
1368 }
1369 #[automatically_derived]
1370 impl alloy_sol_types::SolType for Checkpoint {
1371 type RustType = Self;
1372 type Token<'a> = <UnderlyingSolTuple<
1373 'a,
1374 > as alloy_sol_types::SolType>::Token<'a>;
1375 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
1376 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1377 '_,
1378 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1379 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1380 '_,
1381 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1382 #[inline]
1383 fn valid_token(token: &Self::Token<'_>) -> bool {
1384 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
1385 }
1386 #[inline]
1387 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1388 let tuple = <UnderlyingSolTuple<
1389 '_,
1390 > as alloy_sol_types::SolType>::detokenize(token);
1391 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
1392 }
1393 }
1394 #[automatically_derived]
1395 impl alloy_sol_types::SolStruct for Checkpoint {
1396 const NAME: &'static str = "Checkpoint";
1397 #[inline]
1398 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
1399 alloy_sol_types::private::Cow::Borrowed(
1400 "Checkpoint(bytes32 beaconBlockRoot,uint24 proofsRemaining,uint64 podBalanceGwei,int64 balanceDeltasGwei,uint64 prevBeaconBalanceGwei)",
1401 )
1402 }
1403 #[inline]
1404 fn eip712_components() -> alloy_sol_types::private::Vec<
1405 alloy_sol_types::private::Cow<'static, str>,
1406 > {
1407 alloy_sol_types::private::Vec::new()
1408 }
1409 #[inline]
1410 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
1411 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
1412 }
1413 #[inline]
1414 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1415 [
1416 <alloy::sol_types::sol_data::FixedBytes<
1417 32,
1418 > as alloy_sol_types::SolType>::eip712_data_word(
1419 &self.beaconBlockRoot,
1420 )
1421 .0,
1422 <alloy::sol_types::sol_data::Uint<
1423 24,
1424 > as alloy_sol_types::SolType>::eip712_data_word(
1425 &self.proofsRemaining,
1426 )
1427 .0,
1428 <alloy::sol_types::sol_data::Uint<
1429 64,
1430 > as alloy_sol_types::SolType>::eip712_data_word(
1431 &self.podBalanceGwei,
1432 )
1433 .0,
1434 <alloy::sol_types::sol_data::Int<
1435 64,
1436 > as alloy_sol_types::SolType>::eip712_data_word(
1437 &self.balanceDeltasGwei,
1438 )
1439 .0,
1440 <alloy::sol_types::sol_data::Uint<
1441 64,
1442 > as alloy_sol_types::SolType>::eip712_data_word(
1443 &self.prevBeaconBalanceGwei,
1444 )
1445 .0,
1446 ]
1447 .concat()
1448 }
1449 }
1450 #[automatically_derived]
1451 impl alloy_sol_types::EventTopic for Checkpoint {
1452 #[inline]
1453 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1454 0usize
1455 + <alloy::sol_types::sol_data::FixedBytes<
1456 32,
1457 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1458 &rust.beaconBlockRoot,
1459 )
1460 + <alloy::sol_types::sol_data::Uint<
1461 24,
1462 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1463 &rust.proofsRemaining,
1464 )
1465 + <alloy::sol_types::sol_data::Uint<
1466 64,
1467 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1468 &rust.podBalanceGwei,
1469 )
1470 + <alloy::sol_types::sol_data::Int<
1471 64,
1472 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1473 &rust.balanceDeltasGwei,
1474 )
1475 + <alloy::sol_types::sol_data::Uint<
1476 64,
1477 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1478 &rust.prevBeaconBalanceGwei,
1479 )
1480 }
1481 #[inline]
1482 fn encode_topic_preimage(
1483 rust: &Self::RustType,
1484 out: &mut alloy_sol_types::private::Vec<u8>,
1485 ) {
1486 out.reserve(
1487 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
1488 );
1489 <alloy::sol_types::sol_data::FixedBytes<
1490 32,
1491 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1492 &rust.beaconBlockRoot,
1493 out,
1494 );
1495 <alloy::sol_types::sol_data::Uint<
1496 24,
1497 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1498 &rust.proofsRemaining,
1499 out,
1500 );
1501 <alloy::sol_types::sol_data::Uint<
1502 64,
1503 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1504 &rust.podBalanceGwei,
1505 out,
1506 );
1507 <alloy::sol_types::sol_data::Int<
1508 64,
1509 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1510 &rust.balanceDeltasGwei,
1511 out,
1512 );
1513 <alloy::sol_types::sol_data::Uint<
1514 64,
1515 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1516 &rust.prevBeaconBalanceGwei,
1517 out,
1518 );
1519 }
1520 #[inline]
1521 fn encode_topic(
1522 rust: &Self::RustType,
1523 ) -> alloy_sol_types::abi::token::WordToken {
1524 let mut out = alloy_sol_types::private::Vec::new();
1525 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
1526 rust,
1527 &mut out,
1528 );
1529 alloy_sol_types::abi::token::WordToken(
1530 alloy_sol_types::private::keccak256(out),
1531 )
1532 }
1533 }
1534 };
1535 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1536 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1540 #[derive(Clone)]
1541 pub struct ValidatorInfo {
1542 #[allow(missing_docs)]
1543 pub validatorIndex: u64,
1544 #[allow(missing_docs)]
1545 pub restakedBalanceGwei: u64,
1546 #[allow(missing_docs)]
1547 pub lastCheckpointedAt: u64,
1548 #[allow(missing_docs)]
1549 pub status: <VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
1550 }
1551 #[allow(
1552 non_camel_case_types,
1553 non_snake_case,
1554 clippy::pub_underscore_fields,
1555 clippy::style
1556 )]
1557 const _: () = {
1558 use alloy::sol_types as alloy_sol_types;
1559 #[doc(hidden)]
1560 type UnderlyingSolTuple<'a> = (
1561 alloy::sol_types::sol_data::Uint<64>,
1562 alloy::sol_types::sol_data::Uint<64>,
1563 alloy::sol_types::sol_data::Uint<64>,
1564 VALIDATOR_STATUS,
1565 );
1566 #[doc(hidden)]
1567 type UnderlyingRustTuple<'a> = (
1568 u64,
1569 u64,
1570 u64,
1571 <VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
1572 );
1573 #[cfg(test)]
1574 #[allow(dead_code, unreachable_patterns)]
1575 fn _type_assertion(
1576 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1577 ) {
1578 match _t {
1579 alloy_sol_types::private::AssertTypeEq::<
1580 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1581 >(_) => {}
1582 }
1583 }
1584 #[automatically_derived]
1585 #[doc(hidden)]
1586 impl ::core::convert::From<ValidatorInfo> for UnderlyingRustTuple<'_> {
1587 fn from(value: ValidatorInfo) -> Self {
1588 (
1589 value.validatorIndex,
1590 value.restakedBalanceGwei,
1591 value.lastCheckpointedAt,
1592 value.status,
1593 )
1594 }
1595 }
1596 #[automatically_derived]
1597 #[doc(hidden)]
1598 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorInfo {
1599 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1600 Self {
1601 validatorIndex: tuple.0,
1602 restakedBalanceGwei: tuple.1,
1603 lastCheckpointedAt: tuple.2,
1604 status: tuple.3,
1605 }
1606 }
1607 }
1608 #[automatically_derived]
1609 impl alloy_sol_types::SolValue for ValidatorInfo {
1610 type SolType = Self;
1611 }
1612 #[automatically_derived]
1613 impl alloy_sol_types::private::SolTypeValue<Self> for ValidatorInfo {
1614 #[inline]
1615 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
1616 (
1617 <alloy::sol_types::sol_data::Uint<
1618 64,
1619 > as alloy_sol_types::SolType>::tokenize(&self.validatorIndex),
1620 <alloy::sol_types::sol_data::Uint<
1621 64,
1622 > as alloy_sol_types::SolType>::tokenize(&self.restakedBalanceGwei),
1623 <alloy::sol_types::sol_data::Uint<
1624 64,
1625 > as alloy_sol_types::SolType>::tokenize(&self.lastCheckpointedAt),
1626 <VALIDATOR_STATUS as alloy_sol_types::SolType>::tokenize(
1627 &self.status,
1628 ),
1629 )
1630 }
1631 #[inline]
1632 fn stv_abi_encoded_size(&self) -> usize {
1633 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
1634 return size;
1635 }
1636 let tuple = <UnderlyingRustTuple<
1637 '_,
1638 > as ::core::convert::From<Self>>::from(self.clone());
1639 <UnderlyingSolTuple<
1640 '_,
1641 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
1642 }
1643 #[inline]
1644 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1645 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
1646 }
1647 #[inline]
1648 fn stv_abi_encode_packed_to(
1649 &self,
1650 out: &mut alloy_sol_types::private::Vec<u8>,
1651 ) {
1652 let tuple = <UnderlyingRustTuple<
1653 '_,
1654 > as ::core::convert::From<Self>>::from(self.clone());
1655 <UnderlyingSolTuple<
1656 '_,
1657 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
1658 }
1659 #[inline]
1660 fn stv_abi_packed_encoded_size(&self) -> usize {
1661 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
1662 return size;
1663 }
1664 let tuple = <UnderlyingRustTuple<
1665 '_,
1666 > as ::core::convert::From<Self>>::from(self.clone());
1667 <UnderlyingSolTuple<
1668 '_,
1669 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
1670 }
1671 }
1672 #[automatically_derived]
1673 impl alloy_sol_types::SolType for ValidatorInfo {
1674 type RustType = Self;
1675 type Token<'a> = <UnderlyingSolTuple<
1676 'a,
1677 > as alloy_sol_types::SolType>::Token<'a>;
1678 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
1679 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1680 '_,
1681 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1682 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1683 '_,
1684 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1685 #[inline]
1686 fn valid_token(token: &Self::Token<'_>) -> bool {
1687 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
1688 }
1689 #[inline]
1690 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1691 let tuple = <UnderlyingSolTuple<
1692 '_,
1693 > as alloy_sol_types::SolType>::detokenize(token);
1694 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
1695 }
1696 }
1697 #[automatically_derived]
1698 impl alloy_sol_types::SolStruct for ValidatorInfo {
1699 const NAME: &'static str = "ValidatorInfo";
1700 #[inline]
1701 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
1702 alloy_sol_types::private::Cow::Borrowed(
1703 "ValidatorInfo(uint64 validatorIndex,uint64 restakedBalanceGwei,uint64 lastCheckpointedAt,uint8 status)",
1704 )
1705 }
1706 #[inline]
1707 fn eip712_components() -> alloy_sol_types::private::Vec<
1708 alloy_sol_types::private::Cow<'static, str>,
1709 > {
1710 alloy_sol_types::private::Vec::new()
1711 }
1712 #[inline]
1713 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
1714 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
1715 }
1716 #[inline]
1717 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1718 [
1719 <alloy::sol_types::sol_data::Uint<
1720 64,
1721 > as alloy_sol_types::SolType>::eip712_data_word(
1722 &self.validatorIndex,
1723 )
1724 .0,
1725 <alloy::sol_types::sol_data::Uint<
1726 64,
1727 > as alloy_sol_types::SolType>::eip712_data_word(
1728 &self.restakedBalanceGwei,
1729 )
1730 .0,
1731 <alloy::sol_types::sol_data::Uint<
1732 64,
1733 > as alloy_sol_types::SolType>::eip712_data_word(
1734 &self.lastCheckpointedAt,
1735 )
1736 .0,
1737 <VALIDATOR_STATUS as alloy_sol_types::SolType>::eip712_data_word(
1738 &self.status,
1739 )
1740 .0,
1741 ]
1742 .concat()
1743 }
1744 }
1745 #[automatically_derived]
1746 impl alloy_sol_types::EventTopic for ValidatorInfo {
1747 #[inline]
1748 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1749 0usize
1750 + <alloy::sol_types::sol_data::Uint<
1751 64,
1752 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1753 &rust.validatorIndex,
1754 )
1755 + <alloy::sol_types::sol_data::Uint<
1756 64,
1757 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1758 &rust.restakedBalanceGwei,
1759 )
1760 + <alloy::sol_types::sol_data::Uint<
1761 64,
1762 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1763 &rust.lastCheckpointedAt,
1764 )
1765 + <VALIDATOR_STATUS as alloy_sol_types::EventTopic>::topic_preimage_length(
1766 &rust.status,
1767 )
1768 }
1769 #[inline]
1770 fn encode_topic_preimage(
1771 rust: &Self::RustType,
1772 out: &mut alloy_sol_types::private::Vec<u8>,
1773 ) {
1774 out.reserve(
1775 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
1776 );
1777 <alloy::sol_types::sol_data::Uint<
1778 64,
1779 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1780 &rust.validatorIndex,
1781 out,
1782 );
1783 <alloy::sol_types::sol_data::Uint<
1784 64,
1785 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1786 &rust.restakedBalanceGwei,
1787 out,
1788 );
1789 <alloy::sol_types::sol_data::Uint<
1790 64,
1791 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1792 &rust.lastCheckpointedAt,
1793 out,
1794 );
1795 <VALIDATOR_STATUS as alloy_sol_types::EventTopic>::encode_topic_preimage(
1796 &rust.status,
1797 out,
1798 );
1799 }
1800 #[inline]
1801 fn encode_topic(
1802 rust: &Self::RustType,
1803 ) -> alloy_sol_types::abi::token::WordToken {
1804 let mut out = alloy_sol_types::private::Vec::new();
1805 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
1806 rust,
1807 &mut out,
1808 );
1809 alloy_sol_types::abi::token::WordToken(
1810 alloy_sol_types::private::keccak256(out),
1811 )
1812 }
1813 }
1814 };
1815 use alloy::contract as alloy_contract;
1816 #[inline]
1820 pub const fn new<
1821 T: alloy_contract::private::Transport + ::core::clone::Clone,
1822 P: alloy_contract::private::Provider<T, N>,
1823 N: alloy_contract::private::Network,
1824 >(
1825 address: alloy_sol_types::private::Address,
1826 provider: P,
1827 ) -> IEigenPodTypesInstance<T, P, N> {
1828 IEigenPodTypesInstance::<T, P, N>::new(address, provider)
1829 }
1830 #[derive(Clone)]
1842 pub struct IEigenPodTypesInstance<T, P, N = alloy_contract::private::Ethereum> {
1843 address: alloy_sol_types::private::Address,
1844 provider: P,
1845 _network_transport: ::core::marker::PhantomData<(N, T)>,
1846 }
1847 #[automatically_derived]
1848 impl<T, P, N> ::core::fmt::Debug for IEigenPodTypesInstance<T, P, N> {
1849 #[inline]
1850 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1851 f.debug_tuple("IEigenPodTypesInstance").field(&self.address).finish()
1852 }
1853 }
1854 #[automatically_derived]
1856 impl<
1857 T: alloy_contract::private::Transport + ::core::clone::Clone,
1858 P: alloy_contract::private::Provider<T, N>,
1859 N: alloy_contract::private::Network,
1860 > IEigenPodTypesInstance<T, P, N> {
1861 #[inline]
1865 pub const fn new(
1866 address: alloy_sol_types::private::Address,
1867 provider: P,
1868 ) -> Self {
1869 Self {
1870 address,
1871 provider,
1872 _network_transport: ::core::marker::PhantomData,
1873 }
1874 }
1875 #[inline]
1877 pub const fn address(&self) -> &alloy_sol_types::private::Address {
1878 &self.address
1879 }
1880 #[inline]
1882 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1883 self.address = address;
1884 }
1885 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1887 self.set_address(address);
1888 self
1889 }
1890 #[inline]
1892 pub const fn provider(&self) -> &P {
1893 &self.provider
1894 }
1895 }
1896 impl<T, P: ::core::clone::Clone, N> IEigenPodTypesInstance<T, &P, N> {
1897 #[inline]
1899 pub fn with_cloned_provider(self) -> IEigenPodTypesInstance<T, P, N> {
1900 IEigenPodTypesInstance {
1901 address: self.address,
1902 provider: ::core::clone::Clone::clone(&self.provider),
1903 _network_transport: ::core::marker::PhantomData,
1904 }
1905 }
1906 }
1907 #[automatically_derived]
1909 impl<
1910 T: alloy_contract::private::Transport + ::core::clone::Clone,
1911 P: alloy_contract::private::Provider<T, N>,
1912 N: alloy_contract::private::Network,
1913 > IEigenPodTypesInstance<T, P, N> {
1914 pub fn call_builder<C: alloy_sol_types::SolCall>(
1919 &self,
1920 call: &C,
1921 ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
1922 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1923 }
1924 }
1925 #[automatically_derived]
1927 impl<
1928 T: alloy_contract::private::Transport + ::core::clone::Clone,
1929 P: alloy_contract::private::Provider<T, N>,
1930 N: alloy_contract::private::Network,
1931 > IEigenPodTypesInstance<T, P, N> {
1932 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1937 &self,
1938 ) -> alloy_contract::Event<T, &P, E, N> {
1939 alloy_contract::Event::new_sol(&self.provider, &self.address)
1940 }
1941 }
1942}
1943#[allow(
3008 non_camel_case_types,
3009 non_snake_case,
3010 clippy::pub_underscore_fields,
3011 clippy::style,
3012 clippy::empty_structs_with_brackets
3013)]
3014pub mod EigenPod {
3015 use super::*;
3016 use alloy::sol_types as alloy_sol_types;
3017 #[rustfmt::skip]
3023 #[allow(clippy::all)]
3024 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
3025 b"a\x01\0`@R4\x80\x15a\0\x10W__\xFD[P`@Qa@\xC28\x03\x80a@\xC2\x839\x81\x01`@\x81\x90Ra\0/\x91a\x01\xB9V[\x80a\09\x81a\0nV[`\x80RP`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\xA0R\x83\x16`\xC0R`\x01`\x01`@\x1B\x03\x82\x16`\xE0Ra\0ea\0\xB4V[PPPPa\x03\x03V[__\x82\x90P`\x1F\x81Q\x11\x15a\0\xA1W\x82`@Qc0Z'\xA9`\xE0\x1B\x81R`\x04\x01a\0\x98\x91\x90a\x02\xABV[`@Q\x80\x91\x03\x90\xFD[\x80Qa\0\xAC\x82a\x02\xDDV[\x17\x93\x92PPPV[_Ta\x01\0\x90\x04`\xFF\x16\x15a\x01\x1BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FInitializable: contract is initi`D\x82\x01Rfalizing`\xC8\x1B`d\x82\x01R`\x84\x01a\0\x98V[_T`\xFF\x90\x81\x16\x14a\x01jW_\x80T`\xFF\x19\x16`\xFF\x90\x81\x17\x90\x91U`@Q\x90\x81R\x7F\x7F&\xB8?\xF9n\x1F+jh/\x138R\xF6y\x8A\t\xC4e\xDA\x95\x92\x14`\xCE\xFB8G@$\x98\x90` \x01`@Q\x80\x91\x03\x90\xA1[V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01\x80W__\xFD[PV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[_[\x83\x81\x10\x15a\x01\xB1W\x81\x81\x01Q\x83\x82\x01R` \x01a\x01\x99V[PP_\x91\x01RV[____`\x80\x85\x87\x03\x12\x15a\x01\xCCW__\xFD[\x84Qa\x01\xD7\x81a\x01lV[` \x86\x01Q\x90\x94Pa\x01\xE8\x81a\x01lV[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x81\x16\x81\x14a\x02\x04W__\xFD[``\x86\x01Q\x90\x92P`\x01`\x01`@\x1B\x03\x81\x11\x15a\x02\x1FW__\xFD[\x85\x01`\x1F\x81\x01\x87\x13a\x02/W__\xFD[\x80Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\x02HWa\x02Ha\x01\x83V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x02vWa\x02va\x01\x83V[`@R\x81\x81R\x82\x82\x01` \x01\x89\x10\x15a\x02\x8DW__\xFD[a\x02\x9E\x82` \x83\x01` \x86\x01a\x01\x97V[\x95\x98\x94\x97P\x92\x95PPPPV[` \x81R_\x82Q\x80` \x84\x01Ra\x02\xC9\x81`@\x85\x01` \x87\x01a\x01\x97V[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a\x02\xFDW_\x19\x81` \x03`\x03\x1B\x1B\x82\x16\x91P[P\x91\x90PV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa=8a\x03\x8A_9_a\x06!\x01R_\x81\x81a\x02\xA5\x01R\x81\x81a\x06\\\x01R\x81\x81a\x07\x04\x01R\x81\x81a\t\xD1\x01R\x81\x81a\x0B\x87\x01R\x81\x81a\x0E\xA1\x01R\x81\x81a\x0FH\x01R\x81\x81a\x11~\x01R\x81\x81a\x14\xCC\x01R\x81\x81a\x16\0\x01R\x81\x81a\x1A\xDF\x01Ra)m\x01R_\x81\x81a\x04\xE3\x01Ra\x0F\xB1\x01R_a\x0C\x04\x01Ra=8_\xF3\xFE`\x80`@R`\x046\x10a\x01`W_5`\xE0\x1C\x80co\xCD\x0ES\x11a\0\xBEW\x80c\xC4\x90tB\x11a\0xW\x80c\xC4\x90tB\x14a\x05VW\x80c\xC4\xD6m\xE8\x14a\x05uW\x80c\xD0mU\x87\x14a\x05\x94W\x80c\xDD\xA34l\x14a\x05\xB3W\x80c\xEE\x94\xD6|\x14a\x05\xD2W\x80c\xF0t\xBAb\x14a\x05\xF1W\x80c\xF2\x88$a\x14a\x06\x10W__\xFD[\x80co\xCD\x0ES\x14a\x04qW\x80ct9\x84\x1F\x14a\x04\x9DW\x80ct\xCD\xD7\x98\x14a\x04\xD2W\x80c\x88gl\xAD\x14a\x05\x05W\x80c\x9BNF4\x14a\x05$W\x80c\xB5\"S\x8A\x14a\x057W__\xFD[\x80cFe\xBC\xDA\x11a\x01\x1AW\x80cFe\xBC\xDA\x14a\x02\x94W\x80cG\xD2\x83r\x14a\x02\xC7W\x80cR9jY\x14a\x03\xB2W\x80cT\xFDMP\x14a\x03\xE6W\x80cXu3W\x14a\x04\x07W\x80cX\xEA\xEEy\x14a\x04&W\x80cl\r-Z\x14a\x04RW__\xFD[\x80c\x03\x91W\xD2\x14a\x01\x9EW\x80c\x0B\x18\xFFf\x14a\x01\xBFW\x80c#@\xE8\xD3\x14a\x01\xFBW\x80c4t\xAA\x16\x14a\x02\x1EW\x80c?e\xCF\x19\x14a\x02OW\x80cB\xEC\xFF*\x14a\x02nW__\xFD[6a\x01\x9AW`@Q4\x81R\x7Fo\xDD=\xBD\xB1s)\x96\x08\xC0\xAA\x9F6\x875\x85|\x88B\xB5\x81\xF88\x928\xBF\x05\xBD\x04\xB3\xBFI\x90` \x01`@Q\x80\x91\x03\x90\xA1\0[__\xFD[4\x80\x15a\x01\xA9W__\xFD[Pa\x01\xBDa\x01\xB86`\x04a2\x19V[a\x06CV[\0[4\x80\x15a\x01\xCAW__\xFD[P`3Ta\x01\xDE\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\x06W__\xFD[Pa\x02\x10`9T\x81V[`@Q\x90\x81R` \x01a\x01\xF2V[4\x80\x15a\x02)W__\xFD[P`4T`\x01`\x01`@\x1B\x03\x16[`@Q`\x01`\x01`@\x1B\x03\x90\x91\x16\x81R` \x01a\x01\xF2V[4\x80\x15a\x02ZW__\xFD[Pa\x01\xBDa\x02i6`\x04a2\xD4V[a\txV[4\x80\x15a\x02yW__\xFD[P`:Ta\x027\x90`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x02\x9FW__\xFD[Pa\x01\xDE\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x02\xD2W__\xFD[Pa\x03W`@\x80Q`\xA0\x81\x01\x82R_\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x82\x90R``\x81\x01\x82\x90R`\x80\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R`<T\x81R`=Tb\xFF\xFF\xFF\x81\x16` \x83\x01R`\x01`\x01`@\x1B\x03c\x01\0\0\0\x82\x04\x81\x16\x93\x83\x01\x93\x90\x93R`\x01`X\x1B\x81\x04`\x07\x0B``\x83\x01R`\x01`\x98\x1B\x90\x04\x90\x91\x16`\x80\x82\x01R\x90V[`@Qa\x01\xF2\x91\x90_`\xA0\x82\x01\x90P\x82Q\x82Rb\xFF\xFF\xFF` \x84\x01Q\x16` \x83\x01R`\x01`\x01`@\x1B\x03`@\x84\x01Q\x16`@\x83\x01R``\x83\x01Q`\x07\x0B``\x83\x01R`\x01`\x01`@\x1B\x03`\x80\x84\x01Q\x16`\x80\x83\x01R\x92\x91PPV[4\x80\x15a\x03\xBDW__\xFD[Pa\x027a\x03\xCC6`\x04a3\xABV[`;` R_\x90\x81R`@\x90 T`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x03\xF1W__\xFD[Pa\x03\xFAa\x0B\xFDV[`@Qa\x01\xF2\x91\x90a4\x13V[4\x80\x15a\x04\x12W__\xFD[P`>Ta\x01\xDE\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x041W__\xFD[Pa\x04Ea\x04@6`\x04a4bV[a\x0C-V[`@Qa\x01\xF2\x91\x90a4\xD4V[4\x80\x15a\x04]W__\xFD[Pa\x02\x10a\x04l6`\x04a3\xABV[a\x0C\x8FV[4\x80\x15a\x04|W__\xFD[Pa\x04\x90a\x04\x8B6`\x04a4\xE2V[a\r\x9DV[`@Qa\x01\xF2\x91\x90a4\xF9V[4\x80\x15a\x04\xA8W__\xFD[Pa\x04Ea\x04\xB76`\x04a4\xE2V[_\x90\x81R`6` R`@\x90 T`\x01`\xC0\x1B\x90\x04`\xFF\x16\x90V[4\x80\x15a\x04\xDDW__\xFD[Pa\x01\xDE\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\x10W__\xFD[Pa\x01\xBDa\x05\x1F6`\x04a5YV[a\x0EHV[a\x01\xBDa\x0526`\x04a5tV[a\x0F=V[4\x80\x15a\x05BW__\xFD[Pa\x04\x90a\x05Q6`\x04a4bV[a\x10\x84V[4\x80\x15a\x05aW__\xFD[Pa\x01\xBDa\x05p6`\x04a6\tV[a\x11sV[4\x80\x15a\x05\x80W__\xFD[Pa\x01\xBDa\x05\x8F6`\x04a63V[a\x12\xAAV[4\x80\x15a\x05\x9FW__\xFD[Pa\x01\xBDa\x05\xAE6`\x04a63V[a\x13\xF4V[4\x80\x15a\x05\xBEW__\xFD[Pa\x01\xBDa\x05\xCD6`\x04a7\x1EV[a\x14\x88V[4\x80\x15a\x05\xDDW__\xFD[P`:Ta\x027\x90`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x05\xFCW__\xFD[Pa\x01\xBDa\x06\x0B6`\x04a7\xF0V[a\x15\xE7V[4\x80\x15a\x06\x1BW__\xFD[Pa\x027\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x06`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x06\xA9W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x06\xCD\x91\x90a8WV[\x15a\x06\xEBW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x08`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07QW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07u\x91\x90a8WV[\x15a\x07\x93W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x07\xD7a\x07\xA1\x85\x80a8rV[\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa\x19\xEC\x92PPPV[_\x81\x81R`6` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x95\x83\x01\x95\x90\x95R`\x01`\x80\x1B\x81\x04\x90\x94\x16\x92\x81\x01\x92\x90\x92R\x93\x94P\x91\x92\x90``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x08EWa\x08Ea4\xA0V[`\x02\x81\x11\x15a\x08VWa\x08Va4\xA0V[\x81RPP\x90P\x80`@\x01Q`\x01`\x01`@\x1B\x03\x16\x87`\x01`\x01`@\x1B\x03\x16\x11a\x08\x92W`@Qc7\xE0\x7F\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x81``\x01Q`\x02\x81\x11\x15a\x08\xAAWa\x08\xAAa4\xA0V[\x14a\x08\xC8W`@Qc\xD4\x9E\x19\xA7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t\x0Ba\x08\xD5\x86\x80a8rV[\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa\x1A\x0E\x92PPPV[a\t(W`@Qc\x16\x1C\xE5\xED`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t:a\t4\x88a\x0C\x8FV[\x87a\x1A6V[a\tfa\tF\x88a\x1A\xDBV[\x875a\tR\x88\x80a8rV[a\t_` \x8B\x01\x8Ba8\xB7V[\x87Qa\x1B\xB2V[a\to_a\x1C\xE6V[PPPPPPPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80a\t\x9BWP`>T`\x01`\x01`\xA0\x1B\x03\x163\x14[a\t\xB8W`@QcBzwy`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x02`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n\x1EW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\nB\x91\x90a8WV[\x15a\n`W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x85\x84\x14\x80\x15a\nnWP\x83\x82\x14[a\n\x8BW`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`:T`\x01`\x01`@\x1B\x03`\x01`@\x1B\x90\x91\x04\x81\x16\x90\x8A\x16\x11a\n\xC1W`@Qc7\xE0\x7F\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\n\xD3a\n\xCD\x8Aa\x0C\x8FV[\x89a\x1A6V[_\x80[\x87\x81\x10\x15a\x0BlWa\x0BX\x8B\x8B5\x8B\x8B\x85\x81\x81\x10a\n\xF6Wa\n\xF6a8\xF9V[\x90P` \x02\x01` \x81\x01\x90a\x0B\x0B\x91\x90a9\rV[\x8A\x8A\x86\x81\x81\x10a\x0B\x1DWa\x0B\x1Da8\xF9V[\x90P` \x02\x81\x01\x90a\x0B/\x91\x90a8\xB7V[\x8A\x8A\x88\x81\x81\x10a\x0BAWa\x0BAa8\xF9V[\x90P` \x02\x81\x01\x90a\x0BS\x91\x90a8rV[a\x1EaV[a\x0Bb\x90\x83a9EV[\x91P`\x01\x01a\n\xD6V[P`3T`@Qc\xA1\xCAx\x0B`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x92c\xA1\xCAx\x0B\x92a\x0B\xC4\x92\x91\x90\x91\x16\x90_\x90\x86\x90`\x04\x01a9XV[_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x0B\xDBW__\xFD[PZ\xF1\x15\x80\x15a\x0B\xEDW=__>=_\xFD[PPPPPPPPPPPPPPV[``a\x0C(\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a#tV[\x90P\x90V[__a\x0Cm\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RPa#\xB1\x92PPPV[_\x90\x81R`6` R`@\x90 T`\x01`\xC0\x1B\x90\x04`\xFF\x16\x91PP[\x92\x91PPV[_a\x0C\x9Da\x1F\xFF`\x0Ca9yV[a\x0C\xB0`\x01`\x01`@\x1B\x03\x84\x16Ba9\x90V[\x10a\x0C\xCEW`@QcyD\xE6m`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\x01`\x01`@\x1B\x03\x84\x16` \x82\x01R_\x91\x82\x91r\x0F=\xF6\xD72\x80~\xF11\x9F\xB7\xB8\xBB\x85\"\xD0\xBE\xAC\x02\x91\x01`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\r\x15\x91a9\xA3V[_`@Q\x80\x83\x03\x81\x85Z\xFA\x91PP=\x80_\x81\x14a\rMW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\rRV[``\x91P[P\x91P\x91P\x81\x80\x15a\rdWP_\x81Q\x11[a\r\x81W`@QcU\x8A\xD0\xA3`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80\x80` \x01\x90Q\x81\x01\x90a\r\x95\x91\x90a9\xBEV[\x94\x93PPPPV[a\r\xC4`@\x80Q`\x80\x81\x01\x82R_\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x82\x90R\x90``\x82\x01R\x90V[_\x82\x81R`6` \x90\x81R`@\x91\x82\x90 \x82Q`\x80\x81\x01\x84R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x94\x83\x01\x94\x90\x94R`\x01`\x80\x1B\x81\x04\x90\x93\x16\x93\x81\x01\x93\x90\x93R\x90``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x0E.Wa\x0E.a4\xA0V[`\x02\x81\x11\x15a\x0E?Wa\x0E?a4\xA0V[\x90RP\x92\x91PPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80a\x0EkWP`>T`\x01`\x01`\xA0\x1B\x03\x163\x14[a\x0E\x88W`@QcBzwy`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x06`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\xEEW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0F\x12\x91\x90a8WV[\x15a\x0F0W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0F9\x82a\x1C\xE6V[PPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0F\x86W`@Qc2\x13\xA6a`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[4h\x01\xBC\x16\xD6t\xEC\x80\0\0\x14a\x0F\xAFW`@Qc\x04\x96\x96\xB3`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\"\x89Q\x18h\x01\xBC\x16\xD6t\xEC\x80\0\0\x87\x87a\x0F\xF2a$BV[\x88\x88\x88`@Q\x88c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x10\x16\x96\x95\x94\x93\x92\x91\x90a9\xFDV[_`@Q\x80\x83\x03\x81\x85\x88\x80;\x15\x80\x15a\x10-W__\xFD[PZ\xF1\x15\x80\x15a\x10?W=__>=_\xFD[PPPPP\x7F`he\xB7\x93J%\xD4\xAE\xD4?l\xDBBd\x035?\xA4\xB3\0\x9CM\"\x84\x07GE\x81\xB0\x1E#\x85\x85`@Qa\x10u\x92\x91\x90a:KV[`@Q\x80\x91\x03\x90\xA1PPPPPV[a\x10\xAB`@\x80Q`\x80\x81\x01\x82R_\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x82\x90R\x90``\x82\x01R\x90V[`6_a\x10\xEC\x85\x85\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RPa#\xB1\x92PPPV[\x81R` \x80\x82\x01\x92\x90\x92R`@\x90\x81\x01_ \x81Q`\x80\x81\x01\x83R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x95\x83\x01\x95\x90\x95R`\x01`\x80\x1B\x81\x04\x90\x94\x16\x92\x81\x01\x92\x90\x92R\x90\x91``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x11XWa\x11Xa4\xA0V[`\x02\x81\x11\x15a\x11iWa\x11ia4\xA0V[\x90RP\x93\x92PPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x11\xBCW`@Qc2\x13\xA6a`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x11\xCBc;\x9A\xCA\0\x83a:rV[\x90Pa\x11\xE4c;\x9A\xCA\0`\x01`\x01`@\x1B\x03\x83\x16a9yV[`4T\x90\x92P`\x01`\x01`@\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x12\x17W`@Qc\x02\xC6\xF5G`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`4\x80T\x82\x91\x90_\x90a\x124\x90\x84\x90`\x01`\x01`@\x1B\x03\x16a:\x85V[\x92Pa\x01\0\n\x81T\x81`\x01`\x01`@\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`@\x1B\x03\x16\x02\x17\x90UP\x82`\x01`\x01`\xA0\x1B\x03\x16\x7F\x89G\xFD,\xE0~\xF9\xCC0,N\x8F\x04a\x01V\x15\xD9\x1C\xE8QVH9\xE9\x1C\xC8\x04\xC2\xF4\x9D\x8E\x83`@Qa\x12\x93\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2a\x12\xA5\x83\x83a$rV[PPPV[_Ta\x01\0\x90\x04`\xFF\x16\x15\x80\x80\x15a\x12\xC8WP_T`\x01`\xFF\x90\x91\x16\x10[\x80a\x12\xE1WP0;\x15\x80\x15a\x12\xE1WP_T`\xFF\x16`\x01\x14[a\x13IW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`.`$\x82\x01R\x7FInitializable: contract is alrea`D\x82\x01Rm\x19\x1EH\x1A[\x9A]\x1AX[\x1A^\x99Y`\x92\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[_\x80T`\xFF\x19\x16`\x01\x17\x90U\x80\x15a\x13jW_\x80Ta\xFF\0\x19\x16a\x01\0\x17\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x13\x91W`@Qc9\xB1\x90\xBB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`3\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x17\x90U\x80\x15a\x0F9W_\x80Ta\xFF\0\x19\x16\x90U`@Q`\x01\x81R\x7F\x7F&\xB8?\xF9n\x1F+jh/\x138R\xF6y\x8A\t\xC4e\xDA\x95\x92\x14`\xCE\xFB8G@$\x98\x90` \x01`@Q\x80\x91\x03\x90\xA1PPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14\x1FW`@Qcq\x9F7\x03`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`>T`@\x80Q`\x01`\x01`\xA0\x1B\x03\x92\x83\x16\x81R\x91\x83\x16` \x83\x01R\x7F\xFB\x81)\x08\n\x19\xD3M\xCE\xAC\x04\xBA%?\xC5\x03\x04\xDC\x86\xC7)\xBDc\xCD\xCAJ\x96\x9A\xD1\x9A^\xAC\x91\x01`@Q\x80\x91\x03\x90\xA1`>\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14\xB3W`@Qcq\x9F7\x03`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x05`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15\x19W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15=\x91\x90a8WV[\x15a\x15[W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82Q\x84Q\x14a\x15}W`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_[\x84Q\x81\x10\x15a\x15\xE0Wa\x15\xD8\x83\x85\x83\x81Q\x81\x10a\x15\x9EWa\x15\x9Ea8\xF9V[` \x02` \x01\x01Q\x87\x84\x81Q\x81\x10a\x15\xB8Wa\x15\xB8a8\xF9V[` \x02` \x01\x01Q`\x01`\x01`\xA0\x1B\x03\x16a%\x87\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[`\x01\x01a\x15\x7FV[PPPPPV[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x07`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x16MW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16q\x91\x90a8WV[\x15a\x16\x8FW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16_\x81\x90\x03a\x16\xC3W`@Qc\x1ATOI`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\xA0\x81\x01\x82R`<T\x81R`=Tb\xFF\xFF\xFF\x81\x16` \x83\x01R`\x01`\x01`@\x1B\x03c\x01\0\0\0\x82\x04\x81\x16\x93\x83\x01\x93\x90\x93R`\x01`X\x1B\x81\x04`\x07\x0B``\x83\x01R`\x01`\x98\x1B\x90\x04\x90\x91\x16`\x80\x82\x01Ra\x17*a\x17\"\x83a\x1A\xDBV[\x82Q\x88a%\xD9V[_\x80[\x85\x81\x10\x15a\x19\x93W6\x87\x87\x83\x81\x81\x10a\x17HWa\x17Ha8\xF9V[\x90P` \x02\x81\x01\x90a\x17Z\x91\x90a:\xA4V[\x805_\x90\x81R`6` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x95\x83\x01\x95\x90\x95R`\x01`\x80\x1B\x81\x04\x90\x94\x16\x92\x81\x01\x92\x90\x92R\x93\x94P\x91\x92\x90``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x17\xCAWa\x17\xCAa4\xA0V[`\x02\x81\x11\x15a\x17\xDBWa\x17\xDBa4\xA0V[\x90RP\x90P`\x01\x81``\x01Q`\x02\x81\x11\x15a\x17\xF8Wa\x17\xF8a4\xA0V[\x14a\x18\x04WPPa\x19\x8BV[\x85`\x01`\x01`@\x1B\x03\x16\x81`@\x01Q`\x01`\x01`@\x1B\x03\x16\x10a\x18(WPPa\x19\x8BV[_\x80\x80a\x188\x84\x8A\x8F5\x88a&\x9AV[` \x8B\x01\x80Q\x93\x96P\x91\x94P\x92Pa\x18O\x82a:\xB8V[b\xFF\xFF\xFF\x16\x90RP`\x80\x88\x01\x80Q\x84\x91\x90a\x18k\x90\x83\x90a:\xD5V[`\x01`\x01`@\x1B\x03\x16\x90RP``\x88\x01\x80Q\x83\x91\x90a\x18\x8B\x90\x83\x90a:\xF4V[`\x07\x0B\x90RPa\x18\x9B\x81\x88a:\xD5V[\x855_\x90\x81R`6` \x90\x81R`@\x91\x82\x90 \x87Q\x81T\x92\x89\x01Q\x93\x89\x01Q`\x01`\x01`@\x1B\x03\x90\x81\x16`\x01`\x80\x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x80\x1B\x19\x95\x82\x16`\x01`@\x1B\x02`\x01`\x01`\x80\x1B\x03\x19\x90\x95\x16\x91\x90\x92\x16\x17\x92\x90\x92\x17\x92\x83\x16\x82\x17\x81U``\x88\x01Q\x93\x9AP\x87\x93\x90\x92\x90\x91\x83\x91`\xFF`\xC0\x1B\x19\x90\x91\x16h\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x80\x1B\x19\x90\x91\x16\x17`\x01`\xC0\x1B\x83`\x02\x81\x11\x15a\x19?Wa\x19?a4\xA0V[\x02\x17\x90UPP\x84Q`@Qd\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x91P`\x01`\x01`@\x1B\x03\x8B\x16\x90\x7F\xA9\x1CY\x03<4#\xE1\x8BT\xD0\xAC\xEC\xEB\xB4\x97/\x9E\xA9Z\xED\xF5\xF4\xCA\xE3\xB6w\xB0.\xAF:?\x90_\x90\xA3PPPPP[`\x01\x01a\x17-V[P`\x01`\x01`@\x1B\x03\x80\x84\x16_\x90\x81R`;` R`@\x81 \x80T\x84\x93\x91\x92\x91a\x19\xBF\x91\x85\x91\x16a:\xD5V[\x92Pa\x01\0\n\x81T\x81`\x01`\x01`@\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`@\x1B\x03\x16\x02\x17\x90UPa\to\x82a'\xBDV[_\x81_\x81Q\x81\x10a\x19\xFFWa\x19\xFFa8\xF9V[` \x02` \x01\x01Q\x90P\x91\x90PV[_\x81`\x03\x81Q\x81\x10a\x1A\"Wa\x1A\"a8\xF9V[` \x02` \x01\x01Q__\x1B\x14\x15\x90P\x91\x90PV[a\x1AB`\x03` a9yV[a\x1AO` \x83\x01\x83a8\xB7V[\x90P\x14a\x1AoW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1A\xBEa\x1A\x7F` \x83\x01\x83a8\xB7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RP\x86\x92PP\x845\x90P`\x03a)\xDEV[a\x0F9W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[__\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c'\x045\x1A`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B9W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1B]\x91\x90a;#V[\x90P\x80`\x01`\x01`@\x1B\x03\x16_\x03a\x1B\x88W`@QcA\xA0,\xC9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80`\x01`\x01`@\x1B\x03\x16\x83`\x01`\x01`@\x1B\x03\x16\x11\x15a\x1B\xA9W`\x01a\x1B\xABV[_[\x93\x92PPPV[`\x08\x84\x14a\x1B\xD3W`@Qc \x05\x91\xBD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x1B\xDD\x88a)\xF5V[\x90P\x80a\x1B\xEC`(`\x01a9EV[a\x1B\xF6\x91\x90a9EV[a\x1C\x01\x90` a9yV[\x83\x14a\x1C W`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x1C\\\x87\x87\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa*\x1D\x92PPPV[\x90P_d\xFF\xFF\xFF\xFF\xFF\x84\x16a\x1Cs`(`\x01a9EV[`\x0B\x90\x1B\x17\x90Pa\x1C\xBD\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RP\x8D\x92P\x86\x91P\x85\x90Pa)\xDEV[a\x1C\xDAW`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPPPPV[`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x15a\x1D\x16W`@Qb\xBE\x9B\xC3`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`:T`\x01`\x01`@\x1B\x03B\x81\x16\x91\x16\x03a\x1DDW`@Qcg\xDB[\x8B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`4T_\x90`\x01`\x01`@\x1B\x03\x16a\x1D`c;\x9A\xCA\0Ga:rV[a\x1Dj\x91\x90a:\x85V[\x90P\x81\x80\x15a\x1D\x80WP`\x01`\x01`@\x1B\x03\x81\x16\x15[\x15a\x1D\x9EW`@Qc2\xDE\xA9Y`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_`@Q\x80`\xA0\x01`@R\x80a\x1D\xB3Ba\x0C\x8FV[\x81R`9Tb\xFF\xFF\xFF\x16` \x82\x01R`\x01`\x01`@\x1B\x03\x80\x85\x16`@\x83\x01R_``\x83\x01\x81\x90R`\x80\x90\x92\x01\x91\x90\x91R`:\x80TB\x90\x92\x16`\x01`@\x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@\x1B\x19\x90\x92\x16\x91\x90\x91\x17\x90U\x90Pa\x1E\x12\x81a'\xBDV[\x80Q` \x80\x83\x01Q`@Qb\xFF\xFF\xFF\x90\x91\x16\x81R`\x01`\x01`@\x1B\x03B\x16\x91\x7FWW\x96\x13;\xBE\xD37\xE5\xB3\x9A\xA4\x9A0\xDC%V\xA9\x1E\x0Cl*\xF4\xB7\xB8\x86\xAEw\xEB\xEF\x10v\x91\x01`@Q\x80\x91\x03\x90\xA3PPPV[__a\x1E\x9E\x84\x84\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa\x19\xEC\x92PPPV[_\x81\x81R`6` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x95\x83\x01\x95\x90\x95R`\x01`\x80\x1B\x81\x04\x90\x94\x16\x92\x81\x01\x92\x90\x92R\x93\x94P\x91\x92\x90``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x1F\x0CWa\x1F\x0Ca4\xA0V[`\x02\x81\x11\x15a\x1F\x1DWa\x1F\x1Da4\xA0V[\x90RP\x90P_\x81``\x01Q`\x02\x81\x11\x15a\x1F9Wa\x1F9a4\xA0V[\x14a\x1FWW`@Qc5\xE0\x9E\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`@\x1B\x03\x80\x16a\x1F\x9C\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa,\xAD\x92PPPV[`\x01`\x01`@\x1B\x03\x16\x03a\x1F\xC3W`@Qc\x19X#m`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`@\x1B\x03\x80\x16a \x08\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa,\xD1\x92PPPV[`\x01`\x01`@\x1B\x03\x16\x14a /W`@Qc.\xAD\xE67`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a 7a$BV[a @\x90a;>V[a {\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa,\xE8\x92PPPV[\x14\x80a \xD0WPa \x8Aa,\xFCV[a \x93\x90a;>V[a \xCE\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa,\xE8\x92PPPV[\x14[a \xEDW`@Qc7r\xDDS`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a!)\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa-\x18\x92PPPV[\x90Pa!Ba!7\x8Ca\x1A\xDBV[\x8B\x88\x88\x8C\x8C\x8Fa\x1B\xB2V[`9\x80T\x90_a!Q\x83a;aV[\x90\x91UPP`:T_\x90`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x15a!\x88W`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16a!\x95V[`:T`\x01`\x01`@\x1B\x03\x16[`@\x80Q`\x80\x81\x01\x82Rd\xFF\xFF\xFF\xFF\xFF\x8D\x16\x81R`\x01`\x01`@\x1B\x03\x85\x81\x16` \x83\x01R\x83\x16\x91\x81\x01\x91\x90\x91R\x90\x91P``\x81\x01`\x01\x90R_\x85\x81R`6` \x90\x81R`@\x91\x82\x90 \x83Q\x81T\x92\x85\x01Q\x93\x85\x01Q`\x01`\x01`@\x1B\x03\x90\x81\x16`\x01`\x80\x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x80\x1B\x19\x95\x82\x16`\x01`@\x1B\x02`\x01`\x01`\x80\x1B\x03\x19\x90\x95\x16\x91\x90\x92\x16\x17\x92\x90\x92\x17\x92\x83\x16\x82\x17\x81U``\x84\x01Q\x90\x92\x90\x91\x83\x91`\xFF`\xC0\x1B\x19\x90\x91\x16h\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x80\x1B\x19\x90\x91\x16\x17`\x01`\xC0\x1B\x83`\x02\x81\x11\x15a\"jWa\"ja4\xA0V[\x02\x17\x90UPP`=\x80T\x84\x92P`\x13\x90a\"\x95\x90\x84\x90`\x01`\x98\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16a:\xD5V[\x92Pa\x01\0\n\x81T\x81`\x01`\x01`@\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`@\x1B\x03\x16\x02\x17\x90UP\x7F-\x08\0\xBB\xC3w\xEAT\xA0\x8C]\xB6\xA8z\xAF\xFF^>\x9C\x8F\xEA\xD0\xED\xA1\x10\xE4\x0E\x0C\x10D\x14I\x8A`@Qa\"\xF5\x91\x90d\xFF\xFF\xFF\xFF\xFF\x91\x90\x91\x16\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA1`@\x80Qd\xFF\xFF\xFF\xFF\xFF\x8C\x16\x81R`\x01`\x01`@\x1B\x03\x83\x81\x16` \x83\x01R\x84\x16\x81\x83\x01R\x90Q\x7F\x0E_\xAC\x17[\x83\x17|\xC0G8\x1E\x03\r\x8F\xB3\xB4+7\xBD\x1C\x02^\"\xC2\x80\xFA\xCA\xD6,2\xDF\x91\x81\x90\x03``\x01\x90\xA1a#dc;\x9A\xCA\0`\x01`\x01`@\x1B\x03\x84\x16a9yV[\x9C\x9BPPPPPPPPPPPPV[``_a#\x80\x83a-/V[`@\x80Q` \x80\x82R\x81\x83\x01\x90\x92R\x91\x92P_\x91\x90` \x82\x01\x81\x806\x837PPP\x91\x82RP` \x81\x01\x92\x90\x92RP\x90V[_\x81Q`0\x14a#\xD4W`@QcO\x8829`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q`\x02\x90a#\xEA\x90\x84\x90_\x90` \x01a;yV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra$\x04\x91a9\xA3V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a$\x1FW=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0C\x89\x91\x90a9\xBEV[`@Q``\x90a$^\x90`\x01`\xF8\x1B\x90_\x900\x90` \x01a;\xA7V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x90V[\x80G\x10\x15a$\xC2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: insufficient balance\0\0\0`D\x82\x01R`d\x01a\x13@V[_\x82`\x01`\x01`\xA0\x1B\x03\x16\x82`@Q_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a%\x0BW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a%\x10V[``\x91P[PP\x90P\x80a\x12\xA5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`:`$\x82\x01R\x7FAddress: unable to send value, r`D\x82\x01R\x7Fecipient may have reverted\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x13@V[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x80\x82\x01\x84\x90R\x82Q\x80\x83\x03\x90\x91\x01\x81R`d\x90\x91\x01\x90\x91R` \x81\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16c\xA9\x05\x9C\xBB`\xE0\x1B\x17\x90Ra\x12\xA5\x90\x84\x90a-VV[_a%\xE3\x84a)\xF5V[\x90Pa%\xF0\x81`\x03a9EV[a%\xFB\x90` a9yV[a&\x08` \x84\x01\x84a8\xB7V[\x90P\x14a&(W`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03\x81\x1B`\x0C\x17a&}a&?` \x85\x01\x85a8\xB7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RP\x88\x92PP\x865\x90P\x84a)\xDEV[a\x15\xE0W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83Q` \x85\x01Q\x90_\x90\x81\x90\x81a&\xB2\x87\x83\x88a.)V[\x90P\x84`\x01`\x01`@\x1B\x03\x16\x81`\x01`\x01`@\x1B\x03\x16\x14a',Wa&\xD7\x85\x82a;\xE5V[`@\x80Qd\xFF\xFF\xFF\xFF\xFF\x85\x16\x81R`\x01`\x01`@\x1B\x03\x8B\x81\x16` \x83\x01R\x84\x16\x81\x83\x01R\x90Q\x91\x95P\x7F\x0E_\xAC\x17[\x83\x17|\xC0G8\x1E\x03\r\x8F\xB3\xB4+7\xBD\x1C\x02^\"\xC2\x80\xFA\xCA\xD6,2\xDF\x91\x90\x81\x90\x03``\x01\x90\xA1[`\x01`\x01`@\x1B\x03\x80\x82\x16` \x8B\x01\x81\x90R\x90\x89\x16`@\x8B\x01R_\x03a'\xB1W`9\x80T\x90_a'[\x83a<\x14V[\x90\x91UPP`\x02``\x8A\x01Ra'p\x84a<)V[\x92P\x81d\xFF\xFF\xFF\xFF\xFF\x16\x88`\x01`\x01`@\x1B\x03\x16\x7F*\x026\x1F\xFAf\xCF,-\xA4h,#U\xA6\xAD\xCA\xA9\xF6\xC2'\xB6\xE6V>hH\x0F\x95\x87bj`@Q`@Q\x80\x91\x03\x90\xA3[PP\x94P\x94P\x94\x91PPV[` \x81\x01Qb\xFF\xFF\xFF\x16\x15a(TW\x80Q`<U` \x81\x01Q`=\x80T`@\x84\x01Q``\x85\x01Q`\x80\x90\x95\x01Qb\xFF\xFF\xFF\x90\x94\x16j\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x92\x16\x91\x90\x91\x17c\x01\0\0\0`\x01`\x01`@\x1B\x03\x92\x83\x16\x02\x17`\x01`X\x1B`\x01`\xD8\x1B\x03\x19\x16`\x01`X\x1B\x94\x82\x16\x94\x90\x94\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x98\x1B\x19\x16\x93\x90\x93\x17`\x01`\x98\x1B\x93\x90\x92\x16\x92\x90\x92\x02\x17\x90UV[`\x80\x81\x01Q`4T_\x91a(p\x91`\x01`\x01`@\x1B\x03\x16a:\xD5V[\x90P_\x82``\x01Q\x83`@\x01Qa(\x87\x91\x90a:\xF4V[`@\x84\x01Q`4\x80T\x92\x93P\x90\x91_\x90a(\xAB\x90\x84\x90`\x01`\x01`@\x1B\x03\x16a:\xD5V[\x82Ta\x01\0\x92\x90\x92\n`\x01`\x01`@\x1B\x03\x81\x81\x02\x19\x90\x93\x16\x91\x83\x16\x02\x17\x90\x91U`:\x80T`\x01`@\x1B\x81\x04\x83\x16`\x01`\x01`\x80\x1B\x03\x19\x90\x91\x16\x17\x90U_\x91Pa(\xFB\x90c;\x9A\xCA\0\x90\x85\x16a9yV[\x90P_a)\x10c;\x9A\xCA\0`\x07\x85\x90\x0Ba<NV[`:T`@Q\x82\x81R\x91\x92P`\x01`\x01`@\x1B\x03\x16\x90\x7FRT\x08\xC2\x01\xBC\x15v\xEBD\x11odx\xF1\xC2\xA5Gu\xB1\x9A\x04;\xCF\xDCp\x83d\xF7O\x8ED\x90` \x01`@Q\x80\x91\x03\x90\xA2`3T`@Qc\xA1\xCAx\x0B`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x92c\xA1\xCAx\x0B\x92a)\xAA\x92\x91\x90\x91\x16\x90\x86\x90\x86\x90`\x04\x01a9XV[_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a)\xC1W__\xFD[PZ\xF1\x15\x80\x15a)\xD3W=__>=_\xFD[PPPPPPPPPV[_\x83a)\xEB\x86\x85\x85a/\x07V[\x14\x95\x94PPPPPV[_\x80\x82`\x01\x81\x11\x15a*\tWa*\ta4\xA0V[\x14a*\x15W`\x06a\x0C\x89V[`\x05\x92\x91PPV[__`\x02\x83Qa*-\x91\x90a:rV[\x90P_\x81`\x01`\x01`@\x1B\x03\x81\x11\x15a*HWa*Ha6NV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a*qW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x82\x81\x10\x15a+kW`\x02\x85a*\x8B\x83\x83a9yV[\x81Q\x81\x10a*\x9BWa*\x9Ba8\xF9V[` \x02` \x01\x01Q\x86\x83`\x02a*\xB1\x91\x90a9yV[a*\xBC\x90`\x01a9EV[\x81Q\x81\x10a*\xCCWa*\xCCa8\xF9V[` \x02` \x01\x01Q`@Q` \x01a*\xEE\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra+\x08\x91a9\xA3V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a+#W=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a+F\x91\x90a9\xBEV[\x82\x82\x81Q\x81\x10a+XWa+Xa8\xF9V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a*vV[Pa+w`\x02\x83a:rV[\x91P[\x81\x15a,\x8AW_[\x82\x81\x10\x15a,wW`\x02\x82a+\x97\x83\x83a9yV[\x81Q\x81\x10a+\xA7Wa+\xA7a8\xF9V[` \x02` \x01\x01Q\x83\x83`\x02a+\xBD\x91\x90a9yV[a+\xC8\x90`\x01a9EV[\x81Q\x81\x10a+\xD8Wa+\xD8a8\xF9V[` \x02` \x01\x01Q`@Q` \x01a+\xFA\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra,\x14\x91a9\xA3V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a,/W=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a,R\x91\x90a9\xBEV[\x82\x82\x81Q\x81\x10a,dWa,da8\xF9V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a+\x82V[Pa,\x83`\x02\x83a:rV[\x91Pa+zV[\x80_\x81Q\x81\x10a,\x9CWa,\x9Ca8\xF9V[` \x02` \x01\x01Q\x92PPP\x91\x90PV[_a\x0C\x89\x82`\x05\x81Q\x81\x10a,\xC4Wa,\xC4a8\xF9V[` \x02` \x01\x01Qa/\xDBV[_a\x0C\x89\x82`\x06\x81Q\x81\x10a,\xC4Wa,\xC4a8\xF9V[_\x81`\x01\x81Q\x81\x10a\x19\xFFWa\x19\xFFa8\xF9V[`@Q``\x90a$^\x90`\x01`\xF9\x1B\x90_\x900\x90` \x01a;\xA7V[_a\x0C\x89\x82`\x02\x81Q\x81\x10a,\xC4Wa,\xC4a8\xF9V[_`\xFF\x82\x16`\x1F\x81\x11\x15a\x0C\x89W`@Qc,\xD4J\xC3`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a-\xAA\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a0>\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x80Q_\x14\x80a-\xCAWP\x80\x80` \x01\x90Q\x81\x01\x90a-\xCA\x91\x90a8WV[a\x12\xA5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`*`$\x82\x01R\x7FSafeERC20: ERC20 operation did n`D\x82\x01Ri\x1B\xDD\x08\x1C\xDDX\xD8\xD9YY`\xB2\x1B`d\x82\x01R`\x84\x01a\x13@V[_a.6`&`\x01a9EV[a.A\x90` a9yV[a.N`@\x84\x01\x84a8\xB7V[\x90P\x14a.nW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a.z`\x04\x85a<}V[d\xFF\xFF\xFF\xFF\xFF\x16\x90Pa.\xD3a.\x93`@\x85\x01\x85a8\xB7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RP\x89\x92PPP` \x86\x015\x84a)\xDEV[a.\xF0W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a.\xFE\x83` \x015\x85a0LV[\x95\x94PPPPPV[_\x83Q_\x14\x15\x80\x15a/$WP` \x84Qa/\"\x91\x90a<\xA6V[\x15[a/AW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q` \x80\x82\x01\x90\x92R\x84\x81R\x90[\x85Q\x81\x11a/\xD1Wa/e`\x02\x85a<\xA6V[_\x03a/\x97W\x81Q_R\x80\x86\x01Q` R` \x82`@_`\x02a\x07\xD0Z\x03\xFAa/\x8CW__\xFD[`\x02\x84\x04\x93Pa/\xBFV[\x80\x86\x01Q_R\x81Q` R` \x82`@_`\x02a\x07\xD0Z\x03\xFAa/\xB8W__\xFD[`\x02\x84\x04\x93P[a/\xCA` \x82a9EV[\x90Pa/RV[PQ\x94\x93PPPPV[`\xF8\x81\x90\x1C`\xE8\x82\x90\x1Ca\xFF\0\x16\x17`\xD8\x82\x90\x1Cb\xFF\0\0\x16\x17`\xC8\x82\x90\x1Cc\xFF\0\0\0\x16\x17d\xFF\0\0\0\0`\xB8\x83\x90\x1C\x16\x17e\xFF\0\0\0\0\0`\xA8\x83\x90\x1C\x16\x17f\xFF\0\0\0\0\0\0`\x98\x83\x90\x1C\x16\x17`\xFF`8\x1B`\x88\x92\x90\x92\x1C\x91\x90\x91\x16\x17\x90V[``a\r\x95\x84\x84_\x85a0xV[_\x80a0Y`\x04\x84a<\xB9V[a0d\x90`@a<\xE2V[d\xFF\xFF\xFF\xFF\xFF\x16\x90Pa\r\x95\x84\x82\x1Ba/\xDBV[``\x82G\x10\x15a0\xD9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FAddress: insufficient balance fo`D\x82\x01Re\x1C\x88\x18\xD8[\x1B`\xD2\x1B`d\x82\x01R`\x84\x01a\x13@V[__\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa0\xF4\x91\x90a9\xA3V[_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a1.W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a13V[``\x91P[P\x91P\x91Pa1D\x87\x83\x83\x87a1OV[\x97\x96PPPPPPPV[``\x83\x15a1\xBDW\x82Q_\x03a1\xB6W`\x01`\x01`\xA0\x1B\x03\x85\x16;a1\xB6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: call to non-contract\0\0\0`D\x82\x01R`d\x01a\x13@V[P\x81a\r\x95V[a\r\x95\x83\x83\x81Q\x15a1\xD2W\x81Q\x80\x83` \x01\xFD[\x80`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x13@\x91\x90a4\x13V[`\x01`\x01`@\x1B\x03\x81\x16\x81\x14a2\0W__\xFD[PV[_`@\x82\x84\x03\x12\x15a2\x13W__\xFD[P\x91\x90PV[___``\x84\x86\x03\x12\x15a2+W__\xFD[\x835a26\x81a1\xECV[\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a2PW__\xFD[a2\\\x86\x82\x87\x01a2\x03V[\x92PP`@\x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a2wW__\xFD[a2\x83\x86\x82\x87\x01a2\x03V[\x91PP\x92P\x92P\x92V[__\x83`\x1F\x84\x01\x12a2\x9DW__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a2\xB3W__\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a2\xCDW__\xFD[\x92P\x92\x90PV[________`\xA0\x89\x8B\x03\x12\x15a2\xEBW__\xFD[\x885a2\xF6\x81a1\xECV[\x97P` \x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a3\x10W__\xFD[a3\x1C\x8B\x82\x8C\x01a2\x03V[\x97PP`@\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a37W__\xFD[a3C\x8B\x82\x8C\x01a2\x8DV[\x90\x97P\x95PP``\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a3aW__\xFD[a3m\x8B\x82\x8C\x01a2\x8DV[\x90\x95P\x93PP`\x80\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a3\x8BW__\xFD[a3\x97\x8B\x82\x8C\x01a2\x8DV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[_` \x82\x84\x03\x12\x15a3\xBBW__\xFD[\x815a\x1B\xAB\x81a1\xECV[_[\x83\x81\x10\x15a3\xE0W\x81\x81\x01Q\x83\x82\x01R` \x01a3\xC8V[PP_\x91\x01RV[_\x81Q\x80\x84Ra3\xFF\x81` \x86\x01` \x86\x01a3\xC6V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R_a\x1B\xAB` \x83\x01\x84a3\xE8V[__\x83`\x1F\x84\x01\x12a45W__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a4KW__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a2\xCDW__\xFD[__` \x83\x85\x03\x12\x15a4sW__\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a4\x88W__\xFD[a4\x94\x85\x82\x86\x01a4%V[\x90\x96\x90\x95P\x93PPPPV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[`\x03\x81\x10a4\xD0WcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x90RV[` \x81\x01a\x0C\x89\x82\x84a4\xB4V[_` \x82\x84\x03\x12\x15a4\xF2W__\xFD[P5\x91\x90PV[_`\x80\x82\x01\x90P`\x01`\x01`@\x1B\x03\x83Q\x16\x82R`\x01`\x01`@\x1B\x03` \x84\x01Q\x16` \x83\x01R`\x01`\x01`@\x1B\x03`@\x84\x01Q\x16`@\x83\x01R``\x83\x01Qa5E``\x84\x01\x82a4\xB4V[P\x92\x91PPV[\x80\x15\x15\x81\x14a2\0W__\xFD[_` \x82\x84\x03\x12\x15a5iW__\xFD[\x815a\x1B\xAB\x81a5LV[_____``\x86\x88\x03\x12\x15a5\x88W__\xFD[\x855`\x01`\x01`@\x1B\x03\x81\x11\x15a5\x9DW__\xFD[a5\xA9\x88\x82\x89\x01a4%V[\x90\x96P\x94PP` \x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a5\xC7W__\xFD[a5\xD3\x88\x82\x89\x01a4%V[\x96\x99\x95\x98P\x96`@\x015\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a2\0W__\xFD[\x805a6\x04\x81a5\xE5V[\x91\x90PV[__`@\x83\x85\x03\x12\x15a6\x1AW__\xFD[\x825a6%\x81a5\xE5V[\x94` \x93\x90\x93\x015\x93PPPV[_` \x82\x84\x03\x12\x15a6CW__\xFD[\x815a\x1B\xAB\x81a5\xE5V[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a6\x8AWa6\x8Aa6NV[`@R\x91\x90PV[_`\x01`\x01`@\x1B\x03\x82\x11\x15a6\xAAWa6\xAAa6NV[P`\x05\x1B` \x01\x90V[_\x82`\x1F\x83\x01\x12a6\xC3W__\xFD[\x815a6\xD6a6\xD1\x82a6\x92V[a6bV[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a6\xF7W__\xFD[` \x85\x01[\x83\x81\x10\x15a7\x14W\x805\x83R` \x92\x83\x01\x92\x01a6\xFCV[P\x95\x94PPPPPV[___``\x84\x86\x03\x12\x15a70W__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a7EW__\xFD[\x84\x01`\x1F\x81\x01\x86\x13a7UW__\xFD[\x805a7ca6\xD1\x82a6\x92V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x88\x83\x11\x15a7\x84W__\xFD[` \x84\x01\x93P[\x82\x84\x10\x15a7\xAFW\x835a7\x9E\x81a5\xE5V[\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a7\x8BV[\x95PPPP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a7\xCCW__\xFD[a7\xD8\x86\x82\x87\x01a6\xB4V[\x92PPa7\xE7`@\x85\x01a5\xF9V[\x90P\x92P\x92P\x92V[___`@\x84\x86\x03\x12\x15a8\x02W__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a8\x17W__\xFD[a8#\x86\x82\x87\x01a2\x03V[\x93PP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a8>W__\xFD[a8J\x86\x82\x87\x01a2\x8DV[\x94\x97\x90\x96P\x93\x94PPPPV[_` \x82\x84\x03\x12\x15a8gW__\xFD[\x81Qa\x1B\xAB\x81a5LV[__\x835`\x1E\x19\x846\x03\x01\x81\x12a8\x87W__\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15a8\xA0W__\xFD[` \x01\x91P`\x05\x81\x90\x1B6\x03\x82\x13\x15a2\xCDW__\xFD[__\x835`\x1E\x19\x846\x03\x01\x81\x12a8\xCCW__\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15a8\xE5W__\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a2\xCDW__\xFD[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a9\x1DW__\xFD[\x815d\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x1B\xABW__\xFD[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x0C\x89Wa\x0C\x89a91V[`\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x83R` \x83\x01\x91\x90\x91R`@\x82\x01R``\x01\x90V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0C\x89Wa\x0C\x89a91V[\x81\x81\x03\x81\x81\x11\x15a\x0C\x89Wa\x0C\x89a91V[_\x82Qa9\xB4\x81\x84` \x87\x01a3\xC6V[\x91\x90\x91\x01\x92\x91PPV[_` \x82\x84\x03\x12\x15a9\xCEW__\xFD[PQ\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P_\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`\x80\x81R_a:\x10`\x80\x83\x01\x88\x8Aa9\xD5V[\x82\x81\x03` \x84\x01Ra:\"\x81\x88a3\xE8V[\x90P\x82\x81\x03`@\x84\x01Ra:7\x81\x86\x88a9\xD5V[\x91PP\x82``\x83\x01R\x97\x96PPPPPPPV[` \x81R_a\r\x95` \x83\x01\x84\x86a9\xD5V[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a:\x80Wa:\x80a:^V[P\x04\x90V[`\x01`\x01`@\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x81\x11\x15a\x0C\x89Wa\x0C\x89a91V[_\x825`^\x19\x836\x03\x01\x81\x12a9\xB4W__\xFD[_b\xFF\xFF\xFF\x82\x16\x80a:\xCCWa:\xCCa91V[_\x19\x01\x92\x91PPV[`\x01`\x01`@\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x81\x11\x15a\x0C\x89Wa\x0C\x89a91V[`\x07\x81\x81\x0B\x90\x83\x90\x0B\x01g\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x13g\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x82\x12\x17\x15a\x0C\x89Wa\x0C\x89a91V[_` \x82\x84\x03\x12\x15a;3W__\xFD[\x81Qa\x1B\xAB\x81a1\xECV[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a2\x13W_\x19` \x91\x90\x91\x03`\x03\x1B\x1B\x16\x91\x90PV[_`\x01\x82\x01a;rWa;ra91V[P`\x01\x01\x90V[_\x83Qa;\x8A\x81\x84` \x88\x01a3\xC6V[`\x01`\x01`\x80\x1B\x03\x19\x93\x90\x93\x16\x91\x90\x92\x01\x90\x81R`\x10\x01\x92\x91PPV[`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16\x83R`\x01`\x01`\xA8\x1B\x03\x19\x91\x90\x91\x16`\x01\x83\x01R``\x1Bk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x0C\x82\x01R` \x01\x90V[`\x07\x82\x81\x0B\x90\x82\x90\x0B\x03g\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x81\x12g\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x13\x17\x15a\x0C\x89Wa\x0C\x89a91V[_\x81a<\"Wa<\"a91V[P_\x19\x01\x90V[_\x81`\x07\x0Bg\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x81\x03a<FWa<Fa91V[_\x03\x92\x91PPV[\x80\x82\x02_\x82\x12`\x01`\xFF\x1B\x84\x14\x16\x15a<iWa<ia91V[\x81\x81\x05\x83\x14\x82\x15\x17a\x0C\x89Wa\x0C\x89a91V[_d\xFF\xFF\xFF\xFF\xFF\x83\x16\x80a<\x93Wa<\x93a:^V[\x80d\xFF\xFF\xFF\xFF\xFF\x84\x16\x04\x91PP\x92\x91PPV[_\x82a<\xB4Wa<\xB4a:^V[P\x06\x90V[_d\xFF\xFF\xFF\xFF\xFF\x83\x16\x80a<\xCFWa<\xCFa:^V[\x80d\xFF\xFF\xFF\xFF\xFF\x84\x16\x06\x91PP\x92\x91PPV[d\xFF\xFF\xFF\xFF\xFF\x81\x81\x16\x83\x82\x16\x02\x90\x81\x16\x90\x81\x81\x14a5EWa5Ea91V\xFE\xA2dipfsX\"\x12 \xF2\x11\xB4\"\xD7-\xAA\x88\xC7\xF3F\xBF\xDB\x89\xF95\x0B\xA9\x92\xA2\xAD\xCEK\xB1\xE1~\x1D\x99\r\xF0\"RdsolcC\0\x08\x1B\x003",
3026 );
3027 #[rustfmt::skip]
3033 #[allow(clippy::all)]
3034 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
3035 b"`\x80`@R`\x046\x10a\x01`W_5`\xE0\x1C\x80co\xCD\x0ES\x11a\0\xBEW\x80c\xC4\x90tB\x11a\0xW\x80c\xC4\x90tB\x14a\x05VW\x80c\xC4\xD6m\xE8\x14a\x05uW\x80c\xD0mU\x87\x14a\x05\x94W\x80c\xDD\xA34l\x14a\x05\xB3W\x80c\xEE\x94\xD6|\x14a\x05\xD2W\x80c\xF0t\xBAb\x14a\x05\xF1W\x80c\xF2\x88$a\x14a\x06\x10W__\xFD[\x80co\xCD\x0ES\x14a\x04qW\x80ct9\x84\x1F\x14a\x04\x9DW\x80ct\xCD\xD7\x98\x14a\x04\xD2W\x80c\x88gl\xAD\x14a\x05\x05W\x80c\x9BNF4\x14a\x05$W\x80c\xB5\"S\x8A\x14a\x057W__\xFD[\x80cFe\xBC\xDA\x11a\x01\x1AW\x80cFe\xBC\xDA\x14a\x02\x94W\x80cG\xD2\x83r\x14a\x02\xC7W\x80cR9jY\x14a\x03\xB2W\x80cT\xFDMP\x14a\x03\xE6W\x80cXu3W\x14a\x04\x07W\x80cX\xEA\xEEy\x14a\x04&W\x80cl\r-Z\x14a\x04RW__\xFD[\x80c\x03\x91W\xD2\x14a\x01\x9EW\x80c\x0B\x18\xFFf\x14a\x01\xBFW\x80c#@\xE8\xD3\x14a\x01\xFBW\x80c4t\xAA\x16\x14a\x02\x1EW\x80c?e\xCF\x19\x14a\x02OW\x80cB\xEC\xFF*\x14a\x02nW__\xFD[6a\x01\x9AW`@Q4\x81R\x7Fo\xDD=\xBD\xB1s)\x96\x08\xC0\xAA\x9F6\x875\x85|\x88B\xB5\x81\xF88\x928\xBF\x05\xBD\x04\xB3\xBFI\x90` \x01`@Q\x80\x91\x03\x90\xA1\0[__\xFD[4\x80\x15a\x01\xA9W__\xFD[Pa\x01\xBDa\x01\xB86`\x04a2\x19V[a\x06CV[\0[4\x80\x15a\x01\xCAW__\xFD[P`3Ta\x01\xDE\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\x06W__\xFD[Pa\x02\x10`9T\x81V[`@Q\x90\x81R` \x01a\x01\xF2V[4\x80\x15a\x02)W__\xFD[P`4T`\x01`\x01`@\x1B\x03\x16[`@Q`\x01`\x01`@\x1B\x03\x90\x91\x16\x81R` \x01a\x01\xF2V[4\x80\x15a\x02ZW__\xFD[Pa\x01\xBDa\x02i6`\x04a2\xD4V[a\txV[4\x80\x15a\x02yW__\xFD[P`:Ta\x027\x90`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x02\x9FW__\xFD[Pa\x01\xDE\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x02\xD2W__\xFD[Pa\x03W`@\x80Q`\xA0\x81\x01\x82R_\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x82\x90R``\x81\x01\x82\x90R`\x80\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R`<T\x81R`=Tb\xFF\xFF\xFF\x81\x16` \x83\x01R`\x01`\x01`@\x1B\x03c\x01\0\0\0\x82\x04\x81\x16\x93\x83\x01\x93\x90\x93R`\x01`X\x1B\x81\x04`\x07\x0B``\x83\x01R`\x01`\x98\x1B\x90\x04\x90\x91\x16`\x80\x82\x01R\x90V[`@Qa\x01\xF2\x91\x90_`\xA0\x82\x01\x90P\x82Q\x82Rb\xFF\xFF\xFF` \x84\x01Q\x16` \x83\x01R`\x01`\x01`@\x1B\x03`@\x84\x01Q\x16`@\x83\x01R``\x83\x01Q`\x07\x0B``\x83\x01R`\x01`\x01`@\x1B\x03`\x80\x84\x01Q\x16`\x80\x83\x01R\x92\x91PPV[4\x80\x15a\x03\xBDW__\xFD[Pa\x027a\x03\xCC6`\x04a3\xABV[`;` R_\x90\x81R`@\x90 T`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x03\xF1W__\xFD[Pa\x03\xFAa\x0B\xFDV[`@Qa\x01\xF2\x91\x90a4\x13V[4\x80\x15a\x04\x12W__\xFD[P`>Ta\x01\xDE\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x041W__\xFD[Pa\x04Ea\x04@6`\x04a4bV[a\x0C-V[`@Qa\x01\xF2\x91\x90a4\xD4V[4\x80\x15a\x04]W__\xFD[Pa\x02\x10a\x04l6`\x04a3\xABV[a\x0C\x8FV[4\x80\x15a\x04|W__\xFD[Pa\x04\x90a\x04\x8B6`\x04a4\xE2V[a\r\x9DV[`@Qa\x01\xF2\x91\x90a4\xF9V[4\x80\x15a\x04\xA8W__\xFD[Pa\x04Ea\x04\xB76`\x04a4\xE2V[_\x90\x81R`6` R`@\x90 T`\x01`\xC0\x1B\x90\x04`\xFF\x16\x90V[4\x80\x15a\x04\xDDW__\xFD[Pa\x01\xDE\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\x10W__\xFD[Pa\x01\xBDa\x05\x1F6`\x04a5YV[a\x0EHV[a\x01\xBDa\x0526`\x04a5tV[a\x0F=V[4\x80\x15a\x05BW__\xFD[Pa\x04\x90a\x05Q6`\x04a4bV[a\x10\x84V[4\x80\x15a\x05aW__\xFD[Pa\x01\xBDa\x05p6`\x04a6\tV[a\x11sV[4\x80\x15a\x05\x80W__\xFD[Pa\x01\xBDa\x05\x8F6`\x04a63V[a\x12\xAAV[4\x80\x15a\x05\x9FW__\xFD[Pa\x01\xBDa\x05\xAE6`\x04a63V[a\x13\xF4V[4\x80\x15a\x05\xBEW__\xFD[Pa\x01\xBDa\x05\xCD6`\x04a7\x1EV[a\x14\x88V[4\x80\x15a\x05\xDDW__\xFD[P`:Ta\x027\x90`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x05\xFCW__\xFD[Pa\x01\xBDa\x06\x0B6`\x04a7\xF0V[a\x15\xE7V[4\x80\x15a\x06\x1BW__\xFD[Pa\x027\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x06`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x06\xA9W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x06\xCD\x91\x90a8WV[\x15a\x06\xEBW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x08`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07QW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07u\x91\x90a8WV[\x15a\x07\x93W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x07\xD7a\x07\xA1\x85\x80a8rV[\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa\x19\xEC\x92PPPV[_\x81\x81R`6` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x95\x83\x01\x95\x90\x95R`\x01`\x80\x1B\x81\x04\x90\x94\x16\x92\x81\x01\x92\x90\x92R\x93\x94P\x91\x92\x90``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x08EWa\x08Ea4\xA0V[`\x02\x81\x11\x15a\x08VWa\x08Va4\xA0V[\x81RPP\x90P\x80`@\x01Q`\x01`\x01`@\x1B\x03\x16\x87`\x01`\x01`@\x1B\x03\x16\x11a\x08\x92W`@Qc7\xE0\x7F\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x81``\x01Q`\x02\x81\x11\x15a\x08\xAAWa\x08\xAAa4\xA0V[\x14a\x08\xC8W`@Qc\xD4\x9E\x19\xA7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t\x0Ba\x08\xD5\x86\x80a8rV[\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa\x1A\x0E\x92PPPV[a\t(W`@Qc\x16\x1C\xE5\xED`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t:a\t4\x88a\x0C\x8FV[\x87a\x1A6V[a\tfa\tF\x88a\x1A\xDBV[\x875a\tR\x88\x80a8rV[a\t_` \x8B\x01\x8Ba8\xB7V[\x87Qa\x1B\xB2V[a\to_a\x1C\xE6V[PPPPPPPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80a\t\x9BWP`>T`\x01`\x01`\xA0\x1B\x03\x163\x14[a\t\xB8W`@QcBzwy`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x02`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n\x1EW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\nB\x91\x90a8WV[\x15a\n`W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x85\x84\x14\x80\x15a\nnWP\x83\x82\x14[a\n\x8BW`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`:T`\x01`\x01`@\x1B\x03`\x01`@\x1B\x90\x91\x04\x81\x16\x90\x8A\x16\x11a\n\xC1W`@Qc7\xE0\x7F\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\n\xD3a\n\xCD\x8Aa\x0C\x8FV[\x89a\x1A6V[_\x80[\x87\x81\x10\x15a\x0BlWa\x0BX\x8B\x8B5\x8B\x8B\x85\x81\x81\x10a\n\xF6Wa\n\xF6a8\xF9V[\x90P` \x02\x01` \x81\x01\x90a\x0B\x0B\x91\x90a9\rV[\x8A\x8A\x86\x81\x81\x10a\x0B\x1DWa\x0B\x1Da8\xF9V[\x90P` \x02\x81\x01\x90a\x0B/\x91\x90a8\xB7V[\x8A\x8A\x88\x81\x81\x10a\x0BAWa\x0BAa8\xF9V[\x90P` \x02\x81\x01\x90a\x0BS\x91\x90a8rV[a\x1EaV[a\x0Bb\x90\x83a9EV[\x91P`\x01\x01a\n\xD6V[P`3T`@Qc\xA1\xCAx\x0B`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x92c\xA1\xCAx\x0B\x92a\x0B\xC4\x92\x91\x90\x91\x16\x90_\x90\x86\x90`\x04\x01a9XV[_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x0B\xDBW__\xFD[PZ\xF1\x15\x80\x15a\x0B\xEDW=__>=_\xFD[PPPPPPPPPPPPPPV[``a\x0C(\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a#tV[\x90P\x90V[__a\x0Cm\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RPa#\xB1\x92PPPV[_\x90\x81R`6` R`@\x90 T`\x01`\xC0\x1B\x90\x04`\xFF\x16\x91PP[\x92\x91PPV[_a\x0C\x9Da\x1F\xFF`\x0Ca9yV[a\x0C\xB0`\x01`\x01`@\x1B\x03\x84\x16Ba9\x90V[\x10a\x0C\xCEW`@QcyD\xE6m`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\x01`\x01`@\x1B\x03\x84\x16` \x82\x01R_\x91\x82\x91r\x0F=\xF6\xD72\x80~\xF11\x9F\xB7\xB8\xBB\x85\"\xD0\xBE\xAC\x02\x91\x01`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\r\x15\x91a9\xA3V[_`@Q\x80\x83\x03\x81\x85Z\xFA\x91PP=\x80_\x81\x14a\rMW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\rRV[``\x91P[P\x91P\x91P\x81\x80\x15a\rdWP_\x81Q\x11[a\r\x81W`@QcU\x8A\xD0\xA3`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80\x80` \x01\x90Q\x81\x01\x90a\r\x95\x91\x90a9\xBEV[\x94\x93PPPPV[a\r\xC4`@\x80Q`\x80\x81\x01\x82R_\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x82\x90R\x90``\x82\x01R\x90V[_\x82\x81R`6` \x90\x81R`@\x91\x82\x90 \x82Q`\x80\x81\x01\x84R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x94\x83\x01\x94\x90\x94R`\x01`\x80\x1B\x81\x04\x90\x93\x16\x93\x81\x01\x93\x90\x93R\x90``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x0E.Wa\x0E.a4\xA0V[`\x02\x81\x11\x15a\x0E?Wa\x0E?a4\xA0V[\x90RP\x92\x91PPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80a\x0EkWP`>T`\x01`\x01`\xA0\x1B\x03\x163\x14[a\x0E\x88W`@QcBzwy`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x06`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\xEEW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0F\x12\x91\x90a8WV[\x15a\x0F0W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0F9\x82a\x1C\xE6V[PPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0F\x86W`@Qc2\x13\xA6a`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[4h\x01\xBC\x16\xD6t\xEC\x80\0\0\x14a\x0F\xAFW`@Qc\x04\x96\x96\xB3`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\"\x89Q\x18h\x01\xBC\x16\xD6t\xEC\x80\0\0\x87\x87a\x0F\xF2a$BV[\x88\x88\x88`@Q\x88c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x10\x16\x96\x95\x94\x93\x92\x91\x90a9\xFDV[_`@Q\x80\x83\x03\x81\x85\x88\x80;\x15\x80\x15a\x10-W__\xFD[PZ\xF1\x15\x80\x15a\x10?W=__>=_\xFD[PPPPP\x7F`he\xB7\x93J%\xD4\xAE\xD4?l\xDBBd\x035?\xA4\xB3\0\x9CM\"\x84\x07GE\x81\xB0\x1E#\x85\x85`@Qa\x10u\x92\x91\x90a:KV[`@Q\x80\x91\x03\x90\xA1PPPPPV[a\x10\xAB`@\x80Q`\x80\x81\x01\x82R_\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x82\x90R\x90``\x82\x01R\x90V[`6_a\x10\xEC\x85\x85\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RPa#\xB1\x92PPPV[\x81R` \x80\x82\x01\x92\x90\x92R`@\x90\x81\x01_ \x81Q`\x80\x81\x01\x83R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x95\x83\x01\x95\x90\x95R`\x01`\x80\x1B\x81\x04\x90\x94\x16\x92\x81\x01\x92\x90\x92R\x90\x91``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x11XWa\x11Xa4\xA0V[`\x02\x81\x11\x15a\x11iWa\x11ia4\xA0V[\x90RP\x93\x92PPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x11\xBCW`@Qc2\x13\xA6a`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x11\xCBc;\x9A\xCA\0\x83a:rV[\x90Pa\x11\xE4c;\x9A\xCA\0`\x01`\x01`@\x1B\x03\x83\x16a9yV[`4T\x90\x92P`\x01`\x01`@\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x12\x17W`@Qc\x02\xC6\xF5G`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`4\x80T\x82\x91\x90_\x90a\x124\x90\x84\x90`\x01`\x01`@\x1B\x03\x16a:\x85V[\x92Pa\x01\0\n\x81T\x81`\x01`\x01`@\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`@\x1B\x03\x16\x02\x17\x90UP\x82`\x01`\x01`\xA0\x1B\x03\x16\x7F\x89G\xFD,\xE0~\xF9\xCC0,N\x8F\x04a\x01V\x15\xD9\x1C\xE8QVH9\xE9\x1C\xC8\x04\xC2\xF4\x9D\x8E\x83`@Qa\x12\x93\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2a\x12\xA5\x83\x83a$rV[PPPV[_Ta\x01\0\x90\x04`\xFF\x16\x15\x80\x80\x15a\x12\xC8WP_T`\x01`\xFF\x90\x91\x16\x10[\x80a\x12\xE1WP0;\x15\x80\x15a\x12\xE1WP_T`\xFF\x16`\x01\x14[a\x13IW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`.`$\x82\x01R\x7FInitializable: contract is alrea`D\x82\x01Rm\x19\x1EH\x1A[\x9A]\x1AX[\x1A^\x99Y`\x92\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[_\x80T`\xFF\x19\x16`\x01\x17\x90U\x80\x15a\x13jW_\x80Ta\xFF\0\x19\x16a\x01\0\x17\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x13\x91W`@Qc9\xB1\x90\xBB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`3\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x17\x90U\x80\x15a\x0F9W_\x80Ta\xFF\0\x19\x16\x90U`@Q`\x01\x81R\x7F\x7F&\xB8?\xF9n\x1F+jh/\x138R\xF6y\x8A\t\xC4e\xDA\x95\x92\x14`\xCE\xFB8G@$\x98\x90` \x01`@Q\x80\x91\x03\x90\xA1PPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14\x1FW`@Qcq\x9F7\x03`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`>T`@\x80Q`\x01`\x01`\xA0\x1B\x03\x92\x83\x16\x81R\x91\x83\x16` \x83\x01R\x7F\xFB\x81)\x08\n\x19\xD3M\xCE\xAC\x04\xBA%?\xC5\x03\x04\xDC\x86\xC7)\xBDc\xCD\xCAJ\x96\x9A\xD1\x9A^\xAC\x91\x01`@Q\x80\x91\x03\x90\xA1`>\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14\xB3W`@Qcq\x9F7\x03`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x05`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15\x19W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15=\x91\x90a8WV[\x15a\x15[W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82Q\x84Q\x14a\x15}W`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_[\x84Q\x81\x10\x15a\x15\xE0Wa\x15\xD8\x83\x85\x83\x81Q\x81\x10a\x15\x9EWa\x15\x9Ea8\xF9V[` \x02` \x01\x01Q\x87\x84\x81Q\x81\x10a\x15\xB8Wa\x15\xB8a8\xF9V[` \x02` \x01\x01Q`\x01`\x01`\xA0\x1B\x03\x16a%\x87\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[`\x01\x01a\x15\x7FV[PPPPPV[`@QcZ\xC8j\xB7`\xE0\x1B\x81R`\x07`\x04\x82\x01\x81\x90R\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90cZ\xC8j\xB7\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x16MW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16q\x91\x90a8WV[\x15a\x16\x8FW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16_\x81\x90\x03a\x16\xC3W`@Qc\x1ATOI`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\xA0\x81\x01\x82R`<T\x81R`=Tb\xFF\xFF\xFF\x81\x16` \x83\x01R`\x01`\x01`@\x1B\x03c\x01\0\0\0\x82\x04\x81\x16\x93\x83\x01\x93\x90\x93R`\x01`X\x1B\x81\x04`\x07\x0B``\x83\x01R`\x01`\x98\x1B\x90\x04\x90\x91\x16`\x80\x82\x01Ra\x17*a\x17\"\x83a\x1A\xDBV[\x82Q\x88a%\xD9V[_\x80[\x85\x81\x10\x15a\x19\x93W6\x87\x87\x83\x81\x81\x10a\x17HWa\x17Ha8\xF9V[\x90P` \x02\x81\x01\x90a\x17Z\x91\x90a:\xA4V[\x805_\x90\x81R`6` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x95\x83\x01\x95\x90\x95R`\x01`\x80\x1B\x81\x04\x90\x94\x16\x92\x81\x01\x92\x90\x92R\x93\x94P\x91\x92\x90``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x17\xCAWa\x17\xCAa4\xA0V[`\x02\x81\x11\x15a\x17\xDBWa\x17\xDBa4\xA0V[\x90RP\x90P`\x01\x81``\x01Q`\x02\x81\x11\x15a\x17\xF8Wa\x17\xF8a4\xA0V[\x14a\x18\x04WPPa\x19\x8BV[\x85`\x01`\x01`@\x1B\x03\x16\x81`@\x01Q`\x01`\x01`@\x1B\x03\x16\x10a\x18(WPPa\x19\x8BV[_\x80\x80a\x188\x84\x8A\x8F5\x88a&\x9AV[` \x8B\x01\x80Q\x93\x96P\x91\x94P\x92Pa\x18O\x82a:\xB8V[b\xFF\xFF\xFF\x16\x90RP`\x80\x88\x01\x80Q\x84\x91\x90a\x18k\x90\x83\x90a:\xD5V[`\x01`\x01`@\x1B\x03\x16\x90RP``\x88\x01\x80Q\x83\x91\x90a\x18\x8B\x90\x83\x90a:\xF4V[`\x07\x0B\x90RPa\x18\x9B\x81\x88a:\xD5V[\x855_\x90\x81R`6` \x90\x81R`@\x91\x82\x90 \x87Q\x81T\x92\x89\x01Q\x93\x89\x01Q`\x01`\x01`@\x1B\x03\x90\x81\x16`\x01`\x80\x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x80\x1B\x19\x95\x82\x16`\x01`@\x1B\x02`\x01`\x01`\x80\x1B\x03\x19\x90\x95\x16\x91\x90\x92\x16\x17\x92\x90\x92\x17\x92\x83\x16\x82\x17\x81U``\x88\x01Q\x93\x9AP\x87\x93\x90\x92\x90\x91\x83\x91`\xFF`\xC0\x1B\x19\x90\x91\x16h\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x80\x1B\x19\x90\x91\x16\x17`\x01`\xC0\x1B\x83`\x02\x81\x11\x15a\x19?Wa\x19?a4\xA0V[\x02\x17\x90UPP\x84Q`@Qd\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x91P`\x01`\x01`@\x1B\x03\x8B\x16\x90\x7F\xA9\x1CY\x03<4#\xE1\x8BT\xD0\xAC\xEC\xEB\xB4\x97/\x9E\xA9Z\xED\xF5\xF4\xCA\xE3\xB6w\xB0.\xAF:?\x90_\x90\xA3PPPPP[`\x01\x01a\x17-V[P`\x01`\x01`@\x1B\x03\x80\x84\x16_\x90\x81R`;` R`@\x81 \x80T\x84\x93\x91\x92\x91a\x19\xBF\x91\x85\x91\x16a:\xD5V[\x92Pa\x01\0\n\x81T\x81`\x01`\x01`@\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`@\x1B\x03\x16\x02\x17\x90UPa\to\x82a'\xBDV[_\x81_\x81Q\x81\x10a\x19\xFFWa\x19\xFFa8\xF9V[` \x02` \x01\x01Q\x90P\x91\x90PV[_\x81`\x03\x81Q\x81\x10a\x1A\"Wa\x1A\"a8\xF9V[` \x02` \x01\x01Q__\x1B\x14\x15\x90P\x91\x90PV[a\x1AB`\x03` a9yV[a\x1AO` \x83\x01\x83a8\xB7V[\x90P\x14a\x1AoW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1A\xBEa\x1A\x7F` \x83\x01\x83a8\xB7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RP\x86\x92PP\x845\x90P`\x03a)\xDEV[a\x0F9W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[__\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c'\x045\x1A`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B9W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1B]\x91\x90a;#V[\x90P\x80`\x01`\x01`@\x1B\x03\x16_\x03a\x1B\x88W`@QcA\xA0,\xC9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80`\x01`\x01`@\x1B\x03\x16\x83`\x01`\x01`@\x1B\x03\x16\x11\x15a\x1B\xA9W`\x01a\x1B\xABV[_[\x93\x92PPPV[`\x08\x84\x14a\x1B\xD3W`@Qc \x05\x91\xBD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x1B\xDD\x88a)\xF5V[\x90P\x80a\x1B\xEC`(`\x01a9EV[a\x1B\xF6\x91\x90a9EV[a\x1C\x01\x90` a9yV[\x83\x14a\x1C W`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x1C\\\x87\x87\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa*\x1D\x92PPPV[\x90P_d\xFF\xFF\xFF\xFF\xFF\x84\x16a\x1Cs`(`\x01a9EV[`\x0B\x90\x1B\x17\x90Pa\x1C\xBD\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RP\x8D\x92P\x86\x91P\x85\x90Pa)\xDEV[a\x1C\xDAW`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPPPPV[`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x15a\x1D\x16W`@Qb\xBE\x9B\xC3`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`:T`\x01`\x01`@\x1B\x03B\x81\x16\x91\x16\x03a\x1DDW`@Qcg\xDB[\x8B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`4T_\x90`\x01`\x01`@\x1B\x03\x16a\x1D`c;\x9A\xCA\0Ga:rV[a\x1Dj\x91\x90a:\x85V[\x90P\x81\x80\x15a\x1D\x80WP`\x01`\x01`@\x1B\x03\x81\x16\x15[\x15a\x1D\x9EW`@Qc2\xDE\xA9Y`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_`@Q\x80`\xA0\x01`@R\x80a\x1D\xB3Ba\x0C\x8FV[\x81R`9Tb\xFF\xFF\xFF\x16` \x82\x01R`\x01`\x01`@\x1B\x03\x80\x85\x16`@\x83\x01R_``\x83\x01\x81\x90R`\x80\x90\x92\x01\x91\x90\x91R`:\x80TB\x90\x92\x16`\x01`@\x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@\x1B\x19\x90\x92\x16\x91\x90\x91\x17\x90U\x90Pa\x1E\x12\x81a'\xBDV[\x80Q` \x80\x83\x01Q`@Qb\xFF\xFF\xFF\x90\x91\x16\x81R`\x01`\x01`@\x1B\x03B\x16\x91\x7FWW\x96\x13;\xBE\xD37\xE5\xB3\x9A\xA4\x9A0\xDC%V\xA9\x1E\x0Cl*\xF4\xB7\xB8\x86\xAEw\xEB\xEF\x10v\x91\x01`@Q\x80\x91\x03\x90\xA3PPPV[__a\x1E\x9E\x84\x84\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa\x19\xEC\x92PPPV[_\x81\x81R`6` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T`\x01`\x01`@\x1B\x03\x80\x82\x16\x83R`\x01`@\x1B\x82\x04\x81\x16\x95\x83\x01\x95\x90\x95R`\x01`\x80\x1B\x81\x04\x90\x94\x16\x92\x81\x01\x92\x90\x92R\x93\x94P\x91\x92\x90``\x83\x01\x90`\x01`\xC0\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x1F\x0CWa\x1F\x0Ca4\xA0V[`\x02\x81\x11\x15a\x1F\x1DWa\x1F\x1Da4\xA0V[\x90RP\x90P_\x81``\x01Q`\x02\x81\x11\x15a\x1F9Wa\x1F9a4\xA0V[\x14a\x1FWW`@Qc5\xE0\x9E\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`@\x1B\x03\x80\x16a\x1F\x9C\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa,\xAD\x92PPPV[`\x01`\x01`@\x1B\x03\x16\x03a\x1F\xC3W`@Qc\x19X#m`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`@\x1B\x03\x80\x16a \x08\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa,\xD1\x92PPPV[`\x01`\x01`@\x1B\x03\x16\x14a /W`@Qc.\xAD\xE67`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a 7a$BV[a @\x90a;>V[a {\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa,\xE8\x92PPPV[\x14\x80a \xD0WPa \x8Aa,\xFCV[a \x93\x90a;>V[a \xCE\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa,\xE8\x92PPPV[\x14[a \xEDW`@Qc7r\xDDS`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a!)\x86\x86\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847_\x92\x01\x91\x90\x91RPa-\x18\x92PPPV[\x90Pa!Ba!7\x8Ca\x1A\xDBV[\x8B\x88\x88\x8C\x8C\x8Fa\x1B\xB2V[`9\x80T\x90_a!Q\x83a;aV[\x90\x91UPP`:T_\x90`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x15a!\x88W`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16a!\x95V[`:T`\x01`\x01`@\x1B\x03\x16[`@\x80Q`\x80\x81\x01\x82Rd\xFF\xFF\xFF\xFF\xFF\x8D\x16\x81R`\x01`\x01`@\x1B\x03\x85\x81\x16` \x83\x01R\x83\x16\x91\x81\x01\x91\x90\x91R\x90\x91P``\x81\x01`\x01\x90R_\x85\x81R`6` \x90\x81R`@\x91\x82\x90 \x83Q\x81T\x92\x85\x01Q\x93\x85\x01Q`\x01`\x01`@\x1B\x03\x90\x81\x16`\x01`\x80\x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x80\x1B\x19\x95\x82\x16`\x01`@\x1B\x02`\x01`\x01`\x80\x1B\x03\x19\x90\x95\x16\x91\x90\x92\x16\x17\x92\x90\x92\x17\x92\x83\x16\x82\x17\x81U``\x84\x01Q\x90\x92\x90\x91\x83\x91`\xFF`\xC0\x1B\x19\x90\x91\x16h\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x80\x1B\x19\x90\x91\x16\x17`\x01`\xC0\x1B\x83`\x02\x81\x11\x15a\"jWa\"ja4\xA0V[\x02\x17\x90UPP`=\x80T\x84\x92P`\x13\x90a\"\x95\x90\x84\x90`\x01`\x98\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16a:\xD5V[\x92Pa\x01\0\n\x81T\x81`\x01`\x01`@\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`@\x1B\x03\x16\x02\x17\x90UP\x7F-\x08\0\xBB\xC3w\xEAT\xA0\x8C]\xB6\xA8z\xAF\xFF^>\x9C\x8F\xEA\xD0\xED\xA1\x10\xE4\x0E\x0C\x10D\x14I\x8A`@Qa\"\xF5\x91\x90d\xFF\xFF\xFF\xFF\xFF\x91\x90\x91\x16\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA1`@\x80Qd\xFF\xFF\xFF\xFF\xFF\x8C\x16\x81R`\x01`\x01`@\x1B\x03\x83\x81\x16` \x83\x01R\x84\x16\x81\x83\x01R\x90Q\x7F\x0E_\xAC\x17[\x83\x17|\xC0G8\x1E\x03\r\x8F\xB3\xB4+7\xBD\x1C\x02^\"\xC2\x80\xFA\xCA\xD6,2\xDF\x91\x81\x90\x03``\x01\x90\xA1a#dc;\x9A\xCA\0`\x01`\x01`@\x1B\x03\x84\x16a9yV[\x9C\x9BPPPPPPPPPPPPV[``_a#\x80\x83a-/V[`@\x80Q` \x80\x82R\x81\x83\x01\x90\x92R\x91\x92P_\x91\x90` \x82\x01\x81\x806\x837PPP\x91\x82RP` \x81\x01\x92\x90\x92RP\x90V[_\x81Q`0\x14a#\xD4W`@QcO\x8829`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q`\x02\x90a#\xEA\x90\x84\x90_\x90` \x01a;yV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra$\x04\x91a9\xA3V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a$\x1FW=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0C\x89\x91\x90a9\xBEV[`@Q``\x90a$^\x90`\x01`\xF8\x1B\x90_\x900\x90` \x01a;\xA7V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x90V[\x80G\x10\x15a$\xC2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: insufficient balance\0\0\0`D\x82\x01R`d\x01a\x13@V[_\x82`\x01`\x01`\xA0\x1B\x03\x16\x82`@Q_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a%\x0BW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a%\x10V[``\x91P[PP\x90P\x80a\x12\xA5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`:`$\x82\x01R\x7FAddress: unable to send value, r`D\x82\x01R\x7Fecipient may have reverted\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x13@V[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x80\x82\x01\x84\x90R\x82Q\x80\x83\x03\x90\x91\x01\x81R`d\x90\x91\x01\x90\x91R` \x81\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16c\xA9\x05\x9C\xBB`\xE0\x1B\x17\x90Ra\x12\xA5\x90\x84\x90a-VV[_a%\xE3\x84a)\xF5V[\x90Pa%\xF0\x81`\x03a9EV[a%\xFB\x90` a9yV[a&\x08` \x84\x01\x84a8\xB7V[\x90P\x14a&(W`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03\x81\x1B`\x0C\x17a&}a&?` \x85\x01\x85a8\xB7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RP\x88\x92PP\x865\x90P\x84a)\xDEV[a\x15\xE0W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83Q` \x85\x01Q\x90_\x90\x81\x90\x81a&\xB2\x87\x83\x88a.)V[\x90P\x84`\x01`\x01`@\x1B\x03\x16\x81`\x01`\x01`@\x1B\x03\x16\x14a',Wa&\xD7\x85\x82a;\xE5V[`@\x80Qd\xFF\xFF\xFF\xFF\xFF\x85\x16\x81R`\x01`\x01`@\x1B\x03\x8B\x81\x16` \x83\x01R\x84\x16\x81\x83\x01R\x90Q\x91\x95P\x7F\x0E_\xAC\x17[\x83\x17|\xC0G8\x1E\x03\r\x8F\xB3\xB4+7\xBD\x1C\x02^\"\xC2\x80\xFA\xCA\xD6,2\xDF\x91\x90\x81\x90\x03``\x01\x90\xA1[`\x01`\x01`@\x1B\x03\x80\x82\x16` \x8B\x01\x81\x90R\x90\x89\x16`@\x8B\x01R_\x03a'\xB1W`9\x80T\x90_a'[\x83a<\x14V[\x90\x91UPP`\x02``\x8A\x01Ra'p\x84a<)V[\x92P\x81d\xFF\xFF\xFF\xFF\xFF\x16\x88`\x01`\x01`@\x1B\x03\x16\x7F*\x026\x1F\xFAf\xCF,-\xA4h,#U\xA6\xAD\xCA\xA9\xF6\xC2'\xB6\xE6V>hH\x0F\x95\x87bj`@Q`@Q\x80\x91\x03\x90\xA3[PP\x94P\x94P\x94\x91PPV[` \x81\x01Qb\xFF\xFF\xFF\x16\x15a(TW\x80Q`<U` \x81\x01Q`=\x80T`@\x84\x01Q``\x85\x01Q`\x80\x90\x95\x01Qb\xFF\xFF\xFF\x90\x94\x16j\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x92\x16\x91\x90\x91\x17c\x01\0\0\0`\x01`\x01`@\x1B\x03\x92\x83\x16\x02\x17`\x01`X\x1B`\x01`\xD8\x1B\x03\x19\x16`\x01`X\x1B\x94\x82\x16\x94\x90\x94\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x98\x1B\x19\x16\x93\x90\x93\x17`\x01`\x98\x1B\x93\x90\x92\x16\x92\x90\x92\x02\x17\x90UV[`\x80\x81\x01Q`4T_\x91a(p\x91`\x01`\x01`@\x1B\x03\x16a:\xD5V[\x90P_\x82``\x01Q\x83`@\x01Qa(\x87\x91\x90a:\xF4V[`@\x84\x01Q`4\x80T\x92\x93P\x90\x91_\x90a(\xAB\x90\x84\x90`\x01`\x01`@\x1B\x03\x16a:\xD5V[\x82Ta\x01\0\x92\x90\x92\n`\x01`\x01`@\x1B\x03\x81\x81\x02\x19\x90\x93\x16\x91\x83\x16\x02\x17\x90\x91U`:\x80T`\x01`@\x1B\x81\x04\x83\x16`\x01`\x01`\x80\x1B\x03\x19\x90\x91\x16\x17\x90U_\x91Pa(\xFB\x90c;\x9A\xCA\0\x90\x85\x16a9yV[\x90P_a)\x10c;\x9A\xCA\0`\x07\x85\x90\x0Ba<NV[`:T`@Q\x82\x81R\x91\x92P`\x01`\x01`@\x1B\x03\x16\x90\x7FRT\x08\xC2\x01\xBC\x15v\xEBD\x11odx\xF1\xC2\xA5Gu\xB1\x9A\x04;\xCF\xDCp\x83d\xF7O\x8ED\x90` \x01`@Q\x80\x91\x03\x90\xA2`3T`@Qc\xA1\xCAx\x0B`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x92c\xA1\xCAx\x0B\x92a)\xAA\x92\x91\x90\x91\x16\x90\x86\x90\x86\x90`\x04\x01a9XV[_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a)\xC1W__\xFD[PZ\xF1\x15\x80\x15a)\xD3W=__>=_\xFD[PPPPPPPPPV[_\x83a)\xEB\x86\x85\x85a/\x07V[\x14\x95\x94PPPPPV[_\x80\x82`\x01\x81\x11\x15a*\tWa*\ta4\xA0V[\x14a*\x15W`\x06a\x0C\x89V[`\x05\x92\x91PPV[__`\x02\x83Qa*-\x91\x90a:rV[\x90P_\x81`\x01`\x01`@\x1B\x03\x81\x11\x15a*HWa*Ha6NV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a*qW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x82\x81\x10\x15a+kW`\x02\x85a*\x8B\x83\x83a9yV[\x81Q\x81\x10a*\x9BWa*\x9Ba8\xF9V[` \x02` \x01\x01Q\x86\x83`\x02a*\xB1\x91\x90a9yV[a*\xBC\x90`\x01a9EV[\x81Q\x81\x10a*\xCCWa*\xCCa8\xF9V[` \x02` \x01\x01Q`@Q` \x01a*\xEE\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra+\x08\x91a9\xA3V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a+#W=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a+F\x91\x90a9\xBEV[\x82\x82\x81Q\x81\x10a+XWa+Xa8\xF9V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a*vV[Pa+w`\x02\x83a:rV[\x91P[\x81\x15a,\x8AW_[\x82\x81\x10\x15a,wW`\x02\x82a+\x97\x83\x83a9yV[\x81Q\x81\x10a+\xA7Wa+\xA7a8\xF9V[` \x02` \x01\x01Q\x83\x83`\x02a+\xBD\x91\x90a9yV[a+\xC8\x90`\x01a9EV[\x81Q\x81\x10a+\xD8Wa+\xD8a8\xF9V[` \x02` \x01\x01Q`@Q` \x01a+\xFA\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra,\x14\x91a9\xA3V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a,/W=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a,R\x91\x90a9\xBEV[\x82\x82\x81Q\x81\x10a,dWa,da8\xF9V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a+\x82V[Pa,\x83`\x02\x83a:rV[\x91Pa+zV[\x80_\x81Q\x81\x10a,\x9CWa,\x9Ca8\xF9V[` \x02` \x01\x01Q\x92PPP\x91\x90PV[_a\x0C\x89\x82`\x05\x81Q\x81\x10a,\xC4Wa,\xC4a8\xF9V[` \x02` \x01\x01Qa/\xDBV[_a\x0C\x89\x82`\x06\x81Q\x81\x10a,\xC4Wa,\xC4a8\xF9V[_\x81`\x01\x81Q\x81\x10a\x19\xFFWa\x19\xFFa8\xF9V[`@Q``\x90a$^\x90`\x01`\xF9\x1B\x90_\x900\x90` \x01a;\xA7V[_a\x0C\x89\x82`\x02\x81Q\x81\x10a,\xC4Wa,\xC4a8\xF9V[_`\xFF\x82\x16`\x1F\x81\x11\x15a\x0C\x89W`@Qc,\xD4J\xC3`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a-\xAA\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a0>\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x80Q_\x14\x80a-\xCAWP\x80\x80` \x01\x90Q\x81\x01\x90a-\xCA\x91\x90a8WV[a\x12\xA5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`*`$\x82\x01R\x7FSafeERC20: ERC20 operation did n`D\x82\x01Ri\x1B\xDD\x08\x1C\xDDX\xD8\xD9YY`\xB2\x1B`d\x82\x01R`\x84\x01a\x13@V[_a.6`&`\x01a9EV[a.A\x90` a9yV[a.N`@\x84\x01\x84a8\xB7V[\x90P\x14a.nW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a.z`\x04\x85a<}V[d\xFF\xFF\xFF\xFF\xFF\x16\x90Pa.\xD3a.\x93`@\x85\x01\x85a8\xB7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x91\x90\x91RP\x89\x92PPP` \x86\x015\x84a)\xDEV[a.\xF0W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a.\xFE\x83` \x015\x85a0LV[\x95\x94PPPPPV[_\x83Q_\x14\x15\x80\x15a/$WP` \x84Qa/\"\x91\x90a<\xA6V[\x15[a/AW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q` \x80\x82\x01\x90\x92R\x84\x81R\x90[\x85Q\x81\x11a/\xD1Wa/e`\x02\x85a<\xA6V[_\x03a/\x97W\x81Q_R\x80\x86\x01Q` R` \x82`@_`\x02a\x07\xD0Z\x03\xFAa/\x8CW__\xFD[`\x02\x84\x04\x93Pa/\xBFV[\x80\x86\x01Q_R\x81Q` R` \x82`@_`\x02a\x07\xD0Z\x03\xFAa/\xB8W__\xFD[`\x02\x84\x04\x93P[a/\xCA` \x82a9EV[\x90Pa/RV[PQ\x94\x93PPPPV[`\xF8\x81\x90\x1C`\xE8\x82\x90\x1Ca\xFF\0\x16\x17`\xD8\x82\x90\x1Cb\xFF\0\0\x16\x17`\xC8\x82\x90\x1Cc\xFF\0\0\0\x16\x17d\xFF\0\0\0\0`\xB8\x83\x90\x1C\x16\x17e\xFF\0\0\0\0\0`\xA8\x83\x90\x1C\x16\x17f\xFF\0\0\0\0\0\0`\x98\x83\x90\x1C\x16\x17`\xFF`8\x1B`\x88\x92\x90\x92\x1C\x91\x90\x91\x16\x17\x90V[``a\r\x95\x84\x84_\x85a0xV[_\x80a0Y`\x04\x84a<\xB9V[a0d\x90`@a<\xE2V[d\xFF\xFF\xFF\xFF\xFF\x16\x90Pa\r\x95\x84\x82\x1Ba/\xDBV[``\x82G\x10\x15a0\xD9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FAddress: insufficient balance fo`D\x82\x01Re\x1C\x88\x18\xD8[\x1B`\xD2\x1B`d\x82\x01R`\x84\x01a\x13@V[__\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa0\xF4\x91\x90a9\xA3V[_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a1.W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a13V[``\x91P[P\x91P\x91Pa1D\x87\x83\x83\x87a1OV[\x97\x96PPPPPPPV[``\x83\x15a1\xBDW\x82Q_\x03a1\xB6W`\x01`\x01`\xA0\x1B\x03\x85\x16;a1\xB6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: call to non-contract\0\0\0`D\x82\x01R`d\x01a\x13@V[P\x81a\r\x95V[a\r\x95\x83\x83\x81Q\x15a1\xD2W\x81Q\x80\x83` \x01\xFD[\x80`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x13@\x91\x90a4\x13V[`\x01`\x01`@\x1B\x03\x81\x16\x81\x14a2\0W__\xFD[PV[_`@\x82\x84\x03\x12\x15a2\x13W__\xFD[P\x91\x90PV[___``\x84\x86\x03\x12\x15a2+W__\xFD[\x835a26\x81a1\xECV[\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a2PW__\xFD[a2\\\x86\x82\x87\x01a2\x03V[\x92PP`@\x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a2wW__\xFD[a2\x83\x86\x82\x87\x01a2\x03V[\x91PP\x92P\x92P\x92V[__\x83`\x1F\x84\x01\x12a2\x9DW__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a2\xB3W__\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a2\xCDW__\xFD[\x92P\x92\x90PV[________`\xA0\x89\x8B\x03\x12\x15a2\xEBW__\xFD[\x885a2\xF6\x81a1\xECV[\x97P` \x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a3\x10W__\xFD[a3\x1C\x8B\x82\x8C\x01a2\x03V[\x97PP`@\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a37W__\xFD[a3C\x8B\x82\x8C\x01a2\x8DV[\x90\x97P\x95PP``\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a3aW__\xFD[a3m\x8B\x82\x8C\x01a2\x8DV[\x90\x95P\x93PP`\x80\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a3\x8BW__\xFD[a3\x97\x8B\x82\x8C\x01a2\x8DV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[_` \x82\x84\x03\x12\x15a3\xBBW__\xFD[\x815a\x1B\xAB\x81a1\xECV[_[\x83\x81\x10\x15a3\xE0W\x81\x81\x01Q\x83\x82\x01R` \x01a3\xC8V[PP_\x91\x01RV[_\x81Q\x80\x84Ra3\xFF\x81` \x86\x01` \x86\x01a3\xC6V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R_a\x1B\xAB` \x83\x01\x84a3\xE8V[__\x83`\x1F\x84\x01\x12a45W__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a4KW__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a2\xCDW__\xFD[__` \x83\x85\x03\x12\x15a4sW__\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a4\x88W__\xFD[a4\x94\x85\x82\x86\x01a4%V[\x90\x96\x90\x95P\x93PPPPV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[`\x03\x81\x10a4\xD0WcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x90RV[` \x81\x01a\x0C\x89\x82\x84a4\xB4V[_` \x82\x84\x03\x12\x15a4\xF2W__\xFD[P5\x91\x90PV[_`\x80\x82\x01\x90P`\x01`\x01`@\x1B\x03\x83Q\x16\x82R`\x01`\x01`@\x1B\x03` \x84\x01Q\x16` \x83\x01R`\x01`\x01`@\x1B\x03`@\x84\x01Q\x16`@\x83\x01R``\x83\x01Qa5E``\x84\x01\x82a4\xB4V[P\x92\x91PPV[\x80\x15\x15\x81\x14a2\0W__\xFD[_` \x82\x84\x03\x12\x15a5iW__\xFD[\x815a\x1B\xAB\x81a5LV[_____``\x86\x88\x03\x12\x15a5\x88W__\xFD[\x855`\x01`\x01`@\x1B\x03\x81\x11\x15a5\x9DW__\xFD[a5\xA9\x88\x82\x89\x01a4%V[\x90\x96P\x94PP` \x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a5\xC7W__\xFD[a5\xD3\x88\x82\x89\x01a4%V[\x96\x99\x95\x98P\x96`@\x015\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a2\0W__\xFD[\x805a6\x04\x81a5\xE5V[\x91\x90PV[__`@\x83\x85\x03\x12\x15a6\x1AW__\xFD[\x825a6%\x81a5\xE5V[\x94` \x93\x90\x93\x015\x93PPPV[_` \x82\x84\x03\x12\x15a6CW__\xFD[\x815a\x1B\xAB\x81a5\xE5V[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a6\x8AWa6\x8Aa6NV[`@R\x91\x90PV[_`\x01`\x01`@\x1B\x03\x82\x11\x15a6\xAAWa6\xAAa6NV[P`\x05\x1B` \x01\x90V[_\x82`\x1F\x83\x01\x12a6\xC3W__\xFD[\x815a6\xD6a6\xD1\x82a6\x92V[a6bV[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a6\xF7W__\xFD[` \x85\x01[\x83\x81\x10\x15a7\x14W\x805\x83R` \x92\x83\x01\x92\x01a6\xFCV[P\x95\x94PPPPPV[___``\x84\x86\x03\x12\x15a70W__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a7EW__\xFD[\x84\x01`\x1F\x81\x01\x86\x13a7UW__\xFD[\x805a7ca6\xD1\x82a6\x92V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x88\x83\x11\x15a7\x84W__\xFD[` \x84\x01\x93P[\x82\x84\x10\x15a7\xAFW\x835a7\x9E\x81a5\xE5V[\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a7\x8BV[\x95PPPP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a7\xCCW__\xFD[a7\xD8\x86\x82\x87\x01a6\xB4V[\x92PPa7\xE7`@\x85\x01a5\xF9V[\x90P\x92P\x92P\x92V[___`@\x84\x86\x03\x12\x15a8\x02W__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a8\x17W__\xFD[a8#\x86\x82\x87\x01a2\x03V[\x93PP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a8>W__\xFD[a8J\x86\x82\x87\x01a2\x8DV[\x94\x97\x90\x96P\x93\x94PPPPV[_` \x82\x84\x03\x12\x15a8gW__\xFD[\x81Qa\x1B\xAB\x81a5LV[__\x835`\x1E\x19\x846\x03\x01\x81\x12a8\x87W__\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15a8\xA0W__\xFD[` \x01\x91P`\x05\x81\x90\x1B6\x03\x82\x13\x15a2\xCDW__\xFD[__\x835`\x1E\x19\x846\x03\x01\x81\x12a8\xCCW__\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15a8\xE5W__\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a2\xCDW__\xFD[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a9\x1DW__\xFD[\x815d\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x1B\xABW__\xFD[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x0C\x89Wa\x0C\x89a91V[`\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x83R` \x83\x01\x91\x90\x91R`@\x82\x01R``\x01\x90V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0C\x89Wa\x0C\x89a91V[\x81\x81\x03\x81\x81\x11\x15a\x0C\x89Wa\x0C\x89a91V[_\x82Qa9\xB4\x81\x84` \x87\x01a3\xC6V[\x91\x90\x91\x01\x92\x91PPV[_` \x82\x84\x03\x12\x15a9\xCEW__\xFD[PQ\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P_\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`\x80\x81R_a:\x10`\x80\x83\x01\x88\x8Aa9\xD5V[\x82\x81\x03` \x84\x01Ra:\"\x81\x88a3\xE8V[\x90P\x82\x81\x03`@\x84\x01Ra:7\x81\x86\x88a9\xD5V[\x91PP\x82``\x83\x01R\x97\x96PPPPPPPV[` \x81R_a\r\x95` \x83\x01\x84\x86a9\xD5V[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a:\x80Wa:\x80a:^V[P\x04\x90V[`\x01`\x01`@\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x81\x11\x15a\x0C\x89Wa\x0C\x89a91V[_\x825`^\x19\x836\x03\x01\x81\x12a9\xB4W__\xFD[_b\xFF\xFF\xFF\x82\x16\x80a:\xCCWa:\xCCa91V[_\x19\x01\x92\x91PPV[`\x01`\x01`@\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x81\x11\x15a\x0C\x89Wa\x0C\x89a91V[`\x07\x81\x81\x0B\x90\x83\x90\x0B\x01g\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x13g\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x82\x12\x17\x15a\x0C\x89Wa\x0C\x89a91V[_` \x82\x84\x03\x12\x15a;3W__\xFD[\x81Qa\x1B\xAB\x81a1\xECV[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a2\x13W_\x19` \x91\x90\x91\x03`\x03\x1B\x1B\x16\x91\x90PV[_`\x01\x82\x01a;rWa;ra91V[P`\x01\x01\x90V[_\x83Qa;\x8A\x81\x84` \x88\x01a3\xC6V[`\x01`\x01`\x80\x1B\x03\x19\x93\x90\x93\x16\x91\x90\x92\x01\x90\x81R`\x10\x01\x92\x91PPV[`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16\x83R`\x01`\x01`\xA8\x1B\x03\x19\x91\x90\x91\x16`\x01\x83\x01R``\x1Bk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x0C\x82\x01R` \x01\x90V[`\x07\x82\x81\x0B\x90\x82\x90\x0B\x03g\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x81\x12g\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x13\x17\x15a\x0C\x89Wa\x0C\x89a91V[_\x81a<\"Wa<\"a91V[P_\x19\x01\x90V[_\x81`\x07\x0Bg\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x81\x03a<FWa<Fa91V[_\x03\x92\x91PPV[\x80\x82\x02_\x82\x12`\x01`\xFF\x1B\x84\x14\x16\x15a<iWa<ia91V[\x81\x81\x05\x83\x14\x82\x15\x17a\x0C\x89Wa\x0C\x89a91V[_d\xFF\xFF\xFF\xFF\xFF\x83\x16\x80a<\x93Wa<\x93a:^V[\x80d\xFF\xFF\xFF\xFF\xFF\x84\x16\x04\x91PP\x92\x91PPV[_\x82a<\xB4Wa<\xB4a:^V[P\x06\x90V[_d\xFF\xFF\xFF\xFF\xFF\x83\x16\x80a<\xCFWa<\xCFa:^V[\x80d\xFF\xFF\xFF\xFF\xFF\x84\x16\x06\x91PP\x92\x91PPV[d\xFF\xFF\xFF\xFF\xFF\x81\x81\x16\x83\x82\x16\x02\x90\x81\x16\x90\x81\x81\x14a5EWa5Ea91V\xFE\xA2dipfsX\"\x12 \xF2\x11\xB4\"\xD7-\xAA\x88\xC7\xF3F\xBF\xDB\x89\xF95\x0B\xA9\x92\xA2\xAD\xCEK\xB1\xE1~\x1D\x99\r\xF0\"RdsolcC\0\x08\x1B\x003",
3036 );
3037 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3038 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3043 #[derive(Clone)]
3044 pub struct BeaconTimestampTooFarInPast {}
3045 #[allow(
3046 non_camel_case_types,
3047 non_snake_case,
3048 clippy::pub_underscore_fields,
3049 clippy::style
3050 )]
3051 const _: () = {
3052 use alloy::sol_types as alloy_sol_types;
3053 #[doc(hidden)]
3054 type UnderlyingSolTuple<'a> = ();
3055 #[doc(hidden)]
3056 type UnderlyingRustTuple<'a> = ();
3057 #[cfg(test)]
3058 #[allow(dead_code, unreachable_patterns)]
3059 fn _type_assertion(
3060 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3061 ) {
3062 match _t {
3063 alloy_sol_types::private::AssertTypeEq::<
3064 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3065 >(_) => {}
3066 }
3067 }
3068 #[automatically_derived]
3069 #[doc(hidden)]
3070 impl ::core::convert::From<BeaconTimestampTooFarInPast>
3071 for UnderlyingRustTuple<'_> {
3072 fn from(value: BeaconTimestampTooFarInPast) -> Self {
3073 ()
3074 }
3075 }
3076 #[automatically_derived]
3077 #[doc(hidden)]
3078 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3079 for BeaconTimestampTooFarInPast {
3080 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3081 Self {}
3082 }
3083 }
3084 #[automatically_derived]
3085 impl alloy_sol_types::SolError for BeaconTimestampTooFarInPast {
3086 type Parameters<'a> = UnderlyingSolTuple<'a>;
3087 type Token<'a> = <Self::Parameters<
3088 'a,
3089 > as alloy_sol_types::SolType>::Token<'a>;
3090 const SIGNATURE: &'static str = "BeaconTimestampTooFarInPast()";
3091 const SELECTOR: [u8; 4] = [55u8, 224u8, 127u8, 253u8];
3092 #[inline]
3093 fn new<'a>(
3094 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3095 ) -> Self {
3096 tuple.into()
3097 }
3098 #[inline]
3099 fn tokenize(&self) -> Self::Token<'_> {
3100 ()
3101 }
3102 }
3103 };
3104 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3105 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3110 #[derive(Clone)]
3111 pub struct CannotCheckpointTwiceInSingleBlock {}
3112 #[allow(
3113 non_camel_case_types,
3114 non_snake_case,
3115 clippy::pub_underscore_fields,
3116 clippy::style
3117 )]
3118 const _: () = {
3119 use alloy::sol_types as alloy_sol_types;
3120 #[doc(hidden)]
3121 type UnderlyingSolTuple<'a> = ();
3122 #[doc(hidden)]
3123 type UnderlyingRustTuple<'a> = ();
3124 #[cfg(test)]
3125 #[allow(dead_code, unreachable_patterns)]
3126 fn _type_assertion(
3127 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3128 ) {
3129 match _t {
3130 alloy_sol_types::private::AssertTypeEq::<
3131 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3132 >(_) => {}
3133 }
3134 }
3135 #[automatically_derived]
3136 #[doc(hidden)]
3137 impl ::core::convert::From<CannotCheckpointTwiceInSingleBlock>
3138 for UnderlyingRustTuple<'_> {
3139 fn from(value: CannotCheckpointTwiceInSingleBlock) -> Self {
3140 ()
3141 }
3142 }
3143 #[automatically_derived]
3144 #[doc(hidden)]
3145 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3146 for CannotCheckpointTwiceInSingleBlock {
3147 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3148 Self {}
3149 }
3150 }
3151 #[automatically_derived]
3152 impl alloy_sol_types::SolError for CannotCheckpointTwiceInSingleBlock {
3153 type Parameters<'a> = UnderlyingSolTuple<'a>;
3154 type Token<'a> = <Self::Parameters<
3155 'a,
3156 > as alloy_sol_types::SolType>::Token<'a>;
3157 const SIGNATURE: &'static str = "CannotCheckpointTwiceInSingleBlock()";
3158 const SELECTOR: [u8; 4] = [103u8, 219u8, 91u8, 139u8];
3159 #[inline]
3160 fn new<'a>(
3161 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3162 ) -> Self {
3163 tuple.into()
3164 }
3165 #[inline]
3166 fn tokenize(&self) -> Self::Token<'_> {
3167 ()
3168 }
3169 }
3170 };
3171 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3172 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3177 #[derive(Clone)]
3178 pub struct CheckpointAlreadyActive {}
3179 #[allow(
3180 non_camel_case_types,
3181 non_snake_case,
3182 clippy::pub_underscore_fields,
3183 clippy::style
3184 )]
3185 const _: () = {
3186 use alloy::sol_types as alloy_sol_types;
3187 #[doc(hidden)]
3188 type UnderlyingSolTuple<'a> = ();
3189 #[doc(hidden)]
3190 type UnderlyingRustTuple<'a> = ();
3191 #[cfg(test)]
3192 #[allow(dead_code, unreachable_patterns)]
3193 fn _type_assertion(
3194 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3195 ) {
3196 match _t {
3197 alloy_sol_types::private::AssertTypeEq::<
3198 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3199 >(_) => {}
3200 }
3201 }
3202 #[automatically_derived]
3203 #[doc(hidden)]
3204 impl ::core::convert::From<CheckpointAlreadyActive> for UnderlyingRustTuple<'_> {
3205 fn from(value: CheckpointAlreadyActive) -> Self {
3206 ()
3207 }
3208 }
3209 #[automatically_derived]
3210 #[doc(hidden)]
3211 impl ::core::convert::From<UnderlyingRustTuple<'_>> for CheckpointAlreadyActive {
3212 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3213 Self {}
3214 }
3215 }
3216 #[automatically_derived]
3217 impl alloy_sol_types::SolError for CheckpointAlreadyActive {
3218 type Parameters<'a> = UnderlyingSolTuple<'a>;
3219 type Token<'a> = <Self::Parameters<
3220 'a,
3221 > as alloy_sol_types::SolType>::Token<'a>;
3222 const SIGNATURE: &'static str = "CheckpointAlreadyActive()";
3223 const SELECTOR: [u8; 4] = [190u8, 155u8, 195u8, 0u8];
3224 #[inline]
3225 fn new<'a>(
3226 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3227 ) -> Self {
3228 tuple.into()
3229 }
3230 #[inline]
3231 fn tokenize(&self) -> Self::Token<'_> {
3232 ()
3233 }
3234 }
3235 };
3236 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3237 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3242 #[derive(Clone)]
3243 pub struct CredentialsAlreadyVerified {}
3244 #[allow(
3245 non_camel_case_types,
3246 non_snake_case,
3247 clippy::pub_underscore_fields,
3248 clippy::style
3249 )]
3250 const _: () = {
3251 use alloy::sol_types as alloy_sol_types;
3252 #[doc(hidden)]
3253 type UnderlyingSolTuple<'a> = ();
3254 #[doc(hidden)]
3255 type UnderlyingRustTuple<'a> = ();
3256 #[cfg(test)]
3257 #[allow(dead_code, unreachable_patterns)]
3258 fn _type_assertion(
3259 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3260 ) {
3261 match _t {
3262 alloy_sol_types::private::AssertTypeEq::<
3263 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3264 >(_) => {}
3265 }
3266 }
3267 #[automatically_derived]
3268 #[doc(hidden)]
3269 impl ::core::convert::From<CredentialsAlreadyVerified>
3270 for UnderlyingRustTuple<'_> {
3271 fn from(value: CredentialsAlreadyVerified) -> Self {
3272 ()
3273 }
3274 }
3275 #[automatically_derived]
3276 #[doc(hidden)]
3277 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3278 for CredentialsAlreadyVerified {
3279 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3280 Self {}
3281 }
3282 }
3283 #[automatically_derived]
3284 impl alloy_sol_types::SolError for CredentialsAlreadyVerified {
3285 type Parameters<'a> = UnderlyingSolTuple<'a>;
3286 type Token<'a> = <Self::Parameters<
3287 'a,
3288 > as alloy_sol_types::SolType>::Token<'a>;
3289 const SIGNATURE: &'static str = "CredentialsAlreadyVerified()";
3290 const SELECTOR: [u8; 4] = [53u8, 224u8, 158u8, 157u8];
3291 #[inline]
3292 fn new<'a>(
3293 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3294 ) -> Self {
3295 tuple.into()
3296 }
3297 #[inline]
3298 fn tokenize(&self) -> Self::Token<'_> {
3299 ()
3300 }
3301 }
3302 };
3303 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3304 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3309 #[derive(Clone)]
3310 pub struct CurrentlyPaused {}
3311 #[allow(
3312 non_camel_case_types,
3313 non_snake_case,
3314 clippy::pub_underscore_fields,
3315 clippy::style
3316 )]
3317 const _: () = {
3318 use alloy::sol_types as alloy_sol_types;
3319 #[doc(hidden)]
3320 type UnderlyingSolTuple<'a> = ();
3321 #[doc(hidden)]
3322 type UnderlyingRustTuple<'a> = ();
3323 #[cfg(test)]
3324 #[allow(dead_code, unreachable_patterns)]
3325 fn _type_assertion(
3326 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3327 ) {
3328 match _t {
3329 alloy_sol_types::private::AssertTypeEq::<
3330 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3331 >(_) => {}
3332 }
3333 }
3334 #[automatically_derived]
3335 #[doc(hidden)]
3336 impl ::core::convert::From<CurrentlyPaused> for UnderlyingRustTuple<'_> {
3337 fn from(value: CurrentlyPaused) -> Self {
3338 ()
3339 }
3340 }
3341 #[automatically_derived]
3342 #[doc(hidden)]
3343 impl ::core::convert::From<UnderlyingRustTuple<'_>> for CurrentlyPaused {
3344 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3345 Self {}
3346 }
3347 }
3348 #[automatically_derived]
3349 impl alloy_sol_types::SolError for CurrentlyPaused {
3350 type Parameters<'a> = UnderlyingSolTuple<'a>;
3351 type Token<'a> = <Self::Parameters<
3352 'a,
3353 > as alloy_sol_types::SolType>::Token<'a>;
3354 const SIGNATURE: &'static str = "CurrentlyPaused()";
3355 const SELECTOR: [u8; 4] = [132u8, 10u8, 72u8, 213u8];
3356 #[inline]
3357 fn new<'a>(
3358 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3359 ) -> Self {
3360 tuple.into()
3361 }
3362 #[inline]
3363 fn tokenize(&self) -> Self::Token<'_> {
3364 ()
3365 }
3366 }
3367 };
3368 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3369 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3374 #[derive(Clone)]
3375 pub struct ForkTimestampZero {}
3376 #[allow(
3377 non_camel_case_types,
3378 non_snake_case,
3379 clippy::pub_underscore_fields,
3380 clippy::style
3381 )]
3382 const _: () = {
3383 use alloy::sol_types as alloy_sol_types;
3384 #[doc(hidden)]
3385 type UnderlyingSolTuple<'a> = ();
3386 #[doc(hidden)]
3387 type UnderlyingRustTuple<'a> = ();
3388 #[cfg(test)]
3389 #[allow(dead_code, unreachable_patterns)]
3390 fn _type_assertion(
3391 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3392 ) {
3393 match _t {
3394 alloy_sol_types::private::AssertTypeEq::<
3395 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3396 >(_) => {}
3397 }
3398 }
3399 #[automatically_derived]
3400 #[doc(hidden)]
3401 impl ::core::convert::From<ForkTimestampZero> for UnderlyingRustTuple<'_> {
3402 fn from(value: ForkTimestampZero) -> Self {
3403 ()
3404 }
3405 }
3406 #[automatically_derived]
3407 #[doc(hidden)]
3408 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ForkTimestampZero {
3409 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3410 Self {}
3411 }
3412 }
3413 #[automatically_derived]
3414 impl alloy_sol_types::SolError for ForkTimestampZero {
3415 type Parameters<'a> = UnderlyingSolTuple<'a>;
3416 type Token<'a> = <Self::Parameters<
3417 'a,
3418 > as alloy_sol_types::SolType>::Token<'a>;
3419 const SIGNATURE: &'static str = "ForkTimestampZero()";
3420 const SELECTOR: [u8; 4] = [65u8, 160u8, 44u8, 201u8];
3421 #[inline]
3422 fn new<'a>(
3423 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3424 ) -> Self {
3425 tuple.into()
3426 }
3427 #[inline]
3428 fn tokenize(&self) -> Self::Token<'_> {
3429 ()
3430 }
3431 }
3432 };
3433 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3434 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3439 #[derive(Clone)]
3440 pub struct InputAddressZero {}
3441 #[allow(
3442 non_camel_case_types,
3443 non_snake_case,
3444 clippy::pub_underscore_fields,
3445 clippy::style
3446 )]
3447 const _: () = {
3448 use alloy::sol_types as alloy_sol_types;
3449 #[doc(hidden)]
3450 type UnderlyingSolTuple<'a> = ();
3451 #[doc(hidden)]
3452 type UnderlyingRustTuple<'a> = ();
3453 #[cfg(test)]
3454 #[allow(dead_code, unreachable_patterns)]
3455 fn _type_assertion(
3456 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3457 ) {
3458 match _t {
3459 alloy_sol_types::private::AssertTypeEq::<
3460 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3461 >(_) => {}
3462 }
3463 }
3464 #[automatically_derived]
3465 #[doc(hidden)]
3466 impl ::core::convert::From<InputAddressZero> for UnderlyingRustTuple<'_> {
3467 fn from(value: InputAddressZero) -> Self {
3468 ()
3469 }
3470 }
3471 #[automatically_derived]
3472 #[doc(hidden)]
3473 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputAddressZero {
3474 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3475 Self {}
3476 }
3477 }
3478 #[automatically_derived]
3479 impl alloy_sol_types::SolError for InputAddressZero {
3480 type Parameters<'a> = UnderlyingSolTuple<'a>;
3481 type Token<'a> = <Self::Parameters<
3482 'a,
3483 > as alloy_sol_types::SolType>::Token<'a>;
3484 const SIGNATURE: &'static str = "InputAddressZero()";
3485 const SELECTOR: [u8; 4] = [115u8, 99u8, 33u8, 118u8];
3486 #[inline]
3487 fn new<'a>(
3488 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3489 ) -> Self {
3490 tuple.into()
3491 }
3492 #[inline]
3493 fn tokenize(&self) -> Self::Token<'_> {
3494 ()
3495 }
3496 }
3497 };
3498 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3499 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3504 #[derive(Clone)]
3505 pub struct InputArrayLengthMismatch {}
3506 #[allow(
3507 non_camel_case_types,
3508 non_snake_case,
3509 clippy::pub_underscore_fields,
3510 clippy::style
3511 )]
3512 const _: () = {
3513 use alloy::sol_types as alloy_sol_types;
3514 #[doc(hidden)]
3515 type UnderlyingSolTuple<'a> = ();
3516 #[doc(hidden)]
3517 type UnderlyingRustTuple<'a> = ();
3518 #[cfg(test)]
3519 #[allow(dead_code, unreachable_patterns)]
3520 fn _type_assertion(
3521 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3522 ) {
3523 match _t {
3524 alloy_sol_types::private::AssertTypeEq::<
3525 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3526 >(_) => {}
3527 }
3528 }
3529 #[automatically_derived]
3530 #[doc(hidden)]
3531 impl ::core::convert::From<InputArrayLengthMismatch>
3532 for UnderlyingRustTuple<'_> {
3533 fn from(value: InputArrayLengthMismatch) -> Self {
3534 ()
3535 }
3536 }
3537 #[automatically_derived]
3538 #[doc(hidden)]
3539 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3540 for InputArrayLengthMismatch {
3541 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3542 Self {}
3543 }
3544 }
3545 #[automatically_derived]
3546 impl alloy_sol_types::SolError for InputArrayLengthMismatch {
3547 type Parameters<'a> = UnderlyingSolTuple<'a>;
3548 type Token<'a> = <Self::Parameters<
3549 'a,
3550 > as alloy_sol_types::SolType>::Token<'a>;
3551 const SIGNATURE: &'static str = "InputArrayLengthMismatch()";
3552 const SELECTOR: [u8; 4] = [67u8, 113u8, 74u8, 253u8];
3553 #[inline]
3554 fn new<'a>(
3555 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3556 ) -> Self {
3557 tuple.into()
3558 }
3559 #[inline]
3560 fn tokenize(&self) -> Self::Token<'_> {
3561 ()
3562 }
3563 }
3564 };
3565 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3566 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3571 #[derive(Clone)]
3572 pub struct InsufficientWithdrawableBalance {}
3573 #[allow(
3574 non_camel_case_types,
3575 non_snake_case,
3576 clippy::pub_underscore_fields,
3577 clippy::style
3578 )]
3579 const _: () = {
3580 use alloy::sol_types as alloy_sol_types;
3581 #[doc(hidden)]
3582 type UnderlyingSolTuple<'a> = ();
3583 #[doc(hidden)]
3584 type UnderlyingRustTuple<'a> = ();
3585 #[cfg(test)]
3586 #[allow(dead_code, unreachable_patterns)]
3587 fn _type_assertion(
3588 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3589 ) {
3590 match _t {
3591 alloy_sol_types::private::AssertTypeEq::<
3592 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3593 >(_) => {}
3594 }
3595 }
3596 #[automatically_derived]
3597 #[doc(hidden)]
3598 impl ::core::convert::From<InsufficientWithdrawableBalance>
3599 for UnderlyingRustTuple<'_> {
3600 fn from(value: InsufficientWithdrawableBalance) -> Self {
3601 ()
3602 }
3603 }
3604 #[automatically_derived]
3605 #[doc(hidden)]
3606 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3607 for InsufficientWithdrawableBalance {
3608 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3609 Self {}
3610 }
3611 }
3612 #[automatically_derived]
3613 impl alloy_sol_types::SolError for InsufficientWithdrawableBalance {
3614 type Parameters<'a> = UnderlyingSolTuple<'a>;
3615 type Token<'a> = <Self::Parameters<
3616 'a,
3617 > as alloy_sol_types::SolType>::Token<'a>;
3618 const SIGNATURE: &'static str = "InsufficientWithdrawableBalance()";
3619 const SELECTOR: [u8; 4] = [11u8, 27u8, 213u8, 28u8];
3620 #[inline]
3621 fn new<'a>(
3622 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3623 ) -> Self {
3624 tuple.into()
3625 }
3626 #[inline]
3627 fn tokenize(&self) -> Self::Token<'_> {
3628 ()
3629 }
3630 }
3631 };
3632 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3633 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3638 #[derive(Clone)]
3639 pub struct InvalidEIP4788Response {}
3640 #[allow(
3641 non_camel_case_types,
3642 non_snake_case,
3643 clippy::pub_underscore_fields,
3644 clippy::style
3645 )]
3646 const _: () = {
3647 use alloy::sol_types as alloy_sol_types;
3648 #[doc(hidden)]
3649 type UnderlyingSolTuple<'a> = ();
3650 #[doc(hidden)]
3651 type UnderlyingRustTuple<'a> = ();
3652 #[cfg(test)]
3653 #[allow(dead_code, unreachable_patterns)]
3654 fn _type_assertion(
3655 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3656 ) {
3657 match _t {
3658 alloy_sol_types::private::AssertTypeEq::<
3659 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3660 >(_) => {}
3661 }
3662 }
3663 #[automatically_derived]
3664 #[doc(hidden)]
3665 impl ::core::convert::From<InvalidEIP4788Response> for UnderlyingRustTuple<'_> {
3666 fn from(value: InvalidEIP4788Response) -> Self {
3667 ()
3668 }
3669 }
3670 #[automatically_derived]
3671 #[doc(hidden)]
3672 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidEIP4788Response {
3673 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3674 Self {}
3675 }
3676 }
3677 #[automatically_derived]
3678 impl alloy_sol_types::SolError for InvalidEIP4788Response {
3679 type Parameters<'a> = UnderlyingSolTuple<'a>;
3680 type Token<'a> = <Self::Parameters<
3681 'a,
3682 > as alloy_sol_types::SolType>::Token<'a>;
3683 const SIGNATURE: &'static str = "InvalidEIP4788Response()";
3684 const SELECTOR: [u8; 4] = [85u8, 138u8, 208u8, 163u8];
3685 #[inline]
3686 fn new<'a>(
3687 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3688 ) -> Self {
3689 tuple.into()
3690 }
3691 #[inline]
3692 fn tokenize(&self) -> Self::Token<'_> {
3693 ()
3694 }
3695 }
3696 };
3697 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3698 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3703 #[derive(Clone)]
3704 pub struct InvalidProof {}
3705 #[allow(
3706 non_camel_case_types,
3707 non_snake_case,
3708 clippy::pub_underscore_fields,
3709 clippy::style
3710 )]
3711 const _: () = {
3712 use alloy::sol_types as alloy_sol_types;
3713 #[doc(hidden)]
3714 type UnderlyingSolTuple<'a> = ();
3715 #[doc(hidden)]
3716 type UnderlyingRustTuple<'a> = ();
3717 #[cfg(test)]
3718 #[allow(dead_code, unreachable_patterns)]
3719 fn _type_assertion(
3720 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3721 ) {
3722 match _t {
3723 alloy_sol_types::private::AssertTypeEq::<
3724 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3725 >(_) => {}
3726 }
3727 }
3728 #[automatically_derived]
3729 #[doc(hidden)]
3730 impl ::core::convert::From<InvalidProof> for UnderlyingRustTuple<'_> {
3731 fn from(value: InvalidProof) -> Self {
3732 ()
3733 }
3734 }
3735 #[automatically_derived]
3736 #[doc(hidden)]
3737 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidProof {
3738 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3739 Self {}
3740 }
3741 }
3742 #[automatically_derived]
3743 impl alloy_sol_types::SolError for InvalidProof {
3744 type Parameters<'a> = UnderlyingSolTuple<'a>;
3745 type Token<'a> = <Self::Parameters<
3746 'a,
3747 > as alloy_sol_types::SolType>::Token<'a>;
3748 const SIGNATURE: &'static str = "InvalidProof()";
3749 const SELECTOR: [u8; 4] = [9u8, 189u8, 227u8, 57u8];
3750 #[inline]
3751 fn new<'a>(
3752 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3753 ) -> Self {
3754 tuple.into()
3755 }
3756 #[inline]
3757 fn tokenize(&self) -> Self::Token<'_> {
3758 ()
3759 }
3760 }
3761 };
3762 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3763 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3768 #[derive(Clone)]
3769 pub struct InvalidProofLength {}
3770 #[allow(
3771 non_camel_case_types,
3772 non_snake_case,
3773 clippy::pub_underscore_fields,
3774 clippy::style
3775 )]
3776 const _: () = {
3777 use alloy::sol_types as alloy_sol_types;
3778 #[doc(hidden)]
3779 type UnderlyingSolTuple<'a> = ();
3780 #[doc(hidden)]
3781 type UnderlyingRustTuple<'a> = ();
3782 #[cfg(test)]
3783 #[allow(dead_code, unreachable_patterns)]
3784 fn _type_assertion(
3785 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3786 ) {
3787 match _t {
3788 alloy_sol_types::private::AssertTypeEq::<
3789 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3790 >(_) => {}
3791 }
3792 }
3793 #[automatically_derived]
3794 #[doc(hidden)]
3795 impl ::core::convert::From<InvalidProofLength> for UnderlyingRustTuple<'_> {
3796 fn from(value: InvalidProofLength) -> Self {
3797 ()
3798 }
3799 }
3800 #[automatically_derived]
3801 #[doc(hidden)]
3802 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidProofLength {
3803 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3804 Self {}
3805 }
3806 }
3807 #[automatically_derived]
3808 impl alloy_sol_types::SolError for InvalidProofLength {
3809 type Parameters<'a> = UnderlyingSolTuple<'a>;
3810 type Token<'a> = <Self::Parameters<
3811 'a,
3812 > as alloy_sol_types::SolType>::Token<'a>;
3813 const SIGNATURE: &'static str = "InvalidProofLength()";
3814 const SELECTOR: [u8; 4] = [77u8, 197u8, 246u8, 164u8];
3815 #[inline]
3816 fn new<'a>(
3817 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3818 ) -> Self {
3819 tuple.into()
3820 }
3821 #[inline]
3822 fn tokenize(&self) -> Self::Token<'_> {
3823 ()
3824 }
3825 }
3826 };
3827 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3828 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3833 #[derive(Clone)]
3834 pub struct InvalidPubKeyLength {}
3835 #[allow(
3836 non_camel_case_types,
3837 non_snake_case,
3838 clippy::pub_underscore_fields,
3839 clippy::style
3840 )]
3841 const _: () = {
3842 use alloy::sol_types as alloy_sol_types;
3843 #[doc(hidden)]
3844 type UnderlyingSolTuple<'a> = ();
3845 #[doc(hidden)]
3846 type UnderlyingRustTuple<'a> = ();
3847 #[cfg(test)]
3848 #[allow(dead_code, unreachable_patterns)]
3849 fn _type_assertion(
3850 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3851 ) {
3852 match _t {
3853 alloy_sol_types::private::AssertTypeEq::<
3854 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3855 >(_) => {}
3856 }
3857 }
3858 #[automatically_derived]
3859 #[doc(hidden)]
3860 impl ::core::convert::From<InvalidPubKeyLength> for UnderlyingRustTuple<'_> {
3861 fn from(value: InvalidPubKeyLength) -> Self {
3862 ()
3863 }
3864 }
3865 #[automatically_derived]
3866 #[doc(hidden)]
3867 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidPubKeyLength {
3868 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3869 Self {}
3870 }
3871 }
3872 #[automatically_derived]
3873 impl alloy_sol_types::SolError for InvalidPubKeyLength {
3874 type Parameters<'a> = UnderlyingSolTuple<'a>;
3875 type Token<'a> = <Self::Parameters<
3876 'a,
3877 > as alloy_sol_types::SolType>::Token<'a>;
3878 const SIGNATURE: &'static str = "InvalidPubKeyLength()";
3879 const SELECTOR: [u8; 4] = [159u8, 16u8, 100u8, 114u8];
3880 #[inline]
3881 fn new<'a>(
3882 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3883 ) -> Self {
3884 tuple.into()
3885 }
3886 #[inline]
3887 fn tokenize(&self) -> Self::Token<'_> {
3888 ()
3889 }
3890 }
3891 };
3892 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3893 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3898 #[derive(Clone)]
3899 pub struct InvalidShortString {}
3900 #[allow(
3901 non_camel_case_types,
3902 non_snake_case,
3903 clippy::pub_underscore_fields,
3904 clippy::style
3905 )]
3906 const _: () = {
3907 use alloy::sol_types as alloy_sol_types;
3908 #[doc(hidden)]
3909 type UnderlyingSolTuple<'a> = ();
3910 #[doc(hidden)]
3911 type UnderlyingRustTuple<'a> = ();
3912 #[cfg(test)]
3913 #[allow(dead_code, unreachable_patterns)]
3914 fn _type_assertion(
3915 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3916 ) {
3917 match _t {
3918 alloy_sol_types::private::AssertTypeEq::<
3919 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3920 >(_) => {}
3921 }
3922 }
3923 #[automatically_derived]
3924 #[doc(hidden)]
3925 impl ::core::convert::From<InvalidShortString> for UnderlyingRustTuple<'_> {
3926 fn from(value: InvalidShortString) -> Self {
3927 ()
3928 }
3929 }
3930 #[automatically_derived]
3931 #[doc(hidden)]
3932 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidShortString {
3933 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3934 Self {}
3935 }
3936 }
3937 #[automatically_derived]
3938 impl alloy_sol_types::SolError for InvalidShortString {
3939 type Parameters<'a> = UnderlyingSolTuple<'a>;
3940 type Token<'a> = <Self::Parameters<
3941 'a,
3942 > as alloy_sol_types::SolType>::Token<'a>;
3943 const SIGNATURE: &'static str = "InvalidShortString()";
3944 const SELECTOR: [u8; 4] = [179u8, 81u8, 43u8, 12u8];
3945 #[inline]
3946 fn new<'a>(
3947 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3948 ) -> Self {
3949 tuple.into()
3950 }
3951 #[inline]
3952 fn tokenize(&self) -> Self::Token<'_> {
3953 ()
3954 }
3955 }
3956 };
3957 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3958 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3963 #[derive(Clone)]
3964 pub struct InvalidValidatorFieldsLength {}
3965 #[allow(
3966 non_camel_case_types,
3967 non_snake_case,
3968 clippy::pub_underscore_fields,
3969 clippy::style
3970 )]
3971 const _: () = {
3972 use alloy::sol_types as alloy_sol_types;
3973 #[doc(hidden)]
3974 type UnderlyingSolTuple<'a> = ();
3975 #[doc(hidden)]
3976 type UnderlyingRustTuple<'a> = ();
3977 #[cfg(test)]
3978 #[allow(dead_code, unreachable_patterns)]
3979 fn _type_assertion(
3980 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3981 ) {
3982 match _t {
3983 alloy_sol_types::private::AssertTypeEq::<
3984 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3985 >(_) => {}
3986 }
3987 }
3988 #[automatically_derived]
3989 #[doc(hidden)]
3990 impl ::core::convert::From<InvalidValidatorFieldsLength>
3991 for UnderlyingRustTuple<'_> {
3992 fn from(value: InvalidValidatorFieldsLength) -> Self {
3993 ()
3994 }
3995 }
3996 #[automatically_derived]
3997 #[doc(hidden)]
3998 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3999 for InvalidValidatorFieldsLength {
4000 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4001 Self {}
4002 }
4003 }
4004 #[automatically_derived]
4005 impl alloy_sol_types::SolError for InvalidValidatorFieldsLength {
4006 type Parameters<'a> = UnderlyingSolTuple<'a>;
4007 type Token<'a> = <Self::Parameters<
4008 'a,
4009 > as alloy_sol_types::SolType>::Token<'a>;
4010 const SIGNATURE: &'static str = "InvalidValidatorFieldsLength()";
4011 const SELECTOR: [u8; 4] = [32u8, 5u8, 145u8, 189u8];
4012 #[inline]
4013 fn new<'a>(
4014 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4015 ) -> Self {
4016 tuple.into()
4017 }
4018 #[inline]
4019 fn tokenize(&self) -> Self::Token<'_> {
4020 ()
4021 }
4022 }
4023 };
4024 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4025 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4030 #[derive(Clone)]
4031 pub struct MsgValueNot32ETH {}
4032 #[allow(
4033 non_camel_case_types,
4034 non_snake_case,
4035 clippy::pub_underscore_fields,
4036 clippy::style
4037 )]
4038 const _: () = {
4039 use alloy::sol_types as alloy_sol_types;
4040 #[doc(hidden)]
4041 type UnderlyingSolTuple<'a> = ();
4042 #[doc(hidden)]
4043 type UnderlyingRustTuple<'a> = ();
4044 #[cfg(test)]
4045 #[allow(dead_code, unreachable_patterns)]
4046 fn _type_assertion(
4047 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4048 ) {
4049 match _t {
4050 alloy_sol_types::private::AssertTypeEq::<
4051 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4052 >(_) => {}
4053 }
4054 }
4055 #[automatically_derived]
4056 #[doc(hidden)]
4057 impl ::core::convert::From<MsgValueNot32ETH> for UnderlyingRustTuple<'_> {
4058 fn from(value: MsgValueNot32ETH) -> Self {
4059 ()
4060 }
4061 }
4062 #[automatically_derived]
4063 #[doc(hidden)]
4064 impl ::core::convert::From<UnderlyingRustTuple<'_>> for MsgValueNot32ETH {
4065 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4066 Self {}
4067 }
4068 }
4069 #[automatically_derived]
4070 impl alloy_sol_types::SolError for MsgValueNot32ETH {
4071 type Parameters<'a> = UnderlyingSolTuple<'a>;
4072 type Token<'a> = <Self::Parameters<
4073 'a,
4074 > as alloy_sol_types::SolType>::Token<'a>;
4075 const SIGNATURE: &'static str = "MsgValueNot32ETH()";
4076 const SELECTOR: [u8; 4] = [36u8, 180u8, 181u8, 152u8];
4077 #[inline]
4078 fn new<'a>(
4079 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4080 ) -> Self {
4081 tuple.into()
4082 }
4083 #[inline]
4084 fn tokenize(&self) -> Self::Token<'_> {
4085 ()
4086 }
4087 }
4088 };
4089 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4090 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4095 #[derive(Clone)]
4096 pub struct NoActiveCheckpoint {}
4097 #[allow(
4098 non_camel_case_types,
4099 non_snake_case,
4100 clippy::pub_underscore_fields,
4101 clippy::style
4102 )]
4103 const _: () = {
4104 use alloy::sol_types as alloy_sol_types;
4105 #[doc(hidden)]
4106 type UnderlyingSolTuple<'a> = ();
4107 #[doc(hidden)]
4108 type UnderlyingRustTuple<'a> = ();
4109 #[cfg(test)]
4110 #[allow(dead_code, unreachable_patterns)]
4111 fn _type_assertion(
4112 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4113 ) {
4114 match _t {
4115 alloy_sol_types::private::AssertTypeEq::<
4116 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4117 >(_) => {}
4118 }
4119 }
4120 #[automatically_derived]
4121 #[doc(hidden)]
4122 impl ::core::convert::From<NoActiveCheckpoint> for UnderlyingRustTuple<'_> {
4123 fn from(value: NoActiveCheckpoint) -> Self {
4124 ()
4125 }
4126 }
4127 #[automatically_derived]
4128 #[doc(hidden)]
4129 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NoActiveCheckpoint {
4130 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4131 Self {}
4132 }
4133 }
4134 #[automatically_derived]
4135 impl alloy_sol_types::SolError for NoActiveCheckpoint {
4136 type Parameters<'a> = UnderlyingSolTuple<'a>;
4137 type Token<'a> = <Self::Parameters<
4138 'a,
4139 > as alloy_sol_types::SolType>::Token<'a>;
4140 const SIGNATURE: &'static str = "NoActiveCheckpoint()";
4141 const SELECTOR: [u8; 4] = [26u8, 84u8, 79u8, 73u8];
4142 #[inline]
4143 fn new<'a>(
4144 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4145 ) -> Self {
4146 tuple.into()
4147 }
4148 #[inline]
4149 fn tokenize(&self) -> Self::Token<'_> {
4150 ()
4151 }
4152 }
4153 };
4154 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4155 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4160 #[derive(Clone)]
4161 pub struct NoBalanceToCheckpoint {}
4162 #[allow(
4163 non_camel_case_types,
4164 non_snake_case,
4165 clippy::pub_underscore_fields,
4166 clippy::style
4167 )]
4168 const _: () = {
4169 use alloy::sol_types as alloy_sol_types;
4170 #[doc(hidden)]
4171 type UnderlyingSolTuple<'a> = ();
4172 #[doc(hidden)]
4173 type UnderlyingRustTuple<'a> = ();
4174 #[cfg(test)]
4175 #[allow(dead_code, unreachable_patterns)]
4176 fn _type_assertion(
4177 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4178 ) {
4179 match _t {
4180 alloy_sol_types::private::AssertTypeEq::<
4181 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4182 >(_) => {}
4183 }
4184 }
4185 #[automatically_derived]
4186 #[doc(hidden)]
4187 impl ::core::convert::From<NoBalanceToCheckpoint> for UnderlyingRustTuple<'_> {
4188 fn from(value: NoBalanceToCheckpoint) -> Self {
4189 ()
4190 }
4191 }
4192 #[automatically_derived]
4193 #[doc(hidden)]
4194 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NoBalanceToCheckpoint {
4195 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4196 Self {}
4197 }
4198 }
4199 #[automatically_derived]
4200 impl alloy_sol_types::SolError for NoBalanceToCheckpoint {
4201 type Parameters<'a> = UnderlyingSolTuple<'a>;
4202 type Token<'a> = <Self::Parameters<
4203 'a,
4204 > as alloy_sol_types::SolType>::Token<'a>;
4205 const SIGNATURE: &'static str = "NoBalanceToCheckpoint()";
4206 const SELECTOR: [u8; 4] = [203u8, 122u8, 165u8, 100u8];
4207 #[inline]
4208 fn new<'a>(
4209 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4210 ) -> Self {
4211 tuple.into()
4212 }
4213 #[inline]
4214 fn tokenize(&self) -> Self::Token<'_> {
4215 ()
4216 }
4217 }
4218 };
4219 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4220 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4225 #[derive(Clone)]
4226 pub struct OnlyEigenPodManager {}
4227 #[allow(
4228 non_camel_case_types,
4229 non_snake_case,
4230 clippy::pub_underscore_fields,
4231 clippy::style
4232 )]
4233 const _: () = {
4234 use alloy::sol_types as alloy_sol_types;
4235 #[doc(hidden)]
4236 type UnderlyingSolTuple<'a> = ();
4237 #[doc(hidden)]
4238 type UnderlyingRustTuple<'a> = ();
4239 #[cfg(test)]
4240 #[allow(dead_code, unreachable_patterns)]
4241 fn _type_assertion(
4242 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4243 ) {
4244 match _t {
4245 alloy_sol_types::private::AssertTypeEq::<
4246 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4247 >(_) => {}
4248 }
4249 }
4250 #[automatically_derived]
4251 #[doc(hidden)]
4252 impl ::core::convert::From<OnlyEigenPodManager> for UnderlyingRustTuple<'_> {
4253 fn from(value: OnlyEigenPodManager) -> Self {
4254 ()
4255 }
4256 }
4257 #[automatically_derived]
4258 #[doc(hidden)]
4259 impl ::core::convert::From<UnderlyingRustTuple<'_>> for OnlyEigenPodManager {
4260 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4261 Self {}
4262 }
4263 }
4264 #[automatically_derived]
4265 impl alloy_sol_types::SolError for OnlyEigenPodManager {
4266 type Parameters<'a> = UnderlyingSolTuple<'a>;
4267 type Token<'a> = <Self::Parameters<
4268 'a,
4269 > as alloy_sol_types::SolType>::Token<'a>;
4270 const SIGNATURE: &'static str = "OnlyEigenPodManager()";
4271 const SELECTOR: [u8; 4] = [200u8, 78u8, 153u8, 132u8];
4272 #[inline]
4273 fn new<'a>(
4274 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4275 ) -> Self {
4276 tuple.into()
4277 }
4278 #[inline]
4279 fn tokenize(&self) -> Self::Token<'_> {
4280 ()
4281 }
4282 }
4283 };
4284 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4285 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4290 #[derive(Clone)]
4291 pub struct OnlyEigenPodOwner {}
4292 #[allow(
4293 non_camel_case_types,
4294 non_snake_case,
4295 clippy::pub_underscore_fields,
4296 clippy::style
4297 )]
4298 const _: () = {
4299 use alloy::sol_types as alloy_sol_types;
4300 #[doc(hidden)]
4301 type UnderlyingSolTuple<'a> = ();
4302 #[doc(hidden)]
4303 type UnderlyingRustTuple<'a> = ();
4304 #[cfg(test)]
4305 #[allow(dead_code, unreachable_patterns)]
4306 fn _type_assertion(
4307 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4308 ) {
4309 match _t {
4310 alloy_sol_types::private::AssertTypeEq::<
4311 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4312 >(_) => {}
4313 }
4314 }
4315 #[automatically_derived]
4316 #[doc(hidden)]
4317 impl ::core::convert::From<OnlyEigenPodOwner> for UnderlyingRustTuple<'_> {
4318 fn from(value: OnlyEigenPodOwner) -> Self {
4319 ()
4320 }
4321 }
4322 #[automatically_derived]
4323 #[doc(hidden)]
4324 impl ::core::convert::From<UnderlyingRustTuple<'_>> for OnlyEigenPodOwner {
4325 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4326 Self {}
4327 }
4328 }
4329 #[automatically_derived]
4330 impl alloy_sol_types::SolError for OnlyEigenPodOwner {
4331 type Parameters<'a> = UnderlyingSolTuple<'a>;
4332 type Token<'a> = <Self::Parameters<
4333 'a,
4334 > as alloy_sol_types::SolType>::Token<'a>;
4335 const SIGNATURE: &'static str = "OnlyEigenPodOwner()";
4336 const SELECTOR: [u8; 4] = [227u8, 62u8, 110u8, 6u8];
4337 #[inline]
4338 fn new<'a>(
4339 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4340 ) -> Self {
4341 tuple.into()
4342 }
4343 #[inline]
4344 fn tokenize(&self) -> Self::Token<'_> {
4345 ()
4346 }
4347 }
4348 };
4349 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4350 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4355 #[derive(Clone)]
4356 pub struct OnlyEigenPodOwnerOrProofSubmitter {}
4357 #[allow(
4358 non_camel_case_types,
4359 non_snake_case,
4360 clippy::pub_underscore_fields,
4361 clippy::style
4362 )]
4363 const _: () = {
4364 use alloy::sol_types as alloy_sol_types;
4365 #[doc(hidden)]
4366 type UnderlyingSolTuple<'a> = ();
4367 #[doc(hidden)]
4368 type UnderlyingRustTuple<'a> = ();
4369 #[cfg(test)]
4370 #[allow(dead_code, unreachable_patterns)]
4371 fn _type_assertion(
4372 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4373 ) {
4374 match _t {
4375 alloy_sol_types::private::AssertTypeEq::<
4376 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4377 >(_) => {}
4378 }
4379 }
4380 #[automatically_derived]
4381 #[doc(hidden)]
4382 impl ::core::convert::From<OnlyEigenPodOwnerOrProofSubmitter>
4383 for UnderlyingRustTuple<'_> {
4384 fn from(value: OnlyEigenPodOwnerOrProofSubmitter) -> Self {
4385 ()
4386 }
4387 }
4388 #[automatically_derived]
4389 #[doc(hidden)]
4390 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4391 for OnlyEigenPodOwnerOrProofSubmitter {
4392 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4393 Self {}
4394 }
4395 }
4396 #[automatically_derived]
4397 impl alloy_sol_types::SolError for OnlyEigenPodOwnerOrProofSubmitter {
4398 type Parameters<'a> = UnderlyingSolTuple<'a>;
4399 type Token<'a> = <Self::Parameters<
4400 'a,
4401 > as alloy_sol_types::SolType>::Token<'a>;
4402 const SIGNATURE: &'static str = "OnlyEigenPodOwnerOrProofSubmitter()";
4403 const SELECTOR: [u8; 4] = [66u8, 122u8, 119u8, 121u8];
4404 #[inline]
4405 fn new<'a>(
4406 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4407 ) -> Self {
4408 tuple.into()
4409 }
4410 #[inline]
4411 fn tokenize(&self) -> Self::Token<'_> {
4412 ()
4413 }
4414 }
4415 };
4416 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4417 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4422 #[derive(Clone)]
4423 pub struct StringTooLong {
4424 #[allow(missing_docs)]
4425 pub str: alloy::sol_types::private::String,
4426 }
4427 #[allow(
4428 non_camel_case_types,
4429 non_snake_case,
4430 clippy::pub_underscore_fields,
4431 clippy::style
4432 )]
4433 const _: () = {
4434 use alloy::sol_types as alloy_sol_types;
4435 #[doc(hidden)]
4436 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
4437 #[doc(hidden)]
4438 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
4439 #[cfg(test)]
4440 #[allow(dead_code, unreachable_patterns)]
4441 fn _type_assertion(
4442 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4443 ) {
4444 match _t {
4445 alloy_sol_types::private::AssertTypeEq::<
4446 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4447 >(_) => {}
4448 }
4449 }
4450 #[automatically_derived]
4451 #[doc(hidden)]
4452 impl ::core::convert::From<StringTooLong> for UnderlyingRustTuple<'_> {
4453 fn from(value: StringTooLong) -> Self {
4454 (value.str,)
4455 }
4456 }
4457 #[automatically_derived]
4458 #[doc(hidden)]
4459 impl ::core::convert::From<UnderlyingRustTuple<'_>> for StringTooLong {
4460 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4461 Self { str: tuple.0 }
4462 }
4463 }
4464 #[automatically_derived]
4465 impl alloy_sol_types::SolError for StringTooLong {
4466 type Parameters<'a> = UnderlyingSolTuple<'a>;
4467 type Token<'a> = <Self::Parameters<
4468 'a,
4469 > as alloy_sol_types::SolType>::Token<'a>;
4470 const SIGNATURE: &'static str = "StringTooLong(string)";
4471 const SELECTOR: [u8; 4] = [48u8, 90u8, 39u8, 169u8];
4472 #[inline]
4473 fn new<'a>(
4474 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4475 ) -> Self {
4476 tuple.into()
4477 }
4478 #[inline]
4479 fn tokenize(&self) -> Self::Token<'_> {
4480 (
4481 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
4482 &self.str,
4483 ),
4484 )
4485 }
4486 }
4487 };
4488 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4489 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4494 #[derive(Clone)]
4495 pub struct TimestampOutOfRange {}
4496 #[allow(
4497 non_camel_case_types,
4498 non_snake_case,
4499 clippy::pub_underscore_fields,
4500 clippy::style
4501 )]
4502 const _: () = {
4503 use alloy::sol_types as alloy_sol_types;
4504 #[doc(hidden)]
4505 type UnderlyingSolTuple<'a> = ();
4506 #[doc(hidden)]
4507 type UnderlyingRustTuple<'a> = ();
4508 #[cfg(test)]
4509 #[allow(dead_code, unreachable_patterns)]
4510 fn _type_assertion(
4511 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4512 ) {
4513 match _t {
4514 alloy_sol_types::private::AssertTypeEq::<
4515 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4516 >(_) => {}
4517 }
4518 }
4519 #[automatically_derived]
4520 #[doc(hidden)]
4521 impl ::core::convert::From<TimestampOutOfRange> for UnderlyingRustTuple<'_> {
4522 fn from(value: TimestampOutOfRange) -> Self {
4523 ()
4524 }
4525 }
4526 #[automatically_derived]
4527 #[doc(hidden)]
4528 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TimestampOutOfRange {
4529 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4530 Self {}
4531 }
4532 }
4533 #[automatically_derived]
4534 impl alloy_sol_types::SolError for TimestampOutOfRange {
4535 type Parameters<'a> = UnderlyingSolTuple<'a>;
4536 type Token<'a> = <Self::Parameters<
4537 'a,
4538 > as alloy_sol_types::SolType>::Token<'a>;
4539 const SIGNATURE: &'static str = "TimestampOutOfRange()";
4540 const SELECTOR: [u8; 4] = [242u8, 137u8, 204u8, 218u8];
4541 #[inline]
4542 fn new<'a>(
4543 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4544 ) -> Self {
4545 tuple.into()
4546 }
4547 #[inline]
4548 fn tokenize(&self) -> Self::Token<'_> {
4549 ()
4550 }
4551 }
4552 };
4553 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4554 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4559 #[derive(Clone)]
4560 pub struct ValidatorInactiveOnBeaconChain {}
4561 #[allow(
4562 non_camel_case_types,
4563 non_snake_case,
4564 clippy::pub_underscore_fields,
4565 clippy::style
4566 )]
4567 const _: () = {
4568 use alloy::sol_types as alloy_sol_types;
4569 #[doc(hidden)]
4570 type UnderlyingSolTuple<'a> = ();
4571 #[doc(hidden)]
4572 type UnderlyingRustTuple<'a> = ();
4573 #[cfg(test)]
4574 #[allow(dead_code, unreachable_patterns)]
4575 fn _type_assertion(
4576 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4577 ) {
4578 match _t {
4579 alloy_sol_types::private::AssertTypeEq::<
4580 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4581 >(_) => {}
4582 }
4583 }
4584 #[automatically_derived]
4585 #[doc(hidden)]
4586 impl ::core::convert::From<ValidatorInactiveOnBeaconChain>
4587 for UnderlyingRustTuple<'_> {
4588 fn from(value: ValidatorInactiveOnBeaconChain) -> Self {
4589 ()
4590 }
4591 }
4592 #[automatically_derived]
4593 #[doc(hidden)]
4594 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4595 for ValidatorInactiveOnBeaconChain {
4596 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4597 Self {}
4598 }
4599 }
4600 #[automatically_derived]
4601 impl alloy_sol_types::SolError for ValidatorInactiveOnBeaconChain {
4602 type Parameters<'a> = UnderlyingSolTuple<'a>;
4603 type Token<'a> = <Self::Parameters<
4604 'a,
4605 > as alloy_sol_types::SolType>::Token<'a>;
4606 const SIGNATURE: &'static str = "ValidatorInactiveOnBeaconChain()";
4607 const SELECTOR: [u8; 4] = [101u8, 96u8, 141u8, 180u8];
4608 #[inline]
4609 fn new<'a>(
4610 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4611 ) -> Self {
4612 tuple.into()
4613 }
4614 #[inline]
4615 fn tokenize(&self) -> Self::Token<'_> {
4616 ()
4617 }
4618 }
4619 };
4620 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4621 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4626 #[derive(Clone)]
4627 pub struct ValidatorIsExitingBeaconChain {}
4628 #[allow(
4629 non_camel_case_types,
4630 non_snake_case,
4631 clippy::pub_underscore_fields,
4632 clippy::style
4633 )]
4634 const _: () = {
4635 use alloy::sol_types as alloy_sol_types;
4636 #[doc(hidden)]
4637 type UnderlyingSolTuple<'a> = ();
4638 #[doc(hidden)]
4639 type UnderlyingRustTuple<'a> = ();
4640 #[cfg(test)]
4641 #[allow(dead_code, unreachable_patterns)]
4642 fn _type_assertion(
4643 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4644 ) {
4645 match _t {
4646 alloy_sol_types::private::AssertTypeEq::<
4647 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4648 >(_) => {}
4649 }
4650 }
4651 #[automatically_derived]
4652 #[doc(hidden)]
4653 impl ::core::convert::From<ValidatorIsExitingBeaconChain>
4654 for UnderlyingRustTuple<'_> {
4655 fn from(value: ValidatorIsExitingBeaconChain) -> Self {
4656 ()
4657 }
4658 }
4659 #[automatically_derived]
4660 #[doc(hidden)]
4661 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4662 for ValidatorIsExitingBeaconChain {
4663 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4664 Self {}
4665 }
4666 }
4667 #[automatically_derived]
4668 impl alloy_sol_types::SolError for ValidatorIsExitingBeaconChain {
4669 type Parameters<'a> = UnderlyingSolTuple<'a>;
4670 type Token<'a> = <Self::Parameters<
4671 'a,
4672 > as alloy_sol_types::SolType>::Token<'a>;
4673 const SIGNATURE: &'static str = "ValidatorIsExitingBeaconChain()";
4674 const SELECTOR: [u8; 4] = [46u8, 173u8, 230u8, 55u8];
4675 #[inline]
4676 fn new<'a>(
4677 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4678 ) -> Self {
4679 tuple.into()
4680 }
4681 #[inline]
4682 fn tokenize(&self) -> Self::Token<'_> {
4683 ()
4684 }
4685 }
4686 };
4687 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4688 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4693 #[derive(Clone)]
4694 pub struct ValidatorNotActiveInPod {}
4695 #[allow(
4696 non_camel_case_types,
4697 non_snake_case,
4698 clippy::pub_underscore_fields,
4699 clippy::style
4700 )]
4701 const _: () = {
4702 use alloy::sol_types as alloy_sol_types;
4703 #[doc(hidden)]
4704 type UnderlyingSolTuple<'a> = ();
4705 #[doc(hidden)]
4706 type UnderlyingRustTuple<'a> = ();
4707 #[cfg(test)]
4708 #[allow(dead_code, unreachable_patterns)]
4709 fn _type_assertion(
4710 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4711 ) {
4712 match _t {
4713 alloy_sol_types::private::AssertTypeEq::<
4714 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4715 >(_) => {}
4716 }
4717 }
4718 #[automatically_derived]
4719 #[doc(hidden)]
4720 impl ::core::convert::From<ValidatorNotActiveInPod> for UnderlyingRustTuple<'_> {
4721 fn from(value: ValidatorNotActiveInPod) -> Self {
4722 ()
4723 }
4724 }
4725 #[automatically_derived]
4726 #[doc(hidden)]
4727 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorNotActiveInPod {
4728 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4729 Self {}
4730 }
4731 }
4732 #[automatically_derived]
4733 impl alloy_sol_types::SolError for ValidatorNotActiveInPod {
4734 type Parameters<'a> = UnderlyingSolTuple<'a>;
4735 type Token<'a> = <Self::Parameters<
4736 'a,
4737 > as alloy_sol_types::SolType>::Token<'a>;
4738 const SIGNATURE: &'static str = "ValidatorNotActiveInPod()";
4739 const SELECTOR: [u8; 4] = [212u8, 158u8, 25u8, 167u8];
4740 #[inline]
4741 fn new<'a>(
4742 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4743 ) -> Self {
4744 tuple.into()
4745 }
4746 #[inline]
4747 fn tokenize(&self) -> Self::Token<'_> {
4748 ()
4749 }
4750 }
4751 };
4752 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4753 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4758 #[derive(Clone)]
4759 pub struct ValidatorNotSlashedOnBeaconChain {}
4760 #[allow(
4761 non_camel_case_types,
4762 non_snake_case,
4763 clippy::pub_underscore_fields,
4764 clippy::style
4765 )]
4766 const _: () = {
4767 use alloy::sol_types as alloy_sol_types;
4768 #[doc(hidden)]
4769 type UnderlyingSolTuple<'a> = ();
4770 #[doc(hidden)]
4771 type UnderlyingRustTuple<'a> = ();
4772 #[cfg(test)]
4773 #[allow(dead_code, unreachable_patterns)]
4774 fn _type_assertion(
4775 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4776 ) {
4777 match _t {
4778 alloy_sol_types::private::AssertTypeEq::<
4779 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4780 >(_) => {}
4781 }
4782 }
4783 #[automatically_derived]
4784 #[doc(hidden)]
4785 impl ::core::convert::From<ValidatorNotSlashedOnBeaconChain>
4786 for UnderlyingRustTuple<'_> {
4787 fn from(value: ValidatorNotSlashedOnBeaconChain) -> Self {
4788 ()
4789 }
4790 }
4791 #[automatically_derived]
4792 #[doc(hidden)]
4793 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4794 for ValidatorNotSlashedOnBeaconChain {
4795 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4796 Self {}
4797 }
4798 }
4799 #[automatically_derived]
4800 impl alloy_sol_types::SolError for ValidatorNotSlashedOnBeaconChain {
4801 type Parameters<'a> = UnderlyingSolTuple<'a>;
4802 type Token<'a> = <Self::Parameters<
4803 'a,
4804 > as alloy_sol_types::SolType>::Token<'a>;
4805 const SIGNATURE: &'static str = "ValidatorNotSlashedOnBeaconChain()";
4806 const SELECTOR: [u8; 4] = [176u8, 231u8, 47u8, 104u8];
4807 #[inline]
4808 fn new<'a>(
4809 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4810 ) -> Self {
4811 tuple.into()
4812 }
4813 #[inline]
4814 fn tokenize(&self) -> Self::Token<'_> {
4815 ()
4816 }
4817 }
4818 };
4819 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4820 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4825 #[derive(Clone)]
4826 pub struct WithdrawalCredentialsNotForEigenPod {}
4827 #[allow(
4828 non_camel_case_types,
4829 non_snake_case,
4830 clippy::pub_underscore_fields,
4831 clippy::style
4832 )]
4833 const _: () = {
4834 use alloy::sol_types as alloy_sol_types;
4835 #[doc(hidden)]
4836 type UnderlyingSolTuple<'a> = ();
4837 #[doc(hidden)]
4838 type UnderlyingRustTuple<'a> = ();
4839 #[cfg(test)]
4840 #[allow(dead_code, unreachable_patterns)]
4841 fn _type_assertion(
4842 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4843 ) {
4844 match _t {
4845 alloy_sol_types::private::AssertTypeEq::<
4846 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4847 >(_) => {}
4848 }
4849 }
4850 #[automatically_derived]
4851 #[doc(hidden)]
4852 impl ::core::convert::From<WithdrawalCredentialsNotForEigenPod>
4853 for UnderlyingRustTuple<'_> {
4854 fn from(value: WithdrawalCredentialsNotForEigenPod) -> Self {
4855 ()
4856 }
4857 }
4858 #[automatically_derived]
4859 #[doc(hidden)]
4860 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4861 for WithdrawalCredentialsNotForEigenPod {
4862 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4863 Self {}
4864 }
4865 }
4866 #[automatically_derived]
4867 impl alloy_sol_types::SolError for WithdrawalCredentialsNotForEigenPod {
4868 type Parameters<'a> = UnderlyingSolTuple<'a>;
4869 type Token<'a> = <Self::Parameters<
4870 'a,
4871 > as alloy_sol_types::SolType>::Token<'a>;
4872 const SIGNATURE: &'static str = "WithdrawalCredentialsNotForEigenPod()";
4873 const SELECTOR: [u8; 4] = [110u8, 229u8, 186u8, 166u8];
4874 #[inline]
4875 fn new<'a>(
4876 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4877 ) -> Self {
4878 tuple.into()
4879 }
4880 #[inline]
4881 fn tokenize(&self) -> Self::Token<'_> {
4882 ()
4883 }
4884 }
4885 };
4886 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4887 #[allow(
4892 non_camel_case_types,
4893 non_snake_case,
4894 clippy::pub_underscore_fields,
4895 clippy::style
4896 )]
4897 #[derive(Clone)]
4898 pub struct CheckpointCreated {
4899 #[allow(missing_docs)]
4900 pub checkpointTimestamp: u64,
4901 #[allow(missing_docs)]
4902 pub beaconBlockRoot: alloy::sol_types::private::FixedBytes<32>,
4903 #[allow(missing_docs)]
4904 pub validatorCount: alloy::sol_types::private::primitives::aliases::U256,
4905 }
4906 #[allow(
4907 non_camel_case_types,
4908 non_snake_case,
4909 clippy::pub_underscore_fields,
4910 clippy::style
4911 )]
4912 const _: () = {
4913 use alloy::sol_types as alloy_sol_types;
4914 #[automatically_derived]
4915 impl alloy_sol_types::SolEvent for CheckpointCreated {
4916 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4917 type DataToken<'a> = <Self::DataTuple<
4918 'a,
4919 > as alloy_sol_types::SolType>::Token<'a>;
4920 type TopicList = (
4921 alloy_sol_types::sol_data::FixedBytes<32>,
4922 alloy::sol_types::sol_data::Uint<64>,
4923 alloy::sol_types::sol_data::FixedBytes<32>,
4924 );
4925 const SIGNATURE: &'static str = "CheckpointCreated(uint64,bytes32,uint256)";
4926 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4927 87u8, 87u8, 150u8, 19u8, 59u8, 190u8, 211u8, 55u8, 229u8, 179u8, 154u8,
4928 164u8, 154u8, 48u8, 220u8, 37u8, 86u8, 169u8, 30u8, 12u8, 108u8, 42u8,
4929 244u8, 183u8, 184u8, 134u8, 174u8, 119u8, 235u8, 239u8, 16u8, 118u8,
4930 ]);
4931 const ANONYMOUS: bool = false;
4932 #[allow(unused_variables)]
4933 #[inline]
4934 fn new(
4935 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4936 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4937 ) -> Self {
4938 Self {
4939 checkpointTimestamp: topics.1,
4940 beaconBlockRoot: topics.2,
4941 validatorCount: data.0,
4942 }
4943 }
4944 #[inline]
4945 fn check_signature(
4946 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4947 ) -> alloy_sol_types::Result<()> {
4948 if topics.0 != Self::SIGNATURE_HASH {
4949 return Err(
4950 alloy_sol_types::Error::invalid_event_signature_hash(
4951 Self::SIGNATURE,
4952 topics.0,
4953 Self::SIGNATURE_HASH,
4954 ),
4955 );
4956 }
4957 Ok(())
4958 }
4959 #[inline]
4960 fn tokenize_body(&self) -> Self::DataToken<'_> {
4961 (
4962 <alloy::sol_types::sol_data::Uint<
4963 256,
4964 > as alloy_sol_types::SolType>::tokenize(&self.validatorCount),
4965 )
4966 }
4967 #[inline]
4968 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4969 (
4970 Self::SIGNATURE_HASH.into(),
4971 self.checkpointTimestamp.clone(),
4972 self.beaconBlockRoot.clone(),
4973 )
4974 }
4975 #[inline]
4976 fn encode_topics_raw(
4977 &self,
4978 out: &mut [alloy_sol_types::abi::token::WordToken],
4979 ) -> alloy_sol_types::Result<()> {
4980 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4981 return Err(alloy_sol_types::Error::Overrun);
4982 }
4983 out[0usize] = alloy_sol_types::abi::token::WordToken(
4984 Self::SIGNATURE_HASH,
4985 );
4986 out[1usize] = <alloy::sol_types::sol_data::Uint<
4987 64,
4988 > as alloy_sol_types::EventTopic>::encode_topic(
4989 &self.checkpointTimestamp,
4990 );
4991 out[2usize] = <alloy::sol_types::sol_data::FixedBytes<
4992 32,
4993 > as alloy_sol_types::EventTopic>::encode_topic(&self.beaconBlockRoot);
4994 Ok(())
4995 }
4996 }
4997 #[automatically_derived]
4998 impl alloy_sol_types::private::IntoLogData for CheckpointCreated {
4999 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5000 From::from(self)
5001 }
5002 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5003 From::from(&self)
5004 }
5005 }
5006 #[automatically_derived]
5007 impl From<&CheckpointCreated> for alloy_sol_types::private::LogData {
5008 #[inline]
5009 fn from(this: &CheckpointCreated) -> alloy_sol_types::private::LogData {
5010 alloy_sol_types::SolEvent::encode_log_data(this)
5011 }
5012 }
5013 };
5014 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5015 #[allow(
5020 non_camel_case_types,
5021 non_snake_case,
5022 clippy::pub_underscore_fields,
5023 clippy::style
5024 )]
5025 #[derive(Clone)]
5026 pub struct CheckpointFinalized {
5027 #[allow(missing_docs)]
5028 pub checkpointTimestamp: u64,
5029 #[allow(missing_docs)]
5030 pub totalShareDeltaWei: alloy::sol_types::private::primitives::aliases::I256,
5031 }
5032 #[allow(
5033 non_camel_case_types,
5034 non_snake_case,
5035 clippy::pub_underscore_fields,
5036 clippy::style
5037 )]
5038 const _: () = {
5039 use alloy::sol_types as alloy_sol_types;
5040 #[automatically_derived]
5041 impl alloy_sol_types::SolEvent for CheckpointFinalized {
5042 type DataTuple<'a> = (alloy::sol_types::sol_data::Int<256>,);
5043 type DataToken<'a> = <Self::DataTuple<
5044 'a,
5045 > as alloy_sol_types::SolType>::Token<'a>;
5046 type TopicList = (
5047 alloy_sol_types::sol_data::FixedBytes<32>,
5048 alloy::sol_types::sol_data::Uint<64>,
5049 );
5050 const SIGNATURE: &'static str = "CheckpointFinalized(uint64,int256)";
5051 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5052 82u8, 84u8, 8u8, 194u8, 1u8, 188u8, 21u8, 118u8, 235u8, 68u8, 17u8,
5053 111u8, 100u8, 120u8, 241u8, 194u8, 165u8, 71u8, 117u8, 177u8, 154u8, 4u8,
5054 59u8, 207u8, 220u8, 112u8, 131u8, 100u8, 247u8, 79u8, 142u8, 68u8,
5055 ]);
5056 const ANONYMOUS: bool = false;
5057 #[allow(unused_variables)]
5058 #[inline]
5059 fn new(
5060 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5061 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5062 ) -> Self {
5063 Self {
5064 checkpointTimestamp: topics.1,
5065 totalShareDeltaWei: data.0,
5066 }
5067 }
5068 #[inline]
5069 fn check_signature(
5070 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5071 ) -> alloy_sol_types::Result<()> {
5072 if topics.0 != Self::SIGNATURE_HASH {
5073 return Err(
5074 alloy_sol_types::Error::invalid_event_signature_hash(
5075 Self::SIGNATURE,
5076 topics.0,
5077 Self::SIGNATURE_HASH,
5078 ),
5079 );
5080 }
5081 Ok(())
5082 }
5083 #[inline]
5084 fn tokenize_body(&self) -> Self::DataToken<'_> {
5085 (
5086 <alloy::sol_types::sol_data::Int<
5087 256,
5088 > as alloy_sol_types::SolType>::tokenize(&self.totalShareDeltaWei),
5089 )
5090 }
5091 #[inline]
5092 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5093 (Self::SIGNATURE_HASH.into(), self.checkpointTimestamp.clone())
5094 }
5095 #[inline]
5096 fn encode_topics_raw(
5097 &self,
5098 out: &mut [alloy_sol_types::abi::token::WordToken],
5099 ) -> alloy_sol_types::Result<()> {
5100 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5101 return Err(alloy_sol_types::Error::Overrun);
5102 }
5103 out[0usize] = alloy_sol_types::abi::token::WordToken(
5104 Self::SIGNATURE_HASH,
5105 );
5106 out[1usize] = <alloy::sol_types::sol_data::Uint<
5107 64,
5108 > as alloy_sol_types::EventTopic>::encode_topic(
5109 &self.checkpointTimestamp,
5110 );
5111 Ok(())
5112 }
5113 }
5114 #[automatically_derived]
5115 impl alloy_sol_types::private::IntoLogData for CheckpointFinalized {
5116 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5117 From::from(self)
5118 }
5119 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5120 From::from(&self)
5121 }
5122 }
5123 #[automatically_derived]
5124 impl From<&CheckpointFinalized> for alloy_sol_types::private::LogData {
5125 #[inline]
5126 fn from(this: &CheckpointFinalized) -> alloy_sol_types::private::LogData {
5127 alloy_sol_types::SolEvent::encode_log_data(this)
5128 }
5129 }
5130 };
5131 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5132 #[allow(
5137 non_camel_case_types,
5138 non_snake_case,
5139 clippy::pub_underscore_fields,
5140 clippy::style
5141 )]
5142 #[derive(Clone)]
5143 pub struct EigenPodStaked {
5144 #[allow(missing_docs)]
5145 pub pubkey: alloy::sol_types::private::Bytes,
5146 }
5147 #[allow(
5148 non_camel_case_types,
5149 non_snake_case,
5150 clippy::pub_underscore_fields,
5151 clippy::style
5152 )]
5153 const _: () = {
5154 use alloy::sol_types as alloy_sol_types;
5155 #[automatically_derived]
5156 impl alloy_sol_types::SolEvent for EigenPodStaked {
5157 type DataTuple<'a> = (alloy::sol_types::sol_data::Bytes,);
5158 type DataToken<'a> = <Self::DataTuple<
5159 'a,
5160 > as alloy_sol_types::SolType>::Token<'a>;
5161 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5162 const SIGNATURE: &'static str = "EigenPodStaked(bytes)";
5163 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5164 96u8, 104u8, 101u8, 183u8, 147u8, 74u8, 37u8, 212u8, 174u8, 212u8, 63u8,
5165 108u8, 219u8, 66u8, 100u8, 3u8, 53u8, 63u8, 164u8, 179u8, 0u8, 156u8,
5166 77u8, 34u8, 132u8, 7u8, 71u8, 69u8, 129u8, 176u8, 30u8, 35u8,
5167 ]);
5168 const ANONYMOUS: bool = false;
5169 #[allow(unused_variables)]
5170 #[inline]
5171 fn new(
5172 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5173 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5174 ) -> Self {
5175 Self { pubkey: data.0 }
5176 }
5177 #[inline]
5178 fn check_signature(
5179 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5180 ) -> alloy_sol_types::Result<()> {
5181 if topics.0 != Self::SIGNATURE_HASH {
5182 return Err(
5183 alloy_sol_types::Error::invalid_event_signature_hash(
5184 Self::SIGNATURE,
5185 topics.0,
5186 Self::SIGNATURE_HASH,
5187 ),
5188 );
5189 }
5190 Ok(())
5191 }
5192 #[inline]
5193 fn tokenize_body(&self) -> Self::DataToken<'_> {
5194 (
5195 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5196 &self.pubkey,
5197 ),
5198 )
5199 }
5200 #[inline]
5201 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5202 (Self::SIGNATURE_HASH.into(),)
5203 }
5204 #[inline]
5205 fn encode_topics_raw(
5206 &self,
5207 out: &mut [alloy_sol_types::abi::token::WordToken],
5208 ) -> alloy_sol_types::Result<()> {
5209 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5210 return Err(alloy_sol_types::Error::Overrun);
5211 }
5212 out[0usize] = alloy_sol_types::abi::token::WordToken(
5213 Self::SIGNATURE_HASH,
5214 );
5215 Ok(())
5216 }
5217 }
5218 #[automatically_derived]
5219 impl alloy_sol_types::private::IntoLogData for EigenPodStaked {
5220 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5221 From::from(self)
5222 }
5223 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5224 From::from(&self)
5225 }
5226 }
5227 #[automatically_derived]
5228 impl From<&EigenPodStaked> for alloy_sol_types::private::LogData {
5229 #[inline]
5230 fn from(this: &EigenPodStaked) -> alloy_sol_types::private::LogData {
5231 alloy_sol_types::SolEvent::encode_log_data(this)
5232 }
5233 }
5234 };
5235 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5236 #[allow(
5241 non_camel_case_types,
5242 non_snake_case,
5243 clippy::pub_underscore_fields,
5244 clippy::style
5245 )]
5246 #[derive(Clone)]
5247 pub struct Initialized {
5248 #[allow(missing_docs)]
5249 pub version: u8,
5250 }
5251 #[allow(
5252 non_camel_case_types,
5253 non_snake_case,
5254 clippy::pub_underscore_fields,
5255 clippy::style
5256 )]
5257 const _: () = {
5258 use alloy::sol_types as alloy_sol_types;
5259 #[automatically_derived]
5260 impl alloy_sol_types::SolEvent for Initialized {
5261 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
5262 type DataToken<'a> = <Self::DataTuple<
5263 'a,
5264 > as alloy_sol_types::SolType>::Token<'a>;
5265 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5266 const SIGNATURE: &'static str = "Initialized(uint8)";
5267 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5268 127u8, 38u8, 184u8, 63u8, 249u8, 110u8, 31u8, 43u8, 106u8, 104u8, 47u8,
5269 19u8, 56u8, 82u8, 246u8, 121u8, 138u8, 9u8, 196u8, 101u8, 218u8, 149u8,
5270 146u8, 20u8, 96u8, 206u8, 251u8, 56u8, 71u8, 64u8, 36u8, 152u8,
5271 ]);
5272 const ANONYMOUS: bool = false;
5273 #[allow(unused_variables)]
5274 #[inline]
5275 fn new(
5276 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5277 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5278 ) -> Self {
5279 Self { version: data.0 }
5280 }
5281 #[inline]
5282 fn check_signature(
5283 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5284 ) -> alloy_sol_types::Result<()> {
5285 if topics.0 != Self::SIGNATURE_HASH {
5286 return Err(
5287 alloy_sol_types::Error::invalid_event_signature_hash(
5288 Self::SIGNATURE,
5289 topics.0,
5290 Self::SIGNATURE_HASH,
5291 ),
5292 );
5293 }
5294 Ok(())
5295 }
5296 #[inline]
5297 fn tokenize_body(&self) -> Self::DataToken<'_> {
5298 (
5299 <alloy::sol_types::sol_data::Uint<
5300 8,
5301 > as alloy_sol_types::SolType>::tokenize(&self.version),
5302 )
5303 }
5304 #[inline]
5305 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5306 (Self::SIGNATURE_HASH.into(),)
5307 }
5308 #[inline]
5309 fn encode_topics_raw(
5310 &self,
5311 out: &mut [alloy_sol_types::abi::token::WordToken],
5312 ) -> alloy_sol_types::Result<()> {
5313 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5314 return Err(alloy_sol_types::Error::Overrun);
5315 }
5316 out[0usize] = alloy_sol_types::abi::token::WordToken(
5317 Self::SIGNATURE_HASH,
5318 );
5319 Ok(())
5320 }
5321 }
5322 #[automatically_derived]
5323 impl alloy_sol_types::private::IntoLogData for Initialized {
5324 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5325 From::from(self)
5326 }
5327 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5328 From::from(&self)
5329 }
5330 }
5331 #[automatically_derived]
5332 impl From<&Initialized> for alloy_sol_types::private::LogData {
5333 #[inline]
5334 fn from(this: &Initialized) -> alloy_sol_types::private::LogData {
5335 alloy_sol_types::SolEvent::encode_log_data(this)
5336 }
5337 }
5338 };
5339 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5340 #[allow(
5345 non_camel_case_types,
5346 non_snake_case,
5347 clippy::pub_underscore_fields,
5348 clippy::style
5349 )]
5350 #[derive(Clone)]
5351 pub struct NonBeaconChainETHReceived {
5352 #[allow(missing_docs)]
5353 pub amountReceived: alloy::sol_types::private::primitives::aliases::U256,
5354 }
5355 #[allow(
5356 non_camel_case_types,
5357 non_snake_case,
5358 clippy::pub_underscore_fields,
5359 clippy::style
5360 )]
5361 const _: () = {
5362 use alloy::sol_types as alloy_sol_types;
5363 #[automatically_derived]
5364 impl alloy_sol_types::SolEvent for NonBeaconChainETHReceived {
5365 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5366 type DataToken<'a> = <Self::DataTuple<
5367 'a,
5368 > as alloy_sol_types::SolType>::Token<'a>;
5369 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5370 const SIGNATURE: &'static str = "NonBeaconChainETHReceived(uint256)";
5371 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5372 111u8, 221u8, 61u8, 189u8, 177u8, 115u8, 41u8, 150u8, 8u8, 192u8, 170u8,
5373 159u8, 54u8, 135u8, 53u8, 133u8, 124u8, 136u8, 66u8, 181u8, 129u8, 248u8,
5374 56u8, 146u8, 56u8, 191u8, 5u8, 189u8, 4u8, 179u8, 191u8, 73u8,
5375 ]);
5376 const ANONYMOUS: bool = false;
5377 #[allow(unused_variables)]
5378 #[inline]
5379 fn new(
5380 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5381 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5382 ) -> Self {
5383 Self { amountReceived: data.0 }
5384 }
5385 #[inline]
5386 fn check_signature(
5387 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5388 ) -> alloy_sol_types::Result<()> {
5389 if topics.0 != Self::SIGNATURE_HASH {
5390 return Err(
5391 alloy_sol_types::Error::invalid_event_signature_hash(
5392 Self::SIGNATURE,
5393 topics.0,
5394 Self::SIGNATURE_HASH,
5395 ),
5396 );
5397 }
5398 Ok(())
5399 }
5400 #[inline]
5401 fn tokenize_body(&self) -> Self::DataToken<'_> {
5402 (
5403 <alloy::sol_types::sol_data::Uint<
5404 256,
5405 > as alloy_sol_types::SolType>::tokenize(&self.amountReceived),
5406 )
5407 }
5408 #[inline]
5409 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5410 (Self::SIGNATURE_HASH.into(),)
5411 }
5412 #[inline]
5413 fn encode_topics_raw(
5414 &self,
5415 out: &mut [alloy_sol_types::abi::token::WordToken],
5416 ) -> alloy_sol_types::Result<()> {
5417 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5418 return Err(alloy_sol_types::Error::Overrun);
5419 }
5420 out[0usize] = alloy_sol_types::abi::token::WordToken(
5421 Self::SIGNATURE_HASH,
5422 );
5423 Ok(())
5424 }
5425 }
5426 #[automatically_derived]
5427 impl alloy_sol_types::private::IntoLogData for NonBeaconChainETHReceived {
5428 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5429 From::from(self)
5430 }
5431 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5432 From::from(&self)
5433 }
5434 }
5435 #[automatically_derived]
5436 impl From<&NonBeaconChainETHReceived> for alloy_sol_types::private::LogData {
5437 #[inline]
5438 fn from(
5439 this: &NonBeaconChainETHReceived,
5440 ) -> alloy_sol_types::private::LogData {
5441 alloy_sol_types::SolEvent::encode_log_data(this)
5442 }
5443 }
5444 };
5445 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5446 #[allow(
5451 non_camel_case_types,
5452 non_snake_case,
5453 clippy::pub_underscore_fields,
5454 clippy::style
5455 )]
5456 #[derive(Clone)]
5457 pub struct ProofSubmitterUpdated {
5458 #[allow(missing_docs)]
5459 pub prevProofSubmitter: alloy::sol_types::private::Address,
5460 #[allow(missing_docs)]
5461 pub newProofSubmitter: alloy::sol_types::private::Address,
5462 }
5463 #[allow(
5464 non_camel_case_types,
5465 non_snake_case,
5466 clippy::pub_underscore_fields,
5467 clippy::style
5468 )]
5469 const _: () = {
5470 use alloy::sol_types as alloy_sol_types;
5471 #[automatically_derived]
5472 impl alloy_sol_types::SolEvent for ProofSubmitterUpdated {
5473 type DataTuple<'a> = (
5474 alloy::sol_types::sol_data::Address,
5475 alloy::sol_types::sol_data::Address,
5476 );
5477 type DataToken<'a> = <Self::DataTuple<
5478 'a,
5479 > as alloy_sol_types::SolType>::Token<'a>;
5480 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5481 const SIGNATURE: &'static str = "ProofSubmitterUpdated(address,address)";
5482 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5483 251u8, 129u8, 41u8, 8u8, 10u8, 25u8, 211u8, 77u8, 206u8, 172u8, 4u8,
5484 186u8, 37u8, 63u8, 197u8, 3u8, 4u8, 220u8, 134u8, 199u8, 41u8, 189u8,
5485 99u8, 205u8, 202u8, 74u8, 150u8, 154u8, 209u8, 154u8, 94u8, 172u8,
5486 ]);
5487 const ANONYMOUS: bool = false;
5488 #[allow(unused_variables)]
5489 #[inline]
5490 fn new(
5491 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5492 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5493 ) -> Self {
5494 Self {
5495 prevProofSubmitter: data.0,
5496 newProofSubmitter: data.1,
5497 }
5498 }
5499 #[inline]
5500 fn check_signature(
5501 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5502 ) -> alloy_sol_types::Result<()> {
5503 if topics.0 != Self::SIGNATURE_HASH {
5504 return Err(
5505 alloy_sol_types::Error::invalid_event_signature_hash(
5506 Self::SIGNATURE,
5507 topics.0,
5508 Self::SIGNATURE_HASH,
5509 ),
5510 );
5511 }
5512 Ok(())
5513 }
5514 #[inline]
5515 fn tokenize_body(&self) -> Self::DataToken<'_> {
5516 (
5517 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5518 &self.prevProofSubmitter,
5519 ),
5520 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5521 &self.newProofSubmitter,
5522 ),
5523 )
5524 }
5525 #[inline]
5526 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5527 (Self::SIGNATURE_HASH.into(),)
5528 }
5529 #[inline]
5530 fn encode_topics_raw(
5531 &self,
5532 out: &mut [alloy_sol_types::abi::token::WordToken],
5533 ) -> alloy_sol_types::Result<()> {
5534 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5535 return Err(alloy_sol_types::Error::Overrun);
5536 }
5537 out[0usize] = alloy_sol_types::abi::token::WordToken(
5538 Self::SIGNATURE_HASH,
5539 );
5540 Ok(())
5541 }
5542 }
5543 #[automatically_derived]
5544 impl alloy_sol_types::private::IntoLogData for ProofSubmitterUpdated {
5545 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5546 From::from(self)
5547 }
5548 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5549 From::from(&self)
5550 }
5551 }
5552 #[automatically_derived]
5553 impl From<&ProofSubmitterUpdated> for alloy_sol_types::private::LogData {
5554 #[inline]
5555 fn from(this: &ProofSubmitterUpdated) -> alloy_sol_types::private::LogData {
5556 alloy_sol_types::SolEvent::encode_log_data(this)
5557 }
5558 }
5559 };
5560 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5561 #[allow(
5566 non_camel_case_types,
5567 non_snake_case,
5568 clippy::pub_underscore_fields,
5569 clippy::style
5570 )]
5571 #[derive(Clone)]
5572 pub struct RestakedBeaconChainETHWithdrawn {
5573 #[allow(missing_docs)]
5574 pub recipient: alloy::sol_types::private::Address,
5575 #[allow(missing_docs)]
5576 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5577 }
5578 #[allow(
5579 non_camel_case_types,
5580 non_snake_case,
5581 clippy::pub_underscore_fields,
5582 clippy::style
5583 )]
5584 const _: () = {
5585 use alloy::sol_types as alloy_sol_types;
5586 #[automatically_derived]
5587 impl alloy_sol_types::SolEvent for RestakedBeaconChainETHWithdrawn {
5588 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5589 type DataToken<'a> = <Self::DataTuple<
5590 'a,
5591 > as alloy_sol_types::SolType>::Token<'a>;
5592 type TopicList = (
5593 alloy_sol_types::sol_data::FixedBytes<32>,
5594 alloy::sol_types::sol_data::Address,
5595 );
5596 const SIGNATURE: &'static str = "RestakedBeaconChainETHWithdrawn(address,uint256)";
5597 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5598 137u8, 71u8, 253u8, 44u8, 224u8, 126u8, 249u8, 204u8, 48u8, 44u8, 78u8,
5599 143u8, 4u8, 97u8, 1u8, 86u8, 21u8, 217u8, 28u8, 232u8, 81u8, 86u8, 72u8,
5600 57u8, 233u8, 28u8, 200u8, 4u8, 194u8, 244u8, 157u8, 142u8,
5601 ]);
5602 const ANONYMOUS: bool = false;
5603 #[allow(unused_variables)]
5604 #[inline]
5605 fn new(
5606 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5607 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5608 ) -> Self {
5609 Self {
5610 recipient: topics.1,
5611 amount: data.0,
5612 }
5613 }
5614 #[inline]
5615 fn check_signature(
5616 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5617 ) -> alloy_sol_types::Result<()> {
5618 if topics.0 != Self::SIGNATURE_HASH {
5619 return Err(
5620 alloy_sol_types::Error::invalid_event_signature_hash(
5621 Self::SIGNATURE,
5622 topics.0,
5623 Self::SIGNATURE_HASH,
5624 ),
5625 );
5626 }
5627 Ok(())
5628 }
5629 #[inline]
5630 fn tokenize_body(&self) -> Self::DataToken<'_> {
5631 (
5632 <alloy::sol_types::sol_data::Uint<
5633 256,
5634 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5635 )
5636 }
5637 #[inline]
5638 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5639 (Self::SIGNATURE_HASH.into(), self.recipient.clone())
5640 }
5641 #[inline]
5642 fn encode_topics_raw(
5643 &self,
5644 out: &mut [alloy_sol_types::abi::token::WordToken],
5645 ) -> alloy_sol_types::Result<()> {
5646 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5647 return Err(alloy_sol_types::Error::Overrun);
5648 }
5649 out[0usize] = alloy_sol_types::abi::token::WordToken(
5650 Self::SIGNATURE_HASH,
5651 );
5652 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5653 &self.recipient,
5654 );
5655 Ok(())
5656 }
5657 }
5658 #[automatically_derived]
5659 impl alloy_sol_types::private::IntoLogData for RestakedBeaconChainETHWithdrawn {
5660 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5661 From::from(self)
5662 }
5663 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5664 From::from(&self)
5665 }
5666 }
5667 #[automatically_derived]
5668 impl From<&RestakedBeaconChainETHWithdrawn>
5669 for alloy_sol_types::private::LogData {
5670 #[inline]
5671 fn from(
5672 this: &RestakedBeaconChainETHWithdrawn,
5673 ) -> alloy_sol_types::private::LogData {
5674 alloy_sol_types::SolEvent::encode_log_data(this)
5675 }
5676 }
5677 };
5678 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5679 #[allow(
5684 non_camel_case_types,
5685 non_snake_case,
5686 clippy::pub_underscore_fields,
5687 clippy::style
5688 )]
5689 #[derive(Clone)]
5690 pub struct ValidatorBalanceUpdated {
5691 #[allow(missing_docs)]
5692 pub validatorIndex: alloy::sol_types::private::primitives::aliases::U40,
5693 #[allow(missing_docs)]
5694 pub balanceTimestamp: u64,
5695 #[allow(missing_docs)]
5696 pub newValidatorBalanceGwei: u64,
5697 }
5698 #[allow(
5699 non_camel_case_types,
5700 non_snake_case,
5701 clippy::pub_underscore_fields,
5702 clippy::style
5703 )]
5704 const _: () = {
5705 use alloy::sol_types as alloy_sol_types;
5706 #[automatically_derived]
5707 impl alloy_sol_types::SolEvent for ValidatorBalanceUpdated {
5708 type DataTuple<'a> = (
5709 alloy::sol_types::sol_data::Uint<40>,
5710 alloy::sol_types::sol_data::Uint<64>,
5711 alloy::sol_types::sol_data::Uint<64>,
5712 );
5713 type DataToken<'a> = <Self::DataTuple<
5714 'a,
5715 > as alloy_sol_types::SolType>::Token<'a>;
5716 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5717 const SIGNATURE: &'static str = "ValidatorBalanceUpdated(uint40,uint64,uint64)";
5718 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5719 14u8, 95u8, 172u8, 23u8, 91u8, 131u8, 23u8, 124u8, 192u8, 71u8, 56u8,
5720 30u8, 3u8, 13u8, 143u8, 179u8, 180u8, 43u8, 55u8, 189u8, 28u8, 2u8, 94u8,
5721 34u8, 194u8, 128u8, 250u8, 202u8, 214u8, 44u8, 50u8, 223u8,
5722 ]);
5723 const ANONYMOUS: bool = false;
5724 #[allow(unused_variables)]
5725 #[inline]
5726 fn new(
5727 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5728 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5729 ) -> Self {
5730 Self {
5731 validatorIndex: data.0,
5732 balanceTimestamp: data.1,
5733 newValidatorBalanceGwei: data.2,
5734 }
5735 }
5736 #[inline]
5737 fn check_signature(
5738 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5739 ) -> alloy_sol_types::Result<()> {
5740 if topics.0 != Self::SIGNATURE_HASH {
5741 return Err(
5742 alloy_sol_types::Error::invalid_event_signature_hash(
5743 Self::SIGNATURE,
5744 topics.0,
5745 Self::SIGNATURE_HASH,
5746 ),
5747 );
5748 }
5749 Ok(())
5750 }
5751 #[inline]
5752 fn tokenize_body(&self) -> Self::DataToken<'_> {
5753 (
5754 <alloy::sol_types::sol_data::Uint<
5755 40,
5756 > as alloy_sol_types::SolType>::tokenize(&self.validatorIndex),
5757 <alloy::sol_types::sol_data::Uint<
5758 64,
5759 > as alloy_sol_types::SolType>::tokenize(&self.balanceTimestamp),
5760 <alloy::sol_types::sol_data::Uint<
5761 64,
5762 > as alloy_sol_types::SolType>::tokenize(
5763 &self.newValidatorBalanceGwei,
5764 ),
5765 )
5766 }
5767 #[inline]
5768 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5769 (Self::SIGNATURE_HASH.into(),)
5770 }
5771 #[inline]
5772 fn encode_topics_raw(
5773 &self,
5774 out: &mut [alloy_sol_types::abi::token::WordToken],
5775 ) -> alloy_sol_types::Result<()> {
5776 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5777 return Err(alloy_sol_types::Error::Overrun);
5778 }
5779 out[0usize] = alloy_sol_types::abi::token::WordToken(
5780 Self::SIGNATURE_HASH,
5781 );
5782 Ok(())
5783 }
5784 }
5785 #[automatically_derived]
5786 impl alloy_sol_types::private::IntoLogData for ValidatorBalanceUpdated {
5787 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5788 From::from(self)
5789 }
5790 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5791 From::from(&self)
5792 }
5793 }
5794 #[automatically_derived]
5795 impl From<&ValidatorBalanceUpdated> for alloy_sol_types::private::LogData {
5796 #[inline]
5797 fn from(
5798 this: &ValidatorBalanceUpdated,
5799 ) -> alloy_sol_types::private::LogData {
5800 alloy_sol_types::SolEvent::encode_log_data(this)
5801 }
5802 }
5803 };
5804 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5805 #[allow(
5810 non_camel_case_types,
5811 non_snake_case,
5812 clippy::pub_underscore_fields,
5813 clippy::style
5814 )]
5815 #[derive(Clone)]
5816 pub struct ValidatorCheckpointed {
5817 #[allow(missing_docs)]
5818 pub checkpointTimestamp: u64,
5819 #[allow(missing_docs)]
5820 pub validatorIndex: alloy::sol_types::private::primitives::aliases::U40,
5821 }
5822 #[allow(
5823 non_camel_case_types,
5824 non_snake_case,
5825 clippy::pub_underscore_fields,
5826 clippy::style
5827 )]
5828 const _: () = {
5829 use alloy::sol_types as alloy_sol_types;
5830 #[automatically_derived]
5831 impl alloy_sol_types::SolEvent for ValidatorCheckpointed {
5832 type DataTuple<'a> = ();
5833 type DataToken<'a> = <Self::DataTuple<
5834 'a,
5835 > as alloy_sol_types::SolType>::Token<'a>;
5836 type TopicList = (
5837 alloy_sol_types::sol_data::FixedBytes<32>,
5838 alloy::sol_types::sol_data::Uint<64>,
5839 alloy::sol_types::sol_data::Uint<40>,
5840 );
5841 const SIGNATURE: &'static str = "ValidatorCheckpointed(uint64,uint40)";
5842 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5843 169u8, 28u8, 89u8, 3u8, 60u8, 52u8, 35u8, 225u8, 139u8, 84u8, 208u8,
5844 172u8, 236u8, 235u8, 180u8, 151u8, 47u8, 158u8, 169u8, 90u8, 237u8,
5845 245u8, 244u8, 202u8, 227u8, 182u8, 119u8, 176u8, 46u8, 175u8, 58u8, 63u8,
5846 ]);
5847 const ANONYMOUS: bool = false;
5848 #[allow(unused_variables)]
5849 #[inline]
5850 fn new(
5851 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5852 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5853 ) -> Self {
5854 Self {
5855 checkpointTimestamp: topics.1,
5856 validatorIndex: topics.2,
5857 }
5858 }
5859 #[inline]
5860 fn check_signature(
5861 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5862 ) -> alloy_sol_types::Result<()> {
5863 if topics.0 != Self::SIGNATURE_HASH {
5864 return Err(
5865 alloy_sol_types::Error::invalid_event_signature_hash(
5866 Self::SIGNATURE,
5867 topics.0,
5868 Self::SIGNATURE_HASH,
5869 ),
5870 );
5871 }
5872 Ok(())
5873 }
5874 #[inline]
5875 fn tokenize_body(&self) -> Self::DataToken<'_> {
5876 ()
5877 }
5878 #[inline]
5879 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5880 (
5881 Self::SIGNATURE_HASH.into(),
5882 self.checkpointTimestamp.clone(),
5883 self.validatorIndex.clone(),
5884 )
5885 }
5886 #[inline]
5887 fn encode_topics_raw(
5888 &self,
5889 out: &mut [alloy_sol_types::abi::token::WordToken],
5890 ) -> alloy_sol_types::Result<()> {
5891 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5892 return Err(alloy_sol_types::Error::Overrun);
5893 }
5894 out[0usize] = alloy_sol_types::abi::token::WordToken(
5895 Self::SIGNATURE_HASH,
5896 );
5897 out[1usize] = <alloy::sol_types::sol_data::Uint<
5898 64,
5899 > as alloy_sol_types::EventTopic>::encode_topic(
5900 &self.checkpointTimestamp,
5901 );
5902 out[2usize] = <alloy::sol_types::sol_data::Uint<
5903 40,
5904 > as alloy_sol_types::EventTopic>::encode_topic(&self.validatorIndex);
5905 Ok(())
5906 }
5907 }
5908 #[automatically_derived]
5909 impl alloy_sol_types::private::IntoLogData for ValidatorCheckpointed {
5910 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5911 From::from(self)
5912 }
5913 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5914 From::from(&self)
5915 }
5916 }
5917 #[automatically_derived]
5918 impl From<&ValidatorCheckpointed> for alloy_sol_types::private::LogData {
5919 #[inline]
5920 fn from(this: &ValidatorCheckpointed) -> alloy_sol_types::private::LogData {
5921 alloy_sol_types::SolEvent::encode_log_data(this)
5922 }
5923 }
5924 };
5925 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5926 #[allow(
5931 non_camel_case_types,
5932 non_snake_case,
5933 clippy::pub_underscore_fields,
5934 clippy::style
5935 )]
5936 #[derive(Clone)]
5937 pub struct ValidatorRestaked {
5938 #[allow(missing_docs)]
5939 pub validatorIndex: alloy::sol_types::private::primitives::aliases::U40,
5940 }
5941 #[allow(
5942 non_camel_case_types,
5943 non_snake_case,
5944 clippy::pub_underscore_fields,
5945 clippy::style
5946 )]
5947 const _: () = {
5948 use alloy::sol_types as alloy_sol_types;
5949 #[automatically_derived]
5950 impl alloy_sol_types::SolEvent for ValidatorRestaked {
5951 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<40>,);
5952 type DataToken<'a> = <Self::DataTuple<
5953 'a,
5954 > as alloy_sol_types::SolType>::Token<'a>;
5955 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5956 const SIGNATURE: &'static str = "ValidatorRestaked(uint40)";
5957 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5958 45u8, 8u8, 0u8, 187u8, 195u8, 119u8, 234u8, 84u8, 160u8, 140u8, 93u8,
5959 182u8, 168u8, 122u8, 175u8, 255u8, 94u8, 62u8, 156u8, 143u8, 234u8,
5960 208u8, 237u8, 161u8, 16u8, 228u8, 14u8, 12u8, 16u8, 68u8, 20u8, 73u8,
5961 ]);
5962 const ANONYMOUS: bool = false;
5963 #[allow(unused_variables)]
5964 #[inline]
5965 fn new(
5966 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5967 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5968 ) -> Self {
5969 Self { validatorIndex: data.0 }
5970 }
5971 #[inline]
5972 fn check_signature(
5973 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5974 ) -> alloy_sol_types::Result<()> {
5975 if topics.0 != Self::SIGNATURE_HASH {
5976 return Err(
5977 alloy_sol_types::Error::invalid_event_signature_hash(
5978 Self::SIGNATURE,
5979 topics.0,
5980 Self::SIGNATURE_HASH,
5981 ),
5982 );
5983 }
5984 Ok(())
5985 }
5986 #[inline]
5987 fn tokenize_body(&self) -> Self::DataToken<'_> {
5988 (
5989 <alloy::sol_types::sol_data::Uint<
5990 40,
5991 > as alloy_sol_types::SolType>::tokenize(&self.validatorIndex),
5992 )
5993 }
5994 #[inline]
5995 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5996 (Self::SIGNATURE_HASH.into(),)
5997 }
5998 #[inline]
5999 fn encode_topics_raw(
6000 &self,
6001 out: &mut [alloy_sol_types::abi::token::WordToken],
6002 ) -> alloy_sol_types::Result<()> {
6003 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
6004 return Err(alloy_sol_types::Error::Overrun);
6005 }
6006 out[0usize] = alloy_sol_types::abi::token::WordToken(
6007 Self::SIGNATURE_HASH,
6008 );
6009 Ok(())
6010 }
6011 }
6012 #[automatically_derived]
6013 impl alloy_sol_types::private::IntoLogData for ValidatorRestaked {
6014 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6015 From::from(self)
6016 }
6017 fn into_log_data(self) -> alloy_sol_types::private::LogData {
6018 From::from(&self)
6019 }
6020 }
6021 #[automatically_derived]
6022 impl From<&ValidatorRestaked> for alloy_sol_types::private::LogData {
6023 #[inline]
6024 fn from(this: &ValidatorRestaked) -> alloy_sol_types::private::LogData {
6025 alloy_sol_types::SolEvent::encode_log_data(this)
6026 }
6027 }
6028 };
6029 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6030 #[allow(
6035 non_camel_case_types,
6036 non_snake_case,
6037 clippy::pub_underscore_fields,
6038 clippy::style
6039 )]
6040 #[derive(Clone)]
6041 pub struct ValidatorWithdrawn {
6042 #[allow(missing_docs)]
6043 pub checkpointTimestamp: u64,
6044 #[allow(missing_docs)]
6045 pub validatorIndex: alloy::sol_types::private::primitives::aliases::U40,
6046 }
6047 #[allow(
6048 non_camel_case_types,
6049 non_snake_case,
6050 clippy::pub_underscore_fields,
6051 clippy::style
6052 )]
6053 const _: () = {
6054 use alloy::sol_types as alloy_sol_types;
6055 #[automatically_derived]
6056 impl alloy_sol_types::SolEvent for ValidatorWithdrawn {
6057 type DataTuple<'a> = ();
6058 type DataToken<'a> = <Self::DataTuple<
6059 'a,
6060 > as alloy_sol_types::SolType>::Token<'a>;
6061 type TopicList = (
6062 alloy_sol_types::sol_data::FixedBytes<32>,
6063 alloy::sol_types::sol_data::Uint<64>,
6064 alloy::sol_types::sol_data::Uint<40>,
6065 );
6066 const SIGNATURE: &'static str = "ValidatorWithdrawn(uint64,uint40)";
6067 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
6068 42u8, 2u8, 54u8, 31u8, 250u8, 102u8, 207u8, 44u8, 45u8, 164u8, 104u8,
6069 44u8, 35u8, 85u8, 166u8, 173u8, 202u8, 169u8, 246u8, 194u8, 39u8, 182u8,
6070 230u8, 86u8, 62u8, 104u8, 72u8, 15u8, 149u8, 135u8, 98u8, 106u8,
6071 ]);
6072 const ANONYMOUS: bool = false;
6073 #[allow(unused_variables)]
6074 #[inline]
6075 fn new(
6076 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
6077 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
6078 ) -> Self {
6079 Self {
6080 checkpointTimestamp: topics.1,
6081 validatorIndex: topics.2,
6082 }
6083 }
6084 #[inline]
6085 fn check_signature(
6086 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
6087 ) -> alloy_sol_types::Result<()> {
6088 if topics.0 != Self::SIGNATURE_HASH {
6089 return Err(
6090 alloy_sol_types::Error::invalid_event_signature_hash(
6091 Self::SIGNATURE,
6092 topics.0,
6093 Self::SIGNATURE_HASH,
6094 ),
6095 );
6096 }
6097 Ok(())
6098 }
6099 #[inline]
6100 fn tokenize_body(&self) -> Self::DataToken<'_> {
6101 ()
6102 }
6103 #[inline]
6104 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
6105 (
6106 Self::SIGNATURE_HASH.into(),
6107 self.checkpointTimestamp.clone(),
6108 self.validatorIndex.clone(),
6109 )
6110 }
6111 #[inline]
6112 fn encode_topics_raw(
6113 &self,
6114 out: &mut [alloy_sol_types::abi::token::WordToken],
6115 ) -> alloy_sol_types::Result<()> {
6116 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
6117 return Err(alloy_sol_types::Error::Overrun);
6118 }
6119 out[0usize] = alloy_sol_types::abi::token::WordToken(
6120 Self::SIGNATURE_HASH,
6121 );
6122 out[1usize] = <alloy::sol_types::sol_data::Uint<
6123 64,
6124 > as alloy_sol_types::EventTopic>::encode_topic(
6125 &self.checkpointTimestamp,
6126 );
6127 out[2usize] = <alloy::sol_types::sol_data::Uint<
6128 40,
6129 > as alloy_sol_types::EventTopic>::encode_topic(&self.validatorIndex);
6130 Ok(())
6131 }
6132 }
6133 #[automatically_derived]
6134 impl alloy_sol_types::private::IntoLogData for ValidatorWithdrawn {
6135 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6136 From::from(self)
6137 }
6138 fn into_log_data(self) -> alloy_sol_types::private::LogData {
6139 From::from(&self)
6140 }
6141 }
6142 #[automatically_derived]
6143 impl From<&ValidatorWithdrawn> for alloy_sol_types::private::LogData {
6144 #[inline]
6145 fn from(this: &ValidatorWithdrawn) -> alloy_sol_types::private::LogData {
6146 alloy_sol_types::SolEvent::encode_log_data(this)
6147 }
6148 }
6149 };
6150 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6155 #[derive(Clone)]
6156 pub struct constructorCall {
6157 #[allow(missing_docs)]
6158 pub _ethPOS: alloy::sol_types::private::Address,
6159 #[allow(missing_docs)]
6160 pub _eigenPodManager: alloy::sol_types::private::Address,
6161 #[allow(missing_docs)]
6162 pub _GENESIS_TIME: u64,
6163 #[allow(missing_docs)]
6164 pub _version: alloy::sol_types::private::String,
6165 }
6166 const _: () = {
6167 use alloy::sol_types as alloy_sol_types;
6168 {
6169 #[doc(hidden)]
6170 type UnderlyingSolTuple<'a> = (
6171 alloy::sol_types::sol_data::Address,
6172 alloy::sol_types::sol_data::Address,
6173 alloy::sol_types::sol_data::Uint<64>,
6174 alloy::sol_types::sol_data::String,
6175 );
6176 #[doc(hidden)]
6177 type UnderlyingRustTuple<'a> = (
6178 alloy::sol_types::private::Address,
6179 alloy::sol_types::private::Address,
6180 u64,
6181 alloy::sol_types::private::String,
6182 );
6183 #[cfg(test)]
6184 #[allow(dead_code, unreachable_patterns)]
6185 fn _type_assertion(
6186 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6187 ) {
6188 match _t {
6189 alloy_sol_types::private::AssertTypeEq::<
6190 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6191 >(_) => {}
6192 }
6193 }
6194 #[automatically_derived]
6195 #[doc(hidden)]
6196 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
6197 fn from(value: constructorCall) -> Self {
6198 (
6199 value._ethPOS,
6200 value._eigenPodManager,
6201 value._GENESIS_TIME,
6202 value._version,
6203 )
6204 }
6205 }
6206 #[automatically_derived]
6207 #[doc(hidden)]
6208 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
6209 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6210 Self {
6211 _ethPOS: tuple.0,
6212 _eigenPodManager: tuple.1,
6213 _GENESIS_TIME: tuple.2,
6214 _version: tuple.3,
6215 }
6216 }
6217 }
6218 }
6219 #[automatically_derived]
6220 impl alloy_sol_types::SolConstructor for constructorCall {
6221 type Parameters<'a> = (
6222 alloy::sol_types::sol_data::Address,
6223 alloy::sol_types::sol_data::Address,
6224 alloy::sol_types::sol_data::Uint<64>,
6225 alloy::sol_types::sol_data::String,
6226 );
6227 type Token<'a> = <Self::Parameters<
6228 'a,
6229 > as alloy_sol_types::SolType>::Token<'a>;
6230 #[inline]
6231 fn new<'a>(
6232 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6233 ) -> Self {
6234 tuple.into()
6235 }
6236 #[inline]
6237 fn tokenize(&self) -> Self::Token<'_> {
6238 (
6239 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6240 &self._ethPOS,
6241 ),
6242 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6243 &self._eigenPodManager,
6244 ),
6245 <alloy::sol_types::sol_data::Uint<
6246 64,
6247 > as alloy_sol_types::SolType>::tokenize(&self._GENESIS_TIME),
6248 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
6249 &self._version,
6250 ),
6251 )
6252 }
6253 }
6254 };
6255 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6256 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6261 #[derive(Clone)]
6262 pub struct GENESIS_TIMECall {}
6263 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6264 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6266 #[derive(Clone)]
6267 pub struct GENESIS_TIMEReturn {
6268 #[allow(missing_docs)]
6269 pub _0: u64,
6270 }
6271 #[allow(
6272 non_camel_case_types,
6273 non_snake_case,
6274 clippy::pub_underscore_fields,
6275 clippy::style
6276 )]
6277 const _: () = {
6278 use alloy::sol_types as alloy_sol_types;
6279 {
6280 #[doc(hidden)]
6281 type UnderlyingSolTuple<'a> = ();
6282 #[doc(hidden)]
6283 type UnderlyingRustTuple<'a> = ();
6284 #[cfg(test)]
6285 #[allow(dead_code, unreachable_patterns)]
6286 fn _type_assertion(
6287 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6288 ) {
6289 match _t {
6290 alloy_sol_types::private::AssertTypeEq::<
6291 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6292 >(_) => {}
6293 }
6294 }
6295 #[automatically_derived]
6296 #[doc(hidden)]
6297 impl ::core::convert::From<GENESIS_TIMECall> for UnderlyingRustTuple<'_> {
6298 fn from(value: GENESIS_TIMECall) -> Self {
6299 ()
6300 }
6301 }
6302 #[automatically_derived]
6303 #[doc(hidden)]
6304 impl ::core::convert::From<UnderlyingRustTuple<'_>> for GENESIS_TIMECall {
6305 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6306 Self {}
6307 }
6308 }
6309 }
6310 {
6311 #[doc(hidden)]
6312 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6313 #[doc(hidden)]
6314 type UnderlyingRustTuple<'a> = (u64,);
6315 #[cfg(test)]
6316 #[allow(dead_code, unreachable_patterns)]
6317 fn _type_assertion(
6318 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6319 ) {
6320 match _t {
6321 alloy_sol_types::private::AssertTypeEq::<
6322 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6323 >(_) => {}
6324 }
6325 }
6326 #[automatically_derived]
6327 #[doc(hidden)]
6328 impl ::core::convert::From<GENESIS_TIMEReturn> for UnderlyingRustTuple<'_> {
6329 fn from(value: GENESIS_TIMEReturn) -> Self {
6330 (value._0,)
6331 }
6332 }
6333 #[automatically_derived]
6334 #[doc(hidden)]
6335 impl ::core::convert::From<UnderlyingRustTuple<'_>> for GENESIS_TIMEReturn {
6336 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6337 Self { _0: tuple.0 }
6338 }
6339 }
6340 }
6341 #[automatically_derived]
6342 impl alloy_sol_types::SolCall for GENESIS_TIMECall {
6343 type Parameters<'a> = ();
6344 type Token<'a> = <Self::Parameters<
6345 'a,
6346 > as alloy_sol_types::SolType>::Token<'a>;
6347 type Return = GENESIS_TIMEReturn;
6348 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6349 type ReturnToken<'a> = <Self::ReturnTuple<
6350 'a,
6351 > as alloy_sol_types::SolType>::Token<'a>;
6352 const SIGNATURE: &'static str = "GENESIS_TIME()";
6353 const SELECTOR: [u8; 4] = [242u8, 136u8, 36u8, 97u8];
6354 #[inline]
6355 fn new<'a>(
6356 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6357 ) -> Self {
6358 tuple.into()
6359 }
6360 #[inline]
6361 fn tokenize(&self) -> Self::Token<'_> {
6362 ()
6363 }
6364 #[inline]
6365 fn abi_decode_returns(
6366 data: &[u8],
6367 validate: bool,
6368 ) -> alloy_sol_types::Result<Self::Return> {
6369 <Self::ReturnTuple<
6370 '_,
6371 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6372 .map(Into::into)
6373 }
6374 }
6375 };
6376 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6377 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6382 #[derive(Clone)]
6383 pub struct activeValidatorCountCall {}
6384 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6385 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6387 #[derive(Clone)]
6388 pub struct activeValidatorCountReturn {
6389 #[allow(missing_docs)]
6390 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6391 }
6392 #[allow(
6393 non_camel_case_types,
6394 non_snake_case,
6395 clippy::pub_underscore_fields,
6396 clippy::style
6397 )]
6398 const _: () = {
6399 use alloy::sol_types as alloy_sol_types;
6400 {
6401 #[doc(hidden)]
6402 type UnderlyingSolTuple<'a> = ();
6403 #[doc(hidden)]
6404 type UnderlyingRustTuple<'a> = ();
6405 #[cfg(test)]
6406 #[allow(dead_code, unreachable_patterns)]
6407 fn _type_assertion(
6408 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6409 ) {
6410 match _t {
6411 alloy_sol_types::private::AssertTypeEq::<
6412 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6413 >(_) => {}
6414 }
6415 }
6416 #[automatically_derived]
6417 #[doc(hidden)]
6418 impl ::core::convert::From<activeValidatorCountCall>
6419 for UnderlyingRustTuple<'_> {
6420 fn from(value: activeValidatorCountCall) -> Self {
6421 ()
6422 }
6423 }
6424 #[automatically_derived]
6425 #[doc(hidden)]
6426 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6427 for activeValidatorCountCall {
6428 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6429 Self {}
6430 }
6431 }
6432 }
6433 {
6434 #[doc(hidden)]
6435 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6436 #[doc(hidden)]
6437 type UnderlyingRustTuple<'a> = (
6438 alloy::sol_types::private::primitives::aliases::U256,
6439 );
6440 #[cfg(test)]
6441 #[allow(dead_code, unreachable_patterns)]
6442 fn _type_assertion(
6443 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6444 ) {
6445 match _t {
6446 alloy_sol_types::private::AssertTypeEq::<
6447 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6448 >(_) => {}
6449 }
6450 }
6451 #[automatically_derived]
6452 #[doc(hidden)]
6453 impl ::core::convert::From<activeValidatorCountReturn>
6454 for UnderlyingRustTuple<'_> {
6455 fn from(value: activeValidatorCountReturn) -> Self {
6456 (value._0,)
6457 }
6458 }
6459 #[automatically_derived]
6460 #[doc(hidden)]
6461 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6462 for activeValidatorCountReturn {
6463 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6464 Self { _0: tuple.0 }
6465 }
6466 }
6467 }
6468 #[automatically_derived]
6469 impl alloy_sol_types::SolCall for activeValidatorCountCall {
6470 type Parameters<'a> = ();
6471 type Token<'a> = <Self::Parameters<
6472 'a,
6473 > as alloy_sol_types::SolType>::Token<'a>;
6474 type Return = activeValidatorCountReturn;
6475 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6476 type ReturnToken<'a> = <Self::ReturnTuple<
6477 'a,
6478 > as alloy_sol_types::SolType>::Token<'a>;
6479 const SIGNATURE: &'static str = "activeValidatorCount()";
6480 const SELECTOR: [u8; 4] = [35u8, 64u8, 232u8, 211u8];
6481 #[inline]
6482 fn new<'a>(
6483 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6484 ) -> Self {
6485 tuple.into()
6486 }
6487 #[inline]
6488 fn tokenize(&self) -> Self::Token<'_> {
6489 ()
6490 }
6491 #[inline]
6492 fn abi_decode_returns(
6493 data: &[u8],
6494 validate: bool,
6495 ) -> alloy_sol_types::Result<Self::Return> {
6496 <Self::ReturnTuple<
6497 '_,
6498 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6499 .map(Into::into)
6500 }
6501 }
6502 };
6503 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6504 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6509 #[derive(Clone)]
6510 pub struct checkpointBalanceExitedGweiCall {
6511 #[allow(missing_docs)]
6512 pub _0: u64,
6513 }
6514 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6515 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6517 #[derive(Clone)]
6518 pub struct checkpointBalanceExitedGweiReturn {
6519 #[allow(missing_docs)]
6520 pub _0: u64,
6521 }
6522 #[allow(
6523 non_camel_case_types,
6524 non_snake_case,
6525 clippy::pub_underscore_fields,
6526 clippy::style
6527 )]
6528 const _: () = {
6529 use alloy::sol_types as alloy_sol_types;
6530 {
6531 #[doc(hidden)]
6532 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6533 #[doc(hidden)]
6534 type UnderlyingRustTuple<'a> = (u64,);
6535 #[cfg(test)]
6536 #[allow(dead_code, unreachable_patterns)]
6537 fn _type_assertion(
6538 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6539 ) {
6540 match _t {
6541 alloy_sol_types::private::AssertTypeEq::<
6542 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6543 >(_) => {}
6544 }
6545 }
6546 #[automatically_derived]
6547 #[doc(hidden)]
6548 impl ::core::convert::From<checkpointBalanceExitedGweiCall>
6549 for UnderlyingRustTuple<'_> {
6550 fn from(value: checkpointBalanceExitedGweiCall) -> Self {
6551 (value._0,)
6552 }
6553 }
6554 #[automatically_derived]
6555 #[doc(hidden)]
6556 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6557 for checkpointBalanceExitedGweiCall {
6558 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6559 Self { _0: tuple.0 }
6560 }
6561 }
6562 }
6563 {
6564 #[doc(hidden)]
6565 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6566 #[doc(hidden)]
6567 type UnderlyingRustTuple<'a> = (u64,);
6568 #[cfg(test)]
6569 #[allow(dead_code, unreachable_patterns)]
6570 fn _type_assertion(
6571 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6572 ) {
6573 match _t {
6574 alloy_sol_types::private::AssertTypeEq::<
6575 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6576 >(_) => {}
6577 }
6578 }
6579 #[automatically_derived]
6580 #[doc(hidden)]
6581 impl ::core::convert::From<checkpointBalanceExitedGweiReturn>
6582 for UnderlyingRustTuple<'_> {
6583 fn from(value: checkpointBalanceExitedGweiReturn) -> Self {
6584 (value._0,)
6585 }
6586 }
6587 #[automatically_derived]
6588 #[doc(hidden)]
6589 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6590 for checkpointBalanceExitedGweiReturn {
6591 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6592 Self { _0: tuple.0 }
6593 }
6594 }
6595 }
6596 #[automatically_derived]
6597 impl alloy_sol_types::SolCall for checkpointBalanceExitedGweiCall {
6598 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6599 type Token<'a> = <Self::Parameters<
6600 'a,
6601 > as alloy_sol_types::SolType>::Token<'a>;
6602 type Return = checkpointBalanceExitedGweiReturn;
6603 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6604 type ReturnToken<'a> = <Self::ReturnTuple<
6605 'a,
6606 > as alloy_sol_types::SolType>::Token<'a>;
6607 const SIGNATURE: &'static str = "checkpointBalanceExitedGwei(uint64)";
6608 const SELECTOR: [u8; 4] = [82u8, 57u8, 106u8, 89u8];
6609 #[inline]
6610 fn new<'a>(
6611 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6612 ) -> Self {
6613 tuple.into()
6614 }
6615 #[inline]
6616 fn tokenize(&self) -> Self::Token<'_> {
6617 (
6618 <alloy::sol_types::sol_data::Uint<
6619 64,
6620 > as alloy_sol_types::SolType>::tokenize(&self._0),
6621 )
6622 }
6623 #[inline]
6624 fn abi_decode_returns(
6625 data: &[u8],
6626 validate: bool,
6627 ) -> alloy_sol_types::Result<Self::Return> {
6628 <Self::ReturnTuple<
6629 '_,
6630 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6631 .map(Into::into)
6632 }
6633 }
6634 };
6635 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6636 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6641 #[derive(Clone)]
6642 pub struct currentCheckpointCall {}
6643 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6644 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6646 #[derive(Clone)]
6647 pub struct currentCheckpointReturn {
6648 #[allow(missing_docs)]
6649 pub _0: <IEigenPodTypes::Checkpoint as alloy::sol_types::SolType>::RustType,
6650 }
6651 #[allow(
6652 non_camel_case_types,
6653 non_snake_case,
6654 clippy::pub_underscore_fields,
6655 clippy::style
6656 )]
6657 const _: () = {
6658 use alloy::sol_types as alloy_sol_types;
6659 {
6660 #[doc(hidden)]
6661 type UnderlyingSolTuple<'a> = ();
6662 #[doc(hidden)]
6663 type UnderlyingRustTuple<'a> = ();
6664 #[cfg(test)]
6665 #[allow(dead_code, unreachable_patterns)]
6666 fn _type_assertion(
6667 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6668 ) {
6669 match _t {
6670 alloy_sol_types::private::AssertTypeEq::<
6671 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6672 >(_) => {}
6673 }
6674 }
6675 #[automatically_derived]
6676 #[doc(hidden)]
6677 impl ::core::convert::From<currentCheckpointCall>
6678 for UnderlyingRustTuple<'_> {
6679 fn from(value: currentCheckpointCall) -> Self {
6680 ()
6681 }
6682 }
6683 #[automatically_derived]
6684 #[doc(hidden)]
6685 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6686 for currentCheckpointCall {
6687 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6688 Self {}
6689 }
6690 }
6691 }
6692 {
6693 #[doc(hidden)]
6694 type UnderlyingSolTuple<'a> = (IEigenPodTypes::Checkpoint,);
6695 #[doc(hidden)]
6696 type UnderlyingRustTuple<'a> = (
6697 <IEigenPodTypes::Checkpoint as alloy::sol_types::SolType>::RustType,
6698 );
6699 #[cfg(test)]
6700 #[allow(dead_code, unreachable_patterns)]
6701 fn _type_assertion(
6702 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6703 ) {
6704 match _t {
6705 alloy_sol_types::private::AssertTypeEq::<
6706 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6707 >(_) => {}
6708 }
6709 }
6710 #[automatically_derived]
6711 #[doc(hidden)]
6712 impl ::core::convert::From<currentCheckpointReturn>
6713 for UnderlyingRustTuple<'_> {
6714 fn from(value: currentCheckpointReturn) -> Self {
6715 (value._0,)
6716 }
6717 }
6718 #[automatically_derived]
6719 #[doc(hidden)]
6720 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6721 for currentCheckpointReturn {
6722 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6723 Self { _0: tuple.0 }
6724 }
6725 }
6726 }
6727 #[automatically_derived]
6728 impl alloy_sol_types::SolCall for currentCheckpointCall {
6729 type Parameters<'a> = ();
6730 type Token<'a> = <Self::Parameters<
6731 'a,
6732 > as alloy_sol_types::SolType>::Token<'a>;
6733 type Return = currentCheckpointReturn;
6734 type ReturnTuple<'a> = (IEigenPodTypes::Checkpoint,);
6735 type ReturnToken<'a> = <Self::ReturnTuple<
6736 'a,
6737 > as alloy_sol_types::SolType>::Token<'a>;
6738 const SIGNATURE: &'static str = "currentCheckpoint()";
6739 const SELECTOR: [u8; 4] = [71u8, 210u8, 131u8, 114u8];
6740 #[inline]
6741 fn new<'a>(
6742 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6743 ) -> Self {
6744 tuple.into()
6745 }
6746 #[inline]
6747 fn tokenize(&self) -> Self::Token<'_> {
6748 ()
6749 }
6750 #[inline]
6751 fn abi_decode_returns(
6752 data: &[u8],
6753 validate: bool,
6754 ) -> alloy_sol_types::Result<Self::Return> {
6755 <Self::ReturnTuple<
6756 '_,
6757 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6758 .map(Into::into)
6759 }
6760 }
6761 };
6762 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6763 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6768 #[derive(Clone)]
6769 pub struct currentCheckpointTimestampCall {}
6770 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6771 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6773 #[derive(Clone)]
6774 pub struct currentCheckpointTimestampReturn {
6775 #[allow(missing_docs)]
6776 pub _0: u64,
6777 }
6778 #[allow(
6779 non_camel_case_types,
6780 non_snake_case,
6781 clippy::pub_underscore_fields,
6782 clippy::style
6783 )]
6784 const _: () = {
6785 use alloy::sol_types as alloy_sol_types;
6786 {
6787 #[doc(hidden)]
6788 type UnderlyingSolTuple<'a> = ();
6789 #[doc(hidden)]
6790 type UnderlyingRustTuple<'a> = ();
6791 #[cfg(test)]
6792 #[allow(dead_code, unreachable_patterns)]
6793 fn _type_assertion(
6794 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6795 ) {
6796 match _t {
6797 alloy_sol_types::private::AssertTypeEq::<
6798 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6799 >(_) => {}
6800 }
6801 }
6802 #[automatically_derived]
6803 #[doc(hidden)]
6804 impl ::core::convert::From<currentCheckpointTimestampCall>
6805 for UnderlyingRustTuple<'_> {
6806 fn from(value: currentCheckpointTimestampCall) -> Self {
6807 ()
6808 }
6809 }
6810 #[automatically_derived]
6811 #[doc(hidden)]
6812 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6813 for currentCheckpointTimestampCall {
6814 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6815 Self {}
6816 }
6817 }
6818 }
6819 {
6820 #[doc(hidden)]
6821 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6822 #[doc(hidden)]
6823 type UnderlyingRustTuple<'a> = (u64,);
6824 #[cfg(test)]
6825 #[allow(dead_code, unreachable_patterns)]
6826 fn _type_assertion(
6827 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6828 ) {
6829 match _t {
6830 alloy_sol_types::private::AssertTypeEq::<
6831 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6832 >(_) => {}
6833 }
6834 }
6835 #[automatically_derived]
6836 #[doc(hidden)]
6837 impl ::core::convert::From<currentCheckpointTimestampReturn>
6838 for UnderlyingRustTuple<'_> {
6839 fn from(value: currentCheckpointTimestampReturn) -> Self {
6840 (value._0,)
6841 }
6842 }
6843 #[automatically_derived]
6844 #[doc(hidden)]
6845 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6846 for currentCheckpointTimestampReturn {
6847 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6848 Self { _0: tuple.0 }
6849 }
6850 }
6851 }
6852 #[automatically_derived]
6853 impl alloy_sol_types::SolCall for currentCheckpointTimestampCall {
6854 type Parameters<'a> = ();
6855 type Token<'a> = <Self::Parameters<
6856 'a,
6857 > as alloy_sol_types::SolType>::Token<'a>;
6858 type Return = currentCheckpointTimestampReturn;
6859 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6860 type ReturnToken<'a> = <Self::ReturnTuple<
6861 'a,
6862 > as alloy_sol_types::SolType>::Token<'a>;
6863 const SIGNATURE: &'static str = "currentCheckpointTimestamp()";
6864 const SELECTOR: [u8; 4] = [66u8, 236u8, 255u8, 42u8];
6865 #[inline]
6866 fn new<'a>(
6867 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6868 ) -> Self {
6869 tuple.into()
6870 }
6871 #[inline]
6872 fn tokenize(&self) -> Self::Token<'_> {
6873 ()
6874 }
6875 #[inline]
6876 fn abi_decode_returns(
6877 data: &[u8],
6878 validate: bool,
6879 ) -> alloy_sol_types::Result<Self::Return> {
6880 <Self::ReturnTuple<
6881 '_,
6882 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6883 .map(Into::into)
6884 }
6885 }
6886 };
6887 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6888 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6893 #[derive(Clone)]
6894 pub struct eigenPodManagerCall {}
6895 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6896 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6898 #[derive(Clone)]
6899 pub struct eigenPodManagerReturn {
6900 #[allow(missing_docs)]
6901 pub _0: alloy::sol_types::private::Address,
6902 }
6903 #[allow(
6904 non_camel_case_types,
6905 non_snake_case,
6906 clippy::pub_underscore_fields,
6907 clippy::style
6908 )]
6909 const _: () = {
6910 use alloy::sol_types as alloy_sol_types;
6911 {
6912 #[doc(hidden)]
6913 type UnderlyingSolTuple<'a> = ();
6914 #[doc(hidden)]
6915 type UnderlyingRustTuple<'a> = ();
6916 #[cfg(test)]
6917 #[allow(dead_code, unreachable_patterns)]
6918 fn _type_assertion(
6919 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6920 ) {
6921 match _t {
6922 alloy_sol_types::private::AssertTypeEq::<
6923 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6924 >(_) => {}
6925 }
6926 }
6927 #[automatically_derived]
6928 #[doc(hidden)]
6929 impl ::core::convert::From<eigenPodManagerCall> for UnderlyingRustTuple<'_> {
6930 fn from(value: eigenPodManagerCall) -> Self {
6931 ()
6932 }
6933 }
6934 #[automatically_derived]
6935 #[doc(hidden)]
6936 impl ::core::convert::From<UnderlyingRustTuple<'_>> for eigenPodManagerCall {
6937 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6938 Self {}
6939 }
6940 }
6941 }
6942 {
6943 #[doc(hidden)]
6944 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6945 #[doc(hidden)]
6946 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6947 #[cfg(test)]
6948 #[allow(dead_code, unreachable_patterns)]
6949 fn _type_assertion(
6950 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6951 ) {
6952 match _t {
6953 alloy_sol_types::private::AssertTypeEq::<
6954 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6955 >(_) => {}
6956 }
6957 }
6958 #[automatically_derived]
6959 #[doc(hidden)]
6960 impl ::core::convert::From<eigenPodManagerReturn>
6961 for UnderlyingRustTuple<'_> {
6962 fn from(value: eigenPodManagerReturn) -> Self {
6963 (value._0,)
6964 }
6965 }
6966 #[automatically_derived]
6967 #[doc(hidden)]
6968 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6969 for eigenPodManagerReturn {
6970 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6971 Self { _0: tuple.0 }
6972 }
6973 }
6974 }
6975 #[automatically_derived]
6976 impl alloy_sol_types::SolCall for eigenPodManagerCall {
6977 type Parameters<'a> = ();
6978 type Token<'a> = <Self::Parameters<
6979 'a,
6980 > as alloy_sol_types::SolType>::Token<'a>;
6981 type Return = eigenPodManagerReturn;
6982 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
6983 type ReturnToken<'a> = <Self::ReturnTuple<
6984 'a,
6985 > as alloy_sol_types::SolType>::Token<'a>;
6986 const SIGNATURE: &'static str = "eigenPodManager()";
6987 const SELECTOR: [u8; 4] = [70u8, 101u8, 188u8, 218u8];
6988 #[inline]
6989 fn new<'a>(
6990 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6991 ) -> Self {
6992 tuple.into()
6993 }
6994 #[inline]
6995 fn tokenize(&self) -> Self::Token<'_> {
6996 ()
6997 }
6998 #[inline]
6999 fn abi_decode_returns(
7000 data: &[u8],
7001 validate: bool,
7002 ) -> alloy_sol_types::Result<Self::Return> {
7003 <Self::ReturnTuple<
7004 '_,
7005 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7006 .map(Into::into)
7007 }
7008 }
7009 };
7010 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7011 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7016 #[derive(Clone)]
7017 pub struct ethPOSCall {}
7018 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7019 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7021 #[derive(Clone)]
7022 pub struct ethPOSReturn {
7023 #[allow(missing_docs)]
7024 pub _0: alloy::sol_types::private::Address,
7025 }
7026 #[allow(
7027 non_camel_case_types,
7028 non_snake_case,
7029 clippy::pub_underscore_fields,
7030 clippy::style
7031 )]
7032 const _: () = {
7033 use alloy::sol_types as alloy_sol_types;
7034 {
7035 #[doc(hidden)]
7036 type UnderlyingSolTuple<'a> = ();
7037 #[doc(hidden)]
7038 type UnderlyingRustTuple<'a> = ();
7039 #[cfg(test)]
7040 #[allow(dead_code, unreachable_patterns)]
7041 fn _type_assertion(
7042 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7043 ) {
7044 match _t {
7045 alloy_sol_types::private::AssertTypeEq::<
7046 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7047 >(_) => {}
7048 }
7049 }
7050 #[automatically_derived]
7051 #[doc(hidden)]
7052 impl ::core::convert::From<ethPOSCall> for UnderlyingRustTuple<'_> {
7053 fn from(value: ethPOSCall) -> Self {
7054 ()
7055 }
7056 }
7057 #[automatically_derived]
7058 #[doc(hidden)]
7059 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ethPOSCall {
7060 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7061 Self {}
7062 }
7063 }
7064 }
7065 {
7066 #[doc(hidden)]
7067 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7068 #[doc(hidden)]
7069 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7070 #[cfg(test)]
7071 #[allow(dead_code, unreachable_patterns)]
7072 fn _type_assertion(
7073 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7074 ) {
7075 match _t {
7076 alloy_sol_types::private::AssertTypeEq::<
7077 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7078 >(_) => {}
7079 }
7080 }
7081 #[automatically_derived]
7082 #[doc(hidden)]
7083 impl ::core::convert::From<ethPOSReturn> for UnderlyingRustTuple<'_> {
7084 fn from(value: ethPOSReturn) -> Self {
7085 (value._0,)
7086 }
7087 }
7088 #[automatically_derived]
7089 #[doc(hidden)]
7090 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ethPOSReturn {
7091 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7092 Self { _0: tuple.0 }
7093 }
7094 }
7095 }
7096 #[automatically_derived]
7097 impl alloy_sol_types::SolCall for ethPOSCall {
7098 type Parameters<'a> = ();
7099 type Token<'a> = <Self::Parameters<
7100 'a,
7101 > as alloy_sol_types::SolType>::Token<'a>;
7102 type Return = ethPOSReturn;
7103 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7104 type ReturnToken<'a> = <Self::ReturnTuple<
7105 'a,
7106 > as alloy_sol_types::SolType>::Token<'a>;
7107 const SIGNATURE: &'static str = "ethPOS()";
7108 const SELECTOR: [u8; 4] = [116u8, 205u8, 215u8, 152u8];
7109 #[inline]
7110 fn new<'a>(
7111 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7112 ) -> Self {
7113 tuple.into()
7114 }
7115 #[inline]
7116 fn tokenize(&self) -> Self::Token<'_> {
7117 ()
7118 }
7119 #[inline]
7120 fn abi_decode_returns(
7121 data: &[u8],
7122 validate: bool,
7123 ) -> alloy_sol_types::Result<Self::Return> {
7124 <Self::ReturnTuple<
7125 '_,
7126 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7127 .map(Into::into)
7128 }
7129 }
7130 };
7131 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7132 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7137 #[derive(Clone)]
7138 pub struct getParentBlockRootCall {
7139 #[allow(missing_docs)]
7140 pub timestamp: u64,
7141 }
7142 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7143 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7145 #[derive(Clone)]
7146 pub struct getParentBlockRootReturn {
7147 #[allow(missing_docs)]
7148 pub _0: alloy::sol_types::private::FixedBytes<32>,
7149 }
7150 #[allow(
7151 non_camel_case_types,
7152 non_snake_case,
7153 clippy::pub_underscore_fields,
7154 clippy::style
7155 )]
7156 const _: () = {
7157 use alloy::sol_types as alloy_sol_types;
7158 {
7159 #[doc(hidden)]
7160 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7161 #[doc(hidden)]
7162 type UnderlyingRustTuple<'a> = (u64,);
7163 #[cfg(test)]
7164 #[allow(dead_code, unreachable_patterns)]
7165 fn _type_assertion(
7166 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7167 ) {
7168 match _t {
7169 alloy_sol_types::private::AssertTypeEq::<
7170 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7171 >(_) => {}
7172 }
7173 }
7174 #[automatically_derived]
7175 #[doc(hidden)]
7176 impl ::core::convert::From<getParentBlockRootCall>
7177 for UnderlyingRustTuple<'_> {
7178 fn from(value: getParentBlockRootCall) -> Self {
7179 (value.timestamp,)
7180 }
7181 }
7182 #[automatically_derived]
7183 #[doc(hidden)]
7184 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7185 for getParentBlockRootCall {
7186 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7187 Self { timestamp: tuple.0 }
7188 }
7189 }
7190 }
7191 {
7192 #[doc(hidden)]
7193 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7194 #[doc(hidden)]
7195 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
7196 #[cfg(test)]
7197 #[allow(dead_code, unreachable_patterns)]
7198 fn _type_assertion(
7199 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7200 ) {
7201 match _t {
7202 alloy_sol_types::private::AssertTypeEq::<
7203 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7204 >(_) => {}
7205 }
7206 }
7207 #[automatically_derived]
7208 #[doc(hidden)]
7209 impl ::core::convert::From<getParentBlockRootReturn>
7210 for UnderlyingRustTuple<'_> {
7211 fn from(value: getParentBlockRootReturn) -> Self {
7212 (value._0,)
7213 }
7214 }
7215 #[automatically_derived]
7216 #[doc(hidden)]
7217 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7218 for getParentBlockRootReturn {
7219 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7220 Self { _0: tuple.0 }
7221 }
7222 }
7223 }
7224 #[automatically_derived]
7225 impl alloy_sol_types::SolCall for getParentBlockRootCall {
7226 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7227 type Token<'a> = <Self::Parameters<
7228 'a,
7229 > as alloy_sol_types::SolType>::Token<'a>;
7230 type Return = getParentBlockRootReturn;
7231 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7232 type ReturnToken<'a> = <Self::ReturnTuple<
7233 'a,
7234 > as alloy_sol_types::SolType>::Token<'a>;
7235 const SIGNATURE: &'static str = "getParentBlockRoot(uint64)";
7236 const SELECTOR: [u8; 4] = [108u8, 13u8, 45u8, 90u8];
7237 #[inline]
7238 fn new<'a>(
7239 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7240 ) -> Self {
7241 tuple.into()
7242 }
7243 #[inline]
7244 fn tokenize(&self) -> Self::Token<'_> {
7245 (
7246 <alloy::sol_types::sol_data::Uint<
7247 64,
7248 > as alloy_sol_types::SolType>::tokenize(&self.timestamp),
7249 )
7250 }
7251 #[inline]
7252 fn abi_decode_returns(
7253 data: &[u8],
7254 validate: bool,
7255 ) -> alloy_sol_types::Result<Self::Return> {
7256 <Self::ReturnTuple<
7257 '_,
7258 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7259 .map(Into::into)
7260 }
7261 }
7262 };
7263 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7264 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7269 #[derive(Clone)]
7270 pub struct initializeCall {
7271 #[allow(missing_docs)]
7272 pub _podOwner: alloy::sol_types::private::Address,
7273 }
7274 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7276 #[derive(Clone)]
7277 pub struct initializeReturn {}
7278 #[allow(
7279 non_camel_case_types,
7280 non_snake_case,
7281 clippy::pub_underscore_fields,
7282 clippy::style
7283 )]
7284 const _: () = {
7285 use alloy::sol_types as alloy_sol_types;
7286 {
7287 #[doc(hidden)]
7288 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7289 #[doc(hidden)]
7290 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7291 #[cfg(test)]
7292 #[allow(dead_code, unreachable_patterns)]
7293 fn _type_assertion(
7294 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7295 ) {
7296 match _t {
7297 alloy_sol_types::private::AssertTypeEq::<
7298 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7299 >(_) => {}
7300 }
7301 }
7302 #[automatically_derived]
7303 #[doc(hidden)]
7304 impl ::core::convert::From<initializeCall> for UnderlyingRustTuple<'_> {
7305 fn from(value: initializeCall) -> Self {
7306 (value._podOwner,)
7307 }
7308 }
7309 #[automatically_derived]
7310 #[doc(hidden)]
7311 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeCall {
7312 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7313 Self { _podOwner: tuple.0 }
7314 }
7315 }
7316 }
7317 {
7318 #[doc(hidden)]
7319 type UnderlyingSolTuple<'a> = ();
7320 #[doc(hidden)]
7321 type UnderlyingRustTuple<'a> = ();
7322 #[cfg(test)]
7323 #[allow(dead_code, unreachable_patterns)]
7324 fn _type_assertion(
7325 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7326 ) {
7327 match _t {
7328 alloy_sol_types::private::AssertTypeEq::<
7329 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7330 >(_) => {}
7331 }
7332 }
7333 #[automatically_derived]
7334 #[doc(hidden)]
7335 impl ::core::convert::From<initializeReturn> for UnderlyingRustTuple<'_> {
7336 fn from(value: initializeReturn) -> Self {
7337 ()
7338 }
7339 }
7340 #[automatically_derived]
7341 #[doc(hidden)]
7342 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeReturn {
7343 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7344 Self {}
7345 }
7346 }
7347 }
7348 #[automatically_derived]
7349 impl alloy_sol_types::SolCall for initializeCall {
7350 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
7351 type Token<'a> = <Self::Parameters<
7352 'a,
7353 > as alloy_sol_types::SolType>::Token<'a>;
7354 type Return = initializeReturn;
7355 type ReturnTuple<'a> = ();
7356 type ReturnToken<'a> = <Self::ReturnTuple<
7357 'a,
7358 > as alloy_sol_types::SolType>::Token<'a>;
7359 const SIGNATURE: &'static str = "initialize(address)";
7360 const SELECTOR: [u8; 4] = [196u8, 214u8, 109u8, 232u8];
7361 #[inline]
7362 fn new<'a>(
7363 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7364 ) -> Self {
7365 tuple.into()
7366 }
7367 #[inline]
7368 fn tokenize(&self) -> Self::Token<'_> {
7369 (
7370 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7371 &self._podOwner,
7372 ),
7373 )
7374 }
7375 #[inline]
7376 fn abi_decode_returns(
7377 data: &[u8],
7378 validate: bool,
7379 ) -> alloy_sol_types::Result<Self::Return> {
7380 <Self::ReturnTuple<
7381 '_,
7382 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7383 .map(Into::into)
7384 }
7385 }
7386 };
7387 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7388 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7393 #[derive(Clone)]
7394 pub struct lastCheckpointTimestampCall {}
7395 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7396 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7398 #[derive(Clone)]
7399 pub struct lastCheckpointTimestampReturn {
7400 #[allow(missing_docs)]
7401 pub _0: u64,
7402 }
7403 #[allow(
7404 non_camel_case_types,
7405 non_snake_case,
7406 clippy::pub_underscore_fields,
7407 clippy::style
7408 )]
7409 const _: () = {
7410 use alloy::sol_types as alloy_sol_types;
7411 {
7412 #[doc(hidden)]
7413 type UnderlyingSolTuple<'a> = ();
7414 #[doc(hidden)]
7415 type UnderlyingRustTuple<'a> = ();
7416 #[cfg(test)]
7417 #[allow(dead_code, unreachable_patterns)]
7418 fn _type_assertion(
7419 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7420 ) {
7421 match _t {
7422 alloy_sol_types::private::AssertTypeEq::<
7423 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7424 >(_) => {}
7425 }
7426 }
7427 #[automatically_derived]
7428 #[doc(hidden)]
7429 impl ::core::convert::From<lastCheckpointTimestampCall>
7430 for UnderlyingRustTuple<'_> {
7431 fn from(value: lastCheckpointTimestampCall) -> Self {
7432 ()
7433 }
7434 }
7435 #[automatically_derived]
7436 #[doc(hidden)]
7437 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7438 for lastCheckpointTimestampCall {
7439 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7440 Self {}
7441 }
7442 }
7443 }
7444 {
7445 #[doc(hidden)]
7446 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7447 #[doc(hidden)]
7448 type UnderlyingRustTuple<'a> = (u64,);
7449 #[cfg(test)]
7450 #[allow(dead_code, unreachable_patterns)]
7451 fn _type_assertion(
7452 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7453 ) {
7454 match _t {
7455 alloy_sol_types::private::AssertTypeEq::<
7456 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7457 >(_) => {}
7458 }
7459 }
7460 #[automatically_derived]
7461 #[doc(hidden)]
7462 impl ::core::convert::From<lastCheckpointTimestampReturn>
7463 for UnderlyingRustTuple<'_> {
7464 fn from(value: lastCheckpointTimestampReturn) -> Self {
7465 (value._0,)
7466 }
7467 }
7468 #[automatically_derived]
7469 #[doc(hidden)]
7470 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7471 for lastCheckpointTimestampReturn {
7472 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7473 Self { _0: tuple.0 }
7474 }
7475 }
7476 }
7477 #[automatically_derived]
7478 impl alloy_sol_types::SolCall for lastCheckpointTimestampCall {
7479 type Parameters<'a> = ();
7480 type Token<'a> = <Self::Parameters<
7481 'a,
7482 > as alloy_sol_types::SolType>::Token<'a>;
7483 type Return = lastCheckpointTimestampReturn;
7484 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7485 type ReturnToken<'a> = <Self::ReturnTuple<
7486 'a,
7487 > as alloy_sol_types::SolType>::Token<'a>;
7488 const SIGNATURE: &'static str = "lastCheckpointTimestamp()";
7489 const SELECTOR: [u8; 4] = [238u8, 148u8, 214u8, 124u8];
7490 #[inline]
7491 fn new<'a>(
7492 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7493 ) -> Self {
7494 tuple.into()
7495 }
7496 #[inline]
7497 fn tokenize(&self) -> Self::Token<'_> {
7498 ()
7499 }
7500 #[inline]
7501 fn abi_decode_returns(
7502 data: &[u8],
7503 validate: bool,
7504 ) -> alloy_sol_types::Result<Self::Return> {
7505 <Self::ReturnTuple<
7506 '_,
7507 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7508 .map(Into::into)
7509 }
7510 }
7511 };
7512 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7513 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7518 #[derive(Clone)]
7519 pub struct podOwnerCall {}
7520 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7521 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7523 #[derive(Clone)]
7524 pub struct podOwnerReturn {
7525 #[allow(missing_docs)]
7526 pub _0: alloy::sol_types::private::Address,
7527 }
7528 #[allow(
7529 non_camel_case_types,
7530 non_snake_case,
7531 clippy::pub_underscore_fields,
7532 clippy::style
7533 )]
7534 const _: () = {
7535 use alloy::sol_types as alloy_sol_types;
7536 {
7537 #[doc(hidden)]
7538 type UnderlyingSolTuple<'a> = ();
7539 #[doc(hidden)]
7540 type UnderlyingRustTuple<'a> = ();
7541 #[cfg(test)]
7542 #[allow(dead_code, unreachable_patterns)]
7543 fn _type_assertion(
7544 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7545 ) {
7546 match _t {
7547 alloy_sol_types::private::AssertTypeEq::<
7548 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7549 >(_) => {}
7550 }
7551 }
7552 #[automatically_derived]
7553 #[doc(hidden)]
7554 impl ::core::convert::From<podOwnerCall> for UnderlyingRustTuple<'_> {
7555 fn from(value: podOwnerCall) -> Self {
7556 ()
7557 }
7558 }
7559 #[automatically_derived]
7560 #[doc(hidden)]
7561 impl ::core::convert::From<UnderlyingRustTuple<'_>> for podOwnerCall {
7562 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7563 Self {}
7564 }
7565 }
7566 }
7567 {
7568 #[doc(hidden)]
7569 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7570 #[doc(hidden)]
7571 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7572 #[cfg(test)]
7573 #[allow(dead_code, unreachable_patterns)]
7574 fn _type_assertion(
7575 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7576 ) {
7577 match _t {
7578 alloy_sol_types::private::AssertTypeEq::<
7579 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7580 >(_) => {}
7581 }
7582 }
7583 #[automatically_derived]
7584 #[doc(hidden)]
7585 impl ::core::convert::From<podOwnerReturn> for UnderlyingRustTuple<'_> {
7586 fn from(value: podOwnerReturn) -> Self {
7587 (value._0,)
7588 }
7589 }
7590 #[automatically_derived]
7591 #[doc(hidden)]
7592 impl ::core::convert::From<UnderlyingRustTuple<'_>> for podOwnerReturn {
7593 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7594 Self { _0: tuple.0 }
7595 }
7596 }
7597 }
7598 #[automatically_derived]
7599 impl alloy_sol_types::SolCall for podOwnerCall {
7600 type Parameters<'a> = ();
7601 type Token<'a> = <Self::Parameters<
7602 'a,
7603 > as alloy_sol_types::SolType>::Token<'a>;
7604 type Return = podOwnerReturn;
7605 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7606 type ReturnToken<'a> = <Self::ReturnTuple<
7607 'a,
7608 > as alloy_sol_types::SolType>::Token<'a>;
7609 const SIGNATURE: &'static str = "podOwner()";
7610 const SELECTOR: [u8; 4] = [11u8, 24u8, 255u8, 102u8];
7611 #[inline]
7612 fn new<'a>(
7613 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7614 ) -> Self {
7615 tuple.into()
7616 }
7617 #[inline]
7618 fn tokenize(&self) -> Self::Token<'_> {
7619 ()
7620 }
7621 #[inline]
7622 fn abi_decode_returns(
7623 data: &[u8],
7624 validate: bool,
7625 ) -> alloy_sol_types::Result<Self::Return> {
7626 <Self::ReturnTuple<
7627 '_,
7628 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7629 .map(Into::into)
7630 }
7631 }
7632 };
7633 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7634 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7639 #[derive(Clone)]
7640 pub struct proofSubmitterCall {}
7641 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7642 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7644 #[derive(Clone)]
7645 pub struct proofSubmitterReturn {
7646 #[allow(missing_docs)]
7647 pub _0: alloy::sol_types::private::Address,
7648 }
7649 #[allow(
7650 non_camel_case_types,
7651 non_snake_case,
7652 clippy::pub_underscore_fields,
7653 clippy::style
7654 )]
7655 const _: () = {
7656 use alloy::sol_types as alloy_sol_types;
7657 {
7658 #[doc(hidden)]
7659 type UnderlyingSolTuple<'a> = ();
7660 #[doc(hidden)]
7661 type UnderlyingRustTuple<'a> = ();
7662 #[cfg(test)]
7663 #[allow(dead_code, unreachable_patterns)]
7664 fn _type_assertion(
7665 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7666 ) {
7667 match _t {
7668 alloy_sol_types::private::AssertTypeEq::<
7669 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7670 >(_) => {}
7671 }
7672 }
7673 #[automatically_derived]
7674 #[doc(hidden)]
7675 impl ::core::convert::From<proofSubmitterCall> for UnderlyingRustTuple<'_> {
7676 fn from(value: proofSubmitterCall) -> Self {
7677 ()
7678 }
7679 }
7680 #[automatically_derived]
7681 #[doc(hidden)]
7682 impl ::core::convert::From<UnderlyingRustTuple<'_>> for proofSubmitterCall {
7683 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7684 Self {}
7685 }
7686 }
7687 }
7688 {
7689 #[doc(hidden)]
7690 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7691 #[doc(hidden)]
7692 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7693 #[cfg(test)]
7694 #[allow(dead_code, unreachable_patterns)]
7695 fn _type_assertion(
7696 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7697 ) {
7698 match _t {
7699 alloy_sol_types::private::AssertTypeEq::<
7700 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7701 >(_) => {}
7702 }
7703 }
7704 #[automatically_derived]
7705 #[doc(hidden)]
7706 impl ::core::convert::From<proofSubmitterReturn>
7707 for UnderlyingRustTuple<'_> {
7708 fn from(value: proofSubmitterReturn) -> Self {
7709 (value._0,)
7710 }
7711 }
7712 #[automatically_derived]
7713 #[doc(hidden)]
7714 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7715 for proofSubmitterReturn {
7716 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7717 Self { _0: tuple.0 }
7718 }
7719 }
7720 }
7721 #[automatically_derived]
7722 impl alloy_sol_types::SolCall for proofSubmitterCall {
7723 type Parameters<'a> = ();
7724 type Token<'a> = <Self::Parameters<
7725 'a,
7726 > as alloy_sol_types::SolType>::Token<'a>;
7727 type Return = proofSubmitterReturn;
7728 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7729 type ReturnToken<'a> = <Self::ReturnTuple<
7730 'a,
7731 > as alloy_sol_types::SolType>::Token<'a>;
7732 const SIGNATURE: &'static str = "proofSubmitter()";
7733 const SELECTOR: [u8; 4] = [88u8, 117u8, 51u8, 87u8];
7734 #[inline]
7735 fn new<'a>(
7736 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7737 ) -> Self {
7738 tuple.into()
7739 }
7740 #[inline]
7741 fn tokenize(&self) -> Self::Token<'_> {
7742 ()
7743 }
7744 #[inline]
7745 fn abi_decode_returns(
7746 data: &[u8],
7747 validate: bool,
7748 ) -> alloy_sol_types::Result<Self::Return> {
7749 <Self::ReturnTuple<
7750 '_,
7751 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7752 .map(Into::into)
7753 }
7754 }
7755 };
7756 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7757 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7762 #[derive(Clone)]
7763 pub struct recoverTokensCall {
7764 #[allow(missing_docs)]
7765 pub tokenList: alloy::sol_types::private::Vec<
7766 alloy::sol_types::private::Address,
7767 >,
7768 #[allow(missing_docs)]
7769 pub amountsToWithdraw: alloy::sol_types::private::Vec<
7770 alloy::sol_types::private::primitives::aliases::U256,
7771 >,
7772 #[allow(missing_docs)]
7773 pub recipient: alloy::sol_types::private::Address,
7774 }
7775 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7777 #[derive(Clone)]
7778 pub struct recoverTokensReturn {}
7779 #[allow(
7780 non_camel_case_types,
7781 non_snake_case,
7782 clippy::pub_underscore_fields,
7783 clippy::style
7784 )]
7785 const _: () = {
7786 use alloy::sol_types as alloy_sol_types;
7787 {
7788 #[doc(hidden)]
7789 type UnderlyingSolTuple<'a> = (
7790 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7791 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
7792 alloy::sol_types::sol_data::Address,
7793 );
7794 #[doc(hidden)]
7795 type UnderlyingRustTuple<'a> = (
7796 alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
7797 alloy::sol_types::private::Vec<
7798 alloy::sol_types::private::primitives::aliases::U256,
7799 >,
7800 alloy::sol_types::private::Address,
7801 );
7802 #[cfg(test)]
7803 #[allow(dead_code, unreachable_patterns)]
7804 fn _type_assertion(
7805 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7806 ) {
7807 match _t {
7808 alloy_sol_types::private::AssertTypeEq::<
7809 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7810 >(_) => {}
7811 }
7812 }
7813 #[automatically_derived]
7814 #[doc(hidden)]
7815 impl ::core::convert::From<recoverTokensCall> for UnderlyingRustTuple<'_> {
7816 fn from(value: recoverTokensCall) -> Self {
7817 (value.tokenList, value.amountsToWithdraw, value.recipient)
7818 }
7819 }
7820 #[automatically_derived]
7821 #[doc(hidden)]
7822 impl ::core::convert::From<UnderlyingRustTuple<'_>> for recoverTokensCall {
7823 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7824 Self {
7825 tokenList: tuple.0,
7826 amountsToWithdraw: tuple.1,
7827 recipient: tuple.2,
7828 }
7829 }
7830 }
7831 }
7832 {
7833 #[doc(hidden)]
7834 type UnderlyingSolTuple<'a> = ();
7835 #[doc(hidden)]
7836 type UnderlyingRustTuple<'a> = ();
7837 #[cfg(test)]
7838 #[allow(dead_code, unreachable_patterns)]
7839 fn _type_assertion(
7840 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7841 ) {
7842 match _t {
7843 alloy_sol_types::private::AssertTypeEq::<
7844 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7845 >(_) => {}
7846 }
7847 }
7848 #[automatically_derived]
7849 #[doc(hidden)]
7850 impl ::core::convert::From<recoverTokensReturn> for UnderlyingRustTuple<'_> {
7851 fn from(value: recoverTokensReturn) -> Self {
7852 ()
7853 }
7854 }
7855 #[automatically_derived]
7856 #[doc(hidden)]
7857 impl ::core::convert::From<UnderlyingRustTuple<'_>> for recoverTokensReturn {
7858 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7859 Self {}
7860 }
7861 }
7862 }
7863 #[automatically_derived]
7864 impl alloy_sol_types::SolCall for recoverTokensCall {
7865 type Parameters<'a> = (
7866 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7867 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
7868 alloy::sol_types::sol_data::Address,
7869 );
7870 type Token<'a> = <Self::Parameters<
7871 'a,
7872 > as alloy_sol_types::SolType>::Token<'a>;
7873 type Return = recoverTokensReturn;
7874 type ReturnTuple<'a> = ();
7875 type ReturnToken<'a> = <Self::ReturnTuple<
7876 'a,
7877 > as alloy_sol_types::SolType>::Token<'a>;
7878 const SIGNATURE: &'static str = "recoverTokens(address[],uint256[],address)";
7879 const SELECTOR: [u8; 4] = [221u8, 163u8, 52u8, 108u8];
7880 #[inline]
7881 fn new<'a>(
7882 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7883 ) -> Self {
7884 tuple.into()
7885 }
7886 #[inline]
7887 fn tokenize(&self) -> Self::Token<'_> {
7888 (
7889 <alloy::sol_types::sol_data::Array<
7890 alloy::sol_types::sol_data::Address,
7891 > as alloy_sol_types::SolType>::tokenize(&self.tokenList),
7892 <alloy::sol_types::sol_data::Array<
7893 alloy::sol_types::sol_data::Uint<256>,
7894 > as alloy_sol_types::SolType>::tokenize(&self.amountsToWithdraw),
7895 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7896 &self.recipient,
7897 ),
7898 )
7899 }
7900 #[inline]
7901 fn abi_decode_returns(
7902 data: &[u8],
7903 validate: bool,
7904 ) -> alloy_sol_types::Result<Self::Return> {
7905 <Self::ReturnTuple<
7906 '_,
7907 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7908 .map(Into::into)
7909 }
7910 }
7911 };
7912 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7913 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7918 #[derive(Clone)]
7919 pub struct setProofSubmitterCall {
7920 #[allow(missing_docs)]
7921 pub newProofSubmitter: alloy::sol_types::private::Address,
7922 }
7923 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7925 #[derive(Clone)]
7926 pub struct setProofSubmitterReturn {}
7927 #[allow(
7928 non_camel_case_types,
7929 non_snake_case,
7930 clippy::pub_underscore_fields,
7931 clippy::style
7932 )]
7933 const _: () = {
7934 use alloy::sol_types as alloy_sol_types;
7935 {
7936 #[doc(hidden)]
7937 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7938 #[doc(hidden)]
7939 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7940 #[cfg(test)]
7941 #[allow(dead_code, unreachable_patterns)]
7942 fn _type_assertion(
7943 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7944 ) {
7945 match _t {
7946 alloy_sol_types::private::AssertTypeEq::<
7947 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7948 >(_) => {}
7949 }
7950 }
7951 #[automatically_derived]
7952 #[doc(hidden)]
7953 impl ::core::convert::From<setProofSubmitterCall>
7954 for UnderlyingRustTuple<'_> {
7955 fn from(value: setProofSubmitterCall) -> Self {
7956 (value.newProofSubmitter,)
7957 }
7958 }
7959 #[automatically_derived]
7960 #[doc(hidden)]
7961 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7962 for setProofSubmitterCall {
7963 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7964 Self { newProofSubmitter: tuple.0 }
7965 }
7966 }
7967 }
7968 {
7969 #[doc(hidden)]
7970 type UnderlyingSolTuple<'a> = ();
7971 #[doc(hidden)]
7972 type UnderlyingRustTuple<'a> = ();
7973 #[cfg(test)]
7974 #[allow(dead_code, unreachable_patterns)]
7975 fn _type_assertion(
7976 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7977 ) {
7978 match _t {
7979 alloy_sol_types::private::AssertTypeEq::<
7980 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7981 >(_) => {}
7982 }
7983 }
7984 #[automatically_derived]
7985 #[doc(hidden)]
7986 impl ::core::convert::From<setProofSubmitterReturn>
7987 for UnderlyingRustTuple<'_> {
7988 fn from(value: setProofSubmitterReturn) -> Self {
7989 ()
7990 }
7991 }
7992 #[automatically_derived]
7993 #[doc(hidden)]
7994 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7995 for setProofSubmitterReturn {
7996 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7997 Self {}
7998 }
7999 }
8000 }
8001 #[automatically_derived]
8002 impl alloy_sol_types::SolCall for setProofSubmitterCall {
8003 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8004 type Token<'a> = <Self::Parameters<
8005 'a,
8006 > as alloy_sol_types::SolType>::Token<'a>;
8007 type Return = setProofSubmitterReturn;
8008 type ReturnTuple<'a> = ();
8009 type ReturnToken<'a> = <Self::ReturnTuple<
8010 'a,
8011 > as alloy_sol_types::SolType>::Token<'a>;
8012 const SIGNATURE: &'static str = "setProofSubmitter(address)";
8013 const SELECTOR: [u8; 4] = [208u8, 109u8, 85u8, 135u8];
8014 #[inline]
8015 fn new<'a>(
8016 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8017 ) -> Self {
8018 tuple.into()
8019 }
8020 #[inline]
8021 fn tokenize(&self) -> Self::Token<'_> {
8022 (
8023 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8024 &self.newProofSubmitter,
8025 ),
8026 )
8027 }
8028 #[inline]
8029 fn abi_decode_returns(
8030 data: &[u8],
8031 validate: bool,
8032 ) -> alloy_sol_types::Result<Self::Return> {
8033 <Self::ReturnTuple<
8034 '_,
8035 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8036 .map(Into::into)
8037 }
8038 }
8039 };
8040 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8041 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8046 #[derive(Clone)]
8047 pub struct stakeCall {
8048 #[allow(missing_docs)]
8049 pub pubkey: alloy::sol_types::private::Bytes,
8050 #[allow(missing_docs)]
8051 pub signature: alloy::sol_types::private::Bytes,
8052 #[allow(missing_docs)]
8053 pub depositDataRoot: alloy::sol_types::private::FixedBytes<32>,
8054 }
8055 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8057 #[derive(Clone)]
8058 pub struct stakeReturn {}
8059 #[allow(
8060 non_camel_case_types,
8061 non_snake_case,
8062 clippy::pub_underscore_fields,
8063 clippy::style
8064 )]
8065 const _: () = {
8066 use alloy::sol_types as alloy_sol_types;
8067 {
8068 #[doc(hidden)]
8069 type UnderlyingSolTuple<'a> = (
8070 alloy::sol_types::sol_data::Bytes,
8071 alloy::sol_types::sol_data::Bytes,
8072 alloy::sol_types::sol_data::FixedBytes<32>,
8073 );
8074 #[doc(hidden)]
8075 type UnderlyingRustTuple<'a> = (
8076 alloy::sol_types::private::Bytes,
8077 alloy::sol_types::private::Bytes,
8078 alloy::sol_types::private::FixedBytes<32>,
8079 );
8080 #[cfg(test)]
8081 #[allow(dead_code, unreachable_patterns)]
8082 fn _type_assertion(
8083 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8084 ) {
8085 match _t {
8086 alloy_sol_types::private::AssertTypeEq::<
8087 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8088 >(_) => {}
8089 }
8090 }
8091 #[automatically_derived]
8092 #[doc(hidden)]
8093 impl ::core::convert::From<stakeCall> for UnderlyingRustTuple<'_> {
8094 fn from(value: stakeCall) -> Self {
8095 (value.pubkey, value.signature, value.depositDataRoot)
8096 }
8097 }
8098 #[automatically_derived]
8099 #[doc(hidden)]
8100 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeCall {
8101 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8102 Self {
8103 pubkey: tuple.0,
8104 signature: tuple.1,
8105 depositDataRoot: tuple.2,
8106 }
8107 }
8108 }
8109 }
8110 {
8111 #[doc(hidden)]
8112 type UnderlyingSolTuple<'a> = ();
8113 #[doc(hidden)]
8114 type UnderlyingRustTuple<'a> = ();
8115 #[cfg(test)]
8116 #[allow(dead_code, unreachable_patterns)]
8117 fn _type_assertion(
8118 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8119 ) {
8120 match _t {
8121 alloy_sol_types::private::AssertTypeEq::<
8122 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8123 >(_) => {}
8124 }
8125 }
8126 #[automatically_derived]
8127 #[doc(hidden)]
8128 impl ::core::convert::From<stakeReturn> for UnderlyingRustTuple<'_> {
8129 fn from(value: stakeReturn) -> Self {
8130 ()
8131 }
8132 }
8133 #[automatically_derived]
8134 #[doc(hidden)]
8135 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeReturn {
8136 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8137 Self {}
8138 }
8139 }
8140 }
8141 #[automatically_derived]
8142 impl alloy_sol_types::SolCall for stakeCall {
8143 type Parameters<'a> = (
8144 alloy::sol_types::sol_data::Bytes,
8145 alloy::sol_types::sol_data::Bytes,
8146 alloy::sol_types::sol_data::FixedBytes<32>,
8147 );
8148 type Token<'a> = <Self::Parameters<
8149 'a,
8150 > as alloy_sol_types::SolType>::Token<'a>;
8151 type Return = stakeReturn;
8152 type ReturnTuple<'a> = ();
8153 type ReturnToken<'a> = <Self::ReturnTuple<
8154 'a,
8155 > as alloy_sol_types::SolType>::Token<'a>;
8156 const SIGNATURE: &'static str = "stake(bytes,bytes,bytes32)";
8157 const SELECTOR: [u8; 4] = [155u8, 78u8, 70u8, 52u8];
8158 #[inline]
8159 fn new<'a>(
8160 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8161 ) -> Self {
8162 tuple.into()
8163 }
8164 #[inline]
8165 fn tokenize(&self) -> Self::Token<'_> {
8166 (
8167 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8168 &self.pubkey,
8169 ),
8170 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8171 &self.signature,
8172 ),
8173 <alloy::sol_types::sol_data::FixedBytes<
8174 32,
8175 > as alloy_sol_types::SolType>::tokenize(&self.depositDataRoot),
8176 )
8177 }
8178 #[inline]
8179 fn abi_decode_returns(
8180 data: &[u8],
8181 validate: bool,
8182 ) -> alloy_sol_types::Result<Self::Return> {
8183 <Self::ReturnTuple<
8184 '_,
8185 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8186 .map(Into::into)
8187 }
8188 }
8189 };
8190 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8191 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8196 #[derive(Clone)]
8197 pub struct startCheckpointCall {
8198 #[allow(missing_docs)]
8199 pub revertIfNoBalance: bool,
8200 }
8201 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8203 #[derive(Clone)]
8204 pub struct startCheckpointReturn {}
8205 #[allow(
8206 non_camel_case_types,
8207 non_snake_case,
8208 clippy::pub_underscore_fields,
8209 clippy::style
8210 )]
8211 const _: () = {
8212 use alloy::sol_types as alloy_sol_types;
8213 {
8214 #[doc(hidden)]
8215 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
8216 #[doc(hidden)]
8217 type UnderlyingRustTuple<'a> = (bool,);
8218 #[cfg(test)]
8219 #[allow(dead_code, unreachable_patterns)]
8220 fn _type_assertion(
8221 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8222 ) {
8223 match _t {
8224 alloy_sol_types::private::AssertTypeEq::<
8225 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8226 >(_) => {}
8227 }
8228 }
8229 #[automatically_derived]
8230 #[doc(hidden)]
8231 impl ::core::convert::From<startCheckpointCall> for UnderlyingRustTuple<'_> {
8232 fn from(value: startCheckpointCall) -> Self {
8233 (value.revertIfNoBalance,)
8234 }
8235 }
8236 #[automatically_derived]
8237 #[doc(hidden)]
8238 impl ::core::convert::From<UnderlyingRustTuple<'_>> for startCheckpointCall {
8239 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8240 Self { revertIfNoBalance: tuple.0 }
8241 }
8242 }
8243 }
8244 {
8245 #[doc(hidden)]
8246 type UnderlyingSolTuple<'a> = ();
8247 #[doc(hidden)]
8248 type UnderlyingRustTuple<'a> = ();
8249 #[cfg(test)]
8250 #[allow(dead_code, unreachable_patterns)]
8251 fn _type_assertion(
8252 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8253 ) {
8254 match _t {
8255 alloy_sol_types::private::AssertTypeEq::<
8256 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8257 >(_) => {}
8258 }
8259 }
8260 #[automatically_derived]
8261 #[doc(hidden)]
8262 impl ::core::convert::From<startCheckpointReturn>
8263 for UnderlyingRustTuple<'_> {
8264 fn from(value: startCheckpointReturn) -> Self {
8265 ()
8266 }
8267 }
8268 #[automatically_derived]
8269 #[doc(hidden)]
8270 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8271 for startCheckpointReturn {
8272 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8273 Self {}
8274 }
8275 }
8276 }
8277 #[automatically_derived]
8278 impl alloy_sol_types::SolCall for startCheckpointCall {
8279 type Parameters<'a> = (alloy::sol_types::sol_data::Bool,);
8280 type Token<'a> = <Self::Parameters<
8281 'a,
8282 > as alloy_sol_types::SolType>::Token<'a>;
8283 type Return = startCheckpointReturn;
8284 type ReturnTuple<'a> = ();
8285 type ReturnToken<'a> = <Self::ReturnTuple<
8286 'a,
8287 > as alloy_sol_types::SolType>::Token<'a>;
8288 const SIGNATURE: &'static str = "startCheckpoint(bool)";
8289 const SELECTOR: [u8; 4] = [136u8, 103u8, 108u8, 173u8];
8290 #[inline]
8291 fn new<'a>(
8292 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8293 ) -> Self {
8294 tuple.into()
8295 }
8296 #[inline]
8297 fn tokenize(&self) -> Self::Token<'_> {
8298 (
8299 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
8300 &self.revertIfNoBalance,
8301 ),
8302 )
8303 }
8304 #[inline]
8305 fn abi_decode_returns(
8306 data: &[u8],
8307 validate: bool,
8308 ) -> alloy_sol_types::Result<Self::Return> {
8309 <Self::ReturnTuple<
8310 '_,
8311 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8312 .map(Into::into)
8313 }
8314 }
8315 };
8316 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8317 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8322 #[derive(Clone)]
8323 pub struct validatorPubkeyHashToInfoCall {
8324 #[allow(missing_docs)]
8325 pub validatorPubkeyHash: alloy::sol_types::private::FixedBytes<32>,
8326 }
8327 #[derive()]
8328 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8330 #[derive(Clone)]
8331 pub struct validatorPubkeyHashToInfoReturn {
8332 #[allow(missing_docs)]
8333 pub _0: <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType,
8334 }
8335 #[allow(
8336 non_camel_case_types,
8337 non_snake_case,
8338 clippy::pub_underscore_fields,
8339 clippy::style
8340 )]
8341 const _: () = {
8342 use alloy::sol_types as alloy_sol_types;
8343 {
8344 #[doc(hidden)]
8345 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8346 #[doc(hidden)]
8347 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
8348 #[cfg(test)]
8349 #[allow(dead_code, unreachable_patterns)]
8350 fn _type_assertion(
8351 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8352 ) {
8353 match _t {
8354 alloy_sol_types::private::AssertTypeEq::<
8355 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8356 >(_) => {}
8357 }
8358 }
8359 #[automatically_derived]
8360 #[doc(hidden)]
8361 impl ::core::convert::From<validatorPubkeyHashToInfoCall>
8362 for UnderlyingRustTuple<'_> {
8363 fn from(value: validatorPubkeyHashToInfoCall) -> Self {
8364 (value.validatorPubkeyHash,)
8365 }
8366 }
8367 #[automatically_derived]
8368 #[doc(hidden)]
8369 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8370 for validatorPubkeyHashToInfoCall {
8371 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8372 Self {
8373 validatorPubkeyHash: tuple.0,
8374 }
8375 }
8376 }
8377 }
8378 {
8379 #[doc(hidden)]
8380 type UnderlyingSolTuple<'a> = (IEigenPodTypes::ValidatorInfo,);
8381 #[doc(hidden)]
8382 type UnderlyingRustTuple<'a> = (
8383 <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType,
8384 );
8385 #[cfg(test)]
8386 #[allow(dead_code, unreachable_patterns)]
8387 fn _type_assertion(
8388 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8389 ) {
8390 match _t {
8391 alloy_sol_types::private::AssertTypeEq::<
8392 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8393 >(_) => {}
8394 }
8395 }
8396 #[automatically_derived]
8397 #[doc(hidden)]
8398 impl ::core::convert::From<validatorPubkeyHashToInfoReturn>
8399 for UnderlyingRustTuple<'_> {
8400 fn from(value: validatorPubkeyHashToInfoReturn) -> Self {
8401 (value._0,)
8402 }
8403 }
8404 #[automatically_derived]
8405 #[doc(hidden)]
8406 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8407 for validatorPubkeyHashToInfoReturn {
8408 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8409 Self { _0: tuple.0 }
8410 }
8411 }
8412 }
8413 #[automatically_derived]
8414 impl alloy_sol_types::SolCall for validatorPubkeyHashToInfoCall {
8415 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8416 type Token<'a> = <Self::Parameters<
8417 'a,
8418 > as alloy_sol_types::SolType>::Token<'a>;
8419 type Return = validatorPubkeyHashToInfoReturn;
8420 type ReturnTuple<'a> = (IEigenPodTypes::ValidatorInfo,);
8421 type ReturnToken<'a> = <Self::ReturnTuple<
8422 'a,
8423 > as alloy_sol_types::SolType>::Token<'a>;
8424 const SIGNATURE: &'static str = "validatorPubkeyHashToInfo(bytes32)";
8425 const SELECTOR: [u8; 4] = [111u8, 205u8, 14u8, 83u8];
8426 #[inline]
8427 fn new<'a>(
8428 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8429 ) -> Self {
8430 tuple.into()
8431 }
8432 #[inline]
8433 fn tokenize(&self) -> Self::Token<'_> {
8434 (
8435 <alloy::sol_types::sol_data::FixedBytes<
8436 32,
8437 > as alloy_sol_types::SolType>::tokenize(&self.validatorPubkeyHash),
8438 )
8439 }
8440 #[inline]
8441 fn abi_decode_returns(
8442 data: &[u8],
8443 validate: bool,
8444 ) -> alloy_sol_types::Result<Self::Return> {
8445 <Self::ReturnTuple<
8446 '_,
8447 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8448 .map(Into::into)
8449 }
8450 }
8451 };
8452 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8453 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8458 #[derive(Clone)]
8459 pub struct validatorPubkeyToInfoCall {
8460 #[allow(missing_docs)]
8461 pub validatorPubkey: alloy::sol_types::private::Bytes,
8462 }
8463 #[derive()]
8464 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8466 #[derive(Clone)]
8467 pub struct validatorPubkeyToInfoReturn {
8468 #[allow(missing_docs)]
8469 pub _0: <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType,
8470 }
8471 #[allow(
8472 non_camel_case_types,
8473 non_snake_case,
8474 clippy::pub_underscore_fields,
8475 clippy::style
8476 )]
8477 const _: () = {
8478 use alloy::sol_types as alloy_sol_types;
8479 {
8480 #[doc(hidden)]
8481 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bytes,);
8482 #[doc(hidden)]
8483 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Bytes,);
8484 #[cfg(test)]
8485 #[allow(dead_code, unreachable_patterns)]
8486 fn _type_assertion(
8487 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8488 ) {
8489 match _t {
8490 alloy_sol_types::private::AssertTypeEq::<
8491 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8492 >(_) => {}
8493 }
8494 }
8495 #[automatically_derived]
8496 #[doc(hidden)]
8497 impl ::core::convert::From<validatorPubkeyToInfoCall>
8498 for UnderlyingRustTuple<'_> {
8499 fn from(value: validatorPubkeyToInfoCall) -> Self {
8500 (value.validatorPubkey,)
8501 }
8502 }
8503 #[automatically_derived]
8504 #[doc(hidden)]
8505 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8506 for validatorPubkeyToInfoCall {
8507 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8508 Self { validatorPubkey: tuple.0 }
8509 }
8510 }
8511 }
8512 {
8513 #[doc(hidden)]
8514 type UnderlyingSolTuple<'a> = (IEigenPodTypes::ValidatorInfo,);
8515 #[doc(hidden)]
8516 type UnderlyingRustTuple<'a> = (
8517 <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType,
8518 );
8519 #[cfg(test)]
8520 #[allow(dead_code, unreachable_patterns)]
8521 fn _type_assertion(
8522 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8523 ) {
8524 match _t {
8525 alloy_sol_types::private::AssertTypeEq::<
8526 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8527 >(_) => {}
8528 }
8529 }
8530 #[automatically_derived]
8531 #[doc(hidden)]
8532 impl ::core::convert::From<validatorPubkeyToInfoReturn>
8533 for UnderlyingRustTuple<'_> {
8534 fn from(value: validatorPubkeyToInfoReturn) -> Self {
8535 (value._0,)
8536 }
8537 }
8538 #[automatically_derived]
8539 #[doc(hidden)]
8540 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8541 for validatorPubkeyToInfoReturn {
8542 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8543 Self { _0: tuple.0 }
8544 }
8545 }
8546 }
8547 #[automatically_derived]
8548 impl alloy_sol_types::SolCall for validatorPubkeyToInfoCall {
8549 type Parameters<'a> = (alloy::sol_types::sol_data::Bytes,);
8550 type Token<'a> = <Self::Parameters<
8551 'a,
8552 > as alloy_sol_types::SolType>::Token<'a>;
8553 type Return = validatorPubkeyToInfoReturn;
8554 type ReturnTuple<'a> = (IEigenPodTypes::ValidatorInfo,);
8555 type ReturnToken<'a> = <Self::ReturnTuple<
8556 'a,
8557 > as alloy_sol_types::SolType>::Token<'a>;
8558 const SIGNATURE: &'static str = "validatorPubkeyToInfo(bytes)";
8559 const SELECTOR: [u8; 4] = [181u8, 34u8, 83u8, 138u8];
8560 #[inline]
8561 fn new<'a>(
8562 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8563 ) -> Self {
8564 tuple.into()
8565 }
8566 #[inline]
8567 fn tokenize(&self) -> Self::Token<'_> {
8568 (
8569 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8570 &self.validatorPubkey,
8571 ),
8572 )
8573 }
8574 #[inline]
8575 fn abi_decode_returns(
8576 data: &[u8],
8577 validate: bool,
8578 ) -> alloy_sol_types::Result<Self::Return> {
8579 <Self::ReturnTuple<
8580 '_,
8581 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8582 .map(Into::into)
8583 }
8584 }
8585 };
8586 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8587 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8592 #[derive(Clone)]
8593 pub struct validatorStatus_0Call {
8594 #[allow(missing_docs)]
8595 pub validatorPubkey: alloy::sol_types::private::Bytes,
8596 }
8597 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8598 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8600 #[derive(Clone)]
8601 pub struct validatorStatus_0Return {
8602 #[allow(missing_docs)]
8603 pub _0: <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
8604 }
8605 #[allow(
8606 non_camel_case_types,
8607 non_snake_case,
8608 clippy::pub_underscore_fields,
8609 clippy::style
8610 )]
8611 const _: () = {
8612 use alloy::sol_types as alloy_sol_types;
8613 {
8614 #[doc(hidden)]
8615 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bytes,);
8616 #[doc(hidden)]
8617 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Bytes,);
8618 #[cfg(test)]
8619 #[allow(dead_code, unreachable_patterns)]
8620 fn _type_assertion(
8621 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8622 ) {
8623 match _t {
8624 alloy_sol_types::private::AssertTypeEq::<
8625 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8626 >(_) => {}
8627 }
8628 }
8629 #[automatically_derived]
8630 #[doc(hidden)]
8631 impl ::core::convert::From<validatorStatus_0Call>
8632 for UnderlyingRustTuple<'_> {
8633 fn from(value: validatorStatus_0Call) -> Self {
8634 (value.validatorPubkey,)
8635 }
8636 }
8637 #[automatically_derived]
8638 #[doc(hidden)]
8639 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8640 for validatorStatus_0Call {
8641 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8642 Self { validatorPubkey: tuple.0 }
8643 }
8644 }
8645 }
8646 {
8647 #[doc(hidden)]
8648 type UnderlyingSolTuple<'a> = (IEigenPodTypes::VALIDATOR_STATUS,);
8649 #[doc(hidden)]
8650 type UnderlyingRustTuple<'a> = (
8651 <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
8652 );
8653 #[cfg(test)]
8654 #[allow(dead_code, unreachable_patterns)]
8655 fn _type_assertion(
8656 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8657 ) {
8658 match _t {
8659 alloy_sol_types::private::AssertTypeEq::<
8660 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8661 >(_) => {}
8662 }
8663 }
8664 #[automatically_derived]
8665 #[doc(hidden)]
8666 impl ::core::convert::From<validatorStatus_0Return>
8667 for UnderlyingRustTuple<'_> {
8668 fn from(value: validatorStatus_0Return) -> Self {
8669 (value._0,)
8670 }
8671 }
8672 #[automatically_derived]
8673 #[doc(hidden)]
8674 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8675 for validatorStatus_0Return {
8676 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8677 Self { _0: tuple.0 }
8678 }
8679 }
8680 }
8681 #[automatically_derived]
8682 impl alloy_sol_types::SolCall for validatorStatus_0Call {
8683 type Parameters<'a> = (alloy::sol_types::sol_data::Bytes,);
8684 type Token<'a> = <Self::Parameters<
8685 'a,
8686 > as alloy_sol_types::SolType>::Token<'a>;
8687 type Return = validatorStatus_0Return;
8688 type ReturnTuple<'a> = (IEigenPodTypes::VALIDATOR_STATUS,);
8689 type ReturnToken<'a> = <Self::ReturnTuple<
8690 'a,
8691 > as alloy_sol_types::SolType>::Token<'a>;
8692 const SIGNATURE: &'static str = "validatorStatus(bytes)";
8693 const SELECTOR: [u8; 4] = [88u8, 234u8, 238u8, 121u8];
8694 #[inline]
8695 fn new<'a>(
8696 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8697 ) -> Self {
8698 tuple.into()
8699 }
8700 #[inline]
8701 fn tokenize(&self) -> Self::Token<'_> {
8702 (
8703 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8704 &self.validatorPubkey,
8705 ),
8706 )
8707 }
8708 #[inline]
8709 fn abi_decode_returns(
8710 data: &[u8],
8711 validate: bool,
8712 ) -> alloy_sol_types::Result<Self::Return> {
8713 <Self::ReturnTuple<
8714 '_,
8715 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8716 .map(Into::into)
8717 }
8718 }
8719 };
8720 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8721 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8726 #[derive(Clone)]
8727 pub struct validatorStatus_1Call {
8728 #[allow(missing_docs)]
8729 pub pubkeyHash: alloy::sol_types::private::FixedBytes<32>,
8730 }
8731 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8732 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8734 #[derive(Clone)]
8735 pub struct validatorStatus_1Return {
8736 #[allow(missing_docs)]
8737 pub _0: <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
8738 }
8739 #[allow(
8740 non_camel_case_types,
8741 non_snake_case,
8742 clippy::pub_underscore_fields,
8743 clippy::style
8744 )]
8745 const _: () = {
8746 use alloy::sol_types as alloy_sol_types;
8747 {
8748 #[doc(hidden)]
8749 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8750 #[doc(hidden)]
8751 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
8752 #[cfg(test)]
8753 #[allow(dead_code, unreachable_patterns)]
8754 fn _type_assertion(
8755 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8756 ) {
8757 match _t {
8758 alloy_sol_types::private::AssertTypeEq::<
8759 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8760 >(_) => {}
8761 }
8762 }
8763 #[automatically_derived]
8764 #[doc(hidden)]
8765 impl ::core::convert::From<validatorStatus_1Call>
8766 for UnderlyingRustTuple<'_> {
8767 fn from(value: validatorStatus_1Call) -> Self {
8768 (value.pubkeyHash,)
8769 }
8770 }
8771 #[automatically_derived]
8772 #[doc(hidden)]
8773 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8774 for validatorStatus_1Call {
8775 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8776 Self { pubkeyHash: tuple.0 }
8777 }
8778 }
8779 }
8780 {
8781 #[doc(hidden)]
8782 type UnderlyingSolTuple<'a> = (IEigenPodTypes::VALIDATOR_STATUS,);
8783 #[doc(hidden)]
8784 type UnderlyingRustTuple<'a> = (
8785 <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
8786 );
8787 #[cfg(test)]
8788 #[allow(dead_code, unreachable_patterns)]
8789 fn _type_assertion(
8790 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8791 ) {
8792 match _t {
8793 alloy_sol_types::private::AssertTypeEq::<
8794 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8795 >(_) => {}
8796 }
8797 }
8798 #[automatically_derived]
8799 #[doc(hidden)]
8800 impl ::core::convert::From<validatorStatus_1Return>
8801 for UnderlyingRustTuple<'_> {
8802 fn from(value: validatorStatus_1Return) -> Self {
8803 (value._0,)
8804 }
8805 }
8806 #[automatically_derived]
8807 #[doc(hidden)]
8808 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8809 for validatorStatus_1Return {
8810 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8811 Self { _0: tuple.0 }
8812 }
8813 }
8814 }
8815 #[automatically_derived]
8816 impl alloy_sol_types::SolCall for validatorStatus_1Call {
8817 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8818 type Token<'a> = <Self::Parameters<
8819 'a,
8820 > as alloy_sol_types::SolType>::Token<'a>;
8821 type Return = validatorStatus_1Return;
8822 type ReturnTuple<'a> = (IEigenPodTypes::VALIDATOR_STATUS,);
8823 type ReturnToken<'a> = <Self::ReturnTuple<
8824 'a,
8825 > as alloy_sol_types::SolType>::Token<'a>;
8826 const SIGNATURE: &'static str = "validatorStatus(bytes32)";
8827 const SELECTOR: [u8; 4] = [116u8, 57u8, 132u8, 31u8];
8828 #[inline]
8829 fn new<'a>(
8830 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8831 ) -> Self {
8832 tuple.into()
8833 }
8834 #[inline]
8835 fn tokenize(&self) -> Self::Token<'_> {
8836 (
8837 <alloy::sol_types::sol_data::FixedBytes<
8838 32,
8839 > as alloy_sol_types::SolType>::tokenize(&self.pubkeyHash),
8840 )
8841 }
8842 #[inline]
8843 fn abi_decode_returns(
8844 data: &[u8],
8845 validate: bool,
8846 ) -> alloy_sol_types::Result<Self::Return> {
8847 <Self::ReturnTuple<
8848 '_,
8849 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8850 .map(Into::into)
8851 }
8852 }
8853 };
8854 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8855 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8860 #[derive(Clone)]
8861 pub struct verifyCheckpointProofsCall {
8862 #[allow(missing_docs)]
8863 pub balanceContainerProof: <BeaconChainProofs::BalanceContainerProof as alloy::sol_types::SolType>::RustType,
8864 #[allow(missing_docs)]
8865 pub proofs: alloy::sol_types::private::Vec<
8866 <BeaconChainProofs::BalanceProof as alloy::sol_types::SolType>::RustType,
8867 >,
8868 }
8869 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8871 #[derive(Clone)]
8872 pub struct verifyCheckpointProofsReturn {}
8873 #[allow(
8874 non_camel_case_types,
8875 non_snake_case,
8876 clippy::pub_underscore_fields,
8877 clippy::style
8878 )]
8879 const _: () = {
8880 use alloy::sol_types as alloy_sol_types;
8881 {
8882 #[doc(hidden)]
8883 type UnderlyingSolTuple<'a> = (
8884 BeaconChainProofs::BalanceContainerProof,
8885 alloy::sol_types::sol_data::Array<BeaconChainProofs::BalanceProof>,
8886 );
8887 #[doc(hidden)]
8888 type UnderlyingRustTuple<'a> = (
8889 <BeaconChainProofs::BalanceContainerProof as alloy::sol_types::SolType>::RustType,
8890 alloy::sol_types::private::Vec<
8891 <BeaconChainProofs::BalanceProof as alloy::sol_types::SolType>::RustType,
8892 >,
8893 );
8894 #[cfg(test)]
8895 #[allow(dead_code, unreachable_patterns)]
8896 fn _type_assertion(
8897 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8898 ) {
8899 match _t {
8900 alloy_sol_types::private::AssertTypeEq::<
8901 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8902 >(_) => {}
8903 }
8904 }
8905 #[automatically_derived]
8906 #[doc(hidden)]
8907 impl ::core::convert::From<verifyCheckpointProofsCall>
8908 for UnderlyingRustTuple<'_> {
8909 fn from(value: verifyCheckpointProofsCall) -> Self {
8910 (value.balanceContainerProof, value.proofs)
8911 }
8912 }
8913 #[automatically_derived]
8914 #[doc(hidden)]
8915 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8916 for verifyCheckpointProofsCall {
8917 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8918 Self {
8919 balanceContainerProof: tuple.0,
8920 proofs: tuple.1,
8921 }
8922 }
8923 }
8924 }
8925 {
8926 #[doc(hidden)]
8927 type UnderlyingSolTuple<'a> = ();
8928 #[doc(hidden)]
8929 type UnderlyingRustTuple<'a> = ();
8930 #[cfg(test)]
8931 #[allow(dead_code, unreachable_patterns)]
8932 fn _type_assertion(
8933 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8934 ) {
8935 match _t {
8936 alloy_sol_types::private::AssertTypeEq::<
8937 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8938 >(_) => {}
8939 }
8940 }
8941 #[automatically_derived]
8942 #[doc(hidden)]
8943 impl ::core::convert::From<verifyCheckpointProofsReturn>
8944 for UnderlyingRustTuple<'_> {
8945 fn from(value: verifyCheckpointProofsReturn) -> Self {
8946 ()
8947 }
8948 }
8949 #[automatically_derived]
8950 #[doc(hidden)]
8951 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8952 for verifyCheckpointProofsReturn {
8953 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8954 Self {}
8955 }
8956 }
8957 }
8958 #[automatically_derived]
8959 impl alloy_sol_types::SolCall for verifyCheckpointProofsCall {
8960 type Parameters<'a> = (
8961 BeaconChainProofs::BalanceContainerProof,
8962 alloy::sol_types::sol_data::Array<BeaconChainProofs::BalanceProof>,
8963 );
8964 type Token<'a> = <Self::Parameters<
8965 'a,
8966 > as alloy_sol_types::SolType>::Token<'a>;
8967 type Return = verifyCheckpointProofsReturn;
8968 type ReturnTuple<'a> = ();
8969 type ReturnToken<'a> = <Self::ReturnTuple<
8970 'a,
8971 > as alloy_sol_types::SolType>::Token<'a>;
8972 const SIGNATURE: &'static str = "verifyCheckpointProofs((bytes32,bytes),(bytes32,bytes32,bytes)[])";
8973 const SELECTOR: [u8; 4] = [240u8, 116u8, 186u8, 98u8];
8974 #[inline]
8975 fn new<'a>(
8976 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8977 ) -> Self {
8978 tuple.into()
8979 }
8980 #[inline]
8981 fn tokenize(&self) -> Self::Token<'_> {
8982 (
8983 <BeaconChainProofs::BalanceContainerProof as alloy_sol_types::SolType>::tokenize(
8984 &self.balanceContainerProof,
8985 ),
8986 <alloy::sol_types::sol_data::Array<
8987 BeaconChainProofs::BalanceProof,
8988 > as alloy_sol_types::SolType>::tokenize(&self.proofs),
8989 )
8990 }
8991 #[inline]
8992 fn abi_decode_returns(
8993 data: &[u8],
8994 validate: bool,
8995 ) -> alloy_sol_types::Result<Self::Return> {
8996 <Self::ReturnTuple<
8997 '_,
8998 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8999 .map(Into::into)
9000 }
9001 }
9002 };
9003 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9004 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9009 #[derive(Clone)]
9010 pub struct verifyStaleBalanceCall {
9011 #[allow(missing_docs)]
9012 pub beaconTimestamp: u64,
9013 #[allow(missing_docs)]
9014 pub stateRootProof: <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
9015 #[allow(missing_docs)]
9016 pub proof: <BeaconChainProofs::ValidatorProof as alloy::sol_types::SolType>::RustType,
9017 }
9018 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9020 #[derive(Clone)]
9021 pub struct verifyStaleBalanceReturn {}
9022 #[allow(
9023 non_camel_case_types,
9024 non_snake_case,
9025 clippy::pub_underscore_fields,
9026 clippy::style
9027 )]
9028 const _: () = {
9029 use alloy::sol_types as alloy_sol_types;
9030 {
9031 #[doc(hidden)]
9032 type UnderlyingSolTuple<'a> = (
9033 alloy::sol_types::sol_data::Uint<64>,
9034 BeaconChainProofs::StateRootProof,
9035 BeaconChainProofs::ValidatorProof,
9036 );
9037 #[doc(hidden)]
9038 type UnderlyingRustTuple<'a> = (
9039 u64,
9040 <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
9041 <BeaconChainProofs::ValidatorProof as alloy::sol_types::SolType>::RustType,
9042 );
9043 #[cfg(test)]
9044 #[allow(dead_code, unreachable_patterns)]
9045 fn _type_assertion(
9046 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9047 ) {
9048 match _t {
9049 alloy_sol_types::private::AssertTypeEq::<
9050 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9051 >(_) => {}
9052 }
9053 }
9054 #[automatically_derived]
9055 #[doc(hidden)]
9056 impl ::core::convert::From<verifyStaleBalanceCall>
9057 for UnderlyingRustTuple<'_> {
9058 fn from(value: verifyStaleBalanceCall) -> Self {
9059 (value.beaconTimestamp, value.stateRootProof, value.proof)
9060 }
9061 }
9062 #[automatically_derived]
9063 #[doc(hidden)]
9064 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9065 for verifyStaleBalanceCall {
9066 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9067 Self {
9068 beaconTimestamp: tuple.0,
9069 stateRootProof: tuple.1,
9070 proof: tuple.2,
9071 }
9072 }
9073 }
9074 }
9075 {
9076 #[doc(hidden)]
9077 type UnderlyingSolTuple<'a> = ();
9078 #[doc(hidden)]
9079 type UnderlyingRustTuple<'a> = ();
9080 #[cfg(test)]
9081 #[allow(dead_code, unreachable_patterns)]
9082 fn _type_assertion(
9083 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9084 ) {
9085 match _t {
9086 alloy_sol_types::private::AssertTypeEq::<
9087 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9088 >(_) => {}
9089 }
9090 }
9091 #[automatically_derived]
9092 #[doc(hidden)]
9093 impl ::core::convert::From<verifyStaleBalanceReturn>
9094 for UnderlyingRustTuple<'_> {
9095 fn from(value: verifyStaleBalanceReturn) -> Self {
9096 ()
9097 }
9098 }
9099 #[automatically_derived]
9100 #[doc(hidden)]
9101 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9102 for verifyStaleBalanceReturn {
9103 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9104 Self {}
9105 }
9106 }
9107 }
9108 #[automatically_derived]
9109 impl alloy_sol_types::SolCall for verifyStaleBalanceCall {
9110 type Parameters<'a> = (
9111 alloy::sol_types::sol_data::Uint<64>,
9112 BeaconChainProofs::StateRootProof,
9113 BeaconChainProofs::ValidatorProof,
9114 );
9115 type Token<'a> = <Self::Parameters<
9116 'a,
9117 > as alloy_sol_types::SolType>::Token<'a>;
9118 type Return = verifyStaleBalanceReturn;
9119 type ReturnTuple<'a> = ();
9120 type ReturnToken<'a> = <Self::ReturnTuple<
9121 'a,
9122 > as alloy_sol_types::SolType>::Token<'a>;
9123 const SIGNATURE: &'static str = "verifyStaleBalance(uint64,(bytes32,bytes),(bytes32[],bytes))";
9124 const SELECTOR: [u8; 4] = [3u8, 145u8, 87u8, 210u8];
9125 #[inline]
9126 fn new<'a>(
9127 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9128 ) -> Self {
9129 tuple.into()
9130 }
9131 #[inline]
9132 fn tokenize(&self) -> Self::Token<'_> {
9133 (
9134 <alloy::sol_types::sol_data::Uint<
9135 64,
9136 > as alloy_sol_types::SolType>::tokenize(&self.beaconTimestamp),
9137 <BeaconChainProofs::StateRootProof as alloy_sol_types::SolType>::tokenize(
9138 &self.stateRootProof,
9139 ),
9140 <BeaconChainProofs::ValidatorProof as alloy_sol_types::SolType>::tokenize(
9141 &self.proof,
9142 ),
9143 )
9144 }
9145 #[inline]
9146 fn abi_decode_returns(
9147 data: &[u8],
9148 validate: bool,
9149 ) -> alloy_sol_types::Result<Self::Return> {
9150 <Self::ReturnTuple<
9151 '_,
9152 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9153 .map(Into::into)
9154 }
9155 }
9156 };
9157 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9158 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9163 #[derive(Clone)]
9164 pub struct verifyWithdrawalCredentialsCall {
9165 #[allow(missing_docs)]
9166 pub beaconTimestamp: u64,
9167 #[allow(missing_docs)]
9168 pub stateRootProof: <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
9169 #[allow(missing_docs)]
9170 pub validatorIndices: alloy::sol_types::private::Vec<
9171 alloy::sol_types::private::primitives::aliases::U40,
9172 >,
9173 #[allow(missing_docs)]
9174 pub validatorFieldsProofs: alloy::sol_types::private::Vec<
9175 alloy::sol_types::private::Bytes,
9176 >,
9177 #[allow(missing_docs)]
9178 pub validatorFields: alloy::sol_types::private::Vec<
9179 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
9180 >,
9181 }
9182 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9184 #[derive(Clone)]
9185 pub struct verifyWithdrawalCredentialsReturn {}
9186 #[allow(
9187 non_camel_case_types,
9188 non_snake_case,
9189 clippy::pub_underscore_fields,
9190 clippy::style
9191 )]
9192 const _: () = {
9193 use alloy::sol_types as alloy_sol_types;
9194 {
9195 #[doc(hidden)]
9196 type UnderlyingSolTuple<'a> = (
9197 alloy::sol_types::sol_data::Uint<64>,
9198 BeaconChainProofs::StateRootProof,
9199 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<40>>,
9200 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bytes>,
9201 alloy::sol_types::sol_data::Array<
9202 alloy::sol_types::sol_data::Array<
9203 alloy::sol_types::sol_data::FixedBytes<32>,
9204 >,
9205 >,
9206 );
9207 #[doc(hidden)]
9208 type UnderlyingRustTuple<'a> = (
9209 u64,
9210 <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
9211 alloy::sol_types::private::Vec<
9212 alloy::sol_types::private::primitives::aliases::U40,
9213 >,
9214 alloy::sol_types::private::Vec<alloy::sol_types::private::Bytes>,
9215 alloy::sol_types::private::Vec<
9216 alloy::sol_types::private::Vec<
9217 alloy::sol_types::private::FixedBytes<32>,
9218 >,
9219 >,
9220 );
9221 #[cfg(test)]
9222 #[allow(dead_code, unreachable_patterns)]
9223 fn _type_assertion(
9224 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9225 ) {
9226 match _t {
9227 alloy_sol_types::private::AssertTypeEq::<
9228 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9229 >(_) => {}
9230 }
9231 }
9232 #[automatically_derived]
9233 #[doc(hidden)]
9234 impl ::core::convert::From<verifyWithdrawalCredentialsCall>
9235 for UnderlyingRustTuple<'_> {
9236 fn from(value: verifyWithdrawalCredentialsCall) -> Self {
9237 (
9238 value.beaconTimestamp,
9239 value.stateRootProof,
9240 value.validatorIndices,
9241 value.validatorFieldsProofs,
9242 value.validatorFields,
9243 )
9244 }
9245 }
9246 #[automatically_derived]
9247 #[doc(hidden)]
9248 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9249 for verifyWithdrawalCredentialsCall {
9250 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9251 Self {
9252 beaconTimestamp: tuple.0,
9253 stateRootProof: tuple.1,
9254 validatorIndices: tuple.2,
9255 validatorFieldsProofs: tuple.3,
9256 validatorFields: tuple.4,
9257 }
9258 }
9259 }
9260 }
9261 {
9262 #[doc(hidden)]
9263 type UnderlyingSolTuple<'a> = ();
9264 #[doc(hidden)]
9265 type UnderlyingRustTuple<'a> = ();
9266 #[cfg(test)]
9267 #[allow(dead_code, unreachable_patterns)]
9268 fn _type_assertion(
9269 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9270 ) {
9271 match _t {
9272 alloy_sol_types::private::AssertTypeEq::<
9273 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9274 >(_) => {}
9275 }
9276 }
9277 #[automatically_derived]
9278 #[doc(hidden)]
9279 impl ::core::convert::From<verifyWithdrawalCredentialsReturn>
9280 for UnderlyingRustTuple<'_> {
9281 fn from(value: verifyWithdrawalCredentialsReturn) -> Self {
9282 ()
9283 }
9284 }
9285 #[automatically_derived]
9286 #[doc(hidden)]
9287 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9288 for verifyWithdrawalCredentialsReturn {
9289 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9290 Self {}
9291 }
9292 }
9293 }
9294 #[automatically_derived]
9295 impl alloy_sol_types::SolCall for verifyWithdrawalCredentialsCall {
9296 type Parameters<'a> = (
9297 alloy::sol_types::sol_data::Uint<64>,
9298 BeaconChainProofs::StateRootProof,
9299 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<40>>,
9300 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bytes>,
9301 alloy::sol_types::sol_data::Array<
9302 alloy::sol_types::sol_data::Array<
9303 alloy::sol_types::sol_data::FixedBytes<32>,
9304 >,
9305 >,
9306 );
9307 type Token<'a> = <Self::Parameters<
9308 'a,
9309 > as alloy_sol_types::SolType>::Token<'a>;
9310 type Return = verifyWithdrawalCredentialsReturn;
9311 type ReturnTuple<'a> = ();
9312 type ReturnToken<'a> = <Self::ReturnTuple<
9313 'a,
9314 > as alloy_sol_types::SolType>::Token<'a>;
9315 const SIGNATURE: &'static str = "verifyWithdrawalCredentials(uint64,(bytes32,bytes),uint40[],bytes[],bytes32[][])";
9316 const SELECTOR: [u8; 4] = [63u8, 101u8, 207u8, 25u8];
9317 #[inline]
9318 fn new<'a>(
9319 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9320 ) -> Self {
9321 tuple.into()
9322 }
9323 #[inline]
9324 fn tokenize(&self) -> Self::Token<'_> {
9325 (
9326 <alloy::sol_types::sol_data::Uint<
9327 64,
9328 > as alloy_sol_types::SolType>::tokenize(&self.beaconTimestamp),
9329 <BeaconChainProofs::StateRootProof as alloy_sol_types::SolType>::tokenize(
9330 &self.stateRootProof,
9331 ),
9332 <alloy::sol_types::sol_data::Array<
9333 alloy::sol_types::sol_data::Uint<40>,
9334 > as alloy_sol_types::SolType>::tokenize(&self.validatorIndices),
9335 <alloy::sol_types::sol_data::Array<
9336 alloy::sol_types::sol_data::Bytes,
9337 > as alloy_sol_types::SolType>::tokenize(
9338 &self.validatorFieldsProofs,
9339 ),
9340 <alloy::sol_types::sol_data::Array<
9341 alloy::sol_types::sol_data::Array<
9342 alloy::sol_types::sol_data::FixedBytes<32>,
9343 >,
9344 > as alloy_sol_types::SolType>::tokenize(&self.validatorFields),
9345 )
9346 }
9347 #[inline]
9348 fn abi_decode_returns(
9349 data: &[u8],
9350 validate: bool,
9351 ) -> alloy_sol_types::Result<Self::Return> {
9352 <Self::ReturnTuple<
9353 '_,
9354 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9355 .map(Into::into)
9356 }
9357 }
9358 };
9359 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9360 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9365 #[derive(Clone)]
9366 pub struct versionCall {}
9367 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9368 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9370 #[derive(Clone)]
9371 pub struct versionReturn {
9372 #[allow(missing_docs)]
9373 pub _0: alloy::sol_types::private::String,
9374 }
9375 #[allow(
9376 non_camel_case_types,
9377 non_snake_case,
9378 clippy::pub_underscore_fields,
9379 clippy::style
9380 )]
9381 const _: () = {
9382 use alloy::sol_types as alloy_sol_types;
9383 {
9384 #[doc(hidden)]
9385 type UnderlyingSolTuple<'a> = ();
9386 #[doc(hidden)]
9387 type UnderlyingRustTuple<'a> = ();
9388 #[cfg(test)]
9389 #[allow(dead_code, unreachable_patterns)]
9390 fn _type_assertion(
9391 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9392 ) {
9393 match _t {
9394 alloy_sol_types::private::AssertTypeEq::<
9395 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9396 >(_) => {}
9397 }
9398 }
9399 #[automatically_derived]
9400 #[doc(hidden)]
9401 impl ::core::convert::From<versionCall> for UnderlyingRustTuple<'_> {
9402 fn from(value: versionCall) -> Self {
9403 ()
9404 }
9405 }
9406 #[automatically_derived]
9407 #[doc(hidden)]
9408 impl ::core::convert::From<UnderlyingRustTuple<'_>> for versionCall {
9409 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9410 Self {}
9411 }
9412 }
9413 }
9414 {
9415 #[doc(hidden)]
9416 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
9417 #[doc(hidden)]
9418 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
9419 #[cfg(test)]
9420 #[allow(dead_code, unreachable_patterns)]
9421 fn _type_assertion(
9422 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9423 ) {
9424 match _t {
9425 alloy_sol_types::private::AssertTypeEq::<
9426 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9427 >(_) => {}
9428 }
9429 }
9430 #[automatically_derived]
9431 #[doc(hidden)]
9432 impl ::core::convert::From<versionReturn> for UnderlyingRustTuple<'_> {
9433 fn from(value: versionReturn) -> Self {
9434 (value._0,)
9435 }
9436 }
9437 #[automatically_derived]
9438 #[doc(hidden)]
9439 impl ::core::convert::From<UnderlyingRustTuple<'_>> for versionReturn {
9440 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9441 Self { _0: tuple.0 }
9442 }
9443 }
9444 }
9445 #[automatically_derived]
9446 impl alloy_sol_types::SolCall for versionCall {
9447 type Parameters<'a> = ();
9448 type Token<'a> = <Self::Parameters<
9449 'a,
9450 > as alloy_sol_types::SolType>::Token<'a>;
9451 type Return = versionReturn;
9452 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
9453 type ReturnToken<'a> = <Self::ReturnTuple<
9454 'a,
9455 > as alloy_sol_types::SolType>::Token<'a>;
9456 const SIGNATURE: &'static str = "version()";
9457 const SELECTOR: [u8; 4] = [84u8, 253u8, 77u8, 80u8];
9458 #[inline]
9459 fn new<'a>(
9460 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9461 ) -> Self {
9462 tuple.into()
9463 }
9464 #[inline]
9465 fn tokenize(&self) -> Self::Token<'_> {
9466 ()
9467 }
9468 #[inline]
9469 fn abi_decode_returns(
9470 data: &[u8],
9471 validate: bool,
9472 ) -> alloy_sol_types::Result<Self::Return> {
9473 <Self::ReturnTuple<
9474 '_,
9475 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9476 .map(Into::into)
9477 }
9478 }
9479 };
9480 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9481 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9486 #[derive(Clone)]
9487 pub struct withdrawRestakedBeaconChainETHCall {
9488 #[allow(missing_docs)]
9489 pub recipient: alloy::sol_types::private::Address,
9490 #[allow(missing_docs)]
9491 pub amountWei: alloy::sol_types::private::primitives::aliases::U256,
9492 }
9493 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9495 #[derive(Clone)]
9496 pub struct withdrawRestakedBeaconChainETHReturn {}
9497 #[allow(
9498 non_camel_case_types,
9499 non_snake_case,
9500 clippy::pub_underscore_fields,
9501 clippy::style
9502 )]
9503 const _: () = {
9504 use alloy::sol_types as alloy_sol_types;
9505 {
9506 #[doc(hidden)]
9507 type UnderlyingSolTuple<'a> = (
9508 alloy::sol_types::sol_data::Address,
9509 alloy::sol_types::sol_data::Uint<256>,
9510 );
9511 #[doc(hidden)]
9512 type UnderlyingRustTuple<'a> = (
9513 alloy::sol_types::private::Address,
9514 alloy::sol_types::private::primitives::aliases::U256,
9515 );
9516 #[cfg(test)]
9517 #[allow(dead_code, unreachable_patterns)]
9518 fn _type_assertion(
9519 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9520 ) {
9521 match _t {
9522 alloy_sol_types::private::AssertTypeEq::<
9523 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9524 >(_) => {}
9525 }
9526 }
9527 #[automatically_derived]
9528 #[doc(hidden)]
9529 impl ::core::convert::From<withdrawRestakedBeaconChainETHCall>
9530 for UnderlyingRustTuple<'_> {
9531 fn from(value: withdrawRestakedBeaconChainETHCall) -> Self {
9532 (value.recipient, value.amountWei)
9533 }
9534 }
9535 #[automatically_derived]
9536 #[doc(hidden)]
9537 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9538 for withdrawRestakedBeaconChainETHCall {
9539 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9540 Self {
9541 recipient: tuple.0,
9542 amountWei: tuple.1,
9543 }
9544 }
9545 }
9546 }
9547 {
9548 #[doc(hidden)]
9549 type UnderlyingSolTuple<'a> = ();
9550 #[doc(hidden)]
9551 type UnderlyingRustTuple<'a> = ();
9552 #[cfg(test)]
9553 #[allow(dead_code, unreachable_patterns)]
9554 fn _type_assertion(
9555 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9556 ) {
9557 match _t {
9558 alloy_sol_types::private::AssertTypeEq::<
9559 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9560 >(_) => {}
9561 }
9562 }
9563 #[automatically_derived]
9564 #[doc(hidden)]
9565 impl ::core::convert::From<withdrawRestakedBeaconChainETHReturn>
9566 for UnderlyingRustTuple<'_> {
9567 fn from(value: withdrawRestakedBeaconChainETHReturn) -> Self {
9568 ()
9569 }
9570 }
9571 #[automatically_derived]
9572 #[doc(hidden)]
9573 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9574 for withdrawRestakedBeaconChainETHReturn {
9575 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9576 Self {}
9577 }
9578 }
9579 }
9580 #[automatically_derived]
9581 impl alloy_sol_types::SolCall for withdrawRestakedBeaconChainETHCall {
9582 type Parameters<'a> = (
9583 alloy::sol_types::sol_data::Address,
9584 alloy::sol_types::sol_data::Uint<256>,
9585 );
9586 type Token<'a> = <Self::Parameters<
9587 'a,
9588 > as alloy_sol_types::SolType>::Token<'a>;
9589 type Return = withdrawRestakedBeaconChainETHReturn;
9590 type ReturnTuple<'a> = ();
9591 type ReturnToken<'a> = <Self::ReturnTuple<
9592 'a,
9593 > as alloy_sol_types::SolType>::Token<'a>;
9594 const SIGNATURE: &'static str = "withdrawRestakedBeaconChainETH(address,uint256)";
9595 const SELECTOR: [u8; 4] = [196u8, 144u8, 116u8, 66u8];
9596 #[inline]
9597 fn new<'a>(
9598 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9599 ) -> Self {
9600 tuple.into()
9601 }
9602 #[inline]
9603 fn tokenize(&self) -> Self::Token<'_> {
9604 (
9605 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9606 &self.recipient,
9607 ),
9608 <alloy::sol_types::sol_data::Uint<
9609 256,
9610 > as alloy_sol_types::SolType>::tokenize(&self.amountWei),
9611 )
9612 }
9613 #[inline]
9614 fn abi_decode_returns(
9615 data: &[u8],
9616 validate: bool,
9617 ) -> alloy_sol_types::Result<Self::Return> {
9618 <Self::ReturnTuple<
9619 '_,
9620 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9621 .map(Into::into)
9622 }
9623 }
9624 };
9625 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9626 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9631 #[derive(Clone)]
9632 pub struct withdrawableRestakedExecutionLayerGweiCall {}
9633 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9634 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9636 #[derive(Clone)]
9637 pub struct withdrawableRestakedExecutionLayerGweiReturn {
9638 #[allow(missing_docs)]
9639 pub _0: u64,
9640 }
9641 #[allow(
9642 non_camel_case_types,
9643 non_snake_case,
9644 clippy::pub_underscore_fields,
9645 clippy::style
9646 )]
9647 const _: () = {
9648 use alloy::sol_types as alloy_sol_types;
9649 {
9650 #[doc(hidden)]
9651 type UnderlyingSolTuple<'a> = ();
9652 #[doc(hidden)]
9653 type UnderlyingRustTuple<'a> = ();
9654 #[cfg(test)]
9655 #[allow(dead_code, unreachable_patterns)]
9656 fn _type_assertion(
9657 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9658 ) {
9659 match _t {
9660 alloy_sol_types::private::AssertTypeEq::<
9661 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9662 >(_) => {}
9663 }
9664 }
9665 #[automatically_derived]
9666 #[doc(hidden)]
9667 impl ::core::convert::From<withdrawableRestakedExecutionLayerGweiCall>
9668 for UnderlyingRustTuple<'_> {
9669 fn from(value: withdrawableRestakedExecutionLayerGweiCall) -> Self {
9670 ()
9671 }
9672 }
9673 #[automatically_derived]
9674 #[doc(hidden)]
9675 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9676 for withdrawableRestakedExecutionLayerGweiCall {
9677 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9678 Self {}
9679 }
9680 }
9681 }
9682 {
9683 #[doc(hidden)]
9684 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
9685 #[doc(hidden)]
9686 type UnderlyingRustTuple<'a> = (u64,);
9687 #[cfg(test)]
9688 #[allow(dead_code, unreachable_patterns)]
9689 fn _type_assertion(
9690 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9691 ) {
9692 match _t {
9693 alloy_sol_types::private::AssertTypeEq::<
9694 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9695 >(_) => {}
9696 }
9697 }
9698 #[automatically_derived]
9699 #[doc(hidden)]
9700 impl ::core::convert::From<withdrawableRestakedExecutionLayerGweiReturn>
9701 for UnderlyingRustTuple<'_> {
9702 fn from(value: withdrawableRestakedExecutionLayerGweiReturn) -> Self {
9703 (value._0,)
9704 }
9705 }
9706 #[automatically_derived]
9707 #[doc(hidden)]
9708 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9709 for withdrawableRestakedExecutionLayerGweiReturn {
9710 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9711 Self { _0: tuple.0 }
9712 }
9713 }
9714 }
9715 #[automatically_derived]
9716 impl alloy_sol_types::SolCall for withdrawableRestakedExecutionLayerGweiCall {
9717 type Parameters<'a> = ();
9718 type Token<'a> = <Self::Parameters<
9719 'a,
9720 > as alloy_sol_types::SolType>::Token<'a>;
9721 type Return = withdrawableRestakedExecutionLayerGweiReturn;
9722 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
9723 type ReturnToken<'a> = <Self::ReturnTuple<
9724 'a,
9725 > as alloy_sol_types::SolType>::Token<'a>;
9726 const SIGNATURE: &'static str = "withdrawableRestakedExecutionLayerGwei()";
9727 const SELECTOR: [u8; 4] = [52u8, 116u8, 170u8, 22u8];
9728 #[inline]
9729 fn new<'a>(
9730 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9731 ) -> Self {
9732 tuple.into()
9733 }
9734 #[inline]
9735 fn tokenize(&self) -> Self::Token<'_> {
9736 ()
9737 }
9738 #[inline]
9739 fn abi_decode_returns(
9740 data: &[u8],
9741 validate: bool,
9742 ) -> alloy_sol_types::Result<Self::Return> {
9743 <Self::ReturnTuple<
9744 '_,
9745 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9746 .map(Into::into)
9747 }
9748 }
9749 };
9750 #[derive()]
9752 pub enum EigenPodCalls {
9753 #[allow(missing_docs)]
9754 GENESIS_TIME(GENESIS_TIMECall),
9755 #[allow(missing_docs)]
9756 activeValidatorCount(activeValidatorCountCall),
9757 #[allow(missing_docs)]
9758 checkpointBalanceExitedGwei(checkpointBalanceExitedGweiCall),
9759 #[allow(missing_docs)]
9760 currentCheckpoint(currentCheckpointCall),
9761 #[allow(missing_docs)]
9762 currentCheckpointTimestamp(currentCheckpointTimestampCall),
9763 #[allow(missing_docs)]
9764 eigenPodManager(eigenPodManagerCall),
9765 #[allow(missing_docs)]
9766 ethPOS(ethPOSCall),
9767 #[allow(missing_docs)]
9768 getParentBlockRoot(getParentBlockRootCall),
9769 #[allow(missing_docs)]
9770 initialize(initializeCall),
9771 #[allow(missing_docs)]
9772 lastCheckpointTimestamp(lastCheckpointTimestampCall),
9773 #[allow(missing_docs)]
9774 podOwner(podOwnerCall),
9775 #[allow(missing_docs)]
9776 proofSubmitter(proofSubmitterCall),
9777 #[allow(missing_docs)]
9778 recoverTokens(recoverTokensCall),
9779 #[allow(missing_docs)]
9780 setProofSubmitter(setProofSubmitterCall),
9781 #[allow(missing_docs)]
9782 stake(stakeCall),
9783 #[allow(missing_docs)]
9784 startCheckpoint(startCheckpointCall),
9785 #[allow(missing_docs)]
9786 validatorPubkeyHashToInfo(validatorPubkeyHashToInfoCall),
9787 #[allow(missing_docs)]
9788 validatorPubkeyToInfo(validatorPubkeyToInfoCall),
9789 #[allow(missing_docs)]
9790 validatorStatus_0(validatorStatus_0Call),
9791 #[allow(missing_docs)]
9792 validatorStatus_1(validatorStatus_1Call),
9793 #[allow(missing_docs)]
9794 verifyCheckpointProofs(verifyCheckpointProofsCall),
9795 #[allow(missing_docs)]
9796 verifyStaleBalance(verifyStaleBalanceCall),
9797 #[allow(missing_docs)]
9798 verifyWithdrawalCredentials(verifyWithdrawalCredentialsCall),
9799 #[allow(missing_docs)]
9800 version(versionCall),
9801 #[allow(missing_docs)]
9802 withdrawRestakedBeaconChainETH(withdrawRestakedBeaconChainETHCall),
9803 #[allow(missing_docs)]
9804 withdrawableRestakedExecutionLayerGwei(
9805 withdrawableRestakedExecutionLayerGweiCall,
9806 ),
9807 }
9808 #[automatically_derived]
9809 impl EigenPodCalls {
9810 pub const SELECTORS: &'static [[u8; 4usize]] = &[
9817 [3u8, 145u8, 87u8, 210u8],
9818 [11u8, 24u8, 255u8, 102u8],
9819 [35u8, 64u8, 232u8, 211u8],
9820 [52u8, 116u8, 170u8, 22u8],
9821 [63u8, 101u8, 207u8, 25u8],
9822 [66u8, 236u8, 255u8, 42u8],
9823 [70u8, 101u8, 188u8, 218u8],
9824 [71u8, 210u8, 131u8, 114u8],
9825 [82u8, 57u8, 106u8, 89u8],
9826 [84u8, 253u8, 77u8, 80u8],
9827 [88u8, 117u8, 51u8, 87u8],
9828 [88u8, 234u8, 238u8, 121u8],
9829 [108u8, 13u8, 45u8, 90u8],
9830 [111u8, 205u8, 14u8, 83u8],
9831 [116u8, 57u8, 132u8, 31u8],
9832 [116u8, 205u8, 215u8, 152u8],
9833 [136u8, 103u8, 108u8, 173u8],
9834 [155u8, 78u8, 70u8, 52u8],
9835 [181u8, 34u8, 83u8, 138u8],
9836 [196u8, 144u8, 116u8, 66u8],
9837 [196u8, 214u8, 109u8, 232u8],
9838 [208u8, 109u8, 85u8, 135u8],
9839 [221u8, 163u8, 52u8, 108u8],
9840 [238u8, 148u8, 214u8, 124u8],
9841 [240u8, 116u8, 186u8, 98u8],
9842 [242u8, 136u8, 36u8, 97u8],
9843 ];
9844 }
9845 #[automatically_derived]
9846 impl alloy_sol_types::SolInterface for EigenPodCalls {
9847 const NAME: &'static str = "EigenPodCalls";
9848 const MIN_DATA_LENGTH: usize = 0usize;
9849 const COUNT: usize = 26usize;
9850 #[inline]
9851 fn selector(&self) -> [u8; 4] {
9852 match self {
9853 Self::GENESIS_TIME(_) => {
9854 <GENESIS_TIMECall as alloy_sol_types::SolCall>::SELECTOR
9855 }
9856 Self::activeValidatorCount(_) => {
9857 <activeValidatorCountCall as alloy_sol_types::SolCall>::SELECTOR
9858 }
9859 Self::checkpointBalanceExitedGwei(_) => {
9860 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::SELECTOR
9861 }
9862 Self::currentCheckpoint(_) => {
9863 <currentCheckpointCall as alloy_sol_types::SolCall>::SELECTOR
9864 }
9865 Self::currentCheckpointTimestamp(_) => {
9866 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::SELECTOR
9867 }
9868 Self::eigenPodManager(_) => {
9869 <eigenPodManagerCall as alloy_sol_types::SolCall>::SELECTOR
9870 }
9871 Self::ethPOS(_) => <ethPOSCall as alloy_sol_types::SolCall>::SELECTOR,
9872 Self::getParentBlockRoot(_) => {
9873 <getParentBlockRootCall as alloy_sol_types::SolCall>::SELECTOR
9874 }
9875 Self::initialize(_) => {
9876 <initializeCall as alloy_sol_types::SolCall>::SELECTOR
9877 }
9878 Self::lastCheckpointTimestamp(_) => {
9879 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::SELECTOR
9880 }
9881 Self::podOwner(_) => <podOwnerCall as alloy_sol_types::SolCall>::SELECTOR,
9882 Self::proofSubmitter(_) => {
9883 <proofSubmitterCall as alloy_sol_types::SolCall>::SELECTOR
9884 }
9885 Self::recoverTokens(_) => {
9886 <recoverTokensCall as alloy_sol_types::SolCall>::SELECTOR
9887 }
9888 Self::setProofSubmitter(_) => {
9889 <setProofSubmitterCall as alloy_sol_types::SolCall>::SELECTOR
9890 }
9891 Self::stake(_) => <stakeCall as alloy_sol_types::SolCall>::SELECTOR,
9892 Self::startCheckpoint(_) => {
9893 <startCheckpointCall as alloy_sol_types::SolCall>::SELECTOR
9894 }
9895 Self::validatorPubkeyHashToInfo(_) => {
9896 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::SELECTOR
9897 }
9898 Self::validatorPubkeyToInfo(_) => {
9899 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::SELECTOR
9900 }
9901 Self::validatorStatus_0(_) => {
9902 <validatorStatus_0Call as alloy_sol_types::SolCall>::SELECTOR
9903 }
9904 Self::validatorStatus_1(_) => {
9905 <validatorStatus_1Call as alloy_sol_types::SolCall>::SELECTOR
9906 }
9907 Self::verifyCheckpointProofs(_) => {
9908 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::SELECTOR
9909 }
9910 Self::verifyStaleBalance(_) => {
9911 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::SELECTOR
9912 }
9913 Self::verifyWithdrawalCredentials(_) => {
9914 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::SELECTOR
9915 }
9916 Self::version(_) => <versionCall as alloy_sol_types::SolCall>::SELECTOR,
9917 Self::withdrawRestakedBeaconChainETH(_) => {
9918 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::SELECTOR
9919 }
9920 Self::withdrawableRestakedExecutionLayerGwei(_) => {
9921 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::SELECTOR
9922 }
9923 }
9924 }
9925 #[inline]
9926 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
9927 Self::SELECTORS.get(i).copied()
9928 }
9929 #[inline]
9930 fn valid_selector(selector: [u8; 4]) -> bool {
9931 Self::SELECTORS.binary_search(&selector).is_ok()
9932 }
9933 #[inline]
9934 #[allow(non_snake_case)]
9935 fn abi_decode_raw(
9936 selector: [u8; 4],
9937 data: &[u8],
9938 validate: bool,
9939 ) -> alloy_sol_types::Result<Self> {
9940 static DECODE_SHIMS: &[fn(
9941 &[u8],
9942 bool,
9943 ) -> alloy_sol_types::Result<EigenPodCalls>] = &[
9944 {
9945 fn verifyStaleBalance(
9946 data: &[u8],
9947 validate: bool,
9948 ) -> alloy_sol_types::Result<EigenPodCalls> {
9949 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::abi_decode_raw(
9950 data,
9951 validate,
9952 )
9953 .map(EigenPodCalls::verifyStaleBalance)
9954 }
9955 verifyStaleBalance
9956 },
9957 {
9958 fn podOwner(
9959 data: &[u8],
9960 validate: bool,
9961 ) -> alloy_sol_types::Result<EigenPodCalls> {
9962 <podOwnerCall as alloy_sol_types::SolCall>::abi_decode_raw(
9963 data,
9964 validate,
9965 )
9966 .map(EigenPodCalls::podOwner)
9967 }
9968 podOwner
9969 },
9970 {
9971 fn activeValidatorCount(
9972 data: &[u8],
9973 validate: bool,
9974 ) -> alloy_sol_types::Result<EigenPodCalls> {
9975 <activeValidatorCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
9976 data,
9977 validate,
9978 )
9979 .map(EigenPodCalls::activeValidatorCount)
9980 }
9981 activeValidatorCount
9982 },
9983 {
9984 fn withdrawableRestakedExecutionLayerGwei(
9985 data: &[u8],
9986 validate: bool,
9987 ) -> alloy_sol_types::Result<EigenPodCalls> {
9988 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::abi_decode_raw(
9989 data,
9990 validate,
9991 )
9992 .map(EigenPodCalls::withdrawableRestakedExecutionLayerGwei)
9993 }
9994 withdrawableRestakedExecutionLayerGwei
9995 },
9996 {
9997 fn verifyWithdrawalCredentials(
9998 data: &[u8],
9999 validate: bool,
10000 ) -> alloy_sol_types::Result<EigenPodCalls> {
10001 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::abi_decode_raw(
10002 data,
10003 validate,
10004 )
10005 .map(EigenPodCalls::verifyWithdrawalCredentials)
10006 }
10007 verifyWithdrawalCredentials
10008 },
10009 {
10010 fn currentCheckpointTimestamp(
10011 data: &[u8],
10012 validate: bool,
10013 ) -> alloy_sol_types::Result<EigenPodCalls> {
10014 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_decode_raw(
10015 data,
10016 validate,
10017 )
10018 .map(EigenPodCalls::currentCheckpointTimestamp)
10019 }
10020 currentCheckpointTimestamp
10021 },
10022 {
10023 fn eigenPodManager(
10024 data: &[u8],
10025 validate: bool,
10026 ) -> alloy_sol_types::Result<EigenPodCalls> {
10027 <eigenPodManagerCall as alloy_sol_types::SolCall>::abi_decode_raw(
10028 data,
10029 validate,
10030 )
10031 .map(EigenPodCalls::eigenPodManager)
10032 }
10033 eigenPodManager
10034 },
10035 {
10036 fn currentCheckpoint(
10037 data: &[u8],
10038 validate: bool,
10039 ) -> alloy_sol_types::Result<EigenPodCalls> {
10040 <currentCheckpointCall as alloy_sol_types::SolCall>::abi_decode_raw(
10041 data,
10042 validate,
10043 )
10044 .map(EigenPodCalls::currentCheckpoint)
10045 }
10046 currentCheckpoint
10047 },
10048 {
10049 fn checkpointBalanceExitedGwei(
10050 data: &[u8],
10051 validate: bool,
10052 ) -> alloy_sol_types::Result<EigenPodCalls> {
10053 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::abi_decode_raw(
10054 data,
10055 validate,
10056 )
10057 .map(EigenPodCalls::checkpointBalanceExitedGwei)
10058 }
10059 checkpointBalanceExitedGwei
10060 },
10061 {
10062 fn version(
10063 data: &[u8],
10064 validate: bool,
10065 ) -> alloy_sol_types::Result<EigenPodCalls> {
10066 <versionCall as alloy_sol_types::SolCall>::abi_decode_raw(
10067 data,
10068 validate,
10069 )
10070 .map(EigenPodCalls::version)
10071 }
10072 version
10073 },
10074 {
10075 fn proofSubmitter(
10076 data: &[u8],
10077 validate: bool,
10078 ) -> alloy_sol_types::Result<EigenPodCalls> {
10079 <proofSubmitterCall as alloy_sol_types::SolCall>::abi_decode_raw(
10080 data,
10081 validate,
10082 )
10083 .map(EigenPodCalls::proofSubmitter)
10084 }
10085 proofSubmitter
10086 },
10087 {
10088 fn validatorStatus_0(
10089 data: &[u8],
10090 validate: bool,
10091 ) -> alloy_sol_types::Result<EigenPodCalls> {
10092 <validatorStatus_0Call as alloy_sol_types::SolCall>::abi_decode_raw(
10093 data,
10094 validate,
10095 )
10096 .map(EigenPodCalls::validatorStatus_0)
10097 }
10098 validatorStatus_0
10099 },
10100 {
10101 fn getParentBlockRoot(
10102 data: &[u8],
10103 validate: bool,
10104 ) -> alloy_sol_types::Result<EigenPodCalls> {
10105 <getParentBlockRootCall as alloy_sol_types::SolCall>::abi_decode_raw(
10106 data,
10107 validate,
10108 )
10109 .map(EigenPodCalls::getParentBlockRoot)
10110 }
10111 getParentBlockRoot
10112 },
10113 {
10114 fn validatorPubkeyHashToInfo(
10115 data: &[u8],
10116 validate: bool,
10117 ) -> alloy_sol_types::Result<EigenPodCalls> {
10118 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::abi_decode_raw(
10119 data,
10120 validate,
10121 )
10122 .map(EigenPodCalls::validatorPubkeyHashToInfo)
10123 }
10124 validatorPubkeyHashToInfo
10125 },
10126 {
10127 fn validatorStatus_1(
10128 data: &[u8],
10129 validate: bool,
10130 ) -> alloy_sol_types::Result<EigenPodCalls> {
10131 <validatorStatus_1Call as alloy_sol_types::SolCall>::abi_decode_raw(
10132 data,
10133 validate,
10134 )
10135 .map(EigenPodCalls::validatorStatus_1)
10136 }
10137 validatorStatus_1
10138 },
10139 {
10140 fn ethPOS(
10141 data: &[u8],
10142 validate: bool,
10143 ) -> alloy_sol_types::Result<EigenPodCalls> {
10144 <ethPOSCall as alloy_sol_types::SolCall>::abi_decode_raw(
10145 data,
10146 validate,
10147 )
10148 .map(EigenPodCalls::ethPOS)
10149 }
10150 ethPOS
10151 },
10152 {
10153 fn startCheckpoint(
10154 data: &[u8],
10155 validate: bool,
10156 ) -> alloy_sol_types::Result<EigenPodCalls> {
10157 <startCheckpointCall as alloy_sol_types::SolCall>::abi_decode_raw(
10158 data,
10159 validate,
10160 )
10161 .map(EigenPodCalls::startCheckpoint)
10162 }
10163 startCheckpoint
10164 },
10165 {
10166 fn stake(
10167 data: &[u8],
10168 validate: bool,
10169 ) -> alloy_sol_types::Result<EigenPodCalls> {
10170 <stakeCall as alloy_sol_types::SolCall>::abi_decode_raw(
10171 data,
10172 validate,
10173 )
10174 .map(EigenPodCalls::stake)
10175 }
10176 stake
10177 },
10178 {
10179 fn validatorPubkeyToInfo(
10180 data: &[u8],
10181 validate: bool,
10182 ) -> alloy_sol_types::Result<EigenPodCalls> {
10183 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::abi_decode_raw(
10184 data,
10185 validate,
10186 )
10187 .map(EigenPodCalls::validatorPubkeyToInfo)
10188 }
10189 validatorPubkeyToInfo
10190 },
10191 {
10192 fn withdrawRestakedBeaconChainETH(
10193 data: &[u8],
10194 validate: bool,
10195 ) -> alloy_sol_types::Result<EigenPodCalls> {
10196 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::abi_decode_raw(
10197 data,
10198 validate,
10199 )
10200 .map(EigenPodCalls::withdrawRestakedBeaconChainETH)
10201 }
10202 withdrawRestakedBeaconChainETH
10203 },
10204 {
10205 fn initialize(
10206 data: &[u8],
10207 validate: bool,
10208 ) -> alloy_sol_types::Result<EigenPodCalls> {
10209 <initializeCall as alloy_sol_types::SolCall>::abi_decode_raw(
10210 data,
10211 validate,
10212 )
10213 .map(EigenPodCalls::initialize)
10214 }
10215 initialize
10216 },
10217 {
10218 fn setProofSubmitter(
10219 data: &[u8],
10220 validate: bool,
10221 ) -> alloy_sol_types::Result<EigenPodCalls> {
10222 <setProofSubmitterCall as alloy_sol_types::SolCall>::abi_decode_raw(
10223 data,
10224 validate,
10225 )
10226 .map(EigenPodCalls::setProofSubmitter)
10227 }
10228 setProofSubmitter
10229 },
10230 {
10231 fn recoverTokens(
10232 data: &[u8],
10233 validate: bool,
10234 ) -> alloy_sol_types::Result<EigenPodCalls> {
10235 <recoverTokensCall as alloy_sol_types::SolCall>::abi_decode_raw(
10236 data,
10237 validate,
10238 )
10239 .map(EigenPodCalls::recoverTokens)
10240 }
10241 recoverTokens
10242 },
10243 {
10244 fn lastCheckpointTimestamp(
10245 data: &[u8],
10246 validate: bool,
10247 ) -> alloy_sol_types::Result<EigenPodCalls> {
10248 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_decode_raw(
10249 data,
10250 validate,
10251 )
10252 .map(EigenPodCalls::lastCheckpointTimestamp)
10253 }
10254 lastCheckpointTimestamp
10255 },
10256 {
10257 fn verifyCheckpointProofs(
10258 data: &[u8],
10259 validate: bool,
10260 ) -> alloy_sol_types::Result<EigenPodCalls> {
10261 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::abi_decode_raw(
10262 data,
10263 validate,
10264 )
10265 .map(EigenPodCalls::verifyCheckpointProofs)
10266 }
10267 verifyCheckpointProofs
10268 },
10269 {
10270 fn GENESIS_TIME(
10271 data: &[u8],
10272 validate: bool,
10273 ) -> alloy_sol_types::Result<EigenPodCalls> {
10274 <GENESIS_TIMECall as alloy_sol_types::SolCall>::abi_decode_raw(
10275 data,
10276 validate,
10277 )
10278 .map(EigenPodCalls::GENESIS_TIME)
10279 }
10280 GENESIS_TIME
10281 },
10282 ];
10283 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
10284 return Err(
10285 alloy_sol_types::Error::unknown_selector(
10286 <Self as alloy_sol_types::SolInterface>::NAME,
10287 selector,
10288 ),
10289 );
10290 };
10291 DECODE_SHIMS[idx](data, validate)
10292 }
10293 #[inline]
10294 fn abi_encoded_size(&self) -> usize {
10295 match self {
10296 Self::GENESIS_TIME(inner) => {
10297 <GENESIS_TIMECall as alloy_sol_types::SolCall>::abi_encoded_size(
10298 inner,
10299 )
10300 }
10301 Self::activeValidatorCount(inner) => {
10302 <activeValidatorCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
10303 inner,
10304 )
10305 }
10306 Self::checkpointBalanceExitedGwei(inner) => {
10307 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::abi_encoded_size(
10308 inner,
10309 )
10310 }
10311 Self::currentCheckpoint(inner) => {
10312 <currentCheckpointCall as alloy_sol_types::SolCall>::abi_encoded_size(
10313 inner,
10314 )
10315 }
10316 Self::currentCheckpointTimestamp(inner) => {
10317 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_encoded_size(
10318 inner,
10319 )
10320 }
10321 Self::eigenPodManager(inner) => {
10322 <eigenPodManagerCall as alloy_sol_types::SolCall>::abi_encoded_size(
10323 inner,
10324 )
10325 }
10326 Self::ethPOS(inner) => {
10327 <ethPOSCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
10328 }
10329 Self::getParentBlockRoot(inner) => {
10330 <getParentBlockRootCall as alloy_sol_types::SolCall>::abi_encoded_size(
10331 inner,
10332 )
10333 }
10334 Self::initialize(inner) => {
10335 <initializeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
10336 }
10337 Self::lastCheckpointTimestamp(inner) => {
10338 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_encoded_size(
10339 inner,
10340 )
10341 }
10342 Self::podOwner(inner) => {
10343 <podOwnerCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
10344 }
10345 Self::proofSubmitter(inner) => {
10346 <proofSubmitterCall as alloy_sol_types::SolCall>::abi_encoded_size(
10347 inner,
10348 )
10349 }
10350 Self::recoverTokens(inner) => {
10351 <recoverTokensCall as alloy_sol_types::SolCall>::abi_encoded_size(
10352 inner,
10353 )
10354 }
10355 Self::setProofSubmitter(inner) => {
10356 <setProofSubmitterCall as alloy_sol_types::SolCall>::abi_encoded_size(
10357 inner,
10358 )
10359 }
10360 Self::stake(inner) => {
10361 <stakeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
10362 }
10363 Self::startCheckpoint(inner) => {
10364 <startCheckpointCall as alloy_sol_types::SolCall>::abi_encoded_size(
10365 inner,
10366 )
10367 }
10368 Self::validatorPubkeyHashToInfo(inner) => {
10369 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::abi_encoded_size(
10370 inner,
10371 )
10372 }
10373 Self::validatorPubkeyToInfo(inner) => {
10374 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::abi_encoded_size(
10375 inner,
10376 )
10377 }
10378 Self::validatorStatus_0(inner) => {
10379 <validatorStatus_0Call as alloy_sol_types::SolCall>::abi_encoded_size(
10380 inner,
10381 )
10382 }
10383 Self::validatorStatus_1(inner) => {
10384 <validatorStatus_1Call as alloy_sol_types::SolCall>::abi_encoded_size(
10385 inner,
10386 )
10387 }
10388 Self::verifyCheckpointProofs(inner) => {
10389 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::abi_encoded_size(
10390 inner,
10391 )
10392 }
10393 Self::verifyStaleBalance(inner) => {
10394 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::abi_encoded_size(
10395 inner,
10396 )
10397 }
10398 Self::verifyWithdrawalCredentials(inner) => {
10399 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::abi_encoded_size(
10400 inner,
10401 )
10402 }
10403 Self::version(inner) => {
10404 <versionCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
10405 }
10406 Self::withdrawRestakedBeaconChainETH(inner) => {
10407 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::abi_encoded_size(
10408 inner,
10409 )
10410 }
10411 Self::withdrawableRestakedExecutionLayerGwei(inner) => {
10412 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::abi_encoded_size(
10413 inner,
10414 )
10415 }
10416 }
10417 }
10418 #[inline]
10419 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
10420 match self {
10421 Self::GENESIS_TIME(inner) => {
10422 <GENESIS_TIMECall as alloy_sol_types::SolCall>::abi_encode_raw(
10423 inner,
10424 out,
10425 )
10426 }
10427 Self::activeValidatorCount(inner) => {
10428 <activeValidatorCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
10429 inner,
10430 out,
10431 )
10432 }
10433 Self::checkpointBalanceExitedGwei(inner) => {
10434 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::abi_encode_raw(
10435 inner,
10436 out,
10437 )
10438 }
10439 Self::currentCheckpoint(inner) => {
10440 <currentCheckpointCall as alloy_sol_types::SolCall>::abi_encode_raw(
10441 inner,
10442 out,
10443 )
10444 }
10445 Self::currentCheckpointTimestamp(inner) => {
10446 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_encode_raw(
10447 inner,
10448 out,
10449 )
10450 }
10451 Self::eigenPodManager(inner) => {
10452 <eigenPodManagerCall as alloy_sol_types::SolCall>::abi_encode_raw(
10453 inner,
10454 out,
10455 )
10456 }
10457 Self::ethPOS(inner) => {
10458 <ethPOSCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
10459 }
10460 Self::getParentBlockRoot(inner) => {
10461 <getParentBlockRootCall as alloy_sol_types::SolCall>::abi_encode_raw(
10462 inner,
10463 out,
10464 )
10465 }
10466 Self::initialize(inner) => {
10467 <initializeCall as alloy_sol_types::SolCall>::abi_encode_raw(
10468 inner,
10469 out,
10470 )
10471 }
10472 Self::lastCheckpointTimestamp(inner) => {
10473 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_encode_raw(
10474 inner,
10475 out,
10476 )
10477 }
10478 Self::podOwner(inner) => {
10479 <podOwnerCall as alloy_sol_types::SolCall>::abi_encode_raw(
10480 inner,
10481 out,
10482 )
10483 }
10484 Self::proofSubmitter(inner) => {
10485 <proofSubmitterCall as alloy_sol_types::SolCall>::abi_encode_raw(
10486 inner,
10487 out,
10488 )
10489 }
10490 Self::recoverTokens(inner) => {
10491 <recoverTokensCall as alloy_sol_types::SolCall>::abi_encode_raw(
10492 inner,
10493 out,
10494 )
10495 }
10496 Self::setProofSubmitter(inner) => {
10497 <setProofSubmitterCall as alloy_sol_types::SolCall>::abi_encode_raw(
10498 inner,
10499 out,
10500 )
10501 }
10502 Self::stake(inner) => {
10503 <stakeCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
10504 }
10505 Self::startCheckpoint(inner) => {
10506 <startCheckpointCall as alloy_sol_types::SolCall>::abi_encode_raw(
10507 inner,
10508 out,
10509 )
10510 }
10511 Self::validatorPubkeyHashToInfo(inner) => {
10512 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::abi_encode_raw(
10513 inner,
10514 out,
10515 )
10516 }
10517 Self::validatorPubkeyToInfo(inner) => {
10518 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::abi_encode_raw(
10519 inner,
10520 out,
10521 )
10522 }
10523 Self::validatorStatus_0(inner) => {
10524 <validatorStatus_0Call as alloy_sol_types::SolCall>::abi_encode_raw(
10525 inner,
10526 out,
10527 )
10528 }
10529 Self::validatorStatus_1(inner) => {
10530 <validatorStatus_1Call as alloy_sol_types::SolCall>::abi_encode_raw(
10531 inner,
10532 out,
10533 )
10534 }
10535 Self::verifyCheckpointProofs(inner) => {
10536 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::abi_encode_raw(
10537 inner,
10538 out,
10539 )
10540 }
10541 Self::verifyStaleBalance(inner) => {
10542 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::abi_encode_raw(
10543 inner,
10544 out,
10545 )
10546 }
10547 Self::verifyWithdrawalCredentials(inner) => {
10548 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::abi_encode_raw(
10549 inner,
10550 out,
10551 )
10552 }
10553 Self::version(inner) => {
10554 <versionCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
10555 }
10556 Self::withdrawRestakedBeaconChainETH(inner) => {
10557 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::abi_encode_raw(
10558 inner,
10559 out,
10560 )
10561 }
10562 Self::withdrawableRestakedExecutionLayerGwei(inner) => {
10563 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::abi_encode_raw(
10564 inner,
10565 out,
10566 )
10567 }
10568 }
10569 }
10570 }
10571 #[derive(Debug, PartialEq, Eq, Hash)]
10573 pub enum EigenPodErrors {
10574 #[allow(missing_docs)]
10575 BeaconTimestampTooFarInPast(BeaconTimestampTooFarInPast),
10576 #[allow(missing_docs)]
10577 CannotCheckpointTwiceInSingleBlock(CannotCheckpointTwiceInSingleBlock),
10578 #[allow(missing_docs)]
10579 CheckpointAlreadyActive(CheckpointAlreadyActive),
10580 #[allow(missing_docs)]
10581 CredentialsAlreadyVerified(CredentialsAlreadyVerified),
10582 #[allow(missing_docs)]
10583 CurrentlyPaused(CurrentlyPaused),
10584 #[allow(missing_docs)]
10585 ForkTimestampZero(ForkTimestampZero),
10586 #[allow(missing_docs)]
10587 InputAddressZero(InputAddressZero),
10588 #[allow(missing_docs)]
10589 InputArrayLengthMismatch(InputArrayLengthMismatch),
10590 #[allow(missing_docs)]
10591 InsufficientWithdrawableBalance(InsufficientWithdrawableBalance),
10592 #[allow(missing_docs)]
10593 InvalidEIP4788Response(InvalidEIP4788Response),
10594 #[allow(missing_docs)]
10595 InvalidProof(InvalidProof),
10596 #[allow(missing_docs)]
10597 InvalidProofLength(InvalidProofLength),
10598 #[allow(missing_docs)]
10599 InvalidPubKeyLength(InvalidPubKeyLength),
10600 #[allow(missing_docs)]
10601 InvalidShortString(InvalidShortString),
10602 #[allow(missing_docs)]
10603 InvalidValidatorFieldsLength(InvalidValidatorFieldsLength),
10604 #[allow(missing_docs)]
10605 MsgValueNot32ETH(MsgValueNot32ETH),
10606 #[allow(missing_docs)]
10607 NoActiveCheckpoint(NoActiveCheckpoint),
10608 #[allow(missing_docs)]
10609 NoBalanceToCheckpoint(NoBalanceToCheckpoint),
10610 #[allow(missing_docs)]
10611 OnlyEigenPodManager(OnlyEigenPodManager),
10612 #[allow(missing_docs)]
10613 OnlyEigenPodOwner(OnlyEigenPodOwner),
10614 #[allow(missing_docs)]
10615 OnlyEigenPodOwnerOrProofSubmitter(OnlyEigenPodOwnerOrProofSubmitter),
10616 #[allow(missing_docs)]
10617 StringTooLong(StringTooLong),
10618 #[allow(missing_docs)]
10619 TimestampOutOfRange(TimestampOutOfRange),
10620 #[allow(missing_docs)]
10621 ValidatorInactiveOnBeaconChain(ValidatorInactiveOnBeaconChain),
10622 #[allow(missing_docs)]
10623 ValidatorIsExitingBeaconChain(ValidatorIsExitingBeaconChain),
10624 #[allow(missing_docs)]
10625 ValidatorNotActiveInPod(ValidatorNotActiveInPod),
10626 #[allow(missing_docs)]
10627 ValidatorNotSlashedOnBeaconChain(ValidatorNotSlashedOnBeaconChain),
10628 #[allow(missing_docs)]
10629 WithdrawalCredentialsNotForEigenPod(WithdrawalCredentialsNotForEigenPod),
10630 }
10631 #[automatically_derived]
10632 impl EigenPodErrors {
10633 pub const SELECTORS: &'static [[u8; 4usize]] = &[
10640 [9u8, 189u8, 227u8, 57u8],
10641 [11u8, 27u8, 213u8, 28u8],
10642 [26u8, 84u8, 79u8, 73u8],
10643 [32u8, 5u8, 145u8, 189u8],
10644 [36u8, 180u8, 181u8, 152u8],
10645 [46u8, 173u8, 230u8, 55u8],
10646 [48u8, 90u8, 39u8, 169u8],
10647 [53u8, 224u8, 158u8, 157u8],
10648 [55u8, 224u8, 127u8, 253u8],
10649 [65u8, 160u8, 44u8, 201u8],
10650 [66u8, 122u8, 119u8, 121u8],
10651 [67u8, 113u8, 74u8, 253u8],
10652 [77u8, 197u8, 246u8, 164u8],
10653 [85u8, 138u8, 208u8, 163u8],
10654 [101u8, 96u8, 141u8, 180u8],
10655 [103u8, 219u8, 91u8, 139u8],
10656 [110u8, 229u8, 186u8, 166u8],
10657 [115u8, 99u8, 33u8, 118u8],
10658 [132u8, 10u8, 72u8, 213u8],
10659 [159u8, 16u8, 100u8, 114u8],
10660 [176u8, 231u8, 47u8, 104u8],
10661 [179u8, 81u8, 43u8, 12u8],
10662 [190u8, 155u8, 195u8, 0u8],
10663 [200u8, 78u8, 153u8, 132u8],
10664 [203u8, 122u8, 165u8, 100u8],
10665 [212u8, 158u8, 25u8, 167u8],
10666 [227u8, 62u8, 110u8, 6u8],
10667 [242u8, 137u8, 204u8, 218u8],
10668 ];
10669 }
10670 #[automatically_derived]
10671 impl alloy_sol_types::SolInterface for EigenPodErrors {
10672 const NAME: &'static str = "EigenPodErrors";
10673 const MIN_DATA_LENGTH: usize = 0usize;
10674 const COUNT: usize = 28usize;
10675 #[inline]
10676 fn selector(&self) -> [u8; 4] {
10677 match self {
10678 Self::BeaconTimestampTooFarInPast(_) => {
10679 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::SELECTOR
10680 }
10681 Self::CannotCheckpointTwiceInSingleBlock(_) => {
10682 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::SELECTOR
10683 }
10684 Self::CheckpointAlreadyActive(_) => {
10685 <CheckpointAlreadyActive as alloy_sol_types::SolError>::SELECTOR
10686 }
10687 Self::CredentialsAlreadyVerified(_) => {
10688 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::SELECTOR
10689 }
10690 Self::CurrentlyPaused(_) => {
10691 <CurrentlyPaused as alloy_sol_types::SolError>::SELECTOR
10692 }
10693 Self::ForkTimestampZero(_) => {
10694 <ForkTimestampZero as alloy_sol_types::SolError>::SELECTOR
10695 }
10696 Self::InputAddressZero(_) => {
10697 <InputAddressZero as alloy_sol_types::SolError>::SELECTOR
10698 }
10699 Self::InputArrayLengthMismatch(_) => {
10700 <InputArrayLengthMismatch as alloy_sol_types::SolError>::SELECTOR
10701 }
10702 Self::InsufficientWithdrawableBalance(_) => {
10703 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::SELECTOR
10704 }
10705 Self::InvalidEIP4788Response(_) => {
10706 <InvalidEIP4788Response as alloy_sol_types::SolError>::SELECTOR
10707 }
10708 Self::InvalidProof(_) => {
10709 <InvalidProof as alloy_sol_types::SolError>::SELECTOR
10710 }
10711 Self::InvalidProofLength(_) => {
10712 <InvalidProofLength as alloy_sol_types::SolError>::SELECTOR
10713 }
10714 Self::InvalidPubKeyLength(_) => {
10715 <InvalidPubKeyLength as alloy_sol_types::SolError>::SELECTOR
10716 }
10717 Self::InvalidShortString(_) => {
10718 <InvalidShortString as alloy_sol_types::SolError>::SELECTOR
10719 }
10720 Self::InvalidValidatorFieldsLength(_) => {
10721 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::SELECTOR
10722 }
10723 Self::MsgValueNot32ETH(_) => {
10724 <MsgValueNot32ETH as alloy_sol_types::SolError>::SELECTOR
10725 }
10726 Self::NoActiveCheckpoint(_) => {
10727 <NoActiveCheckpoint as alloy_sol_types::SolError>::SELECTOR
10728 }
10729 Self::NoBalanceToCheckpoint(_) => {
10730 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::SELECTOR
10731 }
10732 Self::OnlyEigenPodManager(_) => {
10733 <OnlyEigenPodManager as alloy_sol_types::SolError>::SELECTOR
10734 }
10735 Self::OnlyEigenPodOwner(_) => {
10736 <OnlyEigenPodOwner as alloy_sol_types::SolError>::SELECTOR
10737 }
10738 Self::OnlyEigenPodOwnerOrProofSubmitter(_) => {
10739 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::SELECTOR
10740 }
10741 Self::StringTooLong(_) => {
10742 <StringTooLong as alloy_sol_types::SolError>::SELECTOR
10743 }
10744 Self::TimestampOutOfRange(_) => {
10745 <TimestampOutOfRange as alloy_sol_types::SolError>::SELECTOR
10746 }
10747 Self::ValidatorInactiveOnBeaconChain(_) => {
10748 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::SELECTOR
10749 }
10750 Self::ValidatorIsExitingBeaconChain(_) => {
10751 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::SELECTOR
10752 }
10753 Self::ValidatorNotActiveInPod(_) => {
10754 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::SELECTOR
10755 }
10756 Self::ValidatorNotSlashedOnBeaconChain(_) => {
10757 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::SELECTOR
10758 }
10759 Self::WithdrawalCredentialsNotForEigenPod(_) => {
10760 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::SELECTOR
10761 }
10762 }
10763 }
10764 #[inline]
10765 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
10766 Self::SELECTORS.get(i).copied()
10767 }
10768 #[inline]
10769 fn valid_selector(selector: [u8; 4]) -> bool {
10770 Self::SELECTORS.binary_search(&selector).is_ok()
10771 }
10772 #[inline]
10773 #[allow(non_snake_case)]
10774 fn abi_decode_raw(
10775 selector: [u8; 4],
10776 data: &[u8],
10777 validate: bool,
10778 ) -> alloy_sol_types::Result<Self> {
10779 static DECODE_SHIMS: &[fn(
10780 &[u8],
10781 bool,
10782 ) -> alloy_sol_types::Result<EigenPodErrors>] = &[
10783 {
10784 fn InvalidProof(
10785 data: &[u8],
10786 validate: bool,
10787 ) -> alloy_sol_types::Result<EigenPodErrors> {
10788 <InvalidProof as alloy_sol_types::SolError>::abi_decode_raw(
10789 data,
10790 validate,
10791 )
10792 .map(EigenPodErrors::InvalidProof)
10793 }
10794 InvalidProof
10795 },
10796 {
10797 fn InsufficientWithdrawableBalance(
10798 data: &[u8],
10799 validate: bool,
10800 ) -> alloy_sol_types::Result<EigenPodErrors> {
10801 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::abi_decode_raw(
10802 data,
10803 validate,
10804 )
10805 .map(EigenPodErrors::InsufficientWithdrawableBalance)
10806 }
10807 InsufficientWithdrawableBalance
10808 },
10809 {
10810 fn NoActiveCheckpoint(
10811 data: &[u8],
10812 validate: bool,
10813 ) -> alloy_sol_types::Result<EigenPodErrors> {
10814 <NoActiveCheckpoint as alloy_sol_types::SolError>::abi_decode_raw(
10815 data,
10816 validate,
10817 )
10818 .map(EigenPodErrors::NoActiveCheckpoint)
10819 }
10820 NoActiveCheckpoint
10821 },
10822 {
10823 fn InvalidValidatorFieldsLength(
10824 data: &[u8],
10825 validate: bool,
10826 ) -> alloy_sol_types::Result<EigenPodErrors> {
10827 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::abi_decode_raw(
10828 data,
10829 validate,
10830 )
10831 .map(EigenPodErrors::InvalidValidatorFieldsLength)
10832 }
10833 InvalidValidatorFieldsLength
10834 },
10835 {
10836 fn MsgValueNot32ETH(
10837 data: &[u8],
10838 validate: bool,
10839 ) -> alloy_sol_types::Result<EigenPodErrors> {
10840 <MsgValueNot32ETH as alloy_sol_types::SolError>::abi_decode_raw(
10841 data,
10842 validate,
10843 )
10844 .map(EigenPodErrors::MsgValueNot32ETH)
10845 }
10846 MsgValueNot32ETH
10847 },
10848 {
10849 fn ValidatorIsExitingBeaconChain(
10850 data: &[u8],
10851 validate: bool,
10852 ) -> alloy_sol_types::Result<EigenPodErrors> {
10853 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::abi_decode_raw(
10854 data,
10855 validate,
10856 )
10857 .map(EigenPodErrors::ValidatorIsExitingBeaconChain)
10858 }
10859 ValidatorIsExitingBeaconChain
10860 },
10861 {
10862 fn StringTooLong(
10863 data: &[u8],
10864 validate: bool,
10865 ) -> alloy_sol_types::Result<EigenPodErrors> {
10866 <StringTooLong as alloy_sol_types::SolError>::abi_decode_raw(
10867 data,
10868 validate,
10869 )
10870 .map(EigenPodErrors::StringTooLong)
10871 }
10872 StringTooLong
10873 },
10874 {
10875 fn CredentialsAlreadyVerified(
10876 data: &[u8],
10877 validate: bool,
10878 ) -> alloy_sol_types::Result<EigenPodErrors> {
10879 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::abi_decode_raw(
10880 data,
10881 validate,
10882 )
10883 .map(EigenPodErrors::CredentialsAlreadyVerified)
10884 }
10885 CredentialsAlreadyVerified
10886 },
10887 {
10888 fn BeaconTimestampTooFarInPast(
10889 data: &[u8],
10890 validate: bool,
10891 ) -> alloy_sol_types::Result<EigenPodErrors> {
10892 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::abi_decode_raw(
10893 data,
10894 validate,
10895 )
10896 .map(EigenPodErrors::BeaconTimestampTooFarInPast)
10897 }
10898 BeaconTimestampTooFarInPast
10899 },
10900 {
10901 fn ForkTimestampZero(
10902 data: &[u8],
10903 validate: bool,
10904 ) -> alloy_sol_types::Result<EigenPodErrors> {
10905 <ForkTimestampZero as alloy_sol_types::SolError>::abi_decode_raw(
10906 data,
10907 validate,
10908 )
10909 .map(EigenPodErrors::ForkTimestampZero)
10910 }
10911 ForkTimestampZero
10912 },
10913 {
10914 fn OnlyEigenPodOwnerOrProofSubmitter(
10915 data: &[u8],
10916 validate: bool,
10917 ) -> alloy_sol_types::Result<EigenPodErrors> {
10918 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::abi_decode_raw(
10919 data,
10920 validate,
10921 )
10922 .map(EigenPodErrors::OnlyEigenPodOwnerOrProofSubmitter)
10923 }
10924 OnlyEigenPodOwnerOrProofSubmitter
10925 },
10926 {
10927 fn InputArrayLengthMismatch(
10928 data: &[u8],
10929 validate: bool,
10930 ) -> alloy_sol_types::Result<EigenPodErrors> {
10931 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_decode_raw(
10932 data,
10933 validate,
10934 )
10935 .map(EigenPodErrors::InputArrayLengthMismatch)
10936 }
10937 InputArrayLengthMismatch
10938 },
10939 {
10940 fn InvalidProofLength(
10941 data: &[u8],
10942 validate: bool,
10943 ) -> alloy_sol_types::Result<EigenPodErrors> {
10944 <InvalidProofLength as alloy_sol_types::SolError>::abi_decode_raw(
10945 data,
10946 validate,
10947 )
10948 .map(EigenPodErrors::InvalidProofLength)
10949 }
10950 InvalidProofLength
10951 },
10952 {
10953 fn InvalidEIP4788Response(
10954 data: &[u8],
10955 validate: bool,
10956 ) -> alloy_sol_types::Result<EigenPodErrors> {
10957 <InvalidEIP4788Response as alloy_sol_types::SolError>::abi_decode_raw(
10958 data,
10959 validate,
10960 )
10961 .map(EigenPodErrors::InvalidEIP4788Response)
10962 }
10963 InvalidEIP4788Response
10964 },
10965 {
10966 fn ValidatorInactiveOnBeaconChain(
10967 data: &[u8],
10968 validate: bool,
10969 ) -> alloy_sol_types::Result<EigenPodErrors> {
10970 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::abi_decode_raw(
10971 data,
10972 validate,
10973 )
10974 .map(EigenPodErrors::ValidatorInactiveOnBeaconChain)
10975 }
10976 ValidatorInactiveOnBeaconChain
10977 },
10978 {
10979 fn CannotCheckpointTwiceInSingleBlock(
10980 data: &[u8],
10981 validate: bool,
10982 ) -> alloy_sol_types::Result<EigenPodErrors> {
10983 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::abi_decode_raw(
10984 data,
10985 validate,
10986 )
10987 .map(EigenPodErrors::CannotCheckpointTwiceInSingleBlock)
10988 }
10989 CannotCheckpointTwiceInSingleBlock
10990 },
10991 {
10992 fn WithdrawalCredentialsNotForEigenPod(
10993 data: &[u8],
10994 validate: bool,
10995 ) -> alloy_sol_types::Result<EigenPodErrors> {
10996 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::abi_decode_raw(
10997 data,
10998 validate,
10999 )
11000 .map(EigenPodErrors::WithdrawalCredentialsNotForEigenPod)
11001 }
11002 WithdrawalCredentialsNotForEigenPod
11003 },
11004 {
11005 fn InputAddressZero(
11006 data: &[u8],
11007 validate: bool,
11008 ) -> alloy_sol_types::Result<EigenPodErrors> {
11009 <InputAddressZero as alloy_sol_types::SolError>::abi_decode_raw(
11010 data,
11011 validate,
11012 )
11013 .map(EigenPodErrors::InputAddressZero)
11014 }
11015 InputAddressZero
11016 },
11017 {
11018 fn CurrentlyPaused(
11019 data: &[u8],
11020 validate: bool,
11021 ) -> alloy_sol_types::Result<EigenPodErrors> {
11022 <CurrentlyPaused as alloy_sol_types::SolError>::abi_decode_raw(
11023 data,
11024 validate,
11025 )
11026 .map(EigenPodErrors::CurrentlyPaused)
11027 }
11028 CurrentlyPaused
11029 },
11030 {
11031 fn InvalidPubKeyLength(
11032 data: &[u8],
11033 validate: bool,
11034 ) -> alloy_sol_types::Result<EigenPodErrors> {
11035 <InvalidPubKeyLength as alloy_sol_types::SolError>::abi_decode_raw(
11036 data,
11037 validate,
11038 )
11039 .map(EigenPodErrors::InvalidPubKeyLength)
11040 }
11041 InvalidPubKeyLength
11042 },
11043 {
11044 fn ValidatorNotSlashedOnBeaconChain(
11045 data: &[u8],
11046 validate: bool,
11047 ) -> alloy_sol_types::Result<EigenPodErrors> {
11048 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::abi_decode_raw(
11049 data,
11050 validate,
11051 )
11052 .map(EigenPodErrors::ValidatorNotSlashedOnBeaconChain)
11053 }
11054 ValidatorNotSlashedOnBeaconChain
11055 },
11056 {
11057 fn InvalidShortString(
11058 data: &[u8],
11059 validate: bool,
11060 ) -> alloy_sol_types::Result<EigenPodErrors> {
11061 <InvalidShortString as alloy_sol_types::SolError>::abi_decode_raw(
11062 data,
11063 validate,
11064 )
11065 .map(EigenPodErrors::InvalidShortString)
11066 }
11067 InvalidShortString
11068 },
11069 {
11070 fn CheckpointAlreadyActive(
11071 data: &[u8],
11072 validate: bool,
11073 ) -> alloy_sol_types::Result<EigenPodErrors> {
11074 <CheckpointAlreadyActive as alloy_sol_types::SolError>::abi_decode_raw(
11075 data,
11076 validate,
11077 )
11078 .map(EigenPodErrors::CheckpointAlreadyActive)
11079 }
11080 CheckpointAlreadyActive
11081 },
11082 {
11083 fn OnlyEigenPodManager(
11084 data: &[u8],
11085 validate: bool,
11086 ) -> alloy_sol_types::Result<EigenPodErrors> {
11087 <OnlyEigenPodManager as alloy_sol_types::SolError>::abi_decode_raw(
11088 data,
11089 validate,
11090 )
11091 .map(EigenPodErrors::OnlyEigenPodManager)
11092 }
11093 OnlyEigenPodManager
11094 },
11095 {
11096 fn NoBalanceToCheckpoint(
11097 data: &[u8],
11098 validate: bool,
11099 ) -> alloy_sol_types::Result<EigenPodErrors> {
11100 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::abi_decode_raw(
11101 data,
11102 validate,
11103 )
11104 .map(EigenPodErrors::NoBalanceToCheckpoint)
11105 }
11106 NoBalanceToCheckpoint
11107 },
11108 {
11109 fn ValidatorNotActiveInPod(
11110 data: &[u8],
11111 validate: bool,
11112 ) -> alloy_sol_types::Result<EigenPodErrors> {
11113 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::abi_decode_raw(
11114 data,
11115 validate,
11116 )
11117 .map(EigenPodErrors::ValidatorNotActiveInPod)
11118 }
11119 ValidatorNotActiveInPod
11120 },
11121 {
11122 fn OnlyEigenPodOwner(
11123 data: &[u8],
11124 validate: bool,
11125 ) -> alloy_sol_types::Result<EigenPodErrors> {
11126 <OnlyEigenPodOwner as alloy_sol_types::SolError>::abi_decode_raw(
11127 data,
11128 validate,
11129 )
11130 .map(EigenPodErrors::OnlyEigenPodOwner)
11131 }
11132 OnlyEigenPodOwner
11133 },
11134 {
11135 fn TimestampOutOfRange(
11136 data: &[u8],
11137 validate: bool,
11138 ) -> alloy_sol_types::Result<EigenPodErrors> {
11139 <TimestampOutOfRange as alloy_sol_types::SolError>::abi_decode_raw(
11140 data,
11141 validate,
11142 )
11143 .map(EigenPodErrors::TimestampOutOfRange)
11144 }
11145 TimestampOutOfRange
11146 },
11147 ];
11148 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
11149 return Err(
11150 alloy_sol_types::Error::unknown_selector(
11151 <Self as alloy_sol_types::SolInterface>::NAME,
11152 selector,
11153 ),
11154 );
11155 };
11156 DECODE_SHIMS[idx](data, validate)
11157 }
11158 #[inline]
11159 fn abi_encoded_size(&self) -> usize {
11160 match self {
11161 Self::BeaconTimestampTooFarInPast(inner) => {
11162 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::abi_encoded_size(
11163 inner,
11164 )
11165 }
11166 Self::CannotCheckpointTwiceInSingleBlock(inner) => {
11167 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::abi_encoded_size(
11168 inner,
11169 )
11170 }
11171 Self::CheckpointAlreadyActive(inner) => {
11172 <CheckpointAlreadyActive as alloy_sol_types::SolError>::abi_encoded_size(
11173 inner,
11174 )
11175 }
11176 Self::CredentialsAlreadyVerified(inner) => {
11177 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::abi_encoded_size(
11178 inner,
11179 )
11180 }
11181 Self::CurrentlyPaused(inner) => {
11182 <CurrentlyPaused as alloy_sol_types::SolError>::abi_encoded_size(
11183 inner,
11184 )
11185 }
11186 Self::ForkTimestampZero(inner) => {
11187 <ForkTimestampZero as alloy_sol_types::SolError>::abi_encoded_size(
11188 inner,
11189 )
11190 }
11191 Self::InputAddressZero(inner) => {
11192 <InputAddressZero as alloy_sol_types::SolError>::abi_encoded_size(
11193 inner,
11194 )
11195 }
11196 Self::InputArrayLengthMismatch(inner) => {
11197 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encoded_size(
11198 inner,
11199 )
11200 }
11201 Self::InsufficientWithdrawableBalance(inner) => {
11202 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::abi_encoded_size(
11203 inner,
11204 )
11205 }
11206 Self::InvalidEIP4788Response(inner) => {
11207 <InvalidEIP4788Response as alloy_sol_types::SolError>::abi_encoded_size(
11208 inner,
11209 )
11210 }
11211 Self::InvalidProof(inner) => {
11212 <InvalidProof as alloy_sol_types::SolError>::abi_encoded_size(inner)
11213 }
11214 Self::InvalidProofLength(inner) => {
11215 <InvalidProofLength as alloy_sol_types::SolError>::abi_encoded_size(
11216 inner,
11217 )
11218 }
11219 Self::InvalidPubKeyLength(inner) => {
11220 <InvalidPubKeyLength as alloy_sol_types::SolError>::abi_encoded_size(
11221 inner,
11222 )
11223 }
11224 Self::InvalidShortString(inner) => {
11225 <InvalidShortString as alloy_sol_types::SolError>::abi_encoded_size(
11226 inner,
11227 )
11228 }
11229 Self::InvalidValidatorFieldsLength(inner) => {
11230 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::abi_encoded_size(
11231 inner,
11232 )
11233 }
11234 Self::MsgValueNot32ETH(inner) => {
11235 <MsgValueNot32ETH as alloy_sol_types::SolError>::abi_encoded_size(
11236 inner,
11237 )
11238 }
11239 Self::NoActiveCheckpoint(inner) => {
11240 <NoActiveCheckpoint as alloy_sol_types::SolError>::abi_encoded_size(
11241 inner,
11242 )
11243 }
11244 Self::NoBalanceToCheckpoint(inner) => {
11245 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::abi_encoded_size(
11246 inner,
11247 )
11248 }
11249 Self::OnlyEigenPodManager(inner) => {
11250 <OnlyEigenPodManager as alloy_sol_types::SolError>::abi_encoded_size(
11251 inner,
11252 )
11253 }
11254 Self::OnlyEigenPodOwner(inner) => {
11255 <OnlyEigenPodOwner as alloy_sol_types::SolError>::abi_encoded_size(
11256 inner,
11257 )
11258 }
11259 Self::OnlyEigenPodOwnerOrProofSubmitter(inner) => {
11260 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::abi_encoded_size(
11261 inner,
11262 )
11263 }
11264 Self::StringTooLong(inner) => {
11265 <StringTooLong as alloy_sol_types::SolError>::abi_encoded_size(inner)
11266 }
11267 Self::TimestampOutOfRange(inner) => {
11268 <TimestampOutOfRange as alloy_sol_types::SolError>::abi_encoded_size(
11269 inner,
11270 )
11271 }
11272 Self::ValidatorInactiveOnBeaconChain(inner) => {
11273 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::abi_encoded_size(
11274 inner,
11275 )
11276 }
11277 Self::ValidatorIsExitingBeaconChain(inner) => {
11278 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::abi_encoded_size(
11279 inner,
11280 )
11281 }
11282 Self::ValidatorNotActiveInPod(inner) => {
11283 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::abi_encoded_size(
11284 inner,
11285 )
11286 }
11287 Self::ValidatorNotSlashedOnBeaconChain(inner) => {
11288 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::abi_encoded_size(
11289 inner,
11290 )
11291 }
11292 Self::WithdrawalCredentialsNotForEigenPod(inner) => {
11293 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::abi_encoded_size(
11294 inner,
11295 )
11296 }
11297 }
11298 }
11299 #[inline]
11300 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
11301 match self {
11302 Self::BeaconTimestampTooFarInPast(inner) => {
11303 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::abi_encode_raw(
11304 inner,
11305 out,
11306 )
11307 }
11308 Self::CannotCheckpointTwiceInSingleBlock(inner) => {
11309 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::abi_encode_raw(
11310 inner,
11311 out,
11312 )
11313 }
11314 Self::CheckpointAlreadyActive(inner) => {
11315 <CheckpointAlreadyActive as alloy_sol_types::SolError>::abi_encode_raw(
11316 inner,
11317 out,
11318 )
11319 }
11320 Self::CredentialsAlreadyVerified(inner) => {
11321 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::abi_encode_raw(
11322 inner,
11323 out,
11324 )
11325 }
11326 Self::CurrentlyPaused(inner) => {
11327 <CurrentlyPaused as alloy_sol_types::SolError>::abi_encode_raw(
11328 inner,
11329 out,
11330 )
11331 }
11332 Self::ForkTimestampZero(inner) => {
11333 <ForkTimestampZero as alloy_sol_types::SolError>::abi_encode_raw(
11334 inner,
11335 out,
11336 )
11337 }
11338 Self::InputAddressZero(inner) => {
11339 <InputAddressZero as alloy_sol_types::SolError>::abi_encode_raw(
11340 inner,
11341 out,
11342 )
11343 }
11344 Self::InputArrayLengthMismatch(inner) => {
11345 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encode_raw(
11346 inner,
11347 out,
11348 )
11349 }
11350 Self::InsufficientWithdrawableBalance(inner) => {
11351 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::abi_encode_raw(
11352 inner,
11353 out,
11354 )
11355 }
11356 Self::InvalidEIP4788Response(inner) => {
11357 <InvalidEIP4788Response as alloy_sol_types::SolError>::abi_encode_raw(
11358 inner,
11359 out,
11360 )
11361 }
11362 Self::InvalidProof(inner) => {
11363 <InvalidProof as alloy_sol_types::SolError>::abi_encode_raw(
11364 inner,
11365 out,
11366 )
11367 }
11368 Self::InvalidProofLength(inner) => {
11369 <InvalidProofLength as alloy_sol_types::SolError>::abi_encode_raw(
11370 inner,
11371 out,
11372 )
11373 }
11374 Self::InvalidPubKeyLength(inner) => {
11375 <InvalidPubKeyLength as alloy_sol_types::SolError>::abi_encode_raw(
11376 inner,
11377 out,
11378 )
11379 }
11380 Self::InvalidShortString(inner) => {
11381 <InvalidShortString as alloy_sol_types::SolError>::abi_encode_raw(
11382 inner,
11383 out,
11384 )
11385 }
11386 Self::InvalidValidatorFieldsLength(inner) => {
11387 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::abi_encode_raw(
11388 inner,
11389 out,
11390 )
11391 }
11392 Self::MsgValueNot32ETH(inner) => {
11393 <MsgValueNot32ETH as alloy_sol_types::SolError>::abi_encode_raw(
11394 inner,
11395 out,
11396 )
11397 }
11398 Self::NoActiveCheckpoint(inner) => {
11399 <NoActiveCheckpoint as alloy_sol_types::SolError>::abi_encode_raw(
11400 inner,
11401 out,
11402 )
11403 }
11404 Self::NoBalanceToCheckpoint(inner) => {
11405 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::abi_encode_raw(
11406 inner,
11407 out,
11408 )
11409 }
11410 Self::OnlyEigenPodManager(inner) => {
11411 <OnlyEigenPodManager as alloy_sol_types::SolError>::abi_encode_raw(
11412 inner,
11413 out,
11414 )
11415 }
11416 Self::OnlyEigenPodOwner(inner) => {
11417 <OnlyEigenPodOwner as alloy_sol_types::SolError>::abi_encode_raw(
11418 inner,
11419 out,
11420 )
11421 }
11422 Self::OnlyEigenPodOwnerOrProofSubmitter(inner) => {
11423 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::abi_encode_raw(
11424 inner,
11425 out,
11426 )
11427 }
11428 Self::StringTooLong(inner) => {
11429 <StringTooLong as alloy_sol_types::SolError>::abi_encode_raw(
11430 inner,
11431 out,
11432 )
11433 }
11434 Self::TimestampOutOfRange(inner) => {
11435 <TimestampOutOfRange as alloy_sol_types::SolError>::abi_encode_raw(
11436 inner,
11437 out,
11438 )
11439 }
11440 Self::ValidatorInactiveOnBeaconChain(inner) => {
11441 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::abi_encode_raw(
11442 inner,
11443 out,
11444 )
11445 }
11446 Self::ValidatorIsExitingBeaconChain(inner) => {
11447 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::abi_encode_raw(
11448 inner,
11449 out,
11450 )
11451 }
11452 Self::ValidatorNotActiveInPod(inner) => {
11453 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::abi_encode_raw(
11454 inner,
11455 out,
11456 )
11457 }
11458 Self::ValidatorNotSlashedOnBeaconChain(inner) => {
11459 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::abi_encode_raw(
11460 inner,
11461 out,
11462 )
11463 }
11464 Self::WithdrawalCredentialsNotForEigenPod(inner) => {
11465 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::abi_encode_raw(
11466 inner,
11467 out,
11468 )
11469 }
11470 }
11471 }
11472 }
11473 #[derive(Debug, PartialEq, Eq, Hash)]
11475 pub enum EigenPodEvents {
11476 #[allow(missing_docs)]
11477 CheckpointCreated(CheckpointCreated),
11478 #[allow(missing_docs)]
11479 CheckpointFinalized(CheckpointFinalized),
11480 #[allow(missing_docs)]
11481 EigenPodStaked(EigenPodStaked),
11482 #[allow(missing_docs)]
11483 Initialized(Initialized),
11484 #[allow(missing_docs)]
11485 NonBeaconChainETHReceived(NonBeaconChainETHReceived),
11486 #[allow(missing_docs)]
11487 ProofSubmitterUpdated(ProofSubmitterUpdated),
11488 #[allow(missing_docs)]
11489 RestakedBeaconChainETHWithdrawn(RestakedBeaconChainETHWithdrawn),
11490 #[allow(missing_docs)]
11491 ValidatorBalanceUpdated(ValidatorBalanceUpdated),
11492 #[allow(missing_docs)]
11493 ValidatorCheckpointed(ValidatorCheckpointed),
11494 #[allow(missing_docs)]
11495 ValidatorRestaked(ValidatorRestaked),
11496 #[allow(missing_docs)]
11497 ValidatorWithdrawn(ValidatorWithdrawn),
11498 }
11499 #[automatically_derived]
11500 impl EigenPodEvents {
11501 pub const SELECTORS: &'static [[u8; 32usize]] = &[
11508 [
11509 14u8, 95u8, 172u8, 23u8, 91u8, 131u8, 23u8, 124u8, 192u8, 71u8, 56u8,
11510 30u8, 3u8, 13u8, 143u8, 179u8, 180u8, 43u8, 55u8, 189u8, 28u8, 2u8, 94u8,
11511 34u8, 194u8, 128u8, 250u8, 202u8, 214u8, 44u8, 50u8, 223u8,
11512 ],
11513 [
11514 42u8, 2u8, 54u8, 31u8, 250u8, 102u8, 207u8, 44u8, 45u8, 164u8, 104u8,
11515 44u8, 35u8, 85u8, 166u8, 173u8, 202u8, 169u8, 246u8, 194u8, 39u8, 182u8,
11516 230u8, 86u8, 62u8, 104u8, 72u8, 15u8, 149u8, 135u8, 98u8, 106u8,
11517 ],
11518 [
11519 45u8, 8u8, 0u8, 187u8, 195u8, 119u8, 234u8, 84u8, 160u8, 140u8, 93u8,
11520 182u8, 168u8, 122u8, 175u8, 255u8, 94u8, 62u8, 156u8, 143u8, 234u8,
11521 208u8, 237u8, 161u8, 16u8, 228u8, 14u8, 12u8, 16u8, 68u8, 20u8, 73u8,
11522 ],
11523 [
11524 82u8, 84u8, 8u8, 194u8, 1u8, 188u8, 21u8, 118u8, 235u8, 68u8, 17u8,
11525 111u8, 100u8, 120u8, 241u8, 194u8, 165u8, 71u8, 117u8, 177u8, 154u8, 4u8,
11526 59u8, 207u8, 220u8, 112u8, 131u8, 100u8, 247u8, 79u8, 142u8, 68u8,
11527 ],
11528 [
11529 87u8, 87u8, 150u8, 19u8, 59u8, 190u8, 211u8, 55u8, 229u8, 179u8, 154u8,
11530 164u8, 154u8, 48u8, 220u8, 37u8, 86u8, 169u8, 30u8, 12u8, 108u8, 42u8,
11531 244u8, 183u8, 184u8, 134u8, 174u8, 119u8, 235u8, 239u8, 16u8, 118u8,
11532 ],
11533 [
11534 96u8, 104u8, 101u8, 183u8, 147u8, 74u8, 37u8, 212u8, 174u8, 212u8, 63u8,
11535 108u8, 219u8, 66u8, 100u8, 3u8, 53u8, 63u8, 164u8, 179u8, 0u8, 156u8,
11536 77u8, 34u8, 132u8, 7u8, 71u8, 69u8, 129u8, 176u8, 30u8, 35u8,
11537 ],
11538 [
11539 111u8, 221u8, 61u8, 189u8, 177u8, 115u8, 41u8, 150u8, 8u8, 192u8, 170u8,
11540 159u8, 54u8, 135u8, 53u8, 133u8, 124u8, 136u8, 66u8, 181u8, 129u8, 248u8,
11541 56u8, 146u8, 56u8, 191u8, 5u8, 189u8, 4u8, 179u8, 191u8, 73u8,
11542 ],
11543 [
11544 127u8, 38u8, 184u8, 63u8, 249u8, 110u8, 31u8, 43u8, 106u8, 104u8, 47u8,
11545 19u8, 56u8, 82u8, 246u8, 121u8, 138u8, 9u8, 196u8, 101u8, 218u8, 149u8,
11546 146u8, 20u8, 96u8, 206u8, 251u8, 56u8, 71u8, 64u8, 36u8, 152u8,
11547 ],
11548 [
11549 137u8, 71u8, 253u8, 44u8, 224u8, 126u8, 249u8, 204u8, 48u8, 44u8, 78u8,
11550 143u8, 4u8, 97u8, 1u8, 86u8, 21u8, 217u8, 28u8, 232u8, 81u8, 86u8, 72u8,
11551 57u8, 233u8, 28u8, 200u8, 4u8, 194u8, 244u8, 157u8, 142u8,
11552 ],
11553 [
11554 169u8, 28u8, 89u8, 3u8, 60u8, 52u8, 35u8, 225u8, 139u8, 84u8, 208u8,
11555 172u8, 236u8, 235u8, 180u8, 151u8, 47u8, 158u8, 169u8, 90u8, 237u8,
11556 245u8, 244u8, 202u8, 227u8, 182u8, 119u8, 176u8, 46u8, 175u8, 58u8, 63u8,
11557 ],
11558 [
11559 251u8, 129u8, 41u8, 8u8, 10u8, 25u8, 211u8, 77u8, 206u8, 172u8, 4u8,
11560 186u8, 37u8, 63u8, 197u8, 3u8, 4u8, 220u8, 134u8, 199u8, 41u8, 189u8,
11561 99u8, 205u8, 202u8, 74u8, 150u8, 154u8, 209u8, 154u8, 94u8, 172u8,
11562 ],
11563 ];
11564 }
11565 #[automatically_derived]
11566 impl alloy_sol_types::SolEventInterface for EigenPodEvents {
11567 const NAME: &'static str = "EigenPodEvents";
11568 const COUNT: usize = 11usize;
11569 fn decode_raw_log(
11570 topics: &[alloy_sol_types::Word],
11571 data: &[u8],
11572 validate: bool,
11573 ) -> alloy_sol_types::Result<Self> {
11574 match topics.first().copied() {
11575 Some(
11576 <CheckpointCreated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11577 ) => {
11578 <CheckpointCreated as alloy_sol_types::SolEvent>::decode_raw_log(
11579 topics,
11580 data,
11581 validate,
11582 )
11583 .map(Self::CheckpointCreated)
11584 }
11585 Some(
11586 <CheckpointFinalized as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11587 ) => {
11588 <CheckpointFinalized as alloy_sol_types::SolEvent>::decode_raw_log(
11589 topics,
11590 data,
11591 validate,
11592 )
11593 .map(Self::CheckpointFinalized)
11594 }
11595 Some(<EigenPodStaked as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11596 <EigenPodStaked as alloy_sol_types::SolEvent>::decode_raw_log(
11597 topics,
11598 data,
11599 validate,
11600 )
11601 .map(Self::EigenPodStaked)
11602 }
11603 Some(<Initialized as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11604 <Initialized as alloy_sol_types::SolEvent>::decode_raw_log(
11605 topics,
11606 data,
11607 validate,
11608 )
11609 .map(Self::Initialized)
11610 }
11611 Some(
11612 <NonBeaconChainETHReceived as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11613 ) => {
11614 <NonBeaconChainETHReceived as alloy_sol_types::SolEvent>::decode_raw_log(
11615 topics,
11616 data,
11617 validate,
11618 )
11619 .map(Self::NonBeaconChainETHReceived)
11620 }
11621 Some(
11622 <ProofSubmitterUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11623 ) => {
11624 <ProofSubmitterUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
11625 topics,
11626 data,
11627 validate,
11628 )
11629 .map(Self::ProofSubmitterUpdated)
11630 }
11631 Some(
11632 <RestakedBeaconChainETHWithdrawn as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11633 ) => {
11634 <RestakedBeaconChainETHWithdrawn as alloy_sol_types::SolEvent>::decode_raw_log(
11635 topics,
11636 data,
11637 validate,
11638 )
11639 .map(Self::RestakedBeaconChainETHWithdrawn)
11640 }
11641 Some(
11642 <ValidatorBalanceUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11643 ) => {
11644 <ValidatorBalanceUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
11645 topics,
11646 data,
11647 validate,
11648 )
11649 .map(Self::ValidatorBalanceUpdated)
11650 }
11651 Some(
11652 <ValidatorCheckpointed as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11653 ) => {
11654 <ValidatorCheckpointed as alloy_sol_types::SolEvent>::decode_raw_log(
11655 topics,
11656 data,
11657 validate,
11658 )
11659 .map(Self::ValidatorCheckpointed)
11660 }
11661 Some(
11662 <ValidatorRestaked as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11663 ) => {
11664 <ValidatorRestaked as alloy_sol_types::SolEvent>::decode_raw_log(
11665 topics,
11666 data,
11667 validate,
11668 )
11669 .map(Self::ValidatorRestaked)
11670 }
11671 Some(
11672 <ValidatorWithdrawn as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11673 ) => {
11674 <ValidatorWithdrawn as alloy_sol_types::SolEvent>::decode_raw_log(
11675 topics,
11676 data,
11677 validate,
11678 )
11679 .map(Self::ValidatorWithdrawn)
11680 }
11681 _ => {
11682 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
11683 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
11684 log: alloy_sol_types::private::Box::new(
11685 alloy_sol_types::private::LogData::new_unchecked(
11686 topics.to_vec(),
11687 data.to_vec().into(),
11688 ),
11689 ),
11690 })
11691 }
11692 }
11693 }
11694 }
11695 #[automatically_derived]
11696 impl alloy_sol_types::private::IntoLogData for EigenPodEvents {
11697 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
11698 match self {
11699 Self::CheckpointCreated(inner) => {
11700 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11701 }
11702 Self::CheckpointFinalized(inner) => {
11703 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11704 }
11705 Self::EigenPodStaked(inner) => {
11706 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11707 }
11708 Self::Initialized(inner) => {
11709 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11710 }
11711 Self::NonBeaconChainETHReceived(inner) => {
11712 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11713 }
11714 Self::ProofSubmitterUpdated(inner) => {
11715 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11716 }
11717 Self::RestakedBeaconChainETHWithdrawn(inner) => {
11718 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11719 }
11720 Self::ValidatorBalanceUpdated(inner) => {
11721 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11722 }
11723 Self::ValidatorCheckpointed(inner) => {
11724 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11725 }
11726 Self::ValidatorRestaked(inner) => {
11727 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11728 }
11729 Self::ValidatorWithdrawn(inner) => {
11730 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11731 }
11732 }
11733 }
11734 fn into_log_data(self) -> alloy_sol_types::private::LogData {
11735 match self {
11736 Self::CheckpointCreated(inner) => {
11737 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11738 }
11739 Self::CheckpointFinalized(inner) => {
11740 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11741 }
11742 Self::EigenPodStaked(inner) => {
11743 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11744 }
11745 Self::Initialized(inner) => {
11746 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11747 }
11748 Self::NonBeaconChainETHReceived(inner) => {
11749 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11750 }
11751 Self::ProofSubmitterUpdated(inner) => {
11752 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11753 }
11754 Self::RestakedBeaconChainETHWithdrawn(inner) => {
11755 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11756 }
11757 Self::ValidatorBalanceUpdated(inner) => {
11758 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11759 }
11760 Self::ValidatorCheckpointed(inner) => {
11761 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11762 }
11763 Self::ValidatorRestaked(inner) => {
11764 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11765 }
11766 Self::ValidatorWithdrawn(inner) => {
11767 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11768 }
11769 }
11770 }
11771 }
11772 use alloy::contract as alloy_contract;
11773 #[inline]
11777 pub const fn new<
11778 T: alloy_contract::private::Transport + ::core::clone::Clone,
11779 P: alloy_contract::private::Provider<T, N>,
11780 N: alloy_contract::private::Network,
11781 >(
11782 address: alloy_sol_types::private::Address,
11783 provider: P,
11784 ) -> EigenPodInstance<T, P, N> {
11785 EigenPodInstance::<T, P, N>::new(address, provider)
11786 }
11787 #[inline]
11793 pub fn deploy<
11794 T: alloy_contract::private::Transport + ::core::clone::Clone,
11795 P: alloy_contract::private::Provider<T, N>,
11796 N: alloy_contract::private::Network,
11797 >(
11798 provider: P,
11799 _ethPOS: alloy::sol_types::private::Address,
11800 _eigenPodManager: alloy::sol_types::private::Address,
11801 _GENESIS_TIME: u64,
11802 _version: alloy::sol_types::private::String,
11803 ) -> impl ::core::future::Future<
11804 Output = alloy_contract::Result<EigenPodInstance<T, P, N>>,
11805 > {
11806 EigenPodInstance::<
11807 T,
11808 P,
11809 N,
11810 >::deploy(provider, _ethPOS, _eigenPodManager, _GENESIS_TIME, _version)
11811 }
11812 #[inline]
11818 pub fn deploy_builder<
11819 T: alloy_contract::private::Transport + ::core::clone::Clone,
11820 P: alloy_contract::private::Provider<T, N>,
11821 N: alloy_contract::private::Network,
11822 >(
11823 provider: P,
11824 _ethPOS: alloy::sol_types::private::Address,
11825 _eigenPodManager: alloy::sol_types::private::Address,
11826 _GENESIS_TIME: u64,
11827 _version: alloy::sol_types::private::String,
11828 ) -> alloy_contract::RawCallBuilder<T, P, N> {
11829 EigenPodInstance::<
11830 T,
11831 P,
11832 N,
11833 >::deploy_builder(provider, _ethPOS, _eigenPodManager, _GENESIS_TIME, _version)
11834 }
11835 #[derive(Clone)]
11847 pub struct EigenPodInstance<T, P, N = alloy_contract::private::Ethereum> {
11848 address: alloy_sol_types::private::Address,
11849 provider: P,
11850 _network_transport: ::core::marker::PhantomData<(N, T)>,
11851 }
11852 #[automatically_derived]
11853 impl<T, P, N> ::core::fmt::Debug for EigenPodInstance<T, P, N> {
11854 #[inline]
11855 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11856 f.debug_tuple("EigenPodInstance").field(&self.address).finish()
11857 }
11858 }
11859 #[automatically_derived]
11861 impl<
11862 T: alloy_contract::private::Transport + ::core::clone::Clone,
11863 P: alloy_contract::private::Provider<T, N>,
11864 N: alloy_contract::private::Network,
11865 > EigenPodInstance<T, P, N> {
11866 #[inline]
11870 pub const fn new(
11871 address: alloy_sol_types::private::Address,
11872 provider: P,
11873 ) -> Self {
11874 Self {
11875 address,
11876 provider,
11877 _network_transport: ::core::marker::PhantomData,
11878 }
11879 }
11880 #[inline]
11886 pub async fn deploy(
11887 provider: P,
11888 _ethPOS: alloy::sol_types::private::Address,
11889 _eigenPodManager: alloy::sol_types::private::Address,
11890 _GENESIS_TIME: u64,
11891 _version: alloy::sol_types::private::String,
11892 ) -> alloy_contract::Result<EigenPodInstance<T, P, N>> {
11893 let call_builder = Self::deploy_builder(
11894 provider,
11895 _ethPOS,
11896 _eigenPodManager,
11897 _GENESIS_TIME,
11898 _version,
11899 );
11900 let contract_address = call_builder.deploy().await?;
11901 Ok(Self::new(contract_address, call_builder.provider))
11902 }
11903 #[inline]
11909 pub fn deploy_builder(
11910 provider: P,
11911 _ethPOS: alloy::sol_types::private::Address,
11912 _eigenPodManager: alloy::sol_types::private::Address,
11913 _GENESIS_TIME: u64,
11914 _version: alloy::sol_types::private::String,
11915 ) -> alloy_contract::RawCallBuilder<T, P, N> {
11916 alloy_contract::RawCallBuilder::new_raw_deploy(
11917 provider,
11918 [
11919 &BYTECODE[..],
11920 &alloy_sol_types::SolConstructor::abi_encode(
11921 &constructorCall {
11922 _ethPOS,
11923 _eigenPodManager,
11924 _GENESIS_TIME,
11925 _version,
11926 },
11927 )[..],
11928 ]
11929 .concat()
11930 .into(),
11931 )
11932 }
11933 #[inline]
11935 pub const fn address(&self) -> &alloy_sol_types::private::Address {
11936 &self.address
11937 }
11938 #[inline]
11940 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
11941 self.address = address;
11942 }
11943 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
11945 self.set_address(address);
11946 self
11947 }
11948 #[inline]
11950 pub const fn provider(&self) -> &P {
11951 &self.provider
11952 }
11953 }
11954 impl<T, P: ::core::clone::Clone, N> EigenPodInstance<T, &P, N> {
11955 #[inline]
11957 pub fn with_cloned_provider(self) -> EigenPodInstance<T, P, N> {
11958 EigenPodInstance {
11959 address: self.address,
11960 provider: ::core::clone::Clone::clone(&self.provider),
11961 _network_transport: ::core::marker::PhantomData,
11962 }
11963 }
11964 }
11965 #[automatically_derived]
11967 impl<
11968 T: alloy_contract::private::Transport + ::core::clone::Clone,
11969 P: alloy_contract::private::Provider<T, N>,
11970 N: alloy_contract::private::Network,
11971 > EigenPodInstance<T, P, N> {
11972 pub fn call_builder<C: alloy_sol_types::SolCall>(
11977 &self,
11978 call: &C,
11979 ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
11980 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
11981 }
11982 pub fn GENESIS_TIME(
11984 &self,
11985 ) -> alloy_contract::SolCallBuilder<T, &P, GENESIS_TIMECall, N> {
11986 self.call_builder(&GENESIS_TIMECall {})
11987 }
11988 pub fn activeValidatorCount(
11990 &self,
11991 ) -> alloy_contract::SolCallBuilder<T, &P, activeValidatorCountCall, N> {
11992 self.call_builder(&activeValidatorCountCall {})
11993 }
11994 pub fn checkpointBalanceExitedGwei(
11996 &self,
11997 _0: u64,
11998 ) -> alloy_contract::SolCallBuilder<T, &P, checkpointBalanceExitedGweiCall, N> {
11999 self.call_builder(
12000 &checkpointBalanceExitedGweiCall {
12001 _0,
12002 },
12003 )
12004 }
12005 pub fn currentCheckpoint(
12007 &self,
12008 ) -> alloy_contract::SolCallBuilder<T, &P, currentCheckpointCall, N> {
12009 self.call_builder(¤tCheckpointCall {})
12010 }
12011 pub fn currentCheckpointTimestamp(
12013 &self,
12014 ) -> alloy_contract::SolCallBuilder<T, &P, currentCheckpointTimestampCall, N> {
12015 self.call_builder(¤tCheckpointTimestampCall {})
12016 }
12017 pub fn eigenPodManager(
12019 &self,
12020 ) -> alloy_contract::SolCallBuilder<T, &P, eigenPodManagerCall, N> {
12021 self.call_builder(&eigenPodManagerCall {})
12022 }
12023 pub fn ethPOS(&self) -> alloy_contract::SolCallBuilder<T, &P, ethPOSCall, N> {
12025 self.call_builder(ðPOSCall {})
12026 }
12027 pub fn getParentBlockRoot(
12029 &self,
12030 timestamp: u64,
12031 ) -> alloy_contract::SolCallBuilder<T, &P, getParentBlockRootCall, N> {
12032 self.call_builder(
12033 &getParentBlockRootCall {
12034 timestamp,
12035 },
12036 )
12037 }
12038 pub fn initialize(
12040 &self,
12041 _podOwner: alloy::sol_types::private::Address,
12042 ) -> alloy_contract::SolCallBuilder<T, &P, initializeCall, N> {
12043 self.call_builder(&initializeCall { _podOwner })
12044 }
12045 pub fn lastCheckpointTimestamp(
12047 &self,
12048 ) -> alloy_contract::SolCallBuilder<T, &P, lastCheckpointTimestampCall, N> {
12049 self.call_builder(&lastCheckpointTimestampCall {})
12050 }
12051 pub fn podOwner(
12053 &self,
12054 ) -> alloy_contract::SolCallBuilder<T, &P, podOwnerCall, N> {
12055 self.call_builder(&podOwnerCall {})
12056 }
12057 pub fn proofSubmitter(
12059 &self,
12060 ) -> alloy_contract::SolCallBuilder<T, &P, proofSubmitterCall, N> {
12061 self.call_builder(&proofSubmitterCall {})
12062 }
12063 pub fn recoverTokens(
12065 &self,
12066 tokenList: alloy::sol_types::private::Vec<
12067 alloy::sol_types::private::Address,
12068 >,
12069 amountsToWithdraw: alloy::sol_types::private::Vec<
12070 alloy::sol_types::private::primitives::aliases::U256,
12071 >,
12072 recipient: alloy::sol_types::private::Address,
12073 ) -> alloy_contract::SolCallBuilder<T, &P, recoverTokensCall, N> {
12074 self.call_builder(
12075 &recoverTokensCall {
12076 tokenList,
12077 amountsToWithdraw,
12078 recipient,
12079 },
12080 )
12081 }
12082 pub fn setProofSubmitter(
12084 &self,
12085 newProofSubmitter: alloy::sol_types::private::Address,
12086 ) -> alloy_contract::SolCallBuilder<T, &P, setProofSubmitterCall, N> {
12087 self.call_builder(
12088 &setProofSubmitterCall {
12089 newProofSubmitter,
12090 },
12091 )
12092 }
12093 pub fn stake(
12095 &self,
12096 pubkey: alloy::sol_types::private::Bytes,
12097 signature: alloy::sol_types::private::Bytes,
12098 depositDataRoot: alloy::sol_types::private::FixedBytes<32>,
12099 ) -> alloy_contract::SolCallBuilder<T, &P, stakeCall, N> {
12100 self.call_builder(
12101 &stakeCall {
12102 pubkey,
12103 signature,
12104 depositDataRoot,
12105 },
12106 )
12107 }
12108 pub fn startCheckpoint(
12110 &self,
12111 revertIfNoBalance: bool,
12112 ) -> alloy_contract::SolCallBuilder<T, &P, startCheckpointCall, N> {
12113 self.call_builder(
12114 &startCheckpointCall {
12115 revertIfNoBalance,
12116 },
12117 )
12118 }
12119 pub fn validatorPubkeyHashToInfo(
12121 &self,
12122 validatorPubkeyHash: alloy::sol_types::private::FixedBytes<32>,
12123 ) -> alloy_contract::SolCallBuilder<T, &P, validatorPubkeyHashToInfoCall, N> {
12124 self.call_builder(
12125 &validatorPubkeyHashToInfoCall {
12126 validatorPubkeyHash,
12127 },
12128 )
12129 }
12130 pub fn validatorPubkeyToInfo(
12132 &self,
12133 validatorPubkey: alloy::sol_types::private::Bytes,
12134 ) -> alloy_contract::SolCallBuilder<T, &P, validatorPubkeyToInfoCall, N> {
12135 self.call_builder(
12136 &validatorPubkeyToInfoCall {
12137 validatorPubkey,
12138 },
12139 )
12140 }
12141 pub fn validatorStatus_0(
12143 &self,
12144 validatorPubkey: alloy::sol_types::private::Bytes,
12145 ) -> alloy_contract::SolCallBuilder<T, &P, validatorStatus_0Call, N> {
12146 self.call_builder(
12147 &validatorStatus_0Call {
12148 validatorPubkey,
12149 },
12150 )
12151 }
12152 pub fn validatorStatus_1(
12154 &self,
12155 pubkeyHash: alloy::sol_types::private::FixedBytes<32>,
12156 ) -> alloy_contract::SolCallBuilder<T, &P, validatorStatus_1Call, N> {
12157 self.call_builder(
12158 &validatorStatus_1Call {
12159 pubkeyHash,
12160 },
12161 )
12162 }
12163 pub fn verifyCheckpointProofs(
12165 &self,
12166 balanceContainerProof: <BeaconChainProofs::BalanceContainerProof as alloy::sol_types::SolType>::RustType,
12167 proofs: alloy::sol_types::private::Vec<
12168 <BeaconChainProofs::BalanceProof as alloy::sol_types::SolType>::RustType,
12169 >,
12170 ) -> alloy_contract::SolCallBuilder<T, &P, verifyCheckpointProofsCall, N> {
12171 self.call_builder(
12172 &verifyCheckpointProofsCall {
12173 balanceContainerProof,
12174 proofs,
12175 },
12176 )
12177 }
12178 pub fn verifyStaleBalance(
12180 &self,
12181 beaconTimestamp: u64,
12182 stateRootProof: <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
12183 proof: <BeaconChainProofs::ValidatorProof as alloy::sol_types::SolType>::RustType,
12184 ) -> alloy_contract::SolCallBuilder<T, &P, verifyStaleBalanceCall, N> {
12185 self.call_builder(
12186 &verifyStaleBalanceCall {
12187 beaconTimestamp,
12188 stateRootProof,
12189 proof,
12190 },
12191 )
12192 }
12193 pub fn verifyWithdrawalCredentials(
12195 &self,
12196 beaconTimestamp: u64,
12197 stateRootProof: <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
12198 validatorIndices: alloy::sol_types::private::Vec<
12199 alloy::sol_types::private::primitives::aliases::U40,
12200 >,
12201 validatorFieldsProofs: alloy::sol_types::private::Vec<
12202 alloy::sol_types::private::Bytes,
12203 >,
12204 validatorFields: alloy::sol_types::private::Vec<
12205 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
12206 >,
12207 ) -> alloy_contract::SolCallBuilder<T, &P, verifyWithdrawalCredentialsCall, N> {
12208 self.call_builder(
12209 &verifyWithdrawalCredentialsCall {
12210 beaconTimestamp,
12211 stateRootProof,
12212 validatorIndices,
12213 validatorFieldsProofs,
12214 validatorFields,
12215 },
12216 )
12217 }
12218 pub fn version(&self) -> alloy_contract::SolCallBuilder<T, &P, versionCall, N> {
12220 self.call_builder(&versionCall {})
12221 }
12222 pub fn withdrawRestakedBeaconChainETH(
12224 &self,
12225 recipient: alloy::sol_types::private::Address,
12226 amountWei: alloy::sol_types::private::primitives::aliases::U256,
12227 ) -> alloy_contract::SolCallBuilder<
12228 T,
12229 &P,
12230 withdrawRestakedBeaconChainETHCall,
12231 N,
12232 > {
12233 self.call_builder(
12234 &withdrawRestakedBeaconChainETHCall {
12235 recipient,
12236 amountWei,
12237 },
12238 )
12239 }
12240 pub fn withdrawableRestakedExecutionLayerGwei(
12242 &self,
12243 ) -> alloy_contract::SolCallBuilder<
12244 T,
12245 &P,
12246 withdrawableRestakedExecutionLayerGweiCall,
12247 N,
12248 > {
12249 self.call_builder(
12250 &withdrawableRestakedExecutionLayerGweiCall {
12251 },
12252 )
12253 }
12254 }
12255 #[automatically_derived]
12257 impl<
12258 T: alloy_contract::private::Transport + ::core::clone::Clone,
12259 P: alloy_contract::private::Provider<T, N>,
12260 N: alloy_contract::private::Network,
12261 > EigenPodInstance<T, P, N> {
12262 pub fn event_filter<E: alloy_sol_types::SolEvent>(
12267 &self,
12268 ) -> alloy_contract::Event<T, &P, E, N> {
12269 alloy_contract::Event::new_sol(&self.provider, &self.address)
12270 }
12271 pub fn CheckpointCreated_filter(
12273 &self,
12274 ) -> alloy_contract::Event<T, &P, CheckpointCreated, N> {
12275 self.event_filter::<CheckpointCreated>()
12276 }
12277 pub fn CheckpointFinalized_filter(
12279 &self,
12280 ) -> alloy_contract::Event<T, &P, CheckpointFinalized, N> {
12281 self.event_filter::<CheckpointFinalized>()
12282 }
12283 pub fn EigenPodStaked_filter(
12285 &self,
12286 ) -> alloy_contract::Event<T, &P, EigenPodStaked, N> {
12287 self.event_filter::<EigenPodStaked>()
12288 }
12289 pub fn Initialized_filter(
12291 &self,
12292 ) -> alloy_contract::Event<T, &P, Initialized, N> {
12293 self.event_filter::<Initialized>()
12294 }
12295 pub fn NonBeaconChainETHReceived_filter(
12297 &self,
12298 ) -> alloy_contract::Event<T, &P, NonBeaconChainETHReceived, N> {
12299 self.event_filter::<NonBeaconChainETHReceived>()
12300 }
12301 pub fn ProofSubmitterUpdated_filter(
12303 &self,
12304 ) -> alloy_contract::Event<T, &P, ProofSubmitterUpdated, N> {
12305 self.event_filter::<ProofSubmitterUpdated>()
12306 }
12307 pub fn RestakedBeaconChainETHWithdrawn_filter(
12309 &self,
12310 ) -> alloy_contract::Event<T, &P, RestakedBeaconChainETHWithdrawn, N> {
12311 self.event_filter::<RestakedBeaconChainETHWithdrawn>()
12312 }
12313 pub fn ValidatorBalanceUpdated_filter(
12315 &self,
12316 ) -> alloy_contract::Event<T, &P, ValidatorBalanceUpdated, N> {
12317 self.event_filter::<ValidatorBalanceUpdated>()
12318 }
12319 pub fn ValidatorCheckpointed_filter(
12321 &self,
12322 ) -> alloy_contract::Event<T, &P, ValidatorCheckpointed, N> {
12323 self.event_filter::<ValidatorCheckpointed>()
12324 }
12325 pub fn ValidatorRestaked_filter(
12327 &self,
12328 ) -> alloy_contract::Event<T, &P, ValidatorRestaked, N> {
12329 self.event_filter::<ValidatorRestaked>()
12330 }
12331 pub fn ValidatorWithdrawn_filter(
12333 &self,
12334 ) -> alloy_contract::Event<T, &P, ValidatorWithdrawn, N> {
12335 self.event_filter::<ValidatorWithdrawn>()
12336 }
12337 }
12338}