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(serde::Serialize, serde::Deserialize)]
26 #[derive(Default, Debug, PartialEq, Eq, Hash)]
27 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
31 #[derive(Clone)]
32 pub struct BalanceContainerProof {
33 #[allow(missing_docs)]
34 pub balanceContainerRoot: alloy::sol_types::private::FixedBytes<32>,
35 #[allow(missing_docs)]
36 pub proof: alloy::sol_types::private::Bytes,
37 }
38 #[allow(
39 non_camel_case_types,
40 non_snake_case,
41 clippy::pub_underscore_fields,
42 clippy::style
43 )]
44 const _: () = {
45 use alloy::sol_types as alloy_sol_types;
46 #[doc(hidden)]
47 type UnderlyingSolTuple<'a> = (
48 alloy::sol_types::sol_data::FixedBytes<32>,
49 alloy::sol_types::sol_data::Bytes,
50 );
51 #[doc(hidden)]
52 type UnderlyingRustTuple<'a> = (
53 alloy::sol_types::private::FixedBytes<32>,
54 alloy::sol_types::private::Bytes,
55 );
56 #[cfg(test)]
57 #[allow(dead_code, unreachable_patterns)]
58 fn _type_assertion(
59 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
60 ) {
61 match _t {
62 alloy_sol_types::private::AssertTypeEq::<
63 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
64 >(_) => {}
65 }
66 }
67 #[automatically_derived]
68 #[doc(hidden)]
69 impl ::core::convert::From<BalanceContainerProof> for UnderlyingRustTuple<'_> {
70 fn from(value: BalanceContainerProof) -> Self {
71 (value.balanceContainerRoot, value.proof)
72 }
73 }
74 #[automatically_derived]
75 #[doc(hidden)]
76 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BalanceContainerProof {
77 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
78 Self {
79 balanceContainerRoot: tuple.0,
80 proof: tuple.1,
81 }
82 }
83 }
84 #[automatically_derived]
85 impl alloy_sol_types::SolValue for BalanceContainerProof {
86 type SolType = Self;
87 }
88 #[automatically_derived]
89 impl alloy_sol_types::private::SolTypeValue<Self> for BalanceContainerProof {
90 #[inline]
91 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
92 (
93 <alloy::sol_types::sol_data::FixedBytes<
94 32,
95 > as alloy_sol_types::SolType>::tokenize(&self.balanceContainerRoot),
96 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
97 &self.proof,
98 ),
99 )
100 }
101 #[inline]
102 fn stv_abi_encoded_size(&self) -> usize {
103 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
104 return size;
105 }
106 let tuple = <UnderlyingRustTuple<
107 '_,
108 > as ::core::convert::From<Self>>::from(self.clone());
109 <UnderlyingSolTuple<
110 '_,
111 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
112 }
113 #[inline]
114 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
115 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
116 }
117 #[inline]
118 fn stv_abi_encode_packed_to(
119 &self,
120 out: &mut alloy_sol_types::private::Vec<u8>,
121 ) {
122 let tuple = <UnderlyingRustTuple<
123 '_,
124 > as ::core::convert::From<Self>>::from(self.clone());
125 <UnderlyingSolTuple<
126 '_,
127 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
128 }
129 #[inline]
130 fn stv_abi_packed_encoded_size(&self) -> usize {
131 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
132 return size;
133 }
134 let tuple = <UnderlyingRustTuple<
135 '_,
136 > as ::core::convert::From<Self>>::from(self.clone());
137 <UnderlyingSolTuple<
138 '_,
139 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
140 }
141 }
142 #[automatically_derived]
143 impl alloy_sol_types::SolType for BalanceContainerProof {
144 type RustType = Self;
145 type Token<'a> = <UnderlyingSolTuple<
146 'a,
147 > as alloy_sol_types::SolType>::Token<'a>;
148 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
149 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
150 '_,
151 > as alloy_sol_types::SolType>::ENCODED_SIZE;
152 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
153 '_,
154 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
155 #[inline]
156 fn valid_token(token: &Self::Token<'_>) -> bool {
157 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
158 }
159 #[inline]
160 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
161 let tuple = <UnderlyingSolTuple<
162 '_,
163 > as alloy_sol_types::SolType>::detokenize(token);
164 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
165 }
166 }
167 #[automatically_derived]
168 impl alloy_sol_types::SolStruct for BalanceContainerProof {
169 const NAME: &'static str = "BalanceContainerProof";
170 #[inline]
171 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
172 alloy_sol_types::private::Cow::Borrowed(
173 "BalanceContainerProof(bytes32 balanceContainerRoot,bytes proof)",
174 )
175 }
176 #[inline]
177 fn eip712_components() -> alloy_sol_types::private::Vec<
178 alloy_sol_types::private::Cow<'static, str>,
179 > {
180 alloy_sol_types::private::Vec::new()
181 }
182 #[inline]
183 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
184 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
185 }
186 #[inline]
187 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
188 [
189 <alloy::sol_types::sol_data::FixedBytes<
190 32,
191 > as alloy_sol_types::SolType>::eip712_data_word(
192 &self.balanceContainerRoot,
193 )
194 .0,
195 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
196 &self.proof,
197 )
198 .0,
199 ]
200 .concat()
201 }
202 }
203 #[automatically_derived]
204 impl alloy_sol_types::EventTopic for BalanceContainerProof {
205 #[inline]
206 fn topic_preimage_length(rust: &Self::RustType) -> usize {
207 0usize
208 + <alloy::sol_types::sol_data::FixedBytes<
209 32,
210 > as alloy_sol_types::EventTopic>::topic_preimage_length(
211 &rust.balanceContainerRoot,
212 )
213 + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
214 &rust.proof,
215 )
216 }
217 #[inline]
218 fn encode_topic_preimage(
219 rust: &Self::RustType,
220 out: &mut alloy_sol_types::private::Vec<u8>,
221 ) {
222 out.reserve(
223 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
224 );
225 <alloy::sol_types::sol_data::FixedBytes<
226 32,
227 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
228 &rust.balanceContainerRoot,
229 out,
230 );
231 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
232 &rust.proof,
233 out,
234 );
235 }
236 #[inline]
237 fn encode_topic(
238 rust: &Self::RustType,
239 ) -> alloy_sol_types::abi::token::WordToken {
240 let mut out = alloy_sol_types::private::Vec::new();
241 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
242 rust,
243 &mut out,
244 );
245 alloy_sol_types::abi::token::WordToken(
246 alloy_sol_types::private::keccak256(out),
247 )
248 }
249 }
250 };
251 #[derive(serde::Serialize, serde::Deserialize)]
252 #[derive(Default, Debug, PartialEq, Eq, Hash)]
253 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
257 #[derive(Clone)]
258 pub struct BalanceProof {
259 #[allow(missing_docs)]
260 pub pubkeyHash: alloy::sol_types::private::FixedBytes<32>,
261 #[allow(missing_docs)]
262 pub balanceRoot: alloy::sol_types::private::FixedBytes<32>,
263 #[allow(missing_docs)]
264 pub proof: alloy::sol_types::private::Bytes,
265 }
266 #[allow(
267 non_camel_case_types,
268 non_snake_case,
269 clippy::pub_underscore_fields,
270 clippy::style
271 )]
272 const _: () = {
273 use alloy::sol_types as alloy_sol_types;
274 #[doc(hidden)]
275 type UnderlyingSolTuple<'a> = (
276 alloy::sol_types::sol_data::FixedBytes<32>,
277 alloy::sol_types::sol_data::FixedBytes<32>,
278 alloy::sol_types::sol_data::Bytes,
279 );
280 #[doc(hidden)]
281 type UnderlyingRustTuple<'a> = (
282 alloy::sol_types::private::FixedBytes<32>,
283 alloy::sol_types::private::FixedBytes<32>,
284 alloy::sol_types::private::Bytes,
285 );
286 #[cfg(test)]
287 #[allow(dead_code, unreachable_patterns)]
288 fn _type_assertion(
289 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
290 ) {
291 match _t {
292 alloy_sol_types::private::AssertTypeEq::<
293 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
294 >(_) => {}
295 }
296 }
297 #[automatically_derived]
298 #[doc(hidden)]
299 impl ::core::convert::From<BalanceProof> for UnderlyingRustTuple<'_> {
300 fn from(value: BalanceProof) -> Self {
301 (value.pubkeyHash, value.balanceRoot, value.proof)
302 }
303 }
304 #[automatically_derived]
305 #[doc(hidden)]
306 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BalanceProof {
307 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
308 Self {
309 pubkeyHash: tuple.0,
310 balanceRoot: tuple.1,
311 proof: tuple.2,
312 }
313 }
314 }
315 #[automatically_derived]
316 impl alloy_sol_types::SolValue for BalanceProof {
317 type SolType = Self;
318 }
319 #[automatically_derived]
320 impl alloy_sol_types::private::SolTypeValue<Self> for BalanceProof {
321 #[inline]
322 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
323 (
324 <alloy::sol_types::sol_data::FixedBytes<
325 32,
326 > as alloy_sol_types::SolType>::tokenize(&self.pubkeyHash),
327 <alloy::sol_types::sol_data::FixedBytes<
328 32,
329 > as alloy_sol_types::SolType>::tokenize(&self.balanceRoot),
330 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
331 &self.proof,
332 ),
333 )
334 }
335 #[inline]
336 fn stv_abi_encoded_size(&self) -> usize {
337 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
338 return size;
339 }
340 let tuple = <UnderlyingRustTuple<
341 '_,
342 > as ::core::convert::From<Self>>::from(self.clone());
343 <UnderlyingSolTuple<
344 '_,
345 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
346 }
347 #[inline]
348 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
349 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
350 }
351 #[inline]
352 fn stv_abi_encode_packed_to(
353 &self,
354 out: &mut alloy_sol_types::private::Vec<u8>,
355 ) {
356 let tuple = <UnderlyingRustTuple<
357 '_,
358 > as ::core::convert::From<Self>>::from(self.clone());
359 <UnderlyingSolTuple<
360 '_,
361 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
362 }
363 #[inline]
364 fn stv_abi_packed_encoded_size(&self) -> usize {
365 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
366 return size;
367 }
368 let tuple = <UnderlyingRustTuple<
369 '_,
370 > as ::core::convert::From<Self>>::from(self.clone());
371 <UnderlyingSolTuple<
372 '_,
373 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
374 }
375 }
376 #[automatically_derived]
377 impl alloy_sol_types::SolType for BalanceProof {
378 type RustType = Self;
379 type Token<'a> = <UnderlyingSolTuple<
380 'a,
381 > as alloy_sol_types::SolType>::Token<'a>;
382 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
383 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
384 '_,
385 > as alloy_sol_types::SolType>::ENCODED_SIZE;
386 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
387 '_,
388 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
389 #[inline]
390 fn valid_token(token: &Self::Token<'_>) -> bool {
391 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
392 }
393 #[inline]
394 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
395 let tuple = <UnderlyingSolTuple<
396 '_,
397 > as alloy_sol_types::SolType>::detokenize(token);
398 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
399 }
400 }
401 #[automatically_derived]
402 impl alloy_sol_types::SolStruct for BalanceProof {
403 const NAME: &'static str = "BalanceProof";
404 #[inline]
405 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
406 alloy_sol_types::private::Cow::Borrowed(
407 "BalanceProof(bytes32 pubkeyHash,bytes32 balanceRoot,bytes proof)",
408 )
409 }
410 #[inline]
411 fn eip712_components() -> alloy_sol_types::private::Vec<
412 alloy_sol_types::private::Cow<'static, str>,
413 > {
414 alloy_sol_types::private::Vec::new()
415 }
416 #[inline]
417 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
418 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
419 }
420 #[inline]
421 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
422 [
423 <alloy::sol_types::sol_data::FixedBytes<
424 32,
425 > as alloy_sol_types::SolType>::eip712_data_word(&self.pubkeyHash)
426 .0,
427 <alloy::sol_types::sol_data::FixedBytes<
428 32,
429 > as alloy_sol_types::SolType>::eip712_data_word(&self.balanceRoot)
430 .0,
431 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
432 &self.proof,
433 )
434 .0,
435 ]
436 .concat()
437 }
438 }
439 #[automatically_derived]
440 impl alloy_sol_types::EventTopic for BalanceProof {
441 #[inline]
442 fn topic_preimage_length(rust: &Self::RustType) -> usize {
443 0usize
444 + <alloy::sol_types::sol_data::FixedBytes<
445 32,
446 > as alloy_sol_types::EventTopic>::topic_preimage_length(
447 &rust.pubkeyHash,
448 )
449 + <alloy::sol_types::sol_data::FixedBytes<
450 32,
451 > as alloy_sol_types::EventTopic>::topic_preimage_length(
452 &rust.balanceRoot,
453 )
454 + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
455 &rust.proof,
456 )
457 }
458 #[inline]
459 fn encode_topic_preimage(
460 rust: &Self::RustType,
461 out: &mut alloy_sol_types::private::Vec<u8>,
462 ) {
463 out.reserve(
464 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
465 );
466 <alloy::sol_types::sol_data::FixedBytes<
467 32,
468 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
469 &rust.pubkeyHash,
470 out,
471 );
472 <alloy::sol_types::sol_data::FixedBytes<
473 32,
474 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
475 &rust.balanceRoot,
476 out,
477 );
478 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
479 &rust.proof,
480 out,
481 );
482 }
483 #[inline]
484 fn encode_topic(
485 rust: &Self::RustType,
486 ) -> alloy_sol_types::abi::token::WordToken {
487 let mut out = alloy_sol_types::private::Vec::new();
488 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
489 rust,
490 &mut out,
491 );
492 alloy_sol_types::abi::token::WordToken(
493 alloy_sol_types::private::keccak256(out),
494 )
495 }
496 }
497 };
498 #[derive(serde::Serialize, serde::Deserialize)]
499 #[derive(Default, Debug, PartialEq, Eq, Hash)]
500 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
504 #[derive(Clone)]
505 pub struct StateRootProof {
506 #[allow(missing_docs)]
507 pub beaconStateRoot: alloy::sol_types::private::FixedBytes<32>,
508 #[allow(missing_docs)]
509 pub proof: alloy::sol_types::private::Bytes,
510 }
511 #[allow(
512 non_camel_case_types,
513 non_snake_case,
514 clippy::pub_underscore_fields,
515 clippy::style
516 )]
517 const _: () = {
518 use alloy::sol_types as alloy_sol_types;
519 #[doc(hidden)]
520 type UnderlyingSolTuple<'a> = (
521 alloy::sol_types::sol_data::FixedBytes<32>,
522 alloy::sol_types::sol_data::Bytes,
523 );
524 #[doc(hidden)]
525 type UnderlyingRustTuple<'a> = (
526 alloy::sol_types::private::FixedBytes<32>,
527 alloy::sol_types::private::Bytes,
528 );
529 #[cfg(test)]
530 #[allow(dead_code, unreachable_patterns)]
531 fn _type_assertion(
532 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
533 ) {
534 match _t {
535 alloy_sol_types::private::AssertTypeEq::<
536 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
537 >(_) => {}
538 }
539 }
540 #[automatically_derived]
541 #[doc(hidden)]
542 impl ::core::convert::From<StateRootProof> for UnderlyingRustTuple<'_> {
543 fn from(value: StateRootProof) -> Self {
544 (value.beaconStateRoot, value.proof)
545 }
546 }
547 #[automatically_derived]
548 #[doc(hidden)]
549 impl ::core::convert::From<UnderlyingRustTuple<'_>> for StateRootProof {
550 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
551 Self {
552 beaconStateRoot: tuple.0,
553 proof: tuple.1,
554 }
555 }
556 }
557 #[automatically_derived]
558 impl alloy_sol_types::SolValue for StateRootProof {
559 type SolType = Self;
560 }
561 #[automatically_derived]
562 impl alloy_sol_types::private::SolTypeValue<Self> for StateRootProof {
563 #[inline]
564 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
565 (
566 <alloy::sol_types::sol_data::FixedBytes<
567 32,
568 > as alloy_sol_types::SolType>::tokenize(&self.beaconStateRoot),
569 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
570 &self.proof,
571 ),
572 )
573 }
574 #[inline]
575 fn stv_abi_encoded_size(&self) -> usize {
576 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
577 return size;
578 }
579 let tuple = <UnderlyingRustTuple<
580 '_,
581 > as ::core::convert::From<Self>>::from(self.clone());
582 <UnderlyingSolTuple<
583 '_,
584 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
585 }
586 #[inline]
587 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
588 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
589 }
590 #[inline]
591 fn stv_abi_encode_packed_to(
592 &self,
593 out: &mut alloy_sol_types::private::Vec<u8>,
594 ) {
595 let tuple = <UnderlyingRustTuple<
596 '_,
597 > as ::core::convert::From<Self>>::from(self.clone());
598 <UnderlyingSolTuple<
599 '_,
600 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
601 }
602 #[inline]
603 fn stv_abi_packed_encoded_size(&self) -> usize {
604 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
605 return size;
606 }
607 let tuple = <UnderlyingRustTuple<
608 '_,
609 > as ::core::convert::From<Self>>::from(self.clone());
610 <UnderlyingSolTuple<
611 '_,
612 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
613 }
614 }
615 #[automatically_derived]
616 impl alloy_sol_types::SolType for StateRootProof {
617 type RustType = Self;
618 type Token<'a> = <UnderlyingSolTuple<
619 'a,
620 > as alloy_sol_types::SolType>::Token<'a>;
621 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
622 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
623 '_,
624 > as alloy_sol_types::SolType>::ENCODED_SIZE;
625 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
626 '_,
627 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
628 #[inline]
629 fn valid_token(token: &Self::Token<'_>) -> bool {
630 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
631 }
632 #[inline]
633 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
634 let tuple = <UnderlyingSolTuple<
635 '_,
636 > as alloy_sol_types::SolType>::detokenize(token);
637 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
638 }
639 }
640 #[automatically_derived]
641 impl alloy_sol_types::SolStruct for StateRootProof {
642 const NAME: &'static str = "StateRootProof";
643 #[inline]
644 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
645 alloy_sol_types::private::Cow::Borrowed(
646 "StateRootProof(bytes32 beaconStateRoot,bytes proof)",
647 )
648 }
649 #[inline]
650 fn eip712_components() -> alloy_sol_types::private::Vec<
651 alloy_sol_types::private::Cow<'static, str>,
652 > {
653 alloy_sol_types::private::Vec::new()
654 }
655 #[inline]
656 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
657 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
658 }
659 #[inline]
660 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
661 [
662 <alloy::sol_types::sol_data::FixedBytes<
663 32,
664 > as alloy_sol_types::SolType>::eip712_data_word(
665 &self.beaconStateRoot,
666 )
667 .0,
668 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
669 &self.proof,
670 )
671 .0,
672 ]
673 .concat()
674 }
675 }
676 #[automatically_derived]
677 impl alloy_sol_types::EventTopic for StateRootProof {
678 #[inline]
679 fn topic_preimage_length(rust: &Self::RustType) -> usize {
680 0usize
681 + <alloy::sol_types::sol_data::FixedBytes<
682 32,
683 > as alloy_sol_types::EventTopic>::topic_preimage_length(
684 &rust.beaconStateRoot,
685 )
686 + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
687 &rust.proof,
688 )
689 }
690 #[inline]
691 fn encode_topic_preimage(
692 rust: &Self::RustType,
693 out: &mut alloy_sol_types::private::Vec<u8>,
694 ) {
695 out.reserve(
696 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
697 );
698 <alloy::sol_types::sol_data::FixedBytes<
699 32,
700 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
701 &rust.beaconStateRoot,
702 out,
703 );
704 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
705 &rust.proof,
706 out,
707 );
708 }
709 #[inline]
710 fn encode_topic(
711 rust: &Self::RustType,
712 ) -> alloy_sol_types::abi::token::WordToken {
713 let mut out = alloy_sol_types::private::Vec::new();
714 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
715 rust,
716 &mut out,
717 );
718 alloy_sol_types::abi::token::WordToken(
719 alloy_sol_types::private::keccak256(out),
720 )
721 }
722 }
723 };
724 #[derive(serde::Serialize, serde::Deserialize)]
725 #[derive(Default, Debug, PartialEq, Eq, Hash)]
726 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
730 #[derive(Clone)]
731 pub struct ValidatorProof {
732 #[allow(missing_docs)]
733 pub validatorFields: alloy::sol_types::private::Vec<
734 alloy::sol_types::private::FixedBytes<32>,
735 >,
736 #[allow(missing_docs)]
737 pub proof: alloy::sol_types::private::Bytes,
738 }
739 #[allow(
740 non_camel_case_types,
741 non_snake_case,
742 clippy::pub_underscore_fields,
743 clippy::style
744 )]
745 const _: () = {
746 use alloy::sol_types as alloy_sol_types;
747 #[doc(hidden)]
748 type UnderlyingSolTuple<'a> = (
749 alloy::sol_types::sol_data::Array<
750 alloy::sol_types::sol_data::FixedBytes<32>,
751 >,
752 alloy::sol_types::sol_data::Bytes,
753 );
754 #[doc(hidden)]
755 type UnderlyingRustTuple<'a> = (
756 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
757 alloy::sol_types::private::Bytes,
758 );
759 #[cfg(test)]
760 #[allow(dead_code, unreachable_patterns)]
761 fn _type_assertion(
762 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
763 ) {
764 match _t {
765 alloy_sol_types::private::AssertTypeEq::<
766 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
767 >(_) => {}
768 }
769 }
770 #[automatically_derived]
771 #[doc(hidden)]
772 impl ::core::convert::From<ValidatorProof> for UnderlyingRustTuple<'_> {
773 fn from(value: ValidatorProof) -> Self {
774 (value.validatorFields, value.proof)
775 }
776 }
777 #[automatically_derived]
778 #[doc(hidden)]
779 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorProof {
780 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
781 Self {
782 validatorFields: tuple.0,
783 proof: tuple.1,
784 }
785 }
786 }
787 #[automatically_derived]
788 impl alloy_sol_types::SolValue for ValidatorProof {
789 type SolType = Self;
790 }
791 #[automatically_derived]
792 impl alloy_sol_types::private::SolTypeValue<Self> for ValidatorProof {
793 #[inline]
794 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
795 (
796 <alloy::sol_types::sol_data::Array<
797 alloy::sol_types::sol_data::FixedBytes<32>,
798 > as alloy_sol_types::SolType>::tokenize(&self.validatorFields),
799 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
800 &self.proof,
801 ),
802 )
803 }
804 #[inline]
805 fn stv_abi_encoded_size(&self) -> usize {
806 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
807 return size;
808 }
809 let tuple = <UnderlyingRustTuple<
810 '_,
811 > as ::core::convert::From<Self>>::from(self.clone());
812 <UnderlyingSolTuple<
813 '_,
814 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
815 }
816 #[inline]
817 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
818 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
819 }
820 #[inline]
821 fn stv_abi_encode_packed_to(
822 &self,
823 out: &mut alloy_sol_types::private::Vec<u8>,
824 ) {
825 let tuple = <UnderlyingRustTuple<
826 '_,
827 > as ::core::convert::From<Self>>::from(self.clone());
828 <UnderlyingSolTuple<
829 '_,
830 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
831 }
832 #[inline]
833 fn stv_abi_packed_encoded_size(&self) -> usize {
834 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
835 return size;
836 }
837 let tuple = <UnderlyingRustTuple<
838 '_,
839 > as ::core::convert::From<Self>>::from(self.clone());
840 <UnderlyingSolTuple<
841 '_,
842 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
843 }
844 }
845 #[automatically_derived]
846 impl alloy_sol_types::SolType for ValidatorProof {
847 type RustType = Self;
848 type Token<'a> = <UnderlyingSolTuple<
849 'a,
850 > as alloy_sol_types::SolType>::Token<'a>;
851 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
852 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
853 '_,
854 > as alloy_sol_types::SolType>::ENCODED_SIZE;
855 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
856 '_,
857 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
858 #[inline]
859 fn valid_token(token: &Self::Token<'_>) -> bool {
860 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
861 }
862 #[inline]
863 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
864 let tuple = <UnderlyingSolTuple<
865 '_,
866 > as alloy_sol_types::SolType>::detokenize(token);
867 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
868 }
869 }
870 #[automatically_derived]
871 impl alloy_sol_types::SolStruct for ValidatorProof {
872 const NAME: &'static str = "ValidatorProof";
873 #[inline]
874 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
875 alloy_sol_types::private::Cow::Borrowed(
876 "ValidatorProof(bytes32[] validatorFields,bytes proof)",
877 )
878 }
879 #[inline]
880 fn eip712_components() -> alloy_sol_types::private::Vec<
881 alloy_sol_types::private::Cow<'static, str>,
882 > {
883 alloy_sol_types::private::Vec::new()
884 }
885 #[inline]
886 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
887 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
888 }
889 #[inline]
890 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
891 [
892 <alloy::sol_types::sol_data::Array<
893 alloy::sol_types::sol_data::FixedBytes<32>,
894 > as alloy_sol_types::SolType>::eip712_data_word(
895 &self.validatorFields,
896 )
897 .0,
898 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
899 &self.proof,
900 )
901 .0,
902 ]
903 .concat()
904 }
905 }
906 #[automatically_derived]
907 impl alloy_sol_types::EventTopic for ValidatorProof {
908 #[inline]
909 fn topic_preimage_length(rust: &Self::RustType) -> usize {
910 0usize
911 + <alloy::sol_types::sol_data::Array<
912 alloy::sol_types::sol_data::FixedBytes<32>,
913 > as alloy_sol_types::EventTopic>::topic_preimage_length(
914 &rust.validatorFields,
915 )
916 + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
917 &rust.proof,
918 )
919 }
920 #[inline]
921 fn encode_topic_preimage(
922 rust: &Self::RustType,
923 out: &mut alloy_sol_types::private::Vec<u8>,
924 ) {
925 out.reserve(
926 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
927 );
928 <alloy::sol_types::sol_data::Array<
929 alloy::sol_types::sol_data::FixedBytes<32>,
930 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
931 &rust.validatorFields,
932 out,
933 );
934 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
935 &rust.proof,
936 out,
937 );
938 }
939 #[inline]
940 fn encode_topic(
941 rust: &Self::RustType,
942 ) -> alloy_sol_types::abi::token::WordToken {
943 let mut out = alloy_sol_types::private::Vec::new();
944 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
945 rust,
946 &mut out,
947 );
948 alloy_sol_types::abi::token::WordToken(
949 alloy_sol_types::private::keccak256(out),
950 )
951 }
952 }
953 };
954 use alloy::contract as alloy_contract;
955 #[inline]
959 pub const fn new<
960 P: alloy_contract::private::Provider<N>,
961 N: alloy_contract::private::Network,
962 >(
963 address: alloy_sol_types::private::Address,
964 provider: P,
965 ) -> BeaconChainProofsInstance<P, N> {
966 BeaconChainProofsInstance::<P, N>::new(address, provider)
967 }
968 #[derive(Clone)]
980 pub struct BeaconChainProofsInstance<P, N = alloy_contract::private::Ethereum> {
981 address: alloy_sol_types::private::Address,
982 provider: P,
983 _network: ::core::marker::PhantomData<N>,
984 }
985 #[automatically_derived]
986 impl<P, N> ::core::fmt::Debug for BeaconChainProofsInstance<P, N> {
987 #[inline]
988 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
989 f.debug_tuple("BeaconChainProofsInstance").field(&self.address).finish()
990 }
991 }
992 #[automatically_derived]
994 impl<
995 P: alloy_contract::private::Provider<N>,
996 N: alloy_contract::private::Network,
997 > BeaconChainProofsInstance<P, N> {
998 #[inline]
1002 pub const fn new(
1003 address: alloy_sol_types::private::Address,
1004 provider: P,
1005 ) -> Self {
1006 Self {
1007 address,
1008 provider,
1009 _network: ::core::marker::PhantomData,
1010 }
1011 }
1012 #[inline]
1014 pub const fn address(&self) -> &alloy_sol_types::private::Address {
1015 &self.address
1016 }
1017 #[inline]
1019 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1020 self.address = address;
1021 }
1022 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1024 self.set_address(address);
1025 self
1026 }
1027 #[inline]
1029 pub const fn provider(&self) -> &P {
1030 &self.provider
1031 }
1032 }
1033 impl<P: ::core::clone::Clone, N> BeaconChainProofsInstance<&P, N> {
1034 #[inline]
1036 pub fn with_cloned_provider(self) -> BeaconChainProofsInstance<P, N> {
1037 BeaconChainProofsInstance {
1038 address: self.address,
1039 provider: ::core::clone::Clone::clone(&self.provider),
1040 _network: ::core::marker::PhantomData,
1041 }
1042 }
1043 }
1044 #[automatically_derived]
1046 impl<
1047 P: alloy_contract::private::Provider<N>,
1048 N: alloy_contract::private::Network,
1049 > BeaconChainProofsInstance<P, N> {
1050 pub fn call_builder<C: alloy_sol_types::SolCall>(
1055 &self,
1056 call: &C,
1057 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
1058 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1059 }
1060 }
1061 #[automatically_derived]
1063 impl<
1064 P: alloy_contract::private::Provider<N>,
1065 N: alloy_contract::private::Network,
1066 > BeaconChainProofsInstance<P, N> {
1067 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1072 &self,
1073 ) -> alloy_contract::Event<&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(serde::Serialize, serde::Deserialize)]
1099 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1100 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1101 #[derive(Clone)]
1102 pub struct VALIDATOR_STATUS(u8);
1103 const _: () = {
1104 use alloy::sol_types as alloy_sol_types;
1105 #[automatically_derived]
1106 impl alloy_sol_types::private::SolTypeValue<VALIDATOR_STATUS> for u8 {
1107 #[inline]
1108 fn stv_to_tokens(
1109 &self,
1110 ) -> <alloy::sol_types::sol_data::Uint<
1111 8,
1112 > as alloy_sol_types::SolType>::Token<'_> {
1113 alloy_sol_types::private::SolTypeValue::<
1114 alloy::sol_types::sol_data::Uint<8>,
1115 >::stv_to_tokens(self)
1116 }
1117 #[inline]
1118 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1119 <alloy::sol_types::sol_data::Uint<
1120 8,
1121 > as alloy_sol_types::SolType>::tokenize(self)
1122 .0
1123 }
1124 #[inline]
1125 fn stv_abi_encode_packed_to(
1126 &self,
1127 out: &mut alloy_sol_types::private::Vec<u8>,
1128 ) {
1129 <alloy::sol_types::sol_data::Uint<
1130 8,
1131 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
1132 }
1133 #[inline]
1134 fn stv_abi_packed_encoded_size(&self) -> usize {
1135 <alloy::sol_types::sol_data::Uint<
1136 8,
1137 > as alloy_sol_types::SolType>::abi_encoded_size(self)
1138 }
1139 }
1140 #[automatically_derived]
1141 impl VALIDATOR_STATUS {
1142 pub const NAME: &'static str = stringify!(@ name);
1144 #[inline]
1146 pub const fn from_underlying(value: u8) -> Self {
1147 Self(value)
1148 }
1149 #[inline]
1151 pub const fn into_underlying(self) -> u8 {
1152 self.0
1153 }
1154 #[inline]
1157 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
1158 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
1159 }
1160 #[inline]
1163 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
1164 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
1165 }
1166 }
1167 #[automatically_derived]
1168 impl From<u8> for VALIDATOR_STATUS {
1169 fn from(value: u8) -> Self {
1170 Self::from_underlying(value)
1171 }
1172 }
1173 #[automatically_derived]
1174 impl From<VALIDATOR_STATUS> for u8 {
1175 fn from(value: VALIDATOR_STATUS) -> Self {
1176 value.into_underlying()
1177 }
1178 }
1179 #[automatically_derived]
1180 impl alloy_sol_types::SolType for VALIDATOR_STATUS {
1181 type RustType = u8;
1182 type Token<'a> = <alloy::sol_types::sol_data::Uint<
1183 8,
1184 > as alloy_sol_types::SolType>::Token<'a>;
1185 const SOL_NAME: &'static str = Self::NAME;
1186 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
1187 8,
1188 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1189 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
1190 8,
1191 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1192 #[inline]
1193 fn valid_token(token: &Self::Token<'_>) -> bool {
1194 Self::type_check(token).is_ok()
1195 }
1196 #[inline]
1197 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
1198 <alloy::sol_types::sol_data::Uint<
1199 8,
1200 > as alloy_sol_types::SolType>::type_check(token)
1201 }
1202 #[inline]
1203 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1204 <alloy::sol_types::sol_data::Uint<
1205 8,
1206 > as alloy_sol_types::SolType>::detokenize(token)
1207 }
1208 }
1209 #[automatically_derived]
1210 impl alloy_sol_types::EventTopic for VALIDATOR_STATUS {
1211 #[inline]
1212 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1213 <alloy::sol_types::sol_data::Uint<
1214 8,
1215 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
1216 }
1217 #[inline]
1218 fn encode_topic_preimage(
1219 rust: &Self::RustType,
1220 out: &mut alloy_sol_types::private::Vec<u8>,
1221 ) {
1222 <alloy::sol_types::sol_data::Uint<
1223 8,
1224 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
1225 }
1226 #[inline]
1227 fn encode_topic(
1228 rust: &Self::RustType,
1229 ) -> alloy_sol_types::abi::token::WordToken {
1230 <alloy::sol_types::sol_data::Uint<
1231 8,
1232 > as alloy_sol_types::EventTopic>::encode_topic(rust)
1233 }
1234 }
1235 };
1236 #[derive(serde::Serialize, serde::Deserialize)]
1237 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1238 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1242 #[derive(Clone)]
1243 pub struct Checkpoint {
1244 #[allow(missing_docs)]
1245 pub beaconBlockRoot: alloy::sol_types::private::FixedBytes<32>,
1246 #[allow(missing_docs)]
1247 pub proofsRemaining: alloy::sol_types::private::primitives::aliases::U24,
1248 #[allow(missing_docs)]
1249 pub podBalanceGwei: u64,
1250 #[allow(missing_docs)]
1251 pub balanceDeltasGwei: i64,
1252 #[allow(missing_docs)]
1253 pub prevBeaconBalanceGwei: u64,
1254 }
1255 #[allow(
1256 non_camel_case_types,
1257 non_snake_case,
1258 clippy::pub_underscore_fields,
1259 clippy::style
1260 )]
1261 const _: () = {
1262 use alloy::sol_types as alloy_sol_types;
1263 #[doc(hidden)]
1264 type UnderlyingSolTuple<'a> = (
1265 alloy::sol_types::sol_data::FixedBytes<32>,
1266 alloy::sol_types::sol_data::Uint<24>,
1267 alloy::sol_types::sol_data::Uint<64>,
1268 alloy::sol_types::sol_data::Int<64>,
1269 alloy::sol_types::sol_data::Uint<64>,
1270 );
1271 #[doc(hidden)]
1272 type UnderlyingRustTuple<'a> = (
1273 alloy::sol_types::private::FixedBytes<32>,
1274 alloy::sol_types::private::primitives::aliases::U24,
1275 u64,
1276 i64,
1277 u64,
1278 );
1279 #[cfg(test)]
1280 #[allow(dead_code, unreachable_patterns)]
1281 fn _type_assertion(
1282 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1283 ) {
1284 match _t {
1285 alloy_sol_types::private::AssertTypeEq::<
1286 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1287 >(_) => {}
1288 }
1289 }
1290 #[automatically_derived]
1291 #[doc(hidden)]
1292 impl ::core::convert::From<Checkpoint> for UnderlyingRustTuple<'_> {
1293 fn from(value: Checkpoint) -> Self {
1294 (
1295 value.beaconBlockRoot,
1296 value.proofsRemaining,
1297 value.podBalanceGwei,
1298 value.balanceDeltasGwei,
1299 value.prevBeaconBalanceGwei,
1300 )
1301 }
1302 }
1303 #[automatically_derived]
1304 #[doc(hidden)]
1305 impl ::core::convert::From<UnderlyingRustTuple<'_>> for Checkpoint {
1306 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1307 Self {
1308 beaconBlockRoot: tuple.0,
1309 proofsRemaining: tuple.1,
1310 podBalanceGwei: tuple.2,
1311 balanceDeltasGwei: tuple.3,
1312 prevBeaconBalanceGwei: tuple.4,
1313 }
1314 }
1315 }
1316 #[automatically_derived]
1317 impl alloy_sol_types::SolValue for Checkpoint {
1318 type SolType = Self;
1319 }
1320 #[automatically_derived]
1321 impl alloy_sol_types::private::SolTypeValue<Self> for Checkpoint {
1322 #[inline]
1323 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
1324 (
1325 <alloy::sol_types::sol_data::FixedBytes<
1326 32,
1327 > as alloy_sol_types::SolType>::tokenize(&self.beaconBlockRoot),
1328 <alloy::sol_types::sol_data::Uint<
1329 24,
1330 > as alloy_sol_types::SolType>::tokenize(&self.proofsRemaining),
1331 <alloy::sol_types::sol_data::Uint<
1332 64,
1333 > as alloy_sol_types::SolType>::tokenize(&self.podBalanceGwei),
1334 <alloy::sol_types::sol_data::Int<
1335 64,
1336 > as alloy_sol_types::SolType>::tokenize(&self.balanceDeltasGwei),
1337 <alloy::sol_types::sol_data::Uint<
1338 64,
1339 > as alloy_sol_types::SolType>::tokenize(&self.prevBeaconBalanceGwei),
1340 )
1341 }
1342 #[inline]
1343 fn stv_abi_encoded_size(&self) -> usize {
1344 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
1345 return size;
1346 }
1347 let tuple = <UnderlyingRustTuple<
1348 '_,
1349 > as ::core::convert::From<Self>>::from(self.clone());
1350 <UnderlyingSolTuple<
1351 '_,
1352 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
1353 }
1354 #[inline]
1355 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1356 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
1357 }
1358 #[inline]
1359 fn stv_abi_encode_packed_to(
1360 &self,
1361 out: &mut alloy_sol_types::private::Vec<u8>,
1362 ) {
1363 let tuple = <UnderlyingRustTuple<
1364 '_,
1365 > as ::core::convert::From<Self>>::from(self.clone());
1366 <UnderlyingSolTuple<
1367 '_,
1368 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
1369 }
1370 #[inline]
1371 fn stv_abi_packed_encoded_size(&self) -> usize {
1372 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
1373 return size;
1374 }
1375 let tuple = <UnderlyingRustTuple<
1376 '_,
1377 > as ::core::convert::From<Self>>::from(self.clone());
1378 <UnderlyingSolTuple<
1379 '_,
1380 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
1381 }
1382 }
1383 #[automatically_derived]
1384 impl alloy_sol_types::SolType for Checkpoint {
1385 type RustType = Self;
1386 type Token<'a> = <UnderlyingSolTuple<
1387 'a,
1388 > as alloy_sol_types::SolType>::Token<'a>;
1389 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
1390 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1391 '_,
1392 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1393 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1394 '_,
1395 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1396 #[inline]
1397 fn valid_token(token: &Self::Token<'_>) -> bool {
1398 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
1399 }
1400 #[inline]
1401 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1402 let tuple = <UnderlyingSolTuple<
1403 '_,
1404 > as alloy_sol_types::SolType>::detokenize(token);
1405 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
1406 }
1407 }
1408 #[automatically_derived]
1409 impl alloy_sol_types::SolStruct for Checkpoint {
1410 const NAME: &'static str = "Checkpoint";
1411 #[inline]
1412 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
1413 alloy_sol_types::private::Cow::Borrowed(
1414 "Checkpoint(bytes32 beaconBlockRoot,uint24 proofsRemaining,uint64 podBalanceGwei,int64 balanceDeltasGwei,uint64 prevBeaconBalanceGwei)",
1415 )
1416 }
1417 #[inline]
1418 fn eip712_components() -> alloy_sol_types::private::Vec<
1419 alloy_sol_types::private::Cow<'static, str>,
1420 > {
1421 alloy_sol_types::private::Vec::new()
1422 }
1423 #[inline]
1424 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
1425 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
1426 }
1427 #[inline]
1428 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1429 [
1430 <alloy::sol_types::sol_data::FixedBytes<
1431 32,
1432 > as alloy_sol_types::SolType>::eip712_data_word(
1433 &self.beaconBlockRoot,
1434 )
1435 .0,
1436 <alloy::sol_types::sol_data::Uint<
1437 24,
1438 > as alloy_sol_types::SolType>::eip712_data_word(
1439 &self.proofsRemaining,
1440 )
1441 .0,
1442 <alloy::sol_types::sol_data::Uint<
1443 64,
1444 > as alloy_sol_types::SolType>::eip712_data_word(
1445 &self.podBalanceGwei,
1446 )
1447 .0,
1448 <alloy::sol_types::sol_data::Int<
1449 64,
1450 > as alloy_sol_types::SolType>::eip712_data_word(
1451 &self.balanceDeltasGwei,
1452 )
1453 .0,
1454 <alloy::sol_types::sol_data::Uint<
1455 64,
1456 > as alloy_sol_types::SolType>::eip712_data_word(
1457 &self.prevBeaconBalanceGwei,
1458 )
1459 .0,
1460 ]
1461 .concat()
1462 }
1463 }
1464 #[automatically_derived]
1465 impl alloy_sol_types::EventTopic for Checkpoint {
1466 #[inline]
1467 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1468 0usize
1469 + <alloy::sol_types::sol_data::FixedBytes<
1470 32,
1471 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1472 &rust.beaconBlockRoot,
1473 )
1474 + <alloy::sol_types::sol_data::Uint<
1475 24,
1476 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1477 &rust.proofsRemaining,
1478 )
1479 + <alloy::sol_types::sol_data::Uint<
1480 64,
1481 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1482 &rust.podBalanceGwei,
1483 )
1484 + <alloy::sol_types::sol_data::Int<
1485 64,
1486 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1487 &rust.balanceDeltasGwei,
1488 )
1489 + <alloy::sol_types::sol_data::Uint<
1490 64,
1491 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1492 &rust.prevBeaconBalanceGwei,
1493 )
1494 }
1495 #[inline]
1496 fn encode_topic_preimage(
1497 rust: &Self::RustType,
1498 out: &mut alloy_sol_types::private::Vec<u8>,
1499 ) {
1500 out.reserve(
1501 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
1502 );
1503 <alloy::sol_types::sol_data::FixedBytes<
1504 32,
1505 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1506 &rust.beaconBlockRoot,
1507 out,
1508 );
1509 <alloy::sol_types::sol_data::Uint<
1510 24,
1511 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1512 &rust.proofsRemaining,
1513 out,
1514 );
1515 <alloy::sol_types::sol_data::Uint<
1516 64,
1517 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1518 &rust.podBalanceGwei,
1519 out,
1520 );
1521 <alloy::sol_types::sol_data::Int<
1522 64,
1523 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1524 &rust.balanceDeltasGwei,
1525 out,
1526 );
1527 <alloy::sol_types::sol_data::Uint<
1528 64,
1529 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1530 &rust.prevBeaconBalanceGwei,
1531 out,
1532 );
1533 }
1534 #[inline]
1535 fn encode_topic(
1536 rust: &Self::RustType,
1537 ) -> alloy_sol_types::abi::token::WordToken {
1538 let mut out = alloy_sol_types::private::Vec::new();
1539 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
1540 rust,
1541 &mut out,
1542 );
1543 alloy_sol_types::abi::token::WordToken(
1544 alloy_sol_types::private::keccak256(out),
1545 )
1546 }
1547 }
1548 };
1549 #[derive(serde::Serialize, serde::Deserialize)]
1550 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1551 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1555 #[derive(Clone)]
1556 pub struct ValidatorInfo {
1557 #[allow(missing_docs)]
1558 pub validatorIndex: u64,
1559 #[allow(missing_docs)]
1560 pub restakedBalanceGwei: u64,
1561 #[allow(missing_docs)]
1562 pub lastCheckpointedAt: u64,
1563 #[allow(missing_docs)]
1564 pub status: <VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
1565 }
1566 #[allow(
1567 non_camel_case_types,
1568 non_snake_case,
1569 clippy::pub_underscore_fields,
1570 clippy::style
1571 )]
1572 const _: () = {
1573 use alloy::sol_types as alloy_sol_types;
1574 #[doc(hidden)]
1575 type UnderlyingSolTuple<'a> = (
1576 alloy::sol_types::sol_data::Uint<64>,
1577 alloy::sol_types::sol_data::Uint<64>,
1578 alloy::sol_types::sol_data::Uint<64>,
1579 VALIDATOR_STATUS,
1580 );
1581 #[doc(hidden)]
1582 type UnderlyingRustTuple<'a> = (
1583 u64,
1584 u64,
1585 u64,
1586 <VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
1587 );
1588 #[cfg(test)]
1589 #[allow(dead_code, unreachable_patterns)]
1590 fn _type_assertion(
1591 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1592 ) {
1593 match _t {
1594 alloy_sol_types::private::AssertTypeEq::<
1595 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1596 >(_) => {}
1597 }
1598 }
1599 #[automatically_derived]
1600 #[doc(hidden)]
1601 impl ::core::convert::From<ValidatorInfo> for UnderlyingRustTuple<'_> {
1602 fn from(value: ValidatorInfo) -> Self {
1603 (
1604 value.validatorIndex,
1605 value.restakedBalanceGwei,
1606 value.lastCheckpointedAt,
1607 value.status,
1608 )
1609 }
1610 }
1611 #[automatically_derived]
1612 #[doc(hidden)]
1613 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorInfo {
1614 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1615 Self {
1616 validatorIndex: tuple.0,
1617 restakedBalanceGwei: tuple.1,
1618 lastCheckpointedAt: tuple.2,
1619 status: tuple.3,
1620 }
1621 }
1622 }
1623 #[automatically_derived]
1624 impl alloy_sol_types::SolValue for ValidatorInfo {
1625 type SolType = Self;
1626 }
1627 #[automatically_derived]
1628 impl alloy_sol_types::private::SolTypeValue<Self> for ValidatorInfo {
1629 #[inline]
1630 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
1631 (
1632 <alloy::sol_types::sol_data::Uint<
1633 64,
1634 > as alloy_sol_types::SolType>::tokenize(&self.validatorIndex),
1635 <alloy::sol_types::sol_data::Uint<
1636 64,
1637 > as alloy_sol_types::SolType>::tokenize(&self.restakedBalanceGwei),
1638 <alloy::sol_types::sol_data::Uint<
1639 64,
1640 > as alloy_sol_types::SolType>::tokenize(&self.lastCheckpointedAt),
1641 <VALIDATOR_STATUS as alloy_sol_types::SolType>::tokenize(
1642 &self.status,
1643 ),
1644 )
1645 }
1646 #[inline]
1647 fn stv_abi_encoded_size(&self) -> usize {
1648 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
1649 return size;
1650 }
1651 let tuple = <UnderlyingRustTuple<
1652 '_,
1653 > as ::core::convert::From<Self>>::from(self.clone());
1654 <UnderlyingSolTuple<
1655 '_,
1656 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
1657 }
1658 #[inline]
1659 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1660 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
1661 }
1662 #[inline]
1663 fn stv_abi_encode_packed_to(
1664 &self,
1665 out: &mut alloy_sol_types::private::Vec<u8>,
1666 ) {
1667 let tuple = <UnderlyingRustTuple<
1668 '_,
1669 > as ::core::convert::From<Self>>::from(self.clone());
1670 <UnderlyingSolTuple<
1671 '_,
1672 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
1673 }
1674 #[inline]
1675 fn stv_abi_packed_encoded_size(&self) -> usize {
1676 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
1677 return size;
1678 }
1679 let tuple = <UnderlyingRustTuple<
1680 '_,
1681 > as ::core::convert::From<Self>>::from(self.clone());
1682 <UnderlyingSolTuple<
1683 '_,
1684 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
1685 }
1686 }
1687 #[automatically_derived]
1688 impl alloy_sol_types::SolType for ValidatorInfo {
1689 type RustType = Self;
1690 type Token<'a> = <UnderlyingSolTuple<
1691 'a,
1692 > as alloy_sol_types::SolType>::Token<'a>;
1693 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
1694 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1695 '_,
1696 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1697 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1698 '_,
1699 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1700 #[inline]
1701 fn valid_token(token: &Self::Token<'_>) -> bool {
1702 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
1703 }
1704 #[inline]
1705 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1706 let tuple = <UnderlyingSolTuple<
1707 '_,
1708 > as alloy_sol_types::SolType>::detokenize(token);
1709 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
1710 }
1711 }
1712 #[automatically_derived]
1713 impl alloy_sol_types::SolStruct for ValidatorInfo {
1714 const NAME: &'static str = "ValidatorInfo";
1715 #[inline]
1716 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
1717 alloy_sol_types::private::Cow::Borrowed(
1718 "ValidatorInfo(uint64 validatorIndex,uint64 restakedBalanceGwei,uint64 lastCheckpointedAt,uint8 status)",
1719 )
1720 }
1721 #[inline]
1722 fn eip712_components() -> alloy_sol_types::private::Vec<
1723 alloy_sol_types::private::Cow<'static, str>,
1724 > {
1725 alloy_sol_types::private::Vec::new()
1726 }
1727 #[inline]
1728 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
1729 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
1730 }
1731 #[inline]
1732 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1733 [
1734 <alloy::sol_types::sol_data::Uint<
1735 64,
1736 > as alloy_sol_types::SolType>::eip712_data_word(
1737 &self.validatorIndex,
1738 )
1739 .0,
1740 <alloy::sol_types::sol_data::Uint<
1741 64,
1742 > as alloy_sol_types::SolType>::eip712_data_word(
1743 &self.restakedBalanceGwei,
1744 )
1745 .0,
1746 <alloy::sol_types::sol_data::Uint<
1747 64,
1748 > as alloy_sol_types::SolType>::eip712_data_word(
1749 &self.lastCheckpointedAt,
1750 )
1751 .0,
1752 <VALIDATOR_STATUS as alloy_sol_types::SolType>::eip712_data_word(
1753 &self.status,
1754 )
1755 .0,
1756 ]
1757 .concat()
1758 }
1759 }
1760 #[automatically_derived]
1761 impl alloy_sol_types::EventTopic for ValidatorInfo {
1762 #[inline]
1763 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1764 0usize
1765 + <alloy::sol_types::sol_data::Uint<
1766 64,
1767 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1768 &rust.validatorIndex,
1769 )
1770 + <alloy::sol_types::sol_data::Uint<
1771 64,
1772 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1773 &rust.restakedBalanceGwei,
1774 )
1775 + <alloy::sol_types::sol_data::Uint<
1776 64,
1777 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1778 &rust.lastCheckpointedAt,
1779 )
1780 + <VALIDATOR_STATUS as alloy_sol_types::EventTopic>::topic_preimage_length(
1781 &rust.status,
1782 )
1783 }
1784 #[inline]
1785 fn encode_topic_preimage(
1786 rust: &Self::RustType,
1787 out: &mut alloy_sol_types::private::Vec<u8>,
1788 ) {
1789 out.reserve(
1790 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
1791 );
1792 <alloy::sol_types::sol_data::Uint<
1793 64,
1794 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1795 &rust.validatorIndex,
1796 out,
1797 );
1798 <alloy::sol_types::sol_data::Uint<
1799 64,
1800 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1801 &rust.restakedBalanceGwei,
1802 out,
1803 );
1804 <alloy::sol_types::sol_data::Uint<
1805 64,
1806 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1807 &rust.lastCheckpointedAt,
1808 out,
1809 );
1810 <VALIDATOR_STATUS as alloy_sol_types::EventTopic>::encode_topic_preimage(
1811 &rust.status,
1812 out,
1813 );
1814 }
1815 #[inline]
1816 fn encode_topic(
1817 rust: &Self::RustType,
1818 ) -> alloy_sol_types::abi::token::WordToken {
1819 let mut out = alloy_sol_types::private::Vec::new();
1820 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
1821 rust,
1822 &mut out,
1823 );
1824 alloy_sol_types::abi::token::WordToken(
1825 alloy_sol_types::private::keccak256(out),
1826 )
1827 }
1828 }
1829 };
1830 use alloy::contract as alloy_contract;
1831 #[inline]
1835 pub const fn new<
1836 P: alloy_contract::private::Provider<N>,
1837 N: alloy_contract::private::Network,
1838 >(
1839 address: alloy_sol_types::private::Address,
1840 provider: P,
1841 ) -> IEigenPodTypesInstance<P, N> {
1842 IEigenPodTypesInstance::<P, N>::new(address, provider)
1843 }
1844 #[derive(Clone)]
1856 pub struct IEigenPodTypesInstance<P, N = alloy_contract::private::Ethereum> {
1857 address: alloy_sol_types::private::Address,
1858 provider: P,
1859 _network: ::core::marker::PhantomData<N>,
1860 }
1861 #[automatically_derived]
1862 impl<P, N> ::core::fmt::Debug for IEigenPodTypesInstance<P, N> {
1863 #[inline]
1864 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1865 f.debug_tuple("IEigenPodTypesInstance").field(&self.address).finish()
1866 }
1867 }
1868 #[automatically_derived]
1870 impl<
1871 P: alloy_contract::private::Provider<N>,
1872 N: alloy_contract::private::Network,
1873 > IEigenPodTypesInstance<P, N> {
1874 #[inline]
1878 pub const fn new(
1879 address: alloy_sol_types::private::Address,
1880 provider: P,
1881 ) -> Self {
1882 Self {
1883 address,
1884 provider,
1885 _network: ::core::marker::PhantomData,
1886 }
1887 }
1888 #[inline]
1890 pub const fn address(&self) -> &alloy_sol_types::private::Address {
1891 &self.address
1892 }
1893 #[inline]
1895 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1896 self.address = address;
1897 }
1898 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1900 self.set_address(address);
1901 self
1902 }
1903 #[inline]
1905 pub const fn provider(&self) -> &P {
1906 &self.provider
1907 }
1908 }
1909 impl<P: ::core::clone::Clone, N> IEigenPodTypesInstance<&P, N> {
1910 #[inline]
1912 pub fn with_cloned_provider(self) -> IEigenPodTypesInstance<P, N> {
1913 IEigenPodTypesInstance {
1914 address: self.address,
1915 provider: ::core::clone::Clone::clone(&self.provider),
1916 _network: ::core::marker::PhantomData,
1917 }
1918 }
1919 }
1920 #[automatically_derived]
1922 impl<
1923 P: alloy_contract::private::Provider<N>,
1924 N: alloy_contract::private::Network,
1925 > IEigenPodTypesInstance<P, N> {
1926 pub fn call_builder<C: alloy_sol_types::SolCall>(
1931 &self,
1932 call: &C,
1933 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
1934 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1935 }
1936 }
1937 #[automatically_derived]
1939 impl<
1940 P: alloy_contract::private::Provider<N>,
1941 N: alloy_contract::private::Network,
1942 > IEigenPodTypesInstance<P, N> {
1943 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1948 &self,
1949 ) -> alloy_contract::Event<&P, E, N> {
1950 alloy_contract::Event::new_sol(&self.provider, &self.address)
1951 }
1952 }
1953}
1954#[allow(
3013 non_camel_case_types,
3014 non_snake_case,
3015 clippy::pub_underscore_fields,
3016 clippy::style,
3017 clippy::empty_structs_with_brackets
3018)]
3019pub mod EigenPod {
3020 use super::*;
3021 use alloy::sol_types as alloy_sol_types;
3022 #[rustfmt::skip]
3028 #[allow(clippy::all)]
3029 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
3030 b"a\x01\0`@R4\x80\x15a\0\x10W__\xFD[P`@Qa>\xE98\x03\x80a>\xE9\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;fa\x03\x83_9_a\x06?\x01R_\x81\x81a\x02\xC3\x01R\x81\x81a\x06z\x01R\x81\x81a\x07\"\x01R\x81\x81a\t\xE6\x01R\x81\x81a\x0B\xB0\x01R\x81\x81a\x0E\xB9\x01R\x81\x81a\x0F`\x01R\x81\x81a\x11\x96\x01R\x81\x81a\x14\xE4\x01R\x81\x81a\x16\x18\x01Ra(c\x01R_\x81\x81a\x05\x01\x01Ra\x0F\xC9\x01R_a\x0C\x1C\x01Ra;f_\xF3\xFE`\x80`@R`\x046\x10a\x01~W_5`\xE0\x1C\x80co\xCD\x0ES\x11a\0\xCDW\x80c\xC4\x90tB\x11a\0\x87W\x80c\xDD\xA34l\x11a\0bW\x80c\xDD\xA34l\x14a\x05\xD1W\x80c\xEE\x94\xD6|\x14a\x05\xF0W\x80c\xF0t\xBAb\x14a\x06\x0FW\x80c\xF2\x88$a\x14a\x06.W__\xFD[\x80c\xC4\x90tB\x14a\x05tW\x80c\xC4\xD6m\xE8\x14a\x05\x93W\x80c\xD0mU\x87\x14a\x05\xB2W__\xFD[\x80co\xCD\x0ES\x14a\x04\x8FW\x80ct9\x84\x1F\x14a\x04\xBBW\x80ct\xCD\xD7\x98\x14a\x04\xF0W\x80c\x88gl\xAD\x14a\x05#W\x80c\x9BNF4\x14a\x05BW\x80c\xB5\"S\x8A\x14a\x05UW__\xFD[\x80cFe\xBC\xDA\x11a\x018W\x80cT\xFDMP\x11a\x01\x13W\x80cT\xFDMP\x14a\x04\x04W\x80cXu3W\x14a\x04%W\x80cX\xEA\xEEy\x14a\x04DW\x80cl\r-Z\x14a\x04pW__\xFD[\x80cFe\xBC\xDA\x14a\x02\xB2W\x80cG\xD2\x83r\x14a\x02\xE5W\x80cR9jY\x14a\x03\xD0W__\xFD[\x80c\x03\x91W\xD2\x14a\x01\xBCW\x80c\x0B\x18\xFFf\x14a\x01\xDDW\x80c#@\xE8\xD3\x14a\x02\x19W\x80c4t\xAA\x16\x14a\x02<W\x80c?e\xCF\x19\x14a\x02mW\x80cB\xEC\xFF*\x14a\x02\x8CW__\xFD[6a\x01\xB8W`@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\xC7W__\xFD[Pa\x01\xDBa\x01\xD66`\x04a0\xC2V[a\x06aV[\0[4\x80\x15a\x01\xE8W__\xFD[P`3Ta\x01\xFC\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$W__\xFD[Pa\x02.`9T\x81V[`@Q\x90\x81R` \x01a\x02\x10V[4\x80\x15a\x02GW__\xFD[P`4T`\x01`\x01`@\x1B\x03\x16[`@Q`\x01`\x01`@\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x10V[4\x80\x15a\x02xW__\xFD[Pa\x01\xDBa\x02\x876`\x04a1{V[a\t\x8DV[4\x80\x15a\x02\x97W__\xFD[P`:Ta\x02U\x90`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x02\xBDW__\xFD[Pa\x01\xFC\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\xF0W__\xFD[Pa\x03u`@\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\x02\x10\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\xDBW__\xFD[Pa\x02Ua\x03\xEA6`\x04a2PV[`;` R_\x90\x81R`@\x90 T`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x04\x0FW__\xFD[Pa\x04\x18a\x0C\x15V[`@Qa\x02\x10\x91\x90a2\xBDV[4\x80\x15a\x040W__\xFD[P`>Ta\x01\xFC\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x04OW__\xFD[Pa\x04ca\x04^6`\x04a3\x0CV[a\x0CEV[`@Qa\x02\x10\x91\x90a3~V[4\x80\x15a\x04{W__\xFD[Pa\x02.a\x04\x8A6`\x04a2PV[a\x0C\xA7V[4\x80\x15a\x04\x9AW__\xFD[Pa\x04\xAEa\x04\xA96`\x04a3\x8CV[a\r\xB5V[`@Qa\x02\x10\x91\x90a3\xA3V[4\x80\x15a\x04\xC6W__\xFD[Pa\x04ca\x04\xD56`\x04a3\x8CV[_\x90\x81R`6` R`@\x90 T`\x01`\xC0\x1B\x90\x04`\xFF\x16\x90V[4\x80\x15a\x04\xFBW__\xFD[Pa\x01\xFC\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.W__\xFD[Pa\x01\xDBa\x05=6`\x04a4\x06V[a\x0E`V[a\x01\xDBa\x05P6`\x04a4!V[a\x0FUV[4\x80\x15a\x05`W__\xFD[Pa\x04\xAEa\x05o6`\x04a3\x0CV[a\x10\x9CV[4\x80\x15a\x05\x7FW__\xFD[Pa\x01\xDBa\x05\x8E6`\x04a4\xB1V[a\x11\x8BV[4\x80\x15a\x05\x9EW__\xFD[Pa\x01\xDBa\x05\xAD6`\x04a4\xDBV[a\x12\xC2V[4\x80\x15a\x05\xBDW__\xFD[Pa\x01\xDBa\x05\xCC6`\x04a4\xDBV[a\x14\x0CV[4\x80\x15a\x05\xDCW__\xFD[Pa\x01\xDBa\x05\xEB6`\x04a5\xC6V[a\x14\xA0V[4\x80\x15a\x05\xFBW__\xFD[P`:Ta\x02U\x90`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x06\x1AW__\xFD[Pa\x01\xDBa\x06)6`\x04a6\x98V[a\x15\xFFV[4\x80\x15a\x069W__\xFD[Pa\x02U\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\xC7W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x06\xEB\x91\x90a6\xFFV[\x15a\x07\tW`@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\x07oW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07\x93\x91\x90a6\xFFV[\x15a\x07\xB1W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x07\xF5a\x07\xBF\x85\x80a7\x1AV[\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\xFC\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\x08cWa\x08ca3JV[`\x02\x81\x11\x15a\x08tWa\x08ta3JV[\x81RPP\x90P\x80`@\x01Q`\x01`\x01`@\x1B\x03\x16\x87`\x01`\x01`@\x1B\x03\x16\x11a\x08\xB0W`@Qc7\xE0\x7F\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x81``\x01Q`\x02\x81\x11\x15a\x08\xC8Wa\x08\xC8a3JV[\x14a\x08\xE6W`@Qc\xD4\x9E\x19\xA7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t)a\x08\xF3\x86\x80a7\x1AV[\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\x1E\x92PPPV[a\tFW`@Qc\x16\x1C\xE5\xED`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\tXa\tR\x88a\x0C\xA7V[\x87a\x1AFV[a\t{\x865a\tg\x87\x80a7\x1AV[a\tt` \x8A\x01\x8Aa7_V[\x86Qa\x1A\xEBV[a\t\x84_a\x1C\x12V[PPPPPPPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80a\t\xB0WP`>T`\x01`\x01`\xA0\x1B\x03\x163\x14[a\t\xCDW`@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\n3W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\nW\x91\x90a6\xFFV[\x15a\nuW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x85\x84\x14\x80\x15a\n\x83WP\x83\x82\x14[a\n\xA0W`@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\xD6W`@Qc7\xE0\x7F\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\n\xE8a\n\xE2\x8Aa\x0C\xA7V[\x89a\x1AFV[_\x80[\x87\x81\x10\x15a\x0B\x80Wa\x0Bl\x8A5\x8A\x8A\x84\x81\x81\x10a\x0B\nWa\x0B\na7\xA1V[\x90P` \x02\x01` \x81\x01\x90a\x0B\x1F\x91\x90a7\xB5V[\x89\x89\x85\x81\x81\x10a\x0B1Wa\x0B1a7\xA1V[\x90P` \x02\x81\x01\x90a\x0BC\x91\x90a7_V[\x89\x89\x87\x81\x81\x10a\x0BUWa\x0BUa7\xA1V[\x90P` \x02\x81\x01\x90a\x0Bg\x91\x90a7\x1AV[a\x1D\x92V[a\x0Bv\x90\x83a7\xEDV[\x91P`\x01\x01a\n\xEBV[P`3T`@Qc\xA1\xCAx\x0B`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R_`$\x82\x01R`D\x81\x01\x83\x90R\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\x90\x91\x16\x90c\xA1\xCAx\x0B\x90`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x0B\xF3W__\xFD[PZ\xF1\x15\x80\x15a\x0C\x05W=__>=_\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\"GV[\x90P\x90V[__a\x0C\x85\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\"\x84\x92PPPV[_\x90\x81R`6` R`@\x90 T`\x01`\xC0\x1B\x90\x04`\xFF\x16\x91PP[\x92\x91PPV[_a\x0C\xB5a\x1F\xFF`\x0Ca8\0V[a\x0C\xC8`\x01`\x01`@\x1B\x03\x84\x16Ba8\x17V[\x10a\x0C\xE6W`@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-\x91a8*V[_`@Q\x80\x83\x03\x81\x85Z\xFA\x91PP=\x80_\x81\x14a\reW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\rjV[``\x91P[P\x91P\x91P\x81\x80\x15a\r|WP_\x81Q\x11[a\r\x99W`@QcU\x8A\xD0\xA3`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80\x80` \x01\x90Q\x81\x01\x90a\r\xAD\x91\x90a8EV[\x94\x93PPPPV[a\r\xDC`@\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\x0EFWa\x0EFa3JV[`\x02\x81\x11\x15a\x0EWWa\x0EWa3JV[\x90RP\x92\x91PPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80a\x0E\x83WP`>T`\x01`\x01`\xA0\x1B\x03\x163\x14[a\x0E\xA0W`@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\x0F\x06W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0F*\x91\x90a6\xFFV[\x15a\x0FHW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0FQ\x82a\x1C\x12V[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\x9EW`@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\xC7W`@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\x10\na#\x15V[\x88\x88\x88`@Q\x88c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x10.\x96\x95\x94\x93\x92\x91\x90a8\x84V[_`@Q\x80\x83\x03\x81\x85\x88\x80;\x15\x80\x15a\x10EW__\xFD[PZ\xF1\x15\x80\x15a\x10WW=__>=_\xFD[PPPPP\x7F`he\xB7\x93J%\xD4\xAE\xD4?l\xDBBd\x035?\xA4\xB3\0\x9CM\"\x84\x07GE\x81\xB0\x1E#\x85\x85`@Qa\x10\x8D\x92\x91\x90a8\xD2V[`@Q\x80\x91\x03\x90\xA1PPPPPV[a\x10\xC3`@\x80Q`\x80\x81\x01\x82R_\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x82\x90R\x90``\x82\x01R\x90V[`6_a\x11\x04\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\"\x84\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\x11pWa\x11pa3JV[`\x02\x81\x11\x15a\x11\x81Wa\x11\x81a3JV[\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\xD4W`@Qc2\x13\xA6a`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x11\xE3c;\x9A\xCA\0\x83a8\xF9V[\x90Pa\x11\xFCc;\x9A\xCA\0`\x01`\x01`@\x1B\x03\x83\x16a8\0V[`4T\x90\x92P`\x01`\x01`@\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x12/W`@Qc\x02\xC6\xF5G`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`4\x80T\x82\x91\x90_\x90a\x12L\x90\x84\x90`\x01`\x01`@\x1B\x03\x16a9\x0CV[\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\xAB\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2a\x12\xBD\x83\x83a#YV[PPPV[_Ta\x01\0\x90\x04`\xFF\x16\x15\x80\x80\x15a\x12\xE0WP_T`\x01`\xFF\x90\x91\x16\x10[\x80a\x12\xF9WP0;\x15\x80\x15a\x12\xF9WP_T`\xFF\x16`\x01\x14[a\x13aW`@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\x13\x82W_\x80Ta\xFF\0\x19\x16a\x01\0\x17\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x13\xA9W`@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\x0FQW_\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\x147W`@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\xCBW`@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\x151W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15U\x91\x90a6\xFFV[\x15a\x15sW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82Q\x84Q\x14a\x15\x95W`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_[\x84Q\x81\x10\x15a\x15\xF8Wa\x15\xF0\x83\x85\x83\x81Q\x81\x10a\x15\xB6Wa\x15\xB6a7\xA1V[` \x02` \x01\x01Q\x87\x84\x81Q\x81\x10a\x15\xD0Wa\x15\xD0a7\xA1V[` \x02` \x01\x01Q`\x01`\x01`\xA0\x1B\x03\x16a$n\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[`\x01\x01a\x15\x97V[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\x16eW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16\x89\x91\x90a6\xFFV[\x15a\x16\xA7W`@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\xDBW`@Qc\x1ATOI`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\xA0\x81\x01\x82R`<T\x80\x82R`=Tb\xFF\xFF\xFF\x81\x16` \x84\x01R`\x01`\x01`@\x1B\x03c\x01\0\0\0\x82\x04\x81\x16\x94\x84\x01\x94\x90\x94R`\x01`X\x1B\x81\x04`\x07\x0B``\x84\x01R`\x01`\x98\x1B\x90\x04\x90\x92\x16`\x80\x82\x01R\x90a\x17:\x90\x87a$\xC0V[_\x80[\x85\x81\x10\x15a\x19\xA3W6\x87\x87\x83\x81\x81\x10a\x17XWa\x17Xa7\xA1V[\x90P` \x02\x81\x01\x90a\x17j\x91\x90a9+V[\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\xDAWa\x17\xDAa3JV[`\x02\x81\x11\x15a\x17\xEBWa\x17\xEBa3JV[\x90RP\x90P`\x01\x81``\x01Q`\x02\x81\x11\x15a\x18\x08Wa\x18\x08a3JV[\x14a\x18\x14WPPa\x19\x9BV[\x85`\x01`\x01`@\x1B\x03\x16\x81`@\x01Q`\x01`\x01`@\x1B\x03\x16\x10a\x188WPPa\x19\x9BV[_\x80\x80a\x18H\x84\x8A\x8F5\x88a%qV[` \x8B\x01\x80Q\x93\x96P\x91\x94P\x92Pa\x18_\x82a9?V[b\xFF\xFF\xFF\x16\x90RP`\x80\x88\x01\x80Q\x84\x91\x90a\x18{\x90\x83\x90a9\\V[`\x01`\x01`@\x1B\x03\x16\x90RP``\x88\x01\x80Q\x83\x91\x90a\x18\x9B\x90\x83\x90a9{V[`\x07\x0B\x90RPa\x18\xAB\x81\x88a9\\V[\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\x19OWa\x19Oa3JV[\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\xCF\x91\x85\x91\x16a9\\V[\x92Pa\x01\0\n\x81T\x81`\x01`\x01`@\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`@\x1B\x03\x16\x02\x17\x90UPa\t\x84\x82a&\x94V[_\x81_\x81Q\x81\x10a\x1A\x0FWa\x1A\x0Fa7\xA1V[` \x02` \x01\x01Q\x90P\x91\x90PV[_\x81`\x03\x81Q\x81\x10a\x1A2Wa\x1A2a7\xA1V[` \x02` \x01\x01Q__\x1B\x14\x15\x90P\x91\x90PV[a\x1AR`\x03` a8\0V[a\x1A_` \x83\x01\x83a7_V[\x90P\x14a\x1A\x7FW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1A\xCEa\x1A\x8F` \x83\x01\x83a7_V[\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(\xC3V[a\x0FQW`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x08\x84\x14a\x1B\x0CW`@Qc \x05\x91\xBD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x05a\x1B\x1A`(`\x01a7\xEDV[a\x1B$\x91\x90a7\xEDV[a\x1B/\x90` a8\0V[\x82\x14a\x1BNW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x1B\x8A\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(\xDA\x92PPPV[\x90P_d\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B\xA1`(`\x01a7\xEDV[`\x0B\x90\x1B\x17\x90Pa\x1B\xEB\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\x91RP\x8C\x92P\x86\x91P\x85\x90Pa(\xC3V[a\x1C\x08W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPPV[`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x15a\x1CBW`@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\x1CpW`@Qcg\xDB[\x8B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`4T_\x90`\x01`\x01`@\x1B\x03\x16a\x1C\x8Cc;\x9A\xCA\0Ga8\xF9V[a\x1C\x96\x91\x90a9\x0CV[\x90P\x81\x80\x15a\x1C\xACWP`\x01`\x01`@\x1B\x03\x81\x16\x15[\x15a\x1C\xCAW`@Qc2\xDE\xA9Y`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_`@Q\x80`\xA0\x01`@R\x80a\x1C\xDFBa\x0C\xA7V[\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\x02o\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\x19\x90\x92\x16\x91\x90\x91\x17\x90U\x90Pa\x1DC\x81a&\x94V[\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\x1D\xCF\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\xFC\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\x1E=Wa\x1E=a3JV[`\x02\x81\x11\x15a\x1ENWa\x1ENa3JV[\x90RP\x90P_\x81``\x01Q`\x02\x81\x11\x15a\x1EjWa\x1Eja3JV[\x14a\x1E\x88W`@Qc5\xE0\x9E\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`@\x1B\x03\x80\x16a\x1E\xCD\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+j\x92PPPV[`\x01`\x01`@\x1B\x03\x16\x03a\x1E\xF4W`@Qc\x19X#m`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`@\x1B\x03\x80\x16a\x1F9\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+\x8E\x92PPPV[`\x01`\x01`@\x1B\x03\x16\x14a\x1F`W`@Qc.\xAD\xE67`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1Fha#\x15V[a\x1Fq\x90a9\xAAV[a\x1F\xAC\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+\xA5\x92PPPV[\x14a\x1F\xCAW`@Qc7r\xDDS`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a \x06\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+\xB9\x92PPPV[\x90Pa \x16\x8A\x87\x87\x8B\x8B\x8Ea\x1A\xEBV[`9\x80T\x90_a %\x83a9\xCDV[\x90\x91UPP`:T_\x90`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x15a \\W`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16a iV[`: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!>Wa!>a3JV[\x02\x17\x90UPP`=\x80T\x84\x92P`\x13\x90a!i\x90\x84\x90`\x01`\x98\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16a9\\V[\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!\xC9\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\"8c;\x9A\xCA\0`\x01`\x01`@\x1B\x03\x84\x16a8\0V[\x9B\x9APPPPPPPPPPPV[``_a\"S\x83a+\xD0V[`@\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\"\xA7W`@QcO\x8829`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q`\x02\x90a\"\xBD\x90\x84\x90_\x90` \x01a9\xE5V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\"\xD7\x91a8*V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a\"\xF2W=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0C\xA1\x91\x90a8EV[`@\x80Q`\x01`\xF8\x1B` \x82\x01R_`!\x82\x01R0``\x90\x81\x1Bk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`,\x83\x01R\x91\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x90V[\x80G\x10\x15a#\xA9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: insufficient balance\0\0\0`D\x82\x01R`d\x01a\x13XV[_\x82`\x01`\x01`\xA0\x1B\x03\x16\x82`@Q_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a#\xF2W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a#\xF7V[``\x91P[PP\x90P\x80a\x12\xBDW`@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\x13XV[`@\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\xBD\x90\x84\x90a+\xF7V[a$\xCC`\x05`\x03a7\xEDV[a$\xD7\x90` a8\0V[a$\xE4` \x83\x01\x83a7_V[\x90P\x14a%\x04W`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`la%Ta%\x16` \x84\x01\x84a7_V[\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\x87\x92PP\x855\x90P\x84a(\xC3V[a\x12\xBDW`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83Q` \x85\x01Q\x90_\x90\x81\x90\x81a%\x89\x87\x83\x88a,\xCAV[\x90P\x84`\x01`\x01`@\x1B\x03\x16\x81`\x01`\x01`@\x1B\x03\x16\x14a&\x03Wa%\xAE\x85\x82a:\x13V[`@\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&\x88W`9\x80T\x90_a&2\x83a:BV[\x90\x91UPP`\x02``\x8A\x01Ra&G\x84a:WV[\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'4W\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\x17o\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`X\x1B\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\x16a9\\V[\x90P_\x82``\x01Q\x83`@\x01Qa'g\x91\x90a9{V[`@\x84\x01Q`4\x80T\x92\x93P\x90\x91_\x90a'\x8B\x90\x84\x90`\x01`\x01`@\x1B\x03\x16a9\\V[\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'\xDB\x90c;\x9A\xCA\0\x90\x85\x16a8\0V[\x90P_a'\xF0c;\x9A\xCA\0`\x07\x85\x90\x0Ba:|V[`: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\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x84\x90R`D\x81\x01\x83\x90R\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\x90\x91\x16\x90c\xA1\xCAx\x0B\x90`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a(\xA6W__\xFD[PZ\xF1\x15\x80\x15a(\xB8W=__>=_\xFD[PPPPPPPPPV[_\x83a(\xD0\x86\x85\x85a-\xA8V[\x14\x95\x94PPPPPV[__`\x02\x83Qa(\xEA\x91\x90a8\xF9V[\x90P_\x81`\x01`\x01`@\x1B\x03\x81\x11\x15a)\x05Wa)\x05a4\xF6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a).W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x82\x81\x10\x15a*(W`\x02\x85a)H\x83\x83a8\0V[\x81Q\x81\x10a)XWa)Xa7\xA1V[` \x02` \x01\x01Q\x86\x83`\x02a)n\x91\x90a8\0V[a)y\x90`\x01a7\xEDV[\x81Q\x81\x10a)\x89Wa)\x89a7\xA1V[` \x02` \x01\x01Q`@Q` \x01a)\xAB\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra)\xC5\x91a8*V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a)\xE0W=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a*\x03\x91\x90a8EV[\x82\x82\x81Q\x81\x10a*\x15Wa*\x15a7\xA1V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a)3V[Pa*4`\x02\x83a8\xF9V[\x91P[\x81\x15a+GW_[\x82\x81\x10\x15a+4W`\x02\x82a*T\x83\x83a8\0V[\x81Q\x81\x10a*dWa*da7\xA1V[` \x02` \x01\x01Q\x83\x83`\x02a*z\x91\x90a8\0V[a*\x85\x90`\x01a7\xEDV[\x81Q\x81\x10a*\x95Wa*\x95a7\xA1V[` \x02` \x01\x01Q`@Q` \x01a*\xB7\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra*\xD1\x91a8*V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a*\xECW=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a+\x0F\x91\x90a8EV[\x82\x82\x81Q\x81\x10a+!Wa+!a7\xA1V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a*?V[Pa+@`\x02\x83a8\xF9V[\x91Pa*7V[\x80_\x81Q\x81\x10a+YWa+Ya7\xA1V[` \x02` \x01\x01Q\x92PPP\x91\x90PV[_a\x0C\xA1\x82`\x05\x81Q\x81\x10a+\x81Wa+\x81a7\xA1V[` \x02` \x01\x01Qa.|V[_a\x0C\xA1\x82`\x06\x81Q\x81\x10a+\x81Wa+\x81a7\xA1V[_\x81`\x01\x81Q\x81\x10a\x1A\x0FWa\x1A\x0Fa7\xA1V[_a\x0C\xA1\x82`\x02\x81Q\x81\x10a+\x81Wa+\x81a7\xA1V[_`\xFF\x82\x16`\x1F\x81\x11\x15a\x0C\xA1W`@Qc,\xD4J\xC3`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a,K\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a.\xE3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x80Q_\x14\x80a,kWP\x80\x80` \x01\x90Q\x81\x01\x90a,k\x91\x90a6\xFFV[a\x12\xBDW`@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\x13XV[_a,\xD7`&`\x01a7\xEDV[a,\xE2\x90` a8\0V[a,\xEF`@\x84\x01\x84a7_V[\x90P\x14a-\x0FW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a-\x1B`\x04\x85a:\xABV[d\xFF\xFF\xFF\xFF\xFF\x16\x90Pa-ta-4`@\x85\x01\x85a7_V[\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(\xC3V[a-\x91W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a-\x9F\x83` \x015\x85a.\xF1V[\x95\x94PPPPPV[_\x83Q_\x14\x15\x80\x15a-\xC5WP` \x84Qa-\xC3\x91\x90a:\xD4V[\x15[a-\xE2W`@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.rWa.\x06`\x02\x85a:\xD4V[_\x03a.8W\x81Q_R\x80\x86\x01Q` R` \x82`@_`\x02a\x07\xD0Z\x03\xFAa.-W__\xFD[`\x02\x84\x04\x93Pa.`V[\x80\x86\x01Q_R\x81Q` R` \x82`@_`\x02a\x07\xD0Z\x03\xFAa.YW__\xFD[`\x02\x84\x04\x93P[a.k` \x82a7\xEDV[\x90Pa-\xF3V[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\x17g\xFF\0\0\0\0\0\0\0`\x88\x92\x90\x92\x1C\x91\x90\x91\x16\x17\x90V[``a\r\xAD\x84\x84_\x85a/\x1DV[_\x80a.\xFE`\x04\x84a:\xE7V[a/\t\x90`@a;\x10V[d\xFF\xFF\xFF\xFF\xFF\x16\x90Pa\r\xAD\x84\x82\x1Ba.|V[``\x82G\x10\x15a/~W`@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\x13XV[__\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa/\x99\x91\x90a8*V[_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a/\xD3W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a/\xD8V[``\x91P[P\x91P\x91Pa/\xE9\x87\x83\x83\x87a/\xF4V[\x97\x96PPPPPPPV[``\x83\x15a0bW\x82Q_\x03a0[W`\x01`\x01`\xA0\x1B\x03\x85\x16;a0[W`@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\x13XV[P\x81a\r\xADV[a\r\xAD\x83\x83\x81Q\x15a0wW\x81Q\x80\x83` \x01\xFD[\x80`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x13X\x91\x90a2\xBDV[\x805`\x01`\x01`@\x1B\x03\x81\x16\x81\x14a0\xA7W__\xFD[\x91\x90PV[_`@\x82\x84\x03\x12\x15a0\xBCW__\xFD[P\x91\x90PV[___``\x84\x86\x03\x12\x15a0\xD4W__\xFD[a0\xDD\x84a0\x91V[\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a0\xF7W__\xFD[a1\x03\x86\x82\x87\x01a0\xACV[\x92PP`@\x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a1\x1EW__\xFD[a1*\x86\x82\x87\x01a0\xACV[\x91PP\x92P\x92P\x92V[__\x83`\x1F\x84\x01\x12a1DW__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a1ZW__\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a1tW__\xFD[\x92P\x92\x90PV[________`\xA0\x89\x8B\x03\x12\x15a1\x92W__\xFD[a1\x9B\x89a0\x91V[\x97P` \x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a1\xB5W__\xFD[a1\xC1\x8B\x82\x8C\x01a0\xACV[\x97PP`@\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a1\xDCW__\xFD[a1\xE8\x8B\x82\x8C\x01a14V[\x90\x97P\x95PP``\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a2\x06W__\xFD[a2\x12\x8B\x82\x8C\x01a14V[\x90\x95P\x93PP`\x80\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a20W__\xFD[a2<\x8B\x82\x8C\x01a14V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[_` \x82\x84\x03\x12\x15a2`W__\xFD[a2i\x82a0\x91V[\x93\x92PPPV[_[\x83\x81\x10\x15a2\x8AW\x81\x81\x01Q\x83\x82\x01R` \x01a2rV[PP_\x91\x01RV[_\x81Q\x80\x84Ra2\xA9\x81` \x86\x01` \x86\x01a2pV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R_a2i` \x83\x01\x84a2\x92V[__\x83`\x1F\x84\x01\x12a2\xDFW__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a2\xF5W__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a1tW__\xFD[__` \x83\x85\x03\x12\x15a3\x1DW__\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a32W__\xFD[a3>\x85\x82\x86\x01a2\xCFV[\x90\x96\x90\x95P\x93PPPPV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[`\x03\x81\x10a3zWcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x90RV[` \x81\x01a\x0C\xA1\x82\x84a3^V[_` \x82\x84\x03\x12\x15a3\x9CW__\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\x01Qa3\xEF``\x84\x01\x82a3^V[P\x92\x91PPV[\x80\x15\x15\x81\x14a4\x03W__\xFD[PV[_` \x82\x84\x03\x12\x15a4\x16W__\xFD[\x815a2i\x81a3\xF6V[_____``\x86\x88\x03\x12\x15a45W__\xFD[\x855`\x01`\x01`@\x1B\x03\x81\x11\x15a4JW__\xFD[a4V\x88\x82\x89\x01a2\xCFV[\x90\x96P\x94PP` \x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a4tW__\xFD[a4\x80\x88\x82\x89\x01a2\xCFV[\x96\x99\x95\x98P\x96`@\x015\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a4\x03W__\xFD[\x805a0\xA7\x81a4\x92V[__`@\x83\x85\x03\x12\x15a4\xC2W__\xFD[\x825a4\xCD\x81a4\x92V[\x94` \x93\x90\x93\x015\x93PPPV[_` \x82\x84\x03\x12\x15a4\xEBW__\xFD[\x815a2i\x81a4\x92V[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\x15a52Wa52a4\xF6V[`@R\x91\x90PV[_`\x01`\x01`@\x1B\x03\x82\x11\x15a5RWa5Ra4\xF6V[P`\x05\x1B` \x01\x90V[_\x82`\x1F\x83\x01\x12a5kW__\xFD[\x815a5~a5y\x82a5:V[a5\nV[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a5\x9FW__\xFD[` \x85\x01[\x83\x81\x10\x15a5\xBCW\x805\x83R` \x92\x83\x01\x92\x01a5\xA4V[P\x95\x94PPPPPV[___``\x84\x86\x03\x12\x15a5\xD8W__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a5\xEDW__\xFD[\x84\x01`\x1F\x81\x01\x86\x13a5\xFDW__\xFD[\x805a6\x0Ba5y\x82a5:V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x88\x83\x11\x15a6,W__\xFD[` \x84\x01\x93P[\x82\x84\x10\x15a6WW\x835a6F\x81a4\x92V[\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a63V[\x95PPPP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a6tW__\xFD[a6\x80\x86\x82\x87\x01a5\\V[\x92PPa6\x8F`@\x85\x01a4\xA6V[\x90P\x92P\x92P\x92V[___`@\x84\x86\x03\x12\x15a6\xAAW__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a6\xBFW__\xFD[a6\xCB\x86\x82\x87\x01a0\xACV[\x93PP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a6\xE6W__\xFD[a6\xF2\x86\x82\x87\x01a14V[\x94\x97\x90\x96P\x93\x94PPPPV[_` \x82\x84\x03\x12\x15a7\x0FW__\xFD[\x81Qa2i\x81a3\xF6V[__\x835`\x1E\x19\x846\x03\x01\x81\x12a7/W__\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15a7HW__\xFD[` \x01\x91P`\x05\x81\x90\x1B6\x03\x82\x13\x15a1tW__\xFD[__\x835`\x1E\x19\x846\x03\x01\x81\x12a7tW__\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15a7\x8DW__\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a1tW__\xFD[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a7\xC5W__\xFD[\x815d\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a2iW__\xFD[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x0C\xA1Wa\x0C\xA1a7\xD9V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0C\xA1Wa\x0C\xA1a7\xD9V[\x81\x81\x03\x81\x81\x11\x15a\x0C\xA1Wa\x0C\xA1a7\xD9V[_\x82Qa8;\x81\x84` \x87\x01a2pV[\x91\x90\x91\x01\x92\x91PPV[_` \x82\x84\x03\x12\x15a8UW__\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_a8\x97`\x80\x83\x01\x88\x8Aa8\\V[\x82\x81\x03` \x84\x01Ra8\xA9\x81\x88a2\x92V[\x90P\x82\x81\x03`@\x84\x01Ra8\xBE\x81\x86\x88a8\\V[\x91PP\x82``\x83\x01R\x97\x96PPPPPPPV[` \x81R_a\r\xAD` \x83\x01\x84\x86a8\\V[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a9\x07Wa9\x07a8\xE5V[P\x04\x90V[`\x01`\x01`@\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x81\x11\x15a\x0C\xA1Wa\x0C\xA1a7\xD9V[_\x825`^\x19\x836\x03\x01\x81\x12a8;W__\xFD[_b\xFF\xFF\xFF\x82\x16\x80a9SWa9Sa7\xD9V[_\x19\x01\x92\x91PPV[`\x01`\x01`@\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x81\x11\x15a\x0C\xA1Wa\x0C\xA1a7\xD9V[`\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\xA1Wa\x0C\xA1a7\xD9V[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a0\xBCW_\x19` \x91\x90\x91\x03`\x03\x1B\x1B\x16\x91\x90PV[_`\x01\x82\x01a9\xDEWa9\xDEa7\xD9V[P`\x01\x01\x90V[_\x83Qa9\xF6\x81\x84` \x88\x01a2pV[`\x01`\x01`\x80\x1B\x03\x19\x93\x90\x93\x16\x91\x90\x92\x01\x90\x81R`\x10\x01\x92\x91PPV[`\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\xA1Wa\x0C\xA1a7\xD9V[_\x81a:PWa:Pa7\xD9V[P_\x19\x01\x90V[_\x81`\x07\x0Bg\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x81\x03a:tWa:ta7\xD9V[_\x03\x92\x91PPV[\x80\x82\x02_\x82\x12`\x01`\xFF\x1B\x84\x14\x16\x15a:\x97Wa:\x97a7\xD9V[\x81\x81\x05\x83\x14\x82\x15\x17a\x0C\xA1Wa\x0C\xA1a7\xD9V[_d\xFF\xFF\xFF\xFF\xFF\x83\x16\x80a:\xC1Wa:\xC1a8\xE5V[\x80d\xFF\xFF\xFF\xFF\xFF\x84\x16\x04\x91PP\x92\x91PPV[_\x82a:\xE2Wa:\xE2a8\xE5V[P\x06\x90V[_d\xFF\xFF\xFF\xFF\xFF\x83\x16\x80a:\xFDWa:\xFDa8\xE5V[\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\x14a3\xEFWa3\xEFa7\xD9V\xFE\xA2dipfsX\"\x12 /\xAC\x89\xBEC<\x92;\x9C\xA0A\r*X\x98\nm\x12\x855\xCE\xBF\xE8\x19\x1E\xB7/:\x8B\xE3w\xFBdsolcC\0\x08\x1B\x003",
3031 );
3032 #[rustfmt::skip]
3038 #[allow(clippy::all)]
3039 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
3040 b"`\x80`@R`\x046\x10a\x01~W_5`\xE0\x1C\x80co\xCD\x0ES\x11a\0\xCDW\x80c\xC4\x90tB\x11a\0\x87W\x80c\xDD\xA34l\x11a\0bW\x80c\xDD\xA34l\x14a\x05\xD1W\x80c\xEE\x94\xD6|\x14a\x05\xF0W\x80c\xF0t\xBAb\x14a\x06\x0FW\x80c\xF2\x88$a\x14a\x06.W__\xFD[\x80c\xC4\x90tB\x14a\x05tW\x80c\xC4\xD6m\xE8\x14a\x05\x93W\x80c\xD0mU\x87\x14a\x05\xB2W__\xFD[\x80co\xCD\x0ES\x14a\x04\x8FW\x80ct9\x84\x1F\x14a\x04\xBBW\x80ct\xCD\xD7\x98\x14a\x04\xF0W\x80c\x88gl\xAD\x14a\x05#W\x80c\x9BNF4\x14a\x05BW\x80c\xB5\"S\x8A\x14a\x05UW__\xFD[\x80cFe\xBC\xDA\x11a\x018W\x80cT\xFDMP\x11a\x01\x13W\x80cT\xFDMP\x14a\x04\x04W\x80cXu3W\x14a\x04%W\x80cX\xEA\xEEy\x14a\x04DW\x80cl\r-Z\x14a\x04pW__\xFD[\x80cFe\xBC\xDA\x14a\x02\xB2W\x80cG\xD2\x83r\x14a\x02\xE5W\x80cR9jY\x14a\x03\xD0W__\xFD[\x80c\x03\x91W\xD2\x14a\x01\xBCW\x80c\x0B\x18\xFFf\x14a\x01\xDDW\x80c#@\xE8\xD3\x14a\x02\x19W\x80c4t\xAA\x16\x14a\x02<W\x80c?e\xCF\x19\x14a\x02mW\x80cB\xEC\xFF*\x14a\x02\x8CW__\xFD[6a\x01\xB8W`@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\xC7W__\xFD[Pa\x01\xDBa\x01\xD66`\x04a0\xC2V[a\x06aV[\0[4\x80\x15a\x01\xE8W__\xFD[P`3Ta\x01\xFC\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$W__\xFD[Pa\x02.`9T\x81V[`@Q\x90\x81R` \x01a\x02\x10V[4\x80\x15a\x02GW__\xFD[P`4T`\x01`\x01`@\x1B\x03\x16[`@Q`\x01`\x01`@\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x10V[4\x80\x15a\x02xW__\xFD[Pa\x01\xDBa\x02\x876`\x04a1{V[a\t\x8DV[4\x80\x15a\x02\x97W__\xFD[P`:Ta\x02U\x90`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x02\xBDW__\xFD[Pa\x01\xFC\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\xF0W__\xFD[Pa\x03u`@\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\x02\x10\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\xDBW__\xFD[Pa\x02Ua\x03\xEA6`\x04a2PV[`;` R_\x90\x81R`@\x90 T`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x04\x0FW__\xFD[Pa\x04\x18a\x0C\x15V[`@Qa\x02\x10\x91\x90a2\xBDV[4\x80\x15a\x040W__\xFD[P`>Ta\x01\xFC\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x04OW__\xFD[Pa\x04ca\x04^6`\x04a3\x0CV[a\x0CEV[`@Qa\x02\x10\x91\x90a3~V[4\x80\x15a\x04{W__\xFD[Pa\x02.a\x04\x8A6`\x04a2PV[a\x0C\xA7V[4\x80\x15a\x04\x9AW__\xFD[Pa\x04\xAEa\x04\xA96`\x04a3\x8CV[a\r\xB5V[`@Qa\x02\x10\x91\x90a3\xA3V[4\x80\x15a\x04\xC6W__\xFD[Pa\x04ca\x04\xD56`\x04a3\x8CV[_\x90\x81R`6` R`@\x90 T`\x01`\xC0\x1B\x90\x04`\xFF\x16\x90V[4\x80\x15a\x04\xFBW__\xFD[Pa\x01\xFC\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.W__\xFD[Pa\x01\xDBa\x05=6`\x04a4\x06V[a\x0E`V[a\x01\xDBa\x05P6`\x04a4!V[a\x0FUV[4\x80\x15a\x05`W__\xFD[Pa\x04\xAEa\x05o6`\x04a3\x0CV[a\x10\x9CV[4\x80\x15a\x05\x7FW__\xFD[Pa\x01\xDBa\x05\x8E6`\x04a4\xB1V[a\x11\x8BV[4\x80\x15a\x05\x9EW__\xFD[Pa\x01\xDBa\x05\xAD6`\x04a4\xDBV[a\x12\xC2V[4\x80\x15a\x05\xBDW__\xFD[Pa\x01\xDBa\x05\xCC6`\x04a4\xDBV[a\x14\x0CV[4\x80\x15a\x05\xDCW__\xFD[Pa\x01\xDBa\x05\xEB6`\x04a5\xC6V[a\x14\xA0V[4\x80\x15a\x05\xFBW__\xFD[P`:Ta\x02U\x90`\x01`\x01`@\x1B\x03\x16\x81V[4\x80\x15a\x06\x1AW__\xFD[Pa\x01\xDBa\x06)6`\x04a6\x98V[a\x15\xFFV[4\x80\x15a\x069W__\xFD[Pa\x02U\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\xC7W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x06\xEB\x91\x90a6\xFFV[\x15a\x07\tW`@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\x07oW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07\x93\x91\x90a6\xFFV[\x15a\x07\xB1W`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x07\xF5a\x07\xBF\x85\x80a7\x1AV[\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\xFC\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\x08cWa\x08ca3JV[`\x02\x81\x11\x15a\x08tWa\x08ta3JV[\x81RPP\x90P\x80`@\x01Q`\x01`\x01`@\x1B\x03\x16\x87`\x01`\x01`@\x1B\x03\x16\x11a\x08\xB0W`@Qc7\xE0\x7F\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x81``\x01Q`\x02\x81\x11\x15a\x08\xC8Wa\x08\xC8a3JV[\x14a\x08\xE6W`@Qc\xD4\x9E\x19\xA7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t)a\x08\xF3\x86\x80a7\x1AV[\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\x1E\x92PPPV[a\tFW`@Qc\x16\x1C\xE5\xED`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\tXa\tR\x88a\x0C\xA7V[\x87a\x1AFV[a\t{\x865a\tg\x87\x80a7\x1AV[a\tt` \x8A\x01\x8Aa7_V[\x86Qa\x1A\xEBV[a\t\x84_a\x1C\x12V[PPPPPPPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80a\t\xB0WP`>T`\x01`\x01`\xA0\x1B\x03\x163\x14[a\t\xCDW`@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\n3W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\nW\x91\x90a6\xFFV[\x15a\nuW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x85\x84\x14\x80\x15a\n\x83WP\x83\x82\x14[a\n\xA0W`@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\xD6W`@Qc7\xE0\x7F\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\n\xE8a\n\xE2\x8Aa\x0C\xA7V[\x89a\x1AFV[_\x80[\x87\x81\x10\x15a\x0B\x80Wa\x0Bl\x8A5\x8A\x8A\x84\x81\x81\x10a\x0B\nWa\x0B\na7\xA1V[\x90P` \x02\x01` \x81\x01\x90a\x0B\x1F\x91\x90a7\xB5V[\x89\x89\x85\x81\x81\x10a\x0B1Wa\x0B1a7\xA1V[\x90P` \x02\x81\x01\x90a\x0BC\x91\x90a7_V[\x89\x89\x87\x81\x81\x10a\x0BUWa\x0BUa7\xA1V[\x90P` \x02\x81\x01\x90a\x0Bg\x91\x90a7\x1AV[a\x1D\x92V[a\x0Bv\x90\x83a7\xEDV[\x91P`\x01\x01a\n\xEBV[P`3T`@Qc\xA1\xCAx\x0B`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R_`$\x82\x01R`D\x81\x01\x83\x90R\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\x90\x91\x16\x90c\xA1\xCAx\x0B\x90`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x0B\xF3W__\xFD[PZ\xF1\x15\x80\x15a\x0C\x05W=__>=_\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\"GV[\x90P\x90V[__a\x0C\x85\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\"\x84\x92PPPV[_\x90\x81R`6` R`@\x90 T`\x01`\xC0\x1B\x90\x04`\xFF\x16\x91PP[\x92\x91PPV[_a\x0C\xB5a\x1F\xFF`\x0Ca8\0V[a\x0C\xC8`\x01`\x01`@\x1B\x03\x84\x16Ba8\x17V[\x10a\x0C\xE6W`@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-\x91a8*V[_`@Q\x80\x83\x03\x81\x85Z\xFA\x91PP=\x80_\x81\x14a\reW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\rjV[``\x91P[P\x91P\x91P\x81\x80\x15a\r|WP_\x81Q\x11[a\r\x99W`@QcU\x8A\xD0\xA3`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80\x80` \x01\x90Q\x81\x01\x90a\r\xAD\x91\x90a8EV[\x94\x93PPPPV[a\r\xDC`@\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\x0EFWa\x0EFa3JV[`\x02\x81\x11\x15a\x0EWWa\x0EWa3JV[\x90RP\x92\x91PPV[`3T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80a\x0E\x83WP`>T`\x01`\x01`\xA0\x1B\x03\x163\x14[a\x0E\xA0W`@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\x0F\x06W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0F*\x91\x90a6\xFFV[\x15a\x0FHW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0FQ\x82a\x1C\x12V[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\x9EW`@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\xC7W`@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\x10\na#\x15V[\x88\x88\x88`@Q\x88c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x10.\x96\x95\x94\x93\x92\x91\x90a8\x84V[_`@Q\x80\x83\x03\x81\x85\x88\x80;\x15\x80\x15a\x10EW__\xFD[PZ\xF1\x15\x80\x15a\x10WW=__>=_\xFD[PPPPP\x7F`he\xB7\x93J%\xD4\xAE\xD4?l\xDBBd\x035?\xA4\xB3\0\x9CM\"\x84\x07GE\x81\xB0\x1E#\x85\x85`@Qa\x10\x8D\x92\x91\x90a8\xD2V[`@Q\x80\x91\x03\x90\xA1PPPPPV[a\x10\xC3`@\x80Q`\x80\x81\x01\x82R_\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x82\x90R\x90``\x82\x01R\x90V[`6_a\x11\x04\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\"\x84\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\x11pWa\x11pa3JV[`\x02\x81\x11\x15a\x11\x81Wa\x11\x81a3JV[\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\xD4W`@Qc2\x13\xA6a`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x11\xE3c;\x9A\xCA\0\x83a8\xF9V[\x90Pa\x11\xFCc;\x9A\xCA\0`\x01`\x01`@\x1B\x03\x83\x16a8\0V[`4T\x90\x92P`\x01`\x01`@\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x12/W`@Qc\x02\xC6\xF5G`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`4\x80T\x82\x91\x90_\x90a\x12L\x90\x84\x90`\x01`\x01`@\x1B\x03\x16a9\x0CV[\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\xAB\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2a\x12\xBD\x83\x83a#YV[PPPV[_Ta\x01\0\x90\x04`\xFF\x16\x15\x80\x80\x15a\x12\xE0WP_T`\x01`\xFF\x90\x91\x16\x10[\x80a\x12\xF9WP0;\x15\x80\x15a\x12\xF9WP_T`\xFF\x16`\x01\x14[a\x13aW`@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\x13\x82W_\x80Ta\xFF\0\x19\x16a\x01\0\x17\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x13\xA9W`@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\x0FQW_\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\x147W`@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\xCBW`@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\x151W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15U\x91\x90a6\xFFV[\x15a\x15sW`@Qc\x84\nH\xD5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82Q\x84Q\x14a\x15\x95W`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_[\x84Q\x81\x10\x15a\x15\xF8Wa\x15\xF0\x83\x85\x83\x81Q\x81\x10a\x15\xB6Wa\x15\xB6a7\xA1V[` \x02` \x01\x01Q\x87\x84\x81Q\x81\x10a\x15\xD0Wa\x15\xD0a7\xA1V[` \x02` \x01\x01Q`\x01`\x01`\xA0\x1B\x03\x16a$n\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[`\x01\x01a\x15\x97V[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\x16eW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16\x89\x91\x90a6\xFFV[\x15a\x16\xA7W`@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\xDBW`@Qc\x1ATOI`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\xA0\x81\x01\x82R`<T\x80\x82R`=Tb\xFF\xFF\xFF\x81\x16` \x84\x01R`\x01`\x01`@\x1B\x03c\x01\0\0\0\x82\x04\x81\x16\x94\x84\x01\x94\x90\x94R`\x01`X\x1B\x81\x04`\x07\x0B``\x84\x01R`\x01`\x98\x1B\x90\x04\x90\x92\x16`\x80\x82\x01R\x90a\x17:\x90\x87a$\xC0V[_\x80[\x85\x81\x10\x15a\x19\xA3W6\x87\x87\x83\x81\x81\x10a\x17XWa\x17Xa7\xA1V[\x90P` \x02\x81\x01\x90a\x17j\x91\x90a9+V[\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\xDAWa\x17\xDAa3JV[`\x02\x81\x11\x15a\x17\xEBWa\x17\xEBa3JV[\x90RP\x90P`\x01\x81``\x01Q`\x02\x81\x11\x15a\x18\x08Wa\x18\x08a3JV[\x14a\x18\x14WPPa\x19\x9BV[\x85`\x01`\x01`@\x1B\x03\x16\x81`@\x01Q`\x01`\x01`@\x1B\x03\x16\x10a\x188WPPa\x19\x9BV[_\x80\x80a\x18H\x84\x8A\x8F5\x88a%qV[` \x8B\x01\x80Q\x93\x96P\x91\x94P\x92Pa\x18_\x82a9?V[b\xFF\xFF\xFF\x16\x90RP`\x80\x88\x01\x80Q\x84\x91\x90a\x18{\x90\x83\x90a9\\V[`\x01`\x01`@\x1B\x03\x16\x90RP``\x88\x01\x80Q\x83\x91\x90a\x18\x9B\x90\x83\x90a9{V[`\x07\x0B\x90RPa\x18\xAB\x81\x88a9\\V[\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\x19OWa\x19Oa3JV[\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\xCF\x91\x85\x91\x16a9\\V[\x92Pa\x01\0\n\x81T\x81`\x01`\x01`@\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`@\x1B\x03\x16\x02\x17\x90UPa\t\x84\x82a&\x94V[_\x81_\x81Q\x81\x10a\x1A\x0FWa\x1A\x0Fa7\xA1V[` \x02` \x01\x01Q\x90P\x91\x90PV[_\x81`\x03\x81Q\x81\x10a\x1A2Wa\x1A2a7\xA1V[` \x02` \x01\x01Q__\x1B\x14\x15\x90P\x91\x90PV[a\x1AR`\x03` a8\0V[a\x1A_` \x83\x01\x83a7_V[\x90P\x14a\x1A\x7FW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1A\xCEa\x1A\x8F` \x83\x01\x83a7_V[\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(\xC3V[a\x0FQW`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x08\x84\x14a\x1B\x0CW`@Qc \x05\x91\xBD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x05a\x1B\x1A`(`\x01a7\xEDV[a\x1B$\x91\x90a7\xEDV[a\x1B/\x90` a8\0V[\x82\x14a\x1BNW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x1B\x8A\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(\xDA\x92PPPV[\x90P_d\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B\xA1`(`\x01a7\xEDV[`\x0B\x90\x1B\x17\x90Pa\x1B\xEB\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\x91RP\x8C\x92P\x86\x91P\x85\x90Pa(\xC3V[a\x1C\x08W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPPV[`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x15a\x1CBW`@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\x1CpW`@Qcg\xDB[\x8B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`4T_\x90`\x01`\x01`@\x1B\x03\x16a\x1C\x8Cc;\x9A\xCA\0Ga8\xF9V[a\x1C\x96\x91\x90a9\x0CV[\x90P\x81\x80\x15a\x1C\xACWP`\x01`\x01`@\x1B\x03\x81\x16\x15[\x15a\x1C\xCAW`@Qc2\xDE\xA9Y`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_`@Q\x80`\xA0\x01`@R\x80a\x1C\xDFBa\x0C\xA7V[\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\x02o\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\x19\x90\x92\x16\x91\x90\x91\x17\x90U\x90Pa\x1DC\x81a&\x94V[\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\x1D\xCF\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\xFC\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\x1E=Wa\x1E=a3JV[`\x02\x81\x11\x15a\x1ENWa\x1ENa3JV[\x90RP\x90P_\x81``\x01Q`\x02\x81\x11\x15a\x1EjWa\x1Eja3JV[\x14a\x1E\x88W`@Qc5\xE0\x9E\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`@\x1B\x03\x80\x16a\x1E\xCD\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+j\x92PPPV[`\x01`\x01`@\x1B\x03\x16\x03a\x1E\xF4W`@Qc\x19X#m`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`@\x1B\x03\x80\x16a\x1F9\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+\x8E\x92PPPV[`\x01`\x01`@\x1B\x03\x16\x14a\x1F`W`@Qc.\xAD\xE67`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1Fha#\x15V[a\x1Fq\x90a9\xAAV[a\x1F\xAC\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+\xA5\x92PPPV[\x14a\x1F\xCAW`@Qc7r\xDDS`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a \x06\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+\xB9\x92PPPV[\x90Pa \x16\x8A\x87\x87\x8B\x8B\x8Ea\x1A\xEBV[`9\x80T\x90_a %\x83a9\xCDV[\x90\x91UPP`:T_\x90`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16\x15a \\W`:T`\x01`@\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16a iV[`: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!>Wa!>a3JV[\x02\x17\x90UPP`=\x80T\x84\x92P`\x13\x90a!i\x90\x84\x90`\x01`\x98\x1B\x90\x04`\x01`\x01`@\x1B\x03\x16a9\\V[\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!\xC9\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\"8c;\x9A\xCA\0`\x01`\x01`@\x1B\x03\x84\x16a8\0V[\x9B\x9APPPPPPPPPPPV[``_a\"S\x83a+\xD0V[`@\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\"\xA7W`@QcO\x8829`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q`\x02\x90a\"\xBD\x90\x84\x90_\x90` \x01a9\xE5V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\"\xD7\x91a8*V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a\"\xF2W=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0C\xA1\x91\x90a8EV[`@\x80Q`\x01`\xF8\x1B` \x82\x01R_`!\x82\x01R0``\x90\x81\x1Bk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`,\x83\x01R\x91\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x90V[\x80G\x10\x15a#\xA9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: insufficient balance\0\0\0`D\x82\x01R`d\x01a\x13XV[_\x82`\x01`\x01`\xA0\x1B\x03\x16\x82`@Q_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a#\xF2W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a#\xF7V[``\x91P[PP\x90P\x80a\x12\xBDW`@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\x13XV[`@\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\xBD\x90\x84\x90a+\xF7V[a$\xCC`\x05`\x03a7\xEDV[a$\xD7\x90` a8\0V[a$\xE4` \x83\x01\x83a7_V[\x90P\x14a%\x04W`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`la%Ta%\x16` \x84\x01\x84a7_V[\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\x87\x92PP\x855\x90P\x84a(\xC3V[a\x12\xBDW`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83Q` \x85\x01Q\x90_\x90\x81\x90\x81a%\x89\x87\x83\x88a,\xCAV[\x90P\x84`\x01`\x01`@\x1B\x03\x16\x81`\x01`\x01`@\x1B\x03\x16\x14a&\x03Wa%\xAE\x85\x82a:\x13V[`@\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&\x88W`9\x80T\x90_a&2\x83a:BV[\x90\x91UPP`\x02``\x8A\x01Ra&G\x84a:WV[\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'4W\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\x17o\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`X\x1B\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\x16a9\\V[\x90P_\x82``\x01Q\x83`@\x01Qa'g\x91\x90a9{V[`@\x84\x01Q`4\x80T\x92\x93P\x90\x91_\x90a'\x8B\x90\x84\x90`\x01`\x01`@\x1B\x03\x16a9\\V[\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'\xDB\x90c;\x9A\xCA\0\x90\x85\x16a8\0V[\x90P_a'\xF0c;\x9A\xCA\0`\x07\x85\x90\x0Ba:|V[`: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\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x84\x90R`D\x81\x01\x83\x90R\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\x90\x91\x16\x90c\xA1\xCAx\x0B\x90`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a(\xA6W__\xFD[PZ\xF1\x15\x80\x15a(\xB8W=__>=_\xFD[PPPPPPPPPV[_\x83a(\xD0\x86\x85\x85a-\xA8V[\x14\x95\x94PPPPPV[__`\x02\x83Qa(\xEA\x91\x90a8\xF9V[\x90P_\x81`\x01`\x01`@\x1B\x03\x81\x11\x15a)\x05Wa)\x05a4\xF6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a).W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x82\x81\x10\x15a*(W`\x02\x85a)H\x83\x83a8\0V[\x81Q\x81\x10a)XWa)Xa7\xA1V[` \x02` \x01\x01Q\x86\x83`\x02a)n\x91\x90a8\0V[a)y\x90`\x01a7\xEDV[\x81Q\x81\x10a)\x89Wa)\x89a7\xA1V[` \x02` \x01\x01Q`@Q` \x01a)\xAB\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra)\xC5\x91a8*V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a)\xE0W=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a*\x03\x91\x90a8EV[\x82\x82\x81Q\x81\x10a*\x15Wa*\x15a7\xA1V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a)3V[Pa*4`\x02\x83a8\xF9V[\x91P[\x81\x15a+GW_[\x82\x81\x10\x15a+4W`\x02\x82a*T\x83\x83a8\0V[\x81Q\x81\x10a*dWa*da7\xA1V[` \x02` \x01\x01Q\x83\x83`\x02a*z\x91\x90a8\0V[a*\x85\x90`\x01a7\xEDV[\x81Q\x81\x10a*\x95Wa*\x95a7\xA1V[` \x02` \x01\x01Q`@Q` \x01a*\xB7\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra*\xD1\x91a8*V[` `@Q\x80\x83\x03\x81\x85Z\xFA\x15\x80\x15a*\xECW=__>=_\xFD[PPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a+\x0F\x91\x90a8EV[\x82\x82\x81Q\x81\x10a+!Wa+!a7\xA1V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a*?V[Pa+@`\x02\x83a8\xF9V[\x91Pa*7V[\x80_\x81Q\x81\x10a+YWa+Ya7\xA1V[` \x02` \x01\x01Q\x92PPP\x91\x90PV[_a\x0C\xA1\x82`\x05\x81Q\x81\x10a+\x81Wa+\x81a7\xA1V[` \x02` \x01\x01Qa.|V[_a\x0C\xA1\x82`\x06\x81Q\x81\x10a+\x81Wa+\x81a7\xA1V[_\x81`\x01\x81Q\x81\x10a\x1A\x0FWa\x1A\x0Fa7\xA1V[_a\x0C\xA1\x82`\x02\x81Q\x81\x10a+\x81Wa+\x81a7\xA1V[_`\xFF\x82\x16`\x1F\x81\x11\x15a\x0C\xA1W`@Qc,\xD4J\xC3`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a,K\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a.\xE3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x80Q_\x14\x80a,kWP\x80\x80` \x01\x90Q\x81\x01\x90a,k\x91\x90a6\xFFV[a\x12\xBDW`@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\x13XV[_a,\xD7`&`\x01a7\xEDV[a,\xE2\x90` a8\0V[a,\xEF`@\x84\x01\x84a7_V[\x90P\x14a-\x0FW`@Qc\x13q}\xA9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a-\x1B`\x04\x85a:\xABV[d\xFF\xFF\xFF\xFF\xFF\x16\x90Pa-ta-4`@\x85\x01\x85a7_V[\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(\xC3V[a-\x91W`@Qc\t\xBD\xE39`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a-\x9F\x83` \x015\x85a.\xF1V[\x95\x94PPPPPV[_\x83Q_\x14\x15\x80\x15a-\xC5WP` \x84Qa-\xC3\x91\x90a:\xD4V[\x15[a-\xE2W`@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.rWa.\x06`\x02\x85a:\xD4V[_\x03a.8W\x81Q_R\x80\x86\x01Q` R` \x82`@_`\x02a\x07\xD0Z\x03\xFAa.-W__\xFD[`\x02\x84\x04\x93Pa.`V[\x80\x86\x01Q_R\x81Q` R` \x82`@_`\x02a\x07\xD0Z\x03\xFAa.YW__\xFD[`\x02\x84\x04\x93P[a.k` \x82a7\xEDV[\x90Pa-\xF3V[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\x17g\xFF\0\0\0\0\0\0\0`\x88\x92\x90\x92\x1C\x91\x90\x91\x16\x17\x90V[``a\r\xAD\x84\x84_\x85a/\x1DV[_\x80a.\xFE`\x04\x84a:\xE7V[a/\t\x90`@a;\x10V[d\xFF\xFF\xFF\xFF\xFF\x16\x90Pa\r\xAD\x84\x82\x1Ba.|V[``\x82G\x10\x15a/~W`@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\x13XV[__\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa/\x99\x91\x90a8*V[_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a/\xD3W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a/\xD8V[``\x91P[P\x91P\x91Pa/\xE9\x87\x83\x83\x87a/\xF4V[\x97\x96PPPPPPPV[``\x83\x15a0bW\x82Q_\x03a0[W`\x01`\x01`\xA0\x1B\x03\x85\x16;a0[W`@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\x13XV[P\x81a\r\xADV[a\r\xAD\x83\x83\x81Q\x15a0wW\x81Q\x80\x83` \x01\xFD[\x80`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x13X\x91\x90a2\xBDV[\x805`\x01`\x01`@\x1B\x03\x81\x16\x81\x14a0\xA7W__\xFD[\x91\x90PV[_`@\x82\x84\x03\x12\x15a0\xBCW__\xFD[P\x91\x90PV[___``\x84\x86\x03\x12\x15a0\xD4W__\xFD[a0\xDD\x84a0\x91V[\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a0\xF7W__\xFD[a1\x03\x86\x82\x87\x01a0\xACV[\x92PP`@\x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a1\x1EW__\xFD[a1*\x86\x82\x87\x01a0\xACV[\x91PP\x92P\x92P\x92V[__\x83`\x1F\x84\x01\x12a1DW__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a1ZW__\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a1tW__\xFD[\x92P\x92\x90PV[________`\xA0\x89\x8B\x03\x12\x15a1\x92W__\xFD[a1\x9B\x89a0\x91V[\x97P` \x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a1\xB5W__\xFD[a1\xC1\x8B\x82\x8C\x01a0\xACV[\x97PP`@\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a1\xDCW__\xFD[a1\xE8\x8B\x82\x8C\x01a14V[\x90\x97P\x95PP``\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a2\x06W__\xFD[a2\x12\x8B\x82\x8C\x01a14V[\x90\x95P\x93PP`\x80\x89\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a20W__\xFD[a2<\x8B\x82\x8C\x01a14V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[_` \x82\x84\x03\x12\x15a2`W__\xFD[a2i\x82a0\x91V[\x93\x92PPPV[_[\x83\x81\x10\x15a2\x8AW\x81\x81\x01Q\x83\x82\x01R` \x01a2rV[PP_\x91\x01RV[_\x81Q\x80\x84Ra2\xA9\x81` \x86\x01` \x86\x01a2pV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R_a2i` \x83\x01\x84a2\x92V[__\x83`\x1F\x84\x01\x12a2\xDFW__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a2\xF5W__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a1tW__\xFD[__` \x83\x85\x03\x12\x15a3\x1DW__\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a32W__\xFD[a3>\x85\x82\x86\x01a2\xCFV[\x90\x96\x90\x95P\x93PPPPV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[`\x03\x81\x10a3zWcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x90RV[` \x81\x01a\x0C\xA1\x82\x84a3^V[_` \x82\x84\x03\x12\x15a3\x9CW__\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\x01Qa3\xEF``\x84\x01\x82a3^V[P\x92\x91PPV[\x80\x15\x15\x81\x14a4\x03W__\xFD[PV[_` \x82\x84\x03\x12\x15a4\x16W__\xFD[\x815a2i\x81a3\xF6V[_____``\x86\x88\x03\x12\x15a45W__\xFD[\x855`\x01`\x01`@\x1B\x03\x81\x11\x15a4JW__\xFD[a4V\x88\x82\x89\x01a2\xCFV[\x90\x96P\x94PP` \x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a4tW__\xFD[a4\x80\x88\x82\x89\x01a2\xCFV[\x96\x99\x95\x98P\x96`@\x015\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a4\x03W__\xFD[\x805a0\xA7\x81a4\x92V[__`@\x83\x85\x03\x12\x15a4\xC2W__\xFD[\x825a4\xCD\x81a4\x92V[\x94` \x93\x90\x93\x015\x93PPPV[_` \x82\x84\x03\x12\x15a4\xEBW__\xFD[\x815a2i\x81a4\x92V[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\x15a52Wa52a4\xF6V[`@R\x91\x90PV[_`\x01`\x01`@\x1B\x03\x82\x11\x15a5RWa5Ra4\xF6V[P`\x05\x1B` \x01\x90V[_\x82`\x1F\x83\x01\x12a5kW__\xFD[\x815a5~a5y\x82a5:V[a5\nV[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a5\x9FW__\xFD[` \x85\x01[\x83\x81\x10\x15a5\xBCW\x805\x83R` \x92\x83\x01\x92\x01a5\xA4V[P\x95\x94PPPPPV[___``\x84\x86\x03\x12\x15a5\xD8W__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a5\xEDW__\xFD[\x84\x01`\x1F\x81\x01\x86\x13a5\xFDW__\xFD[\x805a6\x0Ba5y\x82a5:V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x88\x83\x11\x15a6,W__\xFD[` \x84\x01\x93P[\x82\x84\x10\x15a6WW\x835a6F\x81a4\x92V[\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a63V[\x95PPPP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a6tW__\xFD[a6\x80\x86\x82\x87\x01a5\\V[\x92PPa6\x8F`@\x85\x01a4\xA6V[\x90P\x92P\x92P\x92V[___`@\x84\x86\x03\x12\x15a6\xAAW__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a6\xBFW__\xFD[a6\xCB\x86\x82\x87\x01a0\xACV[\x93PP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a6\xE6W__\xFD[a6\xF2\x86\x82\x87\x01a14V[\x94\x97\x90\x96P\x93\x94PPPPV[_` \x82\x84\x03\x12\x15a7\x0FW__\xFD[\x81Qa2i\x81a3\xF6V[__\x835`\x1E\x19\x846\x03\x01\x81\x12a7/W__\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15a7HW__\xFD[` \x01\x91P`\x05\x81\x90\x1B6\x03\x82\x13\x15a1tW__\xFD[__\x835`\x1E\x19\x846\x03\x01\x81\x12a7tW__\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15a7\x8DW__\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a1tW__\xFD[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a7\xC5W__\xFD[\x815d\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a2iW__\xFD[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x0C\xA1Wa\x0C\xA1a7\xD9V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0C\xA1Wa\x0C\xA1a7\xD9V[\x81\x81\x03\x81\x81\x11\x15a\x0C\xA1Wa\x0C\xA1a7\xD9V[_\x82Qa8;\x81\x84` \x87\x01a2pV[\x91\x90\x91\x01\x92\x91PPV[_` \x82\x84\x03\x12\x15a8UW__\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_a8\x97`\x80\x83\x01\x88\x8Aa8\\V[\x82\x81\x03` \x84\x01Ra8\xA9\x81\x88a2\x92V[\x90P\x82\x81\x03`@\x84\x01Ra8\xBE\x81\x86\x88a8\\V[\x91PP\x82``\x83\x01R\x97\x96PPPPPPPV[` \x81R_a\r\xAD` \x83\x01\x84\x86a8\\V[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a9\x07Wa9\x07a8\xE5V[P\x04\x90V[`\x01`\x01`@\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x81\x11\x15a\x0C\xA1Wa\x0C\xA1a7\xD9V[_\x825`^\x19\x836\x03\x01\x81\x12a8;W__\xFD[_b\xFF\xFF\xFF\x82\x16\x80a9SWa9Sa7\xD9V[_\x19\x01\x92\x91PPV[`\x01`\x01`@\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x81\x11\x15a\x0C\xA1Wa\x0C\xA1a7\xD9V[`\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\xA1Wa\x0C\xA1a7\xD9V[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a0\xBCW_\x19` \x91\x90\x91\x03`\x03\x1B\x1B\x16\x91\x90PV[_`\x01\x82\x01a9\xDEWa9\xDEa7\xD9V[P`\x01\x01\x90V[_\x83Qa9\xF6\x81\x84` \x88\x01a2pV[`\x01`\x01`\x80\x1B\x03\x19\x93\x90\x93\x16\x91\x90\x92\x01\x90\x81R`\x10\x01\x92\x91PPV[`\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\xA1Wa\x0C\xA1a7\xD9V[_\x81a:PWa:Pa7\xD9V[P_\x19\x01\x90V[_\x81`\x07\x0Bg\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x81\x03a:tWa:ta7\xD9V[_\x03\x92\x91PPV[\x80\x82\x02_\x82\x12`\x01`\xFF\x1B\x84\x14\x16\x15a:\x97Wa:\x97a7\xD9V[\x81\x81\x05\x83\x14\x82\x15\x17a\x0C\xA1Wa\x0C\xA1a7\xD9V[_d\xFF\xFF\xFF\xFF\xFF\x83\x16\x80a:\xC1Wa:\xC1a8\xE5V[\x80d\xFF\xFF\xFF\xFF\xFF\x84\x16\x04\x91PP\x92\x91PPV[_\x82a:\xE2Wa:\xE2a8\xE5V[P\x06\x90V[_d\xFF\xFF\xFF\xFF\xFF\x83\x16\x80a:\xFDWa:\xFDa8\xE5V[\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\x14a3\xEFWa3\xEFa7\xD9V\xFE\xA2dipfsX\"\x12 /\xAC\x89\xBEC<\x92;\x9C\xA0A\r*X\x98\nm\x12\x855\xCE\xBF\xE8\x19\x1E\xB7/:\x8B\xE3w\xFBdsolcC\0\x08\x1B\x003",
3041 );
3042 #[derive(serde::Serialize, serde::Deserialize)]
3043 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3044 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3049 #[derive(Clone)]
3050 pub struct BeaconTimestampTooFarInPast;
3051 #[allow(
3052 non_camel_case_types,
3053 non_snake_case,
3054 clippy::pub_underscore_fields,
3055 clippy::style
3056 )]
3057 const _: () = {
3058 use alloy::sol_types as alloy_sol_types;
3059 #[doc(hidden)]
3060 type UnderlyingSolTuple<'a> = ();
3061 #[doc(hidden)]
3062 type UnderlyingRustTuple<'a> = ();
3063 #[cfg(test)]
3064 #[allow(dead_code, unreachable_patterns)]
3065 fn _type_assertion(
3066 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3067 ) {
3068 match _t {
3069 alloy_sol_types::private::AssertTypeEq::<
3070 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3071 >(_) => {}
3072 }
3073 }
3074 #[automatically_derived]
3075 #[doc(hidden)]
3076 impl ::core::convert::From<BeaconTimestampTooFarInPast>
3077 for UnderlyingRustTuple<'_> {
3078 fn from(value: BeaconTimestampTooFarInPast) -> Self {
3079 ()
3080 }
3081 }
3082 #[automatically_derived]
3083 #[doc(hidden)]
3084 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3085 for BeaconTimestampTooFarInPast {
3086 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3087 Self
3088 }
3089 }
3090 #[automatically_derived]
3091 impl alloy_sol_types::SolError for BeaconTimestampTooFarInPast {
3092 type Parameters<'a> = UnderlyingSolTuple<'a>;
3093 type Token<'a> = <Self::Parameters<
3094 'a,
3095 > as alloy_sol_types::SolType>::Token<'a>;
3096 const SIGNATURE: &'static str = "BeaconTimestampTooFarInPast()";
3097 const SELECTOR: [u8; 4] = [55u8, 224u8, 127u8, 253u8];
3098 #[inline]
3099 fn new<'a>(
3100 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3101 ) -> Self {
3102 tuple.into()
3103 }
3104 #[inline]
3105 fn tokenize(&self) -> Self::Token<'_> {
3106 ()
3107 }
3108 #[inline]
3109 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3110 <Self::Parameters<
3111 '_,
3112 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3113 .map(Self::new)
3114 }
3115 }
3116 };
3117 #[derive(serde::Serialize, serde::Deserialize)]
3118 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3119 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3124 #[derive(Clone)]
3125 pub struct CannotCheckpointTwiceInSingleBlock;
3126 #[allow(
3127 non_camel_case_types,
3128 non_snake_case,
3129 clippy::pub_underscore_fields,
3130 clippy::style
3131 )]
3132 const _: () = {
3133 use alloy::sol_types as alloy_sol_types;
3134 #[doc(hidden)]
3135 type UnderlyingSolTuple<'a> = ();
3136 #[doc(hidden)]
3137 type UnderlyingRustTuple<'a> = ();
3138 #[cfg(test)]
3139 #[allow(dead_code, unreachable_patterns)]
3140 fn _type_assertion(
3141 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3142 ) {
3143 match _t {
3144 alloy_sol_types::private::AssertTypeEq::<
3145 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3146 >(_) => {}
3147 }
3148 }
3149 #[automatically_derived]
3150 #[doc(hidden)]
3151 impl ::core::convert::From<CannotCheckpointTwiceInSingleBlock>
3152 for UnderlyingRustTuple<'_> {
3153 fn from(value: CannotCheckpointTwiceInSingleBlock) -> Self {
3154 ()
3155 }
3156 }
3157 #[automatically_derived]
3158 #[doc(hidden)]
3159 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3160 for CannotCheckpointTwiceInSingleBlock {
3161 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3162 Self
3163 }
3164 }
3165 #[automatically_derived]
3166 impl alloy_sol_types::SolError for CannotCheckpointTwiceInSingleBlock {
3167 type Parameters<'a> = UnderlyingSolTuple<'a>;
3168 type Token<'a> = <Self::Parameters<
3169 'a,
3170 > as alloy_sol_types::SolType>::Token<'a>;
3171 const SIGNATURE: &'static str = "CannotCheckpointTwiceInSingleBlock()";
3172 const SELECTOR: [u8; 4] = [103u8, 219u8, 91u8, 139u8];
3173 #[inline]
3174 fn new<'a>(
3175 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3176 ) -> Self {
3177 tuple.into()
3178 }
3179 #[inline]
3180 fn tokenize(&self) -> Self::Token<'_> {
3181 ()
3182 }
3183 #[inline]
3184 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3185 <Self::Parameters<
3186 '_,
3187 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3188 .map(Self::new)
3189 }
3190 }
3191 };
3192 #[derive(serde::Serialize, serde::Deserialize)]
3193 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3194 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3199 #[derive(Clone)]
3200 pub struct CheckpointAlreadyActive;
3201 #[allow(
3202 non_camel_case_types,
3203 non_snake_case,
3204 clippy::pub_underscore_fields,
3205 clippy::style
3206 )]
3207 const _: () = {
3208 use alloy::sol_types as alloy_sol_types;
3209 #[doc(hidden)]
3210 type UnderlyingSolTuple<'a> = ();
3211 #[doc(hidden)]
3212 type UnderlyingRustTuple<'a> = ();
3213 #[cfg(test)]
3214 #[allow(dead_code, unreachable_patterns)]
3215 fn _type_assertion(
3216 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3217 ) {
3218 match _t {
3219 alloy_sol_types::private::AssertTypeEq::<
3220 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3221 >(_) => {}
3222 }
3223 }
3224 #[automatically_derived]
3225 #[doc(hidden)]
3226 impl ::core::convert::From<CheckpointAlreadyActive> for UnderlyingRustTuple<'_> {
3227 fn from(value: CheckpointAlreadyActive) -> Self {
3228 ()
3229 }
3230 }
3231 #[automatically_derived]
3232 #[doc(hidden)]
3233 impl ::core::convert::From<UnderlyingRustTuple<'_>> for CheckpointAlreadyActive {
3234 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3235 Self
3236 }
3237 }
3238 #[automatically_derived]
3239 impl alloy_sol_types::SolError for CheckpointAlreadyActive {
3240 type Parameters<'a> = UnderlyingSolTuple<'a>;
3241 type Token<'a> = <Self::Parameters<
3242 'a,
3243 > as alloy_sol_types::SolType>::Token<'a>;
3244 const SIGNATURE: &'static str = "CheckpointAlreadyActive()";
3245 const SELECTOR: [u8; 4] = [190u8, 155u8, 195u8, 0u8];
3246 #[inline]
3247 fn new<'a>(
3248 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3249 ) -> Self {
3250 tuple.into()
3251 }
3252 #[inline]
3253 fn tokenize(&self) -> Self::Token<'_> {
3254 ()
3255 }
3256 #[inline]
3257 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3258 <Self::Parameters<
3259 '_,
3260 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3261 .map(Self::new)
3262 }
3263 }
3264 };
3265 #[derive(serde::Serialize, serde::Deserialize)]
3266 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3267 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3272 #[derive(Clone)]
3273 pub struct CredentialsAlreadyVerified;
3274 #[allow(
3275 non_camel_case_types,
3276 non_snake_case,
3277 clippy::pub_underscore_fields,
3278 clippy::style
3279 )]
3280 const _: () = {
3281 use alloy::sol_types as alloy_sol_types;
3282 #[doc(hidden)]
3283 type UnderlyingSolTuple<'a> = ();
3284 #[doc(hidden)]
3285 type UnderlyingRustTuple<'a> = ();
3286 #[cfg(test)]
3287 #[allow(dead_code, unreachable_patterns)]
3288 fn _type_assertion(
3289 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3290 ) {
3291 match _t {
3292 alloy_sol_types::private::AssertTypeEq::<
3293 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3294 >(_) => {}
3295 }
3296 }
3297 #[automatically_derived]
3298 #[doc(hidden)]
3299 impl ::core::convert::From<CredentialsAlreadyVerified>
3300 for UnderlyingRustTuple<'_> {
3301 fn from(value: CredentialsAlreadyVerified) -> Self {
3302 ()
3303 }
3304 }
3305 #[automatically_derived]
3306 #[doc(hidden)]
3307 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3308 for CredentialsAlreadyVerified {
3309 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3310 Self
3311 }
3312 }
3313 #[automatically_derived]
3314 impl alloy_sol_types::SolError for CredentialsAlreadyVerified {
3315 type Parameters<'a> = UnderlyingSolTuple<'a>;
3316 type Token<'a> = <Self::Parameters<
3317 'a,
3318 > as alloy_sol_types::SolType>::Token<'a>;
3319 const SIGNATURE: &'static str = "CredentialsAlreadyVerified()";
3320 const SELECTOR: [u8; 4] = [53u8, 224u8, 158u8, 157u8];
3321 #[inline]
3322 fn new<'a>(
3323 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3324 ) -> Self {
3325 tuple.into()
3326 }
3327 #[inline]
3328 fn tokenize(&self) -> Self::Token<'_> {
3329 ()
3330 }
3331 #[inline]
3332 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3333 <Self::Parameters<
3334 '_,
3335 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3336 .map(Self::new)
3337 }
3338 }
3339 };
3340 #[derive(serde::Serialize, serde::Deserialize)]
3341 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3342 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3347 #[derive(Clone)]
3348 pub struct CurrentlyPaused;
3349 #[allow(
3350 non_camel_case_types,
3351 non_snake_case,
3352 clippy::pub_underscore_fields,
3353 clippy::style
3354 )]
3355 const _: () = {
3356 use alloy::sol_types as alloy_sol_types;
3357 #[doc(hidden)]
3358 type UnderlyingSolTuple<'a> = ();
3359 #[doc(hidden)]
3360 type UnderlyingRustTuple<'a> = ();
3361 #[cfg(test)]
3362 #[allow(dead_code, unreachable_patterns)]
3363 fn _type_assertion(
3364 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3365 ) {
3366 match _t {
3367 alloy_sol_types::private::AssertTypeEq::<
3368 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3369 >(_) => {}
3370 }
3371 }
3372 #[automatically_derived]
3373 #[doc(hidden)]
3374 impl ::core::convert::From<CurrentlyPaused> for UnderlyingRustTuple<'_> {
3375 fn from(value: CurrentlyPaused) -> Self {
3376 ()
3377 }
3378 }
3379 #[automatically_derived]
3380 #[doc(hidden)]
3381 impl ::core::convert::From<UnderlyingRustTuple<'_>> for CurrentlyPaused {
3382 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3383 Self
3384 }
3385 }
3386 #[automatically_derived]
3387 impl alloy_sol_types::SolError for CurrentlyPaused {
3388 type Parameters<'a> = UnderlyingSolTuple<'a>;
3389 type Token<'a> = <Self::Parameters<
3390 'a,
3391 > as alloy_sol_types::SolType>::Token<'a>;
3392 const SIGNATURE: &'static str = "CurrentlyPaused()";
3393 const SELECTOR: [u8; 4] = [132u8, 10u8, 72u8, 213u8];
3394 #[inline]
3395 fn new<'a>(
3396 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3397 ) -> Self {
3398 tuple.into()
3399 }
3400 #[inline]
3401 fn tokenize(&self) -> Self::Token<'_> {
3402 ()
3403 }
3404 #[inline]
3405 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3406 <Self::Parameters<
3407 '_,
3408 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3409 .map(Self::new)
3410 }
3411 }
3412 };
3413 #[derive(serde::Serialize, serde::Deserialize)]
3414 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3415 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3420 #[derive(Clone)]
3421 pub struct InputAddressZero;
3422 #[allow(
3423 non_camel_case_types,
3424 non_snake_case,
3425 clippy::pub_underscore_fields,
3426 clippy::style
3427 )]
3428 const _: () = {
3429 use alloy::sol_types as alloy_sol_types;
3430 #[doc(hidden)]
3431 type UnderlyingSolTuple<'a> = ();
3432 #[doc(hidden)]
3433 type UnderlyingRustTuple<'a> = ();
3434 #[cfg(test)]
3435 #[allow(dead_code, unreachable_patterns)]
3436 fn _type_assertion(
3437 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3438 ) {
3439 match _t {
3440 alloy_sol_types::private::AssertTypeEq::<
3441 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3442 >(_) => {}
3443 }
3444 }
3445 #[automatically_derived]
3446 #[doc(hidden)]
3447 impl ::core::convert::From<InputAddressZero> for UnderlyingRustTuple<'_> {
3448 fn from(value: InputAddressZero) -> Self {
3449 ()
3450 }
3451 }
3452 #[automatically_derived]
3453 #[doc(hidden)]
3454 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputAddressZero {
3455 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3456 Self
3457 }
3458 }
3459 #[automatically_derived]
3460 impl alloy_sol_types::SolError for InputAddressZero {
3461 type Parameters<'a> = UnderlyingSolTuple<'a>;
3462 type Token<'a> = <Self::Parameters<
3463 'a,
3464 > as alloy_sol_types::SolType>::Token<'a>;
3465 const SIGNATURE: &'static str = "InputAddressZero()";
3466 const SELECTOR: [u8; 4] = [115u8, 99u8, 33u8, 118u8];
3467 #[inline]
3468 fn new<'a>(
3469 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3470 ) -> Self {
3471 tuple.into()
3472 }
3473 #[inline]
3474 fn tokenize(&self) -> Self::Token<'_> {
3475 ()
3476 }
3477 #[inline]
3478 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3479 <Self::Parameters<
3480 '_,
3481 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3482 .map(Self::new)
3483 }
3484 }
3485 };
3486 #[derive(serde::Serialize, serde::Deserialize)]
3487 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3488 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3493 #[derive(Clone)]
3494 pub struct InputArrayLengthMismatch;
3495 #[allow(
3496 non_camel_case_types,
3497 non_snake_case,
3498 clippy::pub_underscore_fields,
3499 clippy::style
3500 )]
3501 const _: () = {
3502 use alloy::sol_types as alloy_sol_types;
3503 #[doc(hidden)]
3504 type UnderlyingSolTuple<'a> = ();
3505 #[doc(hidden)]
3506 type UnderlyingRustTuple<'a> = ();
3507 #[cfg(test)]
3508 #[allow(dead_code, unreachable_patterns)]
3509 fn _type_assertion(
3510 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3511 ) {
3512 match _t {
3513 alloy_sol_types::private::AssertTypeEq::<
3514 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3515 >(_) => {}
3516 }
3517 }
3518 #[automatically_derived]
3519 #[doc(hidden)]
3520 impl ::core::convert::From<InputArrayLengthMismatch>
3521 for UnderlyingRustTuple<'_> {
3522 fn from(value: InputArrayLengthMismatch) -> Self {
3523 ()
3524 }
3525 }
3526 #[automatically_derived]
3527 #[doc(hidden)]
3528 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3529 for InputArrayLengthMismatch {
3530 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3531 Self
3532 }
3533 }
3534 #[automatically_derived]
3535 impl alloy_sol_types::SolError for InputArrayLengthMismatch {
3536 type Parameters<'a> = UnderlyingSolTuple<'a>;
3537 type Token<'a> = <Self::Parameters<
3538 'a,
3539 > as alloy_sol_types::SolType>::Token<'a>;
3540 const SIGNATURE: &'static str = "InputArrayLengthMismatch()";
3541 const SELECTOR: [u8; 4] = [67u8, 113u8, 74u8, 253u8];
3542 #[inline]
3543 fn new<'a>(
3544 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3545 ) -> Self {
3546 tuple.into()
3547 }
3548 #[inline]
3549 fn tokenize(&self) -> Self::Token<'_> {
3550 ()
3551 }
3552 #[inline]
3553 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3554 <Self::Parameters<
3555 '_,
3556 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3557 .map(Self::new)
3558 }
3559 }
3560 };
3561 #[derive(serde::Serialize, serde::Deserialize)]
3562 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3563 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3568 #[derive(Clone)]
3569 pub struct InsufficientWithdrawableBalance;
3570 #[allow(
3571 non_camel_case_types,
3572 non_snake_case,
3573 clippy::pub_underscore_fields,
3574 clippy::style
3575 )]
3576 const _: () = {
3577 use alloy::sol_types as alloy_sol_types;
3578 #[doc(hidden)]
3579 type UnderlyingSolTuple<'a> = ();
3580 #[doc(hidden)]
3581 type UnderlyingRustTuple<'a> = ();
3582 #[cfg(test)]
3583 #[allow(dead_code, unreachable_patterns)]
3584 fn _type_assertion(
3585 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3586 ) {
3587 match _t {
3588 alloy_sol_types::private::AssertTypeEq::<
3589 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3590 >(_) => {}
3591 }
3592 }
3593 #[automatically_derived]
3594 #[doc(hidden)]
3595 impl ::core::convert::From<InsufficientWithdrawableBalance>
3596 for UnderlyingRustTuple<'_> {
3597 fn from(value: InsufficientWithdrawableBalance) -> Self {
3598 ()
3599 }
3600 }
3601 #[automatically_derived]
3602 #[doc(hidden)]
3603 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3604 for InsufficientWithdrawableBalance {
3605 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3606 Self
3607 }
3608 }
3609 #[automatically_derived]
3610 impl alloy_sol_types::SolError for InsufficientWithdrawableBalance {
3611 type Parameters<'a> = UnderlyingSolTuple<'a>;
3612 type Token<'a> = <Self::Parameters<
3613 'a,
3614 > as alloy_sol_types::SolType>::Token<'a>;
3615 const SIGNATURE: &'static str = "InsufficientWithdrawableBalance()";
3616 const SELECTOR: [u8; 4] = [11u8, 27u8, 213u8, 28u8];
3617 #[inline]
3618 fn new<'a>(
3619 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3620 ) -> Self {
3621 tuple.into()
3622 }
3623 #[inline]
3624 fn tokenize(&self) -> Self::Token<'_> {
3625 ()
3626 }
3627 #[inline]
3628 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3629 <Self::Parameters<
3630 '_,
3631 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3632 .map(Self::new)
3633 }
3634 }
3635 };
3636 #[derive(serde::Serialize, serde::Deserialize)]
3637 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3638 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3643 #[derive(Clone)]
3644 pub struct InvalidEIP4788Response;
3645 #[allow(
3646 non_camel_case_types,
3647 non_snake_case,
3648 clippy::pub_underscore_fields,
3649 clippy::style
3650 )]
3651 const _: () = {
3652 use alloy::sol_types as alloy_sol_types;
3653 #[doc(hidden)]
3654 type UnderlyingSolTuple<'a> = ();
3655 #[doc(hidden)]
3656 type UnderlyingRustTuple<'a> = ();
3657 #[cfg(test)]
3658 #[allow(dead_code, unreachable_patterns)]
3659 fn _type_assertion(
3660 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3661 ) {
3662 match _t {
3663 alloy_sol_types::private::AssertTypeEq::<
3664 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3665 >(_) => {}
3666 }
3667 }
3668 #[automatically_derived]
3669 #[doc(hidden)]
3670 impl ::core::convert::From<InvalidEIP4788Response> for UnderlyingRustTuple<'_> {
3671 fn from(value: InvalidEIP4788Response) -> Self {
3672 ()
3673 }
3674 }
3675 #[automatically_derived]
3676 #[doc(hidden)]
3677 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidEIP4788Response {
3678 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3679 Self
3680 }
3681 }
3682 #[automatically_derived]
3683 impl alloy_sol_types::SolError for InvalidEIP4788Response {
3684 type Parameters<'a> = UnderlyingSolTuple<'a>;
3685 type Token<'a> = <Self::Parameters<
3686 'a,
3687 > as alloy_sol_types::SolType>::Token<'a>;
3688 const SIGNATURE: &'static str = "InvalidEIP4788Response()";
3689 const SELECTOR: [u8; 4] = [85u8, 138u8, 208u8, 163u8];
3690 #[inline]
3691 fn new<'a>(
3692 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3693 ) -> Self {
3694 tuple.into()
3695 }
3696 #[inline]
3697 fn tokenize(&self) -> Self::Token<'_> {
3698 ()
3699 }
3700 #[inline]
3701 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3702 <Self::Parameters<
3703 '_,
3704 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3705 .map(Self::new)
3706 }
3707 }
3708 };
3709 #[derive(serde::Serialize, serde::Deserialize)]
3710 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3711 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3716 #[derive(Clone)]
3717 pub struct InvalidProof;
3718 #[allow(
3719 non_camel_case_types,
3720 non_snake_case,
3721 clippy::pub_underscore_fields,
3722 clippy::style
3723 )]
3724 const _: () = {
3725 use alloy::sol_types as alloy_sol_types;
3726 #[doc(hidden)]
3727 type UnderlyingSolTuple<'a> = ();
3728 #[doc(hidden)]
3729 type UnderlyingRustTuple<'a> = ();
3730 #[cfg(test)]
3731 #[allow(dead_code, unreachable_patterns)]
3732 fn _type_assertion(
3733 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3734 ) {
3735 match _t {
3736 alloy_sol_types::private::AssertTypeEq::<
3737 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3738 >(_) => {}
3739 }
3740 }
3741 #[automatically_derived]
3742 #[doc(hidden)]
3743 impl ::core::convert::From<InvalidProof> for UnderlyingRustTuple<'_> {
3744 fn from(value: InvalidProof) -> Self {
3745 ()
3746 }
3747 }
3748 #[automatically_derived]
3749 #[doc(hidden)]
3750 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidProof {
3751 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3752 Self
3753 }
3754 }
3755 #[automatically_derived]
3756 impl alloy_sol_types::SolError for InvalidProof {
3757 type Parameters<'a> = UnderlyingSolTuple<'a>;
3758 type Token<'a> = <Self::Parameters<
3759 'a,
3760 > as alloy_sol_types::SolType>::Token<'a>;
3761 const SIGNATURE: &'static str = "InvalidProof()";
3762 const SELECTOR: [u8; 4] = [9u8, 189u8, 227u8, 57u8];
3763 #[inline]
3764 fn new<'a>(
3765 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3766 ) -> Self {
3767 tuple.into()
3768 }
3769 #[inline]
3770 fn tokenize(&self) -> Self::Token<'_> {
3771 ()
3772 }
3773 #[inline]
3774 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3775 <Self::Parameters<
3776 '_,
3777 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3778 .map(Self::new)
3779 }
3780 }
3781 };
3782 #[derive(serde::Serialize, serde::Deserialize)]
3783 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3784 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3789 #[derive(Clone)]
3790 pub struct InvalidProofLength;
3791 #[allow(
3792 non_camel_case_types,
3793 non_snake_case,
3794 clippy::pub_underscore_fields,
3795 clippy::style
3796 )]
3797 const _: () = {
3798 use alloy::sol_types as alloy_sol_types;
3799 #[doc(hidden)]
3800 type UnderlyingSolTuple<'a> = ();
3801 #[doc(hidden)]
3802 type UnderlyingRustTuple<'a> = ();
3803 #[cfg(test)]
3804 #[allow(dead_code, unreachable_patterns)]
3805 fn _type_assertion(
3806 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3807 ) {
3808 match _t {
3809 alloy_sol_types::private::AssertTypeEq::<
3810 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3811 >(_) => {}
3812 }
3813 }
3814 #[automatically_derived]
3815 #[doc(hidden)]
3816 impl ::core::convert::From<InvalidProofLength> for UnderlyingRustTuple<'_> {
3817 fn from(value: InvalidProofLength) -> Self {
3818 ()
3819 }
3820 }
3821 #[automatically_derived]
3822 #[doc(hidden)]
3823 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidProofLength {
3824 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3825 Self
3826 }
3827 }
3828 #[automatically_derived]
3829 impl alloy_sol_types::SolError for InvalidProofLength {
3830 type Parameters<'a> = UnderlyingSolTuple<'a>;
3831 type Token<'a> = <Self::Parameters<
3832 'a,
3833 > as alloy_sol_types::SolType>::Token<'a>;
3834 const SIGNATURE: &'static str = "InvalidProofLength()";
3835 const SELECTOR: [u8; 4] = [77u8, 197u8, 246u8, 164u8];
3836 #[inline]
3837 fn new<'a>(
3838 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3839 ) -> Self {
3840 tuple.into()
3841 }
3842 #[inline]
3843 fn tokenize(&self) -> Self::Token<'_> {
3844 ()
3845 }
3846 #[inline]
3847 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3848 <Self::Parameters<
3849 '_,
3850 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3851 .map(Self::new)
3852 }
3853 }
3854 };
3855 #[derive(serde::Serialize, serde::Deserialize)]
3856 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3857 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3862 #[derive(Clone)]
3863 pub struct InvalidPubKeyLength;
3864 #[allow(
3865 non_camel_case_types,
3866 non_snake_case,
3867 clippy::pub_underscore_fields,
3868 clippy::style
3869 )]
3870 const _: () = {
3871 use alloy::sol_types as alloy_sol_types;
3872 #[doc(hidden)]
3873 type UnderlyingSolTuple<'a> = ();
3874 #[doc(hidden)]
3875 type UnderlyingRustTuple<'a> = ();
3876 #[cfg(test)]
3877 #[allow(dead_code, unreachable_patterns)]
3878 fn _type_assertion(
3879 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3880 ) {
3881 match _t {
3882 alloy_sol_types::private::AssertTypeEq::<
3883 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3884 >(_) => {}
3885 }
3886 }
3887 #[automatically_derived]
3888 #[doc(hidden)]
3889 impl ::core::convert::From<InvalidPubKeyLength> for UnderlyingRustTuple<'_> {
3890 fn from(value: InvalidPubKeyLength) -> Self {
3891 ()
3892 }
3893 }
3894 #[automatically_derived]
3895 #[doc(hidden)]
3896 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidPubKeyLength {
3897 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3898 Self
3899 }
3900 }
3901 #[automatically_derived]
3902 impl alloy_sol_types::SolError for InvalidPubKeyLength {
3903 type Parameters<'a> = UnderlyingSolTuple<'a>;
3904 type Token<'a> = <Self::Parameters<
3905 'a,
3906 > as alloy_sol_types::SolType>::Token<'a>;
3907 const SIGNATURE: &'static str = "InvalidPubKeyLength()";
3908 const SELECTOR: [u8; 4] = [159u8, 16u8, 100u8, 114u8];
3909 #[inline]
3910 fn new<'a>(
3911 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3912 ) -> Self {
3913 tuple.into()
3914 }
3915 #[inline]
3916 fn tokenize(&self) -> Self::Token<'_> {
3917 ()
3918 }
3919 #[inline]
3920 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3921 <Self::Parameters<
3922 '_,
3923 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3924 .map(Self::new)
3925 }
3926 }
3927 };
3928 #[derive(serde::Serialize, serde::Deserialize)]
3929 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3930 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3935 #[derive(Clone)]
3936 pub struct InvalidShortString;
3937 #[allow(
3938 non_camel_case_types,
3939 non_snake_case,
3940 clippy::pub_underscore_fields,
3941 clippy::style
3942 )]
3943 const _: () = {
3944 use alloy::sol_types as alloy_sol_types;
3945 #[doc(hidden)]
3946 type UnderlyingSolTuple<'a> = ();
3947 #[doc(hidden)]
3948 type UnderlyingRustTuple<'a> = ();
3949 #[cfg(test)]
3950 #[allow(dead_code, unreachable_patterns)]
3951 fn _type_assertion(
3952 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3953 ) {
3954 match _t {
3955 alloy_sol_types::private::AssertTypeEq::<
3956 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3957 >(_) => {}
3958 }
3959 }
3960 #[automatically_derived]
3961 #[doc(hidden)]
3962 impl ::core::convert::From<InvalidShortString> for UnderlyingRustTuple<'_> {
3963 fn from(value: InvalidShortString) -> Self {
3964 ()
3965 }
3966 }
3967 #[automatically_derived]
3968 #[doc(hidden)]
3969 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidShortString {
3970 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3971 Self
3972 }
3973 }
3974 #[automatically_derived]
3975 impl alloy_sol_types::SolError for InvalidShortString {
3976 type Parameters<'a> = UnderlyingSolTuple<'a>;
3977 type Token<'a> = <Self::Parameters<
3978 'a,
3979 > as alloy_sol_types::SolType>::Token<'a>;
3980 const SIGNATURE: &'static str = "InvalidShortString()";
3981 const SELECTOR: [u8; 4] = [179u8, 81u8, 43u8, 12u8];
3982 #[inline]
3983 fn new<'a>(
3984 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3985 ) -> Self {
3986 tuple.into()
3987 }
3988 #[inline]
3989 fn tokenize(&self) -> Self::Token<'_> {
3990 ()
3991 }
3992 #[inline]
3993 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3994 <Self::Parameters<
3995 '_,
3996 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3997 .map(Self::new)
3998 }
3999 }
4000 };
4001 #[derive(serde::Serialize, serde::Deserialize)]
4002 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4003 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4008 #[derive(Clone)]
4009 pub struct InvalidValidatorFieldsLength;
4010 #[allow(
4011 non_camel_case_types,
4012 non_snake_case,
4013 clippy::pub_underscore_fields,
4014 clippy::style
4015 )]
4016 const _: () = {
4017 use alloy::sol_types as alloy_sol_types;
4018 #[doc(hidden)]
4019 type UnderlyingSolTuple<'a> = ();
4020 #[doc(hidden)]
4021 type UnderlyingRustTuple<'a> = ();
4022 #[cfg(test)]
4023 #[allow(dead_code, unreachable_patterns)]
4024 fn _type_assertion(
4025 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4026 ) {
4027 match _t {
4028 alloy_sol_types::private::AssertTypeEq::<
4029 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4030 >(_) => {}
4031 }
4032 }
4033 #[automatically_derived]
4034 #[doc(hidden)]
4035 impl ::core::convert::From<InvalidValidatorFieldsLength>
4036 for UnderlyingRustTuple<'_> {
4037 fn from(value: InvalidValidatorFieldsLength) -> Self {
4038 ()
4039 }
4040 }
4041 #[automatically_derived]
4042 #[doc(hidden)]
4043 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4044 for InvalidValidatorFieldsLength {
4045 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4046 Self
4047 }
4048 }
4049 #[automatically_derived]
4050 impl alloy_sol_types::SolError for InvalidValidatorFieldsLength {
4051 type Parameters<'a> = UnderlyingSolTuple<'a>;
4052 type Token<'a> = <Self::Parameters<
4053 'a,
4054 > as alloy_sol_types::SolType>::Token<'a>;
4055 const SIGNATURE: &'static str = "InvalidValidatorFieldsLength()";
4056 const SELECTOR: [u8; 4] = [32u8, 5u8, 145u8, 189u8];
4057 #[inline]
4058 fn new<'a>(
4059 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4060 ) -> Self {
4061 tuple.into()
4062 }
4063 #[inline]
4064 fn tokenize(&self) -> Self::Token<'_> {
4065 ()
4066 }
4067 #[inline]
4068 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4069 <Self::Parameters<
4070 '_,
4071 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4072 .map(Self::new)
4073 }
4074 }
4075 };
4076 #[derive(serde::Serialize, serde::Deserialize)]
4077 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4078 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4083 #[derive(Clone)]
4084 pub struct MsgValueNot32ETH;
4085 #[allow(
4086 non_camel_case_types,
4087 non_snake_case,
4088 clippy::pub_underscore_fields,
4089 clippy::style
4090 )]
4091 const _: () = {
4092 use alloy::sol_types as alloy_sol_types;
4093 #[doc(hidden)]
4094 type UnderlyingSolTuple<'a> = ();
4095 #[doc(hidden)]
4096 type UnderlyingRustTuple<'a> = ();
4097 #[cfg(test)]
4098 #[allow(dead_code, unreachable_patterns)]
4099 fn _type_assertion(
4100 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4101 ) {
4102 match _t {
4103 alloy_sol_types::private::AssertTypeEq::<
4104 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4105 >(_) => {}
4106 }
4107 }
4108 #[automatically_derived]
4109 #[doc(hidden)]
4110 impl ::core::convert::From<MsgValueNot32ETH> for UnderlyingRustTuple<'_> {
4111 fn from(value: MsgValueNot32ETH) -> Self {
4112 ()
4113 }
4114 }
4115 #[automatically_derived]
4116 #[doc(hidden)]
4117 impl ::core::convert::From<UnderlyingRustTuple<'_>> for MsgValueNot32ETH {
4118 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4119 Self
4120 }
4121 }
4122 #[automatically_derived]
4123 impl alloy_sol_types::SolError for MsgValueNot32ETH {
4124 type Parameters<'a> = UnderlyingSolTuple<'a>;
4125 type Token<'a> = <Self::Parameters<
4126 'a,
4127 > as alloy_sol_types::SolType>::Token<'a>;
4128 const SIGNATURE: &'static str = "MsgValueNot32ETH()";
4129 const SELECTOR: [u8; 4] = [36u8, 180u8, 181u8, 152u8];
4130 #[inline]
4131 fn new<'a>(
4132 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4133 ) -> Self {
4134 tuple.into()
4135 }
4136 #[inline]
4137 fn tokenize(&self) -> Self::Token<'_> {
4138 ()
4139 }
4140 #[inline]
4141 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4142 <Self::Parameters<
4143 '_,
4144 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4145 .map(Self::new)
4146 }
4147 }
4148 };
4149 #[derive(serde::Serialize, serde::Deserialize)]
4150 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4151 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4156 #[derive(Clone)]
4157 pub struct NoActiveCheckpoint;
4158 #[allow(
4159 non_camel_case_types,
4160 non_snake_case,
4161 clippy::pub_underscore_fields,
4162 clippy::style
4163 )]
4164 const _: () = {
4165 use alloy::sol_types as alloy_sol_types;
4166 #[doc(hidden)]
4167 type UnderlyingSolTuple<'a> = ();
4168 #[doc(hidden)]
4169 type UnderlyingRustTuple<'a> = ();
4170 #[cfg(test)]
4171 #[allow(dead_code, unreachable_patterns)]
4172 fn _type_assertion(
4173 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4174 ) {
4175 match _t {
4176 alloy_sol_types::private::AssertTypeEq::<
4177 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4178 >(_) => {}
4179 }
4180 }
4181 #[automatically_derived]
4182 #[doc(hidden)]
4183 impl ::core::convert::From<NoActiveCheckpoint> for UnderlyingRustTuple<'_> {
4184 fn from(value: NoActiveCheckpoint) -> Self {
4185 ()
4186 }
4187 }
4188 #[automatically_derived]
4189 #[doc(hidden)]
4190 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NoActiveCheckpoint {
4191 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4192 Self
4193 }
4194 }
4195 #[automatically_derived]
4196 impl alloy_sol_types::SolError for NoActiveCheckpoint {
4197 type Parameters<'a> = UnderlyingSolTuple<'a>;
4198 type Token<'a> = <Self::Parameters<
4199 'a,
4200 > as alloy_sol_types::SolType>::Token<'a>;
4201 const SIGNATURE: &'static str = "NoActiveCheckpoint()";
4202 const SELECTOR: [u8; 4] = [26u8, 84u8, 79u8, 73u8];
4203 #[inline]
4204 fn new<'a>(
4205 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4206 ) -> Self {
4207 tuple.into()
4208 }
4209 #[inline]
4210 fn tokenize(&self) -> Self::Token<'_> {
4211 ()
4212 }
4213 #[inline]
4214 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4215 <Self::Parameters<
4216 '_,
4217 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4218 .map(Self::new)
4219 }
4220 }
4221 };
4222 #[derive(serde::Serialize, serde::Deserialize)]
4223 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4224 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4229 #[derive(Clone)]
4230 pub struct NoBalanceToCheckpoint;
4231 #[allow(
4232 non_camel_case_types,
4233 non_snake_case,
4234 clippy::pub_underscore_fields,
4235 clippy::style
4236 )]
4237 const _: () = {
4238 use alloy::sol_types as alloy_sol_types;
4239 #[doc(hidden)]
4240 type UnderlyingSolTuple<'a> = ();
4241 #[doc(hidden)]
4242 type UnderlyingRustTuple<'a> = ();
4243 #[cfg(test)]
4244 #[allow(dead_code, unreachable_patterns)]
4245 fn _type_assertion(
4246 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4247 ) {
4248 match _t {
4249 alloy_sol_types::private::AssertTypeEq::<
4250 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4251 >(_) => {}
4252 }
4253 }
4254 #[automatically_derived]
4255 #[doc(hidden)]
4256 impl ::core::convert::From<NoBalanceToCheckpoint> for UnderlyingRustTuple<'_> {
4257 fn from(value: NoBalanceToCheckpoint) -> Self {
4258 ()
4259 }
4260 }
4261 #[automatically_derived]
4262 #[doc(hidden)]
4263 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NoBalanceToCheckpoint {
4264 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4265 Self
4266 }
4267 }
4268 #[automatically_derived]
4269 impl alloy_sol_types::SolError for NoBalanceToCheckpoint {
4270 type Parameters<'a> = UnderlyingSolTuple<'a>;
4271 type Token<'a> = <Self::Parameters<
4272 'a,
4273 > as alloy_sol_types::SolType>::Token<'a>;
4274 const SIGNATURE: &'static str = "NoBalanceToCheckpoint()";
4275 const SELECTOR: [u8; 4] = [203u8, 122u8, 165u8, 100u8];
4276 #[inline]
4277 fn new<'a>(
4278 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4279 ) -> Self {
4280 tuple.into()
4281 }
4282 #[inline]
4283 fn tokenize(&self) -> Self::Token<'_> {
4284 ()
4285 }
4286 #[inline]
4287 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4288 <Self::Parameters<
4289 '_,
4290 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4291 .map(Self::new)
4292 }
4293 }
4294 };
4295 #[derive(serde::Serialize, serde::Deserialize)]
4296 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4297 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4302 #[derive(Clone)]
4303 pub struct OnlyEigenPodManager;
4304 #[allow(
4305 non_camel_case_types,
4306 non_snake_case,
4307 clippy::pub_underscore_fields,
4308 clippy::style
4309 )]
4310 const _: () = {
4311 use alloy::sol_types as alloy_sol_types;
4312 #[doc(hidden)]
4313 type UnderlyingSolTuple<'a> = ();
4314 #[doc(hidden)]
4315 type UnderlyingRustTuple<'a> = ();
4316 #[cfg(test)]
4317 #[allow(dead_code, unreachable_patterns)]
4318 fn _type_assertion(
4319 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4320 ) {
4321 match _t {
4322 alloy_sol_types::private::AssertTypeEq::<
4323 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4324 >(_) => {}
4325 }
4326 }
4327 #[automatically_derived]
4328 #[doc(hidden)]
4329 impl ::core::convert::From<OnlyEigenPodManager> for UnderlyingRustTuple<'_> {
4330 fn from(value: OnlyEigenPodManager) -> Self {
4331 ()
4332 }
4333 }
4334 #[automatically_derived]
4335 #[doc(hidden)]
4336 impl ::core::convert::From<UnderlyingRustTuple<'_>> for OnlyEigenPodManager {
4337 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4338 Self
4339 }
4340 }
4341 #[automatically_derived]
4342 impl alloy_sol_types::SolError for OnlyEigenPodManager {
4343 type Parameters<'a> = UnderlyingSolTuple<'a>;
4344 type Token<'a> = <Self::Parameters<
4345 'a,
4346 > as alloy_sol_types::SolType>::Token<'a>;
4347 const SIGNATURE: &'static str = "OnlyEigenPodManager()";
4348 const SELECTOR: [u8; 4] = [200u8, 78u8, 153u8, 132u8];
4349 #[inline]
4350 fn new<'a>(
4351 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4352 ) -> Self {
4353 tuple.into()
4354 }
4355 #[inline]
4356 fn tokenize(&self) -> Self::Token<'_> {
4357 ()
4358 }
4359 #[inline]
4360 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4361 <Self::Parameters<
4362 '_,
4363 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4364 .map(Self::new)
4365 }
4366 }
4367 };
4368 #[derive(serde::Serialize, serde::Deserialize)]
4369 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4370 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4375 #[derive(Clone)]
4376 pub struct OnlyEigenPodOwner;
4377 #[allow(
4378 non_camel_case_types,
4379 non_snake_case,
4380 clippy::pub_underscore_fields,
4381 clippy::style
4382 )]
4383 const _: () = {
4384 use alloy::sol_types as alloy_sol_types;
4385 #[doc(hidden)]
4386 type UnderlyingSolTuple<'a> = ();
4387 #[doc(hidden)]
4388 type UnderlyingRustTuple<'a> = ();
4389 #[cfg(test)]
4390 #[allow(dead_code, unreachable_patterns)]
4391 fn _type_assertion(
4392 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4393 ) {
4394 match _t {
4395 alloy_sol_types::private::AssertTypeEq::<
4396 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4397 >(_) => {}
4398 }
4399 }
4400 #[automatically_derived]
4401 #[doc(hidden)]
4402 impl ::core::convert::From<OnlyEigenPodOwner> for UnderlyingRustTuple<'_> {
4403 fn from(value: OnlyEigenPodOwner) -> Self {
4404 ()
4405 }
4406 }
4407 #[automatically_derived]
4408 #[doc(hidden)]
4409 impl ::core::convert::From<UnderlyingRustTuple<'_>> for OnlyEigenPodOwner {
4410 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4411 Self
4412 }
4413 }
4414 #[automatically_derived]
4415 impl alloy_sol_types::SolError for OnlyEigenPodOwner {
4416 type Parameters<'a> = UnderlyingSolTuple<'a>;
4417 type Token<'a> = <Self::Parameters<
4418 'a,
4419 > as alloy_sol_types::SolType>::Token<'a>;
4420 const SIGNATURE: &'static str = "OnlyEigenPodOwner()";
4421 const SELECTOR: [u8; 4] = [227u8, 62u8, 110u8, 6u8];
4422 #[inline]
4423 fn new<'a>(
4424 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4425 ) -> Self {
4426 tuple.into()
4427 }
4428 #[inline]
4429 fn tokenize(&self) -> Self::Token<'_> {
4430 ()
4431 }
4432 #[inline]
4433 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4434 <Self::Parameters<
4435 '_,
4436 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4437 .map(Self::new)
4438 }
4439 }
4440 };
4441 #[derive(serde::Serialize, serde::Deserialize)]
4442 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4443 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4448 #[derive(Clone)]
4449 pub struct OnlyEigenPodOwnerOrProofSubmitter;
4450 #[allow(
4451 non_camel_case_types,
4452 non_snake_case,
4453 clippy::pub_underscore_fields,
4454 clippy::style
4455 )]
4456 const _: () = {
4457 use alloy::sol_types as alloy_sol_types;
4458 #[doc(hidden)]
4459 type UnderlyingSolTuple<'a> = ();
4460 #[doc(hidden)]
4461 type UnderlyingRustTuple<'a> = ();
4462 #[cfg(test)]
4463 #[allow(dead_code, unreachable_patterns)]
4464 fn _type_assertion(
4465 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4466 ) {
4467 match _t {
4468 alloy_sol_types::private::AssertTypeEq::<
4469 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4470 >(_) => {}
4471 }
4472 }
4473 #[automatically_derived]
4474 #[doc(hidden)]
4475 impl ::core::convert::From<OnlyEigenPodOwnerOrProofSubmitter>
4476 for UnderlyingRustTuple<'_> {
4477 fn from(value: OnlyEigenPodOwnerOrProofSubmitter) -> Self {
4478 ()
4479 }
4480 }
4481 #[automatically_derived]
4482 #[doc(hidden)]
4483 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4484 for OnlyEigenPodOwnerOrProofSubmitter {
4485 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4486 Self
4487 }
4488 }
4489 #[automatically_derived]
4490 impl alloy_sol_types::SolError for OnlyEigenPodOwnerOrProofSubmitter {
4491 type Parameters<'a> = UnderlyingSolTuple<'a>;
4492 type Token<'a> = <Self::Parameters<
4493 'a,
4494 > as alloy_sol_types::SolType>::Token<'a>;
4495 const SIGNATURE: &'static str = "OnlyEigenPodOwnerOrProofSubmitter()";
4496 const SELECTOR: [u8; 4] = [66u8, 122u8, 119u8, 121u8];
4497 #[inline]
4498 fn new<'a>(
4499 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4500 ) -> Self {
4501 tuple.into()
4502 }
4503 #[inline]
4504 fn tokenize(&self) -> Self::Token<'_> {
4505 ()
4506 }
4507 #[inline]
4508 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4509 <Self::Parameters<
4510 '_,
4511 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4512 .map(Self::new)
4513 }
4514 }
4515 };
4516 #[derive(serde::Serialize, serde::Deserialize)]
4517 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4518 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4523 #[derive(Clone)]
4524 pub struct StringTooLong {
4525 #[allow(missing_docs)]
4526 pub str: alloy::sol_types::private::String,
4527 }
4528 #[allow(
4529 non_camel_case_types,
4530 non_snake_case,
4531 clippy::pub_underscore_fields,
4532 clippy::style
4533 )]
4534 const _: () = {
4535 use alloy::sol_types as alloy_sol_types;
4536 #[doc(hidden)]
4537 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
4538 #[doc(hidden)]
4539 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
4540 #[cfg(test)]
4541 #[allow(dead_code, unreachable_patterns)]
4542 fn _type_assertion(
4543 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4544 ) {
4545 match _t {
4546 alloy_sol_types::private::AssertTypeEq::<
4547 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4548 >(_) => {}
4549 }
4550 }
4551 #[automatically_derived]
4552 #[doc(hidden)]
4553 impl ::core::convert::From<StringTooLong> for UnderlyingRustTuple<'_> {
4554 fn from(value: StringTooLong) -> Self {
4555 (value.str,)
4556 }
4557 }
4558 #[automatically_derived]
4559 #[doc(hidden)]
4560 impl ::core::convert::From<UnderlyingRustTuple<'_>> for StringTooLong {
4561 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4562 Self { str: tuple.0 }
4563 }
4564 }
4565 #[automatically_derived]
4566 impl alloy_sol_types::SolError for StringTooLong {
4567 type Parameters<'a> = UnderlyingSolTuple<'a>;
4568 type Token<'a> = <Self::Parameters<
4569 'a,
4570 > as alloy_sol_types::SolType>::Token<'a>;
4571 const SIGNATURE: &'static str = "StringTooLong(string)";
4572 const SELECTOR: [u8; 4] = [48u8, 90u8, 39u8, 169u8];
4573 #[inline]
4574 fn new<'a>(
4575 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4576 ) -> Self {
4577 tuple.into()
4578 }
4579 #[inline]
4580 fn tokenize(&self) -> Self::Token<'_> {
4581 (
4582 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
4583 &self.str,
4584 ),
4585 )
4586 }
4587 #[inline]
4588 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4589 <Self::Parameters<
4590 '_,
4591 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4592 .map(Self::new)
4593 }
4594 }
4595 };
4596 #[derive(serde::Serialize, serde::Deserialize)]
4597 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4598 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4603 #[derive(Clone)]
4604 pub struct TimestampOutOfRange;
4605 #[allow(
4606 non_camel_case_types,
4607 non_snake_case,
4608 clippy::pub_underscore_fields,
4609 clippy::style
4610 )]
4611 const _: () = {
4612 use alloy::sol_types as alloy_sol_types;
4613 #[doc(hidden)]
4614 type UnderlyingSolTuple<'a> = ();
4615 #[doc(hidden)]
4616 type UnderlyingRustTuple<'a> = ();
4617 #[cfg(test)]
4618 #[allow(dead_code, unreachable_patterns)]
4619 fn _type_assertion(
4620 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4621 ) {
4622 match _t {
4623 alloy_sol_types::private::AssertTypeEq::<
4624 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4625 >(_) => {}
4626 }
4627 }
4628 #[automatically_derived]
4629 #[doc(hidden)]
4630 impl ::core::convert::From<TimestampOutOfRange> for UnderlyingRustTuple<'_> {
4631 fn from(value: TimestampOutOfRange) -> Self {
4632 ()
4633 }
4634 }
4635 #[automatically_derived]
4636 #[doc(hidden)]
4637 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TimestampOutOfRange {
4638 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4639 Self
4640 }
4641 }
4642 #[automatically_derived]
4643 impl alloy_sol_types::SolError for TimestampOutOfRange {
4644 type Parameters<'a> = UnderlyingSolTuple<'a>;
4645 type Token<'a> = <Self::Parameters<
4646 'a,
4647 > as alloy_sol_types::SolType>::Token<'a>;
4648 const SIGNATURE: &'static str = "TimestampOutOfRange()";
4649 const SELECTOR: [u8; 4] = [242u8, 137u8, 204u8, 218u8];
4650 #[inline]
4651 fn new<'a>(
4652 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4653 ) -> Self {
4654 tuple.into()
4655 }
4656 #[inline]
4657 fn tokenize(&self) -> Self::Token<'_> {
4658 ()
4659 }
4660 #[inline]
4661 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4662 <Self::Parameters<
4663 '_,
4664 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4665 .map(Self::new)
4666 }
4667 }
4668 };
4669 #[derive(serde::Serialize, serde::Deserialize)]
4670 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4671 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4676 #[derive(Clone)]
4677 pub struct ValidatorInactiveOnBeaconChain;
4678 #[allow(
4679 non_camel_case_types,
4680 non_snake_case,
4681 clippy::pub_underscore_fields,
4682 clippy::style
4683 )]
4684 const _: () = {
4685 use alloy::sol_types as alloy_sol_types;
4686 #[doc(hidden)]
4687 type UnderlyingSolTuple<'a> = ();
4688 #[doc(hidden)]
4689 type UnderlyingRustTuple<'a> = ();
4690 #[cfg(test)]
4691 #[allow(dead_code, unreachable_patterns)]
4692 fn _type_assertion(
4693 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4694 ) {
4695 match _t {
4696 alloy_sol_types::private::AssertTypeEq::<
4697 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4698 >(_) => {}
4699 }
4700 }
4701 #[automatically_derived]
4702 #[doc(hidden)]
4703 impl ::core::convert::From<ValidatorInactiveOnBeaconChain>
4704 for UnderlyingRustTuple<'_> {
4705 fn from(value: ValidatorInactiveOnBeaconChain) -> Self {
4706 ()
4707 }
4708 }
4709 #[automatically_derived]
4710 #[doc(hidden)]
4711 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4712 for ValidatorInactiveOnBeaconChain {
4713 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4714 Self
4715 }
4716 }
4717 #[automatically_derived]
4718 impl alloy_sol_types::SolError for ValidatorInactiveOnBeaconChain {
4719 type Parameters<'a> = UnderlyingSolTuple<'a>;
4720 type Token<'a> = <Self::Parameters<
4721 'a,
4722 > as alloy_sol_types::SolType>::Token<'a>;
4723 const SIGNATURE: &'static str = "ValidatorInactiveOnBeaconChain()";
4724 const SELECTOR: [u8; 4] = [101u8, 96u8, 141u8, 180u8];
4725 #[inline]
4726 fn new<'a>(
4727 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4728 ) -> Self {
4729 tuple.into()
4730 }
4731 #[inline]
4732 fn tokenize(&self) -> Self::Token<'_> {
4733 ()
4734 }
4735 #[inline]
4736 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4737 <Self::Parameters<
4738 '_,
4739 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4740 .map(Self::new)
4741 }
4742 }
4743 };
4744 #[derive(serde::Serialize, serde::Deserialize)]
4745 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4746 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4751 #[derive(Clone)]
4752 pub struct ValidatorIsExitingBeaconChain;
4753 #[allow(
4754 non_camel_case_types,
4755 non_snake_case,
4756 clippy::pub_underscore_fields,
4757 clippy::style
4758 )]
4759 const _: () = {
4760 use alloy::sol_types as alloy_sol_types;
4761 #[doc(hidden)]
4762 type UnderlyingSolTuple<'a> = ();
4763 #[doc(hidden)]
4764 type UnderlyingRustTuple<'a> = ();
4765 #[cfg(test)]
4766 #[allow(dead_code, unreachable_patterns)]
4767 fn _type_assertion(
4768 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4769 ) {
4770 match _t {
4771 alloy_sol_types::private::AssertTypeEq::<
4772 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4773 >(_) => {}
4774 }
4775 }
4776 #[automatically_derived]
4777 #[doc(hidden)]
4778 impl ::core::convert::From<ValidatorIsExitingBeaconChain>
4779 for UnderlyingRustTuple<'_> {
4780 fn from(value: ValidatorIsExitingBeaconChain) -> Self {
4781 ()
4782 }
4783 }
4784 #[automatically_derived]
4785 #[doc(hidden)]
4786 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4787 for ValidatorIsExitingBeaconChain {
4788 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4789 Self
4790 }
4791 }
4792 #[automatically_derived]
4793 impl alloy_sol_types::SolError for ValidatorIsExitingBeaconChain {
4794 type Parameters<'a> = UnderlyingSolTuple<'a>;
4795 type Token<'a> = <Self::Parameters<
4796 'a,
4797 > as alloy_sol_types::SolType>::Token<'a>;
4798 const SIGNATURE: &'static str = "ValidatorIsExitingBeaconChain()";
4799 const SELECTOR: [u8; 4] = [46u8, 173u8, 230u8, 55u8];
4800 #[inline]
4801 fn new<'a>(
4802 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4803 ) -> Self {
4804 tuple.into()
4805 }
4806 #[inline]
4807 fn tokenize(&self) -> Self::Token<'_> {
4808 ()
4809 }
4810 #[inline]
4811 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4812 <Self::Parameters<
4813 '_,
4814 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4815 .map(Self::new)
4816 }
4817 }
4818 };
4819 #[derive(serde::Serialize, serde::Deserialize)]
4820 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4821 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4826 #[derive(Clone)]
4827 pub struct ValidatorNotActiveInPod;
4828 #[allow(
4829 non_camel_case_types,
4830 non_snake_case,
4831 clippy::pub_underscore_fields,
4832 clippy::style
4833 )]
4834 const _: () = {
4835 use alloy::sol_types as alloy_sol_types;
4836 #[doc(hidden)]
4837 type UnderlyingSolTuple<'a> = ();
4838 #[doc(hidden)]
4839 type UnderlyingRustTuple<'a> = ();
4840 #[cfg(test)]
4841 #[allow(dead_code, unreachable_patterns)]
4842 fn _type_assertion(
4843 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4844 ) {
4845 match _t {
4846 alloy_sol_types::private::AssertTypeEq::<
4847 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4848 >(_) => {}
4849 }
4850 }
4851 #[automatically_derived]
4852 #[doc(hidden)]
4853 impl ::core::convert::From<ValidatorNotActiveInPod> for UnderlyingRustTuple<'_> {
4854 fn from(value: ValidatorNotActiveInPod) -> Self {
4855 ()
4856 }
4857 }
4858 #[automatically_derived]
4859 #[doc(hidden)]
4860 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorNotActiveInPod {
4861 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4862 Self
4863 }
4864 }
4865 #[automatically_derived]
4866 impl alloy_sol_types::SolError for ValidatorNotActiveInPod {
4867 type Parameters<'a> = UnderlyingSolTuple<'a>;
4868 type Token<'a> = <Self::Parameters<
4869 'a,
4870 > as alloy_sol_types::SolType>::Token<'a>;
4871 const SIGNATURE: &'static str = "ValidatorNotActiveInPod()";
4872 const SELECTOR: [u8; 4] = [212u8, 158u8, 25u8, 167u8];
4873 #[inline]
4874 fn new<'a>(
4875 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4876 ) -> Self {
4877 tuple.into()
4878 }
4879 #[inline]
4880 fn tokenize(&self) -> Self::Token<'_> {
4881 ()
4882 }
4883 #[inline]
4884 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4885 <Self::Parameters<
4886 '_,
4887 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4888 .map(Self::new)
4889 }
4890 }
4891 };
4892 #[derive(serde::Serialize, serde::Deserialize)]
4893 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4894 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4899 #[derive(Clone)]
4900 pub struct ValidatorNotSlashedOnBeaconChain;
4901 #[allow(
4902 non_camel_case_types,
4903 non_snake_case,
4904 clippy::pub_underscore_fields,
4905 clippy::style
4906 )]
4907 const _: () = {
4908 use alloy::sol_types as alloy_sol_types;
4909 #[doc(hidden)]
4910 type UnderlyingSolTuple<'a> = ();
4911 #[doc(hidden)]
4912 type UnderlyingRustTuple<'a> = ();
4913 #[cfg(test)]
4914 #[allow(dead_code, unreachable_patterns)]
4915 fn _type_assertion(
4916 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4917 ) {
4918 match _t {
4919 alloy_sol_types::private::AssertTypeEq::<
4920 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4921 >(_) => {}
4922 }
4923 }
4924 #[automatically_derived]
4925 #[doc(hidden)]
4926 impl ::core::convert::From<ValidatorNotSlashedOnBeaconChain>
4927 for UnderlyingRustTuple<'_> {
4928 fn from(value: ValidatorNotSlashedOnBeaconChain) -> Self {
4929 ()
4930 }
4931 }
4932 #[automatically_derived]
4933 #[doc(hidden)]
4934 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4935 for ValidatorNotSlashedOnBeaconChain {
4936 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4937 Self
4938 }
4939 }
4940 #[automatically_derived]
4941 impl alloy_sol_types::SolError for ValidatorNotSlashedOnBeaconChain {
4942 type Parameters<'a> = UnderlyingSolTuple<'a>;
4943 type Token<'a> = <Self::Parameters<
4944 'a,
4945 > as alloy_sol_types::SolType>::Token<'a>;
4946 const SIGNATURE: &'static str = "ValidatorNotSlashedOnBeaconChain()";
4947 const SELECTOR: [u8; 4] = [176u8, 231u8, 47u8, 104u8];
4948 #[inline]
4949 fn new<'a>(
4950 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4951 ) -> Self {
4952 tuple.into()
4953 }
4954 #[inline]
4955 fn tokenize(&self) -> Self::Token<'_> {
4956 ()
4957 }
4958 #[inline]
4959 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4960 <Self::Parameters<
4961 '_,
4962 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4963 .map(Self::new)
4964 }
4965 }
4966 };
4967 #[derive(serde::Serialize, serde::Deserialize)]
4968 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4969 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4974 #[derive(Clone)]
4975 pub struct WithdrawalCredentialsNotForEigenPod;
4976 #[allow(
4977 non_camel_case_types,
4978 non_snake_case,
4979 clippy::pub_underscore_fields,
4980 clippy::style
4981 )]
4982 const _: () = {
4983 use alloy::sol_types as alloy_sol_types;
4984 #[doc(hidden)]
4985 type UnderlyingSolTuple<'a> = ();
4986 #[doc(hidden)]
4987 type UnderlyingRustTuple<'a> = ();
4988 #[cfg(test)]
4989 #[allow(dead_code, unreachable_patterns)]
4990 fn _type_assertion(
4991 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4992 ) {
4993 match _t {
4994 alloy_sol_types::private::AssertTypeEq::<
4995 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4996 >(_) => {}
4997 }
4998 }
4999 #[automatically_derived]
5000 #[doc(hidden)]
5001 impl ::core::convert::From<WithdrawalCredentialsNotForEigenPod>
5002 for UnderlyingRustTuple<'_> {
5003 fn from(value: WithdrawalCredentialsNotForEigenPod) -> Self {
5004 ()
5005 }
5006 }
5007 #[automatically_derived]
5008 #[doc(hidden)]
5009 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5010 for WithdrawalCredentialsNotForEigenPod {
5011 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5012 Self
5013 }
5014 }
5015 #[automatically_derived]
5016 impl alloy_sol_types::SolError for WithdrawalCredentialsNotForEigenPod {
5017 type Parameters<'a> = UnderlyingSolTuple<'a>;
5018 type Token<'a> = <Self::Parameters<
5019 'a,
5020 > as alloy_sol_types::SolType>::Token<'a>;
5021 const SIGNATURE: &'static str = "WithdrawalCredentialsNotForEigenPod()";
5022 const SELECTOR: [u8; 4] = [110u8, 229u8, 186u8, 166u8];
5023 #[inline]
5024 fn new<'a>(
5025 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5026 ) -> Self {
5027 tuple.into()
5028 }
5029 #[inline]
5030 fn tokenize(&self) -> Self::Token<'_> {
5031 ()
5032 }
5033 #[inline]
5034 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
5035 <Self::Parameters<
5036 '_,
5037 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5038 .map(Self::new)
5039 }
5040 }
5041 };
5042 #[derive(serde::Serialize, serde::Deserialize)]
5043 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5044 #[allow(
5049 non_camel_case_types,
5050 non_snake_case,
5051 clippy::pub_underscore_fields,
5052 clippy::style
5053 )]
5054 #[derive(Clone)]
5055 pub struct CheckpointCreated {
5056 #[allow(missing_docs)]
5057 pub checkpointTimestamp: u64,
5058 #[allow(missing_docs)]
5059 pub beaconBlockRoot: alloy::sol_types::private::FixedBytes<32>,
5060 #[allow(missing_docs)]
5061 pub validatorCount: alloy::sol_types::private::primitives::aliases::U256,
5062 }
5063 #[allow(
5064 non_camel_case_types,
5065 non_snake_case,
5066 clippy::pub_underscore_fields,
5067 clippy::style
5068 )]
5069 const _: () = {
5070 use alloy::sol_types as alloy_sol_types;
5071 #[automatically_derived]
5072 impl alloy_sol_types::SolEvent for CheckpointCreated {
5073 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5074 type DataToken<'a> = <Self::DataTuple<
5075 'a,
5076 > as alloy_sol_types::SolType>::Token<'a>;
5077 type TopicList = (
5078 alloy_sol_types::sol_data::FixedBytes<32>,
5079 alloy::sol_types::sol_data::Uint<64>,
5080 alloy::sol_types::sol_data::FixedBytes<32>,
5081 );
5082 const SIGNATURE: &'static str = "CheckpointCreated(uint64,bytes32,uint256)";
5083 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5084 87u8, 87u8, 150u8, 19u8, 59u8, 190u8, 211u8, 55u8, 229u8, 179u8, 154u8,
5085 164u8, 154u8, 48u8, 220u8, 37u8, 86u8, 169u8, 30u8, 12u8, 108u8, 42u8,
5086 244u8, 183u8, 184u8, 134u8, 174u8, 119u8, 235u8, 239u8, 16u8, 118u8,
5087 ]);
5088 const ANONYMOUS: bool = false;
5089 #[allow(unused_variables)]
5090 #[inline]
5091 fn new(
5092 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5093 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5094 ) -> Self {
5095 Self {
5096 checkpointTimestamp: topics.1,
5097 beaconBlockRoot: topics.2,
5098 validatorCount: data.0,
5099 }
5100 }
5101 #[inline]
5102 fn check_signature(
5103 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5104 ) -> alloy_sol_types::Result<()> {
5105 if topics.0 != Self::SIGNATURE_HASH {
5106 return Err(
5107 alloy_sol_types::Error::invalid_event_signature_hash(
5108 Self::SIGNATURE,
5109 topics.0,
5110 Self::SIGNATURE_HASH,
5111 ),
5112 );
5113 }
5114 Ok(())
5115 }
5116 #[inline]
5117 fn tokenize_body(&self) -> Self::DataToken<'_> {
5118 (
5119 <alloy::sol_types::sol_data::Uint<
5120 256,
5121 > as alloy_sol_types::SolType>::tokenize(&self.validatorCount),
5122 )
5123 }
5124 #[inline]
5125 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5126 (
5127 Self::SIGNATURE_HASH.into(),
5128 self.checkpointTimestamp.clone(),
5129 self.beaconBlockRoot.clone(),
5130 )
5131 }
5132 #[inline]
5133 fn encode_topics_raw(
5134 &self,
5135 out: &mut [alloy_sol_types::abi::token::WordToken],
5136 ) -> alloy_sol_types::Result<()> {
5137 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5138 return Err(alloy_sol_types::Error::Overrun);
5139 }
5140 out[0usize] = alloy_sol_types::abi::token::WordToken(
5141 Self::SIGNATURE_HASH,
5142 );
5143 out[1usize] = <alloy::sol_types::sol_data::Uint<
5144 64,
5145 > as alloy_sol_types::EventTopic>::encode_topic(
5146 &self.checkpointTimestamp,
5147 );
5148 out[2usize] = <alloy::sol_types::sol_data::FixedBytes<
5149 32,
5150 > as alloy_sol_types::EventTopic>::encode_topic(&self.beaconBlockRoot);
5151 Ok(())
5152 }
5153 }
5154 #[automatically_derived]
5155 impl alloy_sol_types::private::IntoLogData for CheckpointCreated {
5156 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5157 From::from(self)
5158 }
5159 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5160 From::from(&self)
5161 }
5162 }
5163 #[automatically_derived]
5164 impl From<&CheckpointCreated> for alloy_sol_types::private::LogData {
5165 #[inline]
5166 fn from(this: &CheckpointCreated) -> alloy_sol_types::private::LogData {
5167 alloy_sol_types::SolEvent::encode_log_data(this)
5168 }
5169 }
5170 };
5171 #[derive(serde::Serialize, serde::Deserialize)]
5172 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5173 #[allow(
5178 non_camel_case_types,
5179 non_snake_case,
5180 clippy::pub_underscore_fields,
5181 clippy::style
5182 )]
5183 #[derive(Clone)]
5184 pub struct CheckpointFinalized {
5185 #[allow(missing_docs)]
5186 pub checkpointTimestamp: u64,
5187 #[allow(missing_docs)]
5188 pub totalShareDeltaWei: alloy::sol_types::private::primitives::aliases::I256,
5189 }
5190 #[allow(
5191 non_camel_case_types,
5192 non_snake_case,
5193 clippy::pub_underscore_fields,
5194 clippy::style
5195 )]
5196 const _: () = {
5197 use alloy::sol_types as alloy_sol_types;
5198 #[automatically_derived]
5199 impl alloy_sol_types::SolEvent for CheckpointFinalized {
5200 type DataTuple<'a> = (alloy::sol_types::sol_data::Int<256>,);
5201 type DataToken<'a> = <Self::DataTuple<
5202 'a,
5203 > as alloy_sol_types::SolType>::Token<'a>;
5204 type TopicList = (
5205 alloy_sol_types::sol_data::FixedBytes<32>,
5206 alloy::sol_types::sol_data::Uint<64>,
5207 );
5208 const SIGNATURE: &'static str = "CheckpointFinalized(uint64,int256)";
5209 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5210 82u8, 84u8, 8u8, 194u8, 1u8, 188u8, 21u8, 118u8, 235u8, 68u8, 17u8,
5211 111u8, 100u8, 120u8, 241u8, 194u8, 165u8, 71u8, 117u8, 177u8, 154u8, 4u8,
5212 59u8, 207u8, 220u8, 112u8, 131u8, 100u8, 247u8, 79u8, 142u8, 68u8,
5213 ]);
5214 const ANONYMOUS: bool = false;
5215 #[allow(unused_variables)]
5216 #[inline]
5217 fn new(
5218 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5219 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5220 ) -> Self {
5221 Self {
5222 checkpointTimestamp: topics.1,
5223 totalShareDeltaWei: data.0,
5224 }
5225 }
5226 #[inline]
5227 fn check_signature(
5228 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5229 ) -> alloy_sol_types::Result<()> {
5230 if topics.0 != Self::SIGNATURE_HASH {
5231 return Err(
5232 alloy_sol_types::Error::invalid_event_signature_hash(
5233 Self::SIGNATURE,
5234 topics.0,
5235 Self::SIGNATURE_HASH,
5236 ),
5237 );
5238 }
5239 Ok(())
5240 }
5241 #[inline]
5242 fn tokenize_body(&self) -> Self::DataToken<'_> {
5243 (
5244 <alloy::sol_types::sol_data::Int<
5245 256,
5246 > as alloy_sol_types::SolType>::tokenize(&self.totalShareDeltaWei),
5247 )
5248 }
5249 #[inline]
5250 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5251 (Self::SIGNATURE_HASH.into(), self.checkpointTimestamp.clone())
5252 }
5253 #[inline]
5254 fn encode_topics_raw(
5255 &self,
5256 out: &mut [alloy_sol_types::abi::token::WordToken],
5257 ) -> alloy_sol_types::Result<()> {
5258 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5259 return Err(alloy_sol_types::Error::Overrun);
5260 }
5261 out[0usize] = alloy_sol_types::abi::token::WordToken(
5262 Self::SIGNATURE_HASH,
5263 );
5264 out[1usize] = <alloy::sol_types::sol_data::Uint<
5265 64,
5266 > as alloy_sol_types::EventTopic>::encode_topic(
5267 &self.checkpointTimestamp,
5268 );
5269 Ok(())
5270 }
5271 }
5272 #[automatically_derived]
5273 impl alloy_sol_types::private::IntoLogData for CheckpointFinalized {
5274 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5275 From::from(self)
5276 }
5277 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5278 From::from(&self)
5279 }
5280 }
5281 #[automatically_derived]
5282 impl From<&CheckpointFinalized> for alloy_sol_types::private::LogData {
5283 #[inline]
5284 fn from(this: &CheckpointFinalized) -> alloy_sol_types::private::LogData {
5285 alloy_sol_types::SolEvent::encode_log_data(this)
5286 }
5287 }
5288 };
5289 #[derive(serde::Serialize, serde::Deserialize)]
5290 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5291 #[allow(
5296 non_camel_case_types,
5297 non_snake_case,
5298 clippy::pub_underscore_fields,
5299 clippy::style
5300 )]
5301 #[derive(Clone)]
5302 pub struct EigenPodStaked {
5303 #[allow(missing_docs)]
5304 pub pubkey: alloy::sol_types::private::Bytes,
5305 }
5306 #[allow(
5307 non_camel_case_types,
5308 non_snake_case,
5309 clippy::pub_underscore_fields,
5310 clippy::style
5311 )]
5312 const _: () = {
5313 use alloy::sol_types as alloy_sol_types;
5314 #[automatically_derived]
5315 impl alloy_sol_types::SolEvent for EigenPodStaked {
5316 type DataTuple<'a> = (alloy::sol_types::sol_data::Bytes,);
5317 type DataToken<'a> = <Self::DataTuple<
5318 'a,
5319 > as alloy_sol_types::SolType>::Token<'a>;
5320 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5321 const SIGNATURE: &'static str = "EigenPodStaked(bytes)";
5322 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5323 96u8, 104u8, 101u8, 183u8, 147u8, 74u8, 37u8, 212u8, 174u8, 212u8, 63u8,
5324 108u8, 219u8, 66u8, 100u8, 3u8, 53u8, 63u8, 164u8, 179u8, 0u8, 156u8,
5325 77u8, 34u8, 132u8, 7u8, 71u8, 69u8, 129u8, 176u8, 30u8, 35u8,
5326 ]);
5327 const ANONYMOUS: bool = false;
5328 #[allow(unused_variables)]
5329 #[inline]
5330 fn new(
5331 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5332 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5333 ) -> Self {
5334 Self { pubkey: data.0 }
5335 }
5336 #[inline]
5337 fn check_signature(
5338 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5339 ) -> alloy_sol_types::Result<()> {
5340 if topics.0 != Self::SIGNATURE_HASH {
5341 return Err(
5342 alloy_sol_types::Error::invalid_event_signature_hash(
5343 Self::SIGNATURE,
5344 topics.0,
5345 Self::SIGNATURE_HASH,
5346 ),
5347 );
5348 }
5349 Ok(())
5350 }
5351 #[inline]
5352 fn tokenize_body(&self) -> Self::DataToken<'_> {
5353 (
5354 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5355 &self.pubkey,
5356 ),
5357 )
5358 }
5359 #[inline]
5360 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5361 (Self::SIGNATURE_HASH.into(),)
5362 }
5363 #[inline]
5364 fn encode_topics_raw(
5365 &self,
5366 out: &mut [alloy_sol_types::abi::token::WordToken],
5367 ) -> alloy_sol_types::Result<()> {
5368 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5369 return Err(alloy_sol_types::Error::Overrun);
5370 }
5371 out[0usize] = alloy_sol_types::abi::token::WordToken(
5372 Self::SIGNATURE_HASH,
5373 );
5374 Ok(())
5375 }
5376 }
5377 #[automatically_derived]
5378 impl alloy_sol_types::private::IntoLogData for EigenPodStaked {
5379 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5380 From::from(self)
5381 }
5382 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5383 From::from(&self)
5384 }
5385 }
5386 #[automatically_derived]
5387 impl From<&EigenPodStaked> for alloy_sol_types::private::LogData {
5388 #[inline]
5389 fn from(this: &EigenPodStaked) -> alloy_sol_types::private::LogData {
5390 alloy_sol_types::SolEvent::encode_log_data(this)
5391 }
5392 }
5393 };
5394 #[derive(serde::Serialize, serde::Deserialize)]
5395 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5396 #[allow(
5401 non_camel_case_types,
5402 non_snake_case,
5403 clippy::pub_underscore_fields,
5404 clippy::style
5405 )]
5406 #[derive(Clone)]
5407 pub struct Initialized {
5408 #[allow(missing_docs)]
5409 pub version: u8,
5410 }
5411 #[allow(
5412 non_camel_case_types,
5413 non_snake_case,
5414 clippy::pub_underscore_fields,
5415 clippy::style
5416 )]
5417 const _: () = {
5418 use alloy::sol_types as alloy_sol_types;
5419 #[automatically_derived]
5420 impl alloy_sol_types::SolEvent for Initialized {
5421 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
5422 type DataToken<'a> = <Self::DataTuple<
5423 'a,
5424 > as alloy_sol_types::SolType>::Token<'a>;
5425 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5426 const SIGNATURE: &'static str = "Initialized(uint8)";
5427 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5428 127u8, 38u8, 184u8, 63u8, 249u8, 110u8, 31u8, 43u8, 106u8, 104u8, 47u8,
5429 19u8, 56u8, 82u8, 246u8, 121u8, 138u8, 9u8, 196u8, 101u8, 218u8, 149u8,
5430 146u8, 20u8, 96u8, 206u8, 251u8, 56u8, 71u8, 64u8, 36u8, 152u8,
5431 ]);
5432 const ANONYMOUS: bool = false;
5433 #[allow(unused_variables)]
5434 #[inline]
5435 fn new(
5436 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5437 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5438 ) -> Self {
5439 Self { version: data.0 }
5440 }
5441 #[inline]
5442 fn check_signature(
5443 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5444 ) -> alloy_sol_types::Result<()> {
5445 if topics.0 != Self::SIGNATURE_HASH {
5446 return Err(
5447 alloy_sol_types::Error::invalid_event_signature_hash(
5448 Self::SIGNATURE,
5449 topics.0,
5450 Self::SIGNATURE_HASH,
5451 ),
5452 );
5453 }
5454 Ok(())
5455 }
5456 #[inline]
5457 fn tokenize_body(&self) -> Self::DataToken<'_> {
5458 (
5459 <alloy::sol_types::sol_data::Uint<
5460 8,
5461 > as alloy_sol_types::SolType>::tokenize(&self.version),
5462 )
5463 }
5464 #[inline]
5465 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5466 (Self::SIGNATURE_HASH.into(),)
5467 }
5468 #[inline]
5469 fn encode_topics_raw(
5470 &self,
5471 out: &mut [alloy_sol_types::abi::token::WordToken],
5472 ) -> alloy_sol_types::Result<()> {
5473 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5474 return Err(alloy_sol_types::Error::Overrun);
5475 }
5476 out[0usize] = alloy_sol_types::abi::token::WordToken(
5477 Self::SIGNATURE_HASH,
5478 );
5479 Ok(())
5480 }
5481 }
5482 #[automatically_derived]
5483 impl alloy_sol_types::private::IntoLogData for Initialized {
5484 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5485 From::from(self)
5486 }
5487 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5488 From::from(&self)
5489 }
5490 }
5491 #[automatically_derived]
5492 impl From<&Initialized> for alloy_sol_types::private::LogData {
5493 #[inline]
5494 fn from(this: &Initialized) -> alloy_sol_types::private::LogData {
5495 alloy_sol_types::SolEvent::encode_log_data(this)
5496 }
5497 }
5498 };
5499 #[derive(serde::Serialize, serde::Deserialize)]
5500 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5501 #[allow(
5506 non_camel_case_types,
5507 non_snake_case,
5508 clippy::pub_underscore_fields,
5509 clippy::style
5510 )]
5511 #[derive(Clone)]
5512 pub struct NonBeaconChainETHReceived {
5513 #[allow(missing_docs)]
5514 pub amountReceived: alloy::sol_types::private::primitives::aliases::U256,
5515 }
5516 #[allow(
5517 non_camel_case_types,
5518 non_snake_case,
5519 clippy::pub_underscore_fields,
5520 clippy::style
5521 )]
5522 const _: () = {
5523 use alloy::sol_types as alloy_sol_types;
5524 #[automatically_derived]
5525 impl alloy_sol_types::SolEvent for NonBeaconChainETHReceived {
5526 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5527 type DataToken<'a> = <Self::DataTuple<
5528 'a,
5529 > as alloy_sol_types::SolType>::Token<'a>;
5530 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5531 const SIGNATURE: &'static str = "NonBeaconChainETHReceived(uint256)";
5532 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5533 111u8, 221u8, 61u8, 189u8, 177u8, 115u8, 41u8, 150u8, 8u8, 192u8, 170u8,
5534 159u8, 54u8, 135u8, 53u8, 133u8, 124u8, 136u8, 66u8, 181u8, 129u8, 248u8,
5535 56u8, 146u8, 56u8, 191u8, 5u8, 189u8, 4u8, 179u8, 191u8, 73u8,
5536 ]);
5537 const ANONYMOUS: bool = false;
5538 #[allow(unused_variables)]
5539 #[inline]
5540 fn new(
5541 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5542 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5543 ) -> Self {
5544 Self { amountReceived: data.0 }
5545 }
5546 #[inline]
5547 fn check_signature(
5548 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5549 ) -> alloy_sol_types::Result<()> {
5550 if topics.0 != Self::SIGNATURE_HASH {
5551 return Err(
5552 alloy_sol_types::Error::invalid_event_signature_hash(
5553 Self::SIGNATURE,
5554 topics.0,
5555 Self::SIGNATURE_HASH,
5556 ),
5557 );
5558 }
5559 Ok(())
5560 }
5561 #[inline]
5562 fn tokenize_body(&self) -> Self::DataToken<'_> {
5563 (
5564 <alloy::sol_types::sol_data::Uint<
5565 256,
5566 > as alloy_sol_types::SolType>::tokenize(&self.amountReceived),
5567 )
5568 }
5569 #[inline]
5570 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5571 (Self::SIGNATURE_HASH.into(),)
5572 }
5573 #[inline]
5574 fn encode_topics_raw(
5575 &self,
5576 out: &mut [alloy_sol_types::abi::token::WordToken],
5577 ) -> alloy_sol_types::Result<()> {
5578 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5579 return Err(alloy_sol_types::Error::Overrun);
5580 }
5581 out[0usize] = alloy_sol_types::abi::token::WordToken(
5582 Self::SIGNATURE_HASH,
5583 );
5584 Ok(())
5585 }
5586 }
5587 #[automatically_derived]
5588 impl alloy_sol_types::private::IntoLogData for NonBeaconChainETHReceived {
5589 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5590 From::from(self)
5591 }
5592 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5593 From::from(&self)
5594 }
5595 }
5596 #[automatically_derived]
5597 impl From<&NonBeaconChainETHReceived> for alloy_sol_types::private::LogData {
5598 #[inline]
5599 fn from(
5600 this: &NonBeaconChainETHReceived,
5601 ) -> alloy_sol_types::private::LogData {
5602 alloy_sol_types::SolEvent::encode_log_data(this)
5603 }
5604 }
5605 };
5606 #[derive(serde::Serialize, serde::Deserialize)]
5607 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5608 #[allow(
5613 non_camel_case_types,
5614 non_snake_case,
5615 clippy::pub_underscore_fields,
5616 clippy::style
5617 )]
5618 #[derive(Clone)]
5619 pub struct ProofSubmitterUpdated {
5620 #[allow(missing_docs)]
5621 pub prevProofSubmitter: alloy::sol_types::private::Address,
5622 #[allow(missing_docs)]
5623 pub newProofSubmitter: alloy::sol_types::private::Address,
5624 }
5625 #[allow(
5626 non_camel_case_types,
5627 non_snake_case,
5628 clippy::pub_underscore_fields,
5629 clippy::style
5630 )]
5631 const _: () = {
5632 use alloy::sol_types as alloy_sol_types;
5633 #[automatically_derived]
5634 impl alloy_sol_types::SolEvent for ProofSubmitterUpdated {
5635 type DataTuple<'a> = (
5636 alloy::sol_types::sol_data::Address,
5637 alloy::sol_types::sol_data::Address,
5638 );
5639 type DataToken<'a> = <Self::DataTuple<
5640 'a,
5641 > as alloy_sol_types::SolType>::Token<'a>;
5642 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5643 const SIGNATURE: &'static str = "ProofSubmitterUpdated(address,address)";
5644 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5645 251u8, 129u8, 41u8, 8u8, 10u8, 25u8, 211u8, 77u8, 206u8, 172u8, 4u8,
5646 186u8, 37u8, 63u8, 197u8, 3u8, 4u8, 220u8, 134u8, 199u8, 41u8, 189u8,
5647 99u8, 205u8, 202u8, 74u8, 150u8, 154u8, 209u8, 154u8, 94u8, 172u8,
5648 ]);
5649 const ANONYMOUS: bool = false;
5650 #[allow(unused_variables)]
5651 #[inline]
5652 fn new(
5653 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5654 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5655 ) -> Self {
5656 Self {
5657 prevProofSubmitter: data.0,
5658 newProofSubmitter: data.1,
5659 }
5660 }
5661 #[inline]
5662 fn check_signature(
5663 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5664 ) -> alloy_sol_types::Result<()> {
5665 if topics.0 != Self::SIGNATURE_HASH {
5666 return Err(
5667 alloy_sol_types::Error::invalid_event_signature_hash(
5668 Self::SIGNATURE,
5669 topics.0,
5670 Self::SIGNATURE_HASH,
5671 ),
5672 );
5673 }
5674 Ok(())
5675 }
5676 #[inline]
5677 fn tokenize_body(&self) -> Self::DataToken<'_> {
5678 (
5679 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5680 &self.prevProofSubmitter,
5681 ),
5682 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5683 &self.newProofSubmitter,
5684 ),
5685 )
5686 }
5687 #[inline]
5688 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5689 (Self::SIGNATURE_HASH.into(),)
5690 }
5691 #[inline]
5692 fn encode_topics_raw(
5693 &self,
5694 out: &mut [alloy_sol_types::abi::token::WordToken],
5695 ) -> alloy_sol_types::Result<()> {
5696 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5697 return Err(alloy_sol_types::Error::Overrun);
5698 }
5699 out[0usize] = alloy_sol_types::abi::token::WordToken(
5700 Self::SIGNATURE_HASH,
5701 );
5702 Ok(())
5703 }
5704 }
5705 #[automatically_derived]
5706 impl alloy_sol_types::private::IntoLogData for ProofSubmitterUpdated {
5707 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5708 From::from(self)
5709 }
5710 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5711 From::from(&self)
5712 }
5713 }
5714 #[automatically_derived]
5715 impl From<&ProofSubmitterUpdated> for alloy_sol_types::private::LogData {
5716 #[inline]
5717 fn from(this: &ProofSubmitterUpdated) -> alloy_sol_types::private::LogData {
5718 alloy_sol_types::SolEvent::encode_log_data(this)
5719 }
5720 }
5721 };
5722 #[derive(serde::Serialize, serde::Deserialize)]
5723 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5724 #[allow(
5729 non_camel_case_types,
5730 non_snake_case,
5731 clippy::pub_underscore_fields,
5732 clippy::style
5733 )]
5734 #[derive(Clone)]
5735 pub struct RestakedBeaconChainETHWithdrawn {
5736 #[allow(missing_docs)]
5737 pub recipient: alloy::sol_types::private::Address,
5738 #[allow(missing_docs)]
5739 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5740 }
5741 #[allow(
5742 non_camel_case_types,
5743 non_snake_case,
5744 clippy::pub_underscore_fields,
5745 clippy::style
5746 )]
5747 const _: () = {
5748 use alloy::sol_types as alloy_sol_types;
5749 #[automatically_derived]
5750 impl alloy_sol_types::SolEvent for RestakedBeaconChainETHWithdrawn {
5751 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5752 type DataToken<'a> = <Self::DataTuple<
5753 'a,
5754 > as alloy_sol_types::SolType>::Token<'a>;
5755 type TopicList = (
5756 alloy_sol_types::sol_data::FixedBytes<32>,
5757 alloy::sol_types::sol_data::Address,
5758 );
5759 const SIGNATURE: &'static str = "RestakedBeaconChainETHWithdrawn(address,uint256)";
5760 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5761 137u8, 71u8, 253u8, 44u8, 224u8, 126u8, 249u8, 204u8, 48u8, 44u8, 78u8,
5762 143u8, 4u8, 97u8, 1u8, 86u8, 21u8, 217u8, 28u8, 232u8, 81u8, 86u8, 72u8,
5763 57u8, 233u8, 28u8, 200u8, 4u8, 194u8, 244u8, 157u8, 142u8,
5764 ]);
5765 const ANONYMOUS: bool = false;
5766 #[allow(unused_variables)]
5767 #[inline]
5768 fn new(
5769 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5770 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5771 ) -> Self {
5772 Self {
5773 recipient: topics.1,
5774 amount: data.0,
5775 }
5776 }
5777 #[inline]
5778 fn check_signature(
5779 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5780 ) -> alloy_sol_types::Result<()> {
5781 if topics.0 != Self::SIGNATURE_HASH {
5782 return Err(
5783 alloy_sol_types::Error::invalid_event_signature_hash(
5784 Self::SIGNATURE,
5785 topics.0,
5786 Self::SIGNATURE_HASH,
5787 ),
5788 );
5789 }
5790 Ok(())
5791 }
5792 #[inline]
5793 fn tokenize_body(&self) -> Self::DataToken<'_> {
5794 (
5795 <alloy::sol_types::sol_data::Uint<
5796 256,
5797 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5798 )
5799 }
5800 #[inline]
5801 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5802 (Self::SIGNATURE_HASH.into(), self.recipient.clone())
5803 }
5804 #[inline]
5805 fn encode_topics_raw(
5806 &self,
5807 out: &mut [alloy_sol_types::abi::token::WordToken],
5808 ) -> alloy_sol_types::Result<()> {
5809 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5810 return Err(alloy_sol_types::Error::Overrun);
5811 }
5812 out[0usize] = alloy_sol_types::abi::token::WordToken(
5813 Self::SIGNATURE_HASH,
5814 );
5815 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5816 &self.recipient,
5817 );
5818 Ok(())
5819 }
5820 }
5821 #[automatically_derived]
5822 impl alloy_sol_types::private::IntoLogData for RestakedBeaconChainETHWithdrawn {
5823 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5824 From::from(self)
5825 }
5826 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5827 From::from(&self)
5828 }
5829 }
5830 #[automatically_derived]
5831 impl From<&RestakedBeaconChainETHWithdrawn>
5832 for alloy_sol_types::private::LogData {
5833 #[inline]
5834 fn from(
5835 this: &RestakedBeaconChainETHWithdrawn,
5836 ) -> alloy_sol_types::private::LogData {
5837 alloy_sol_types::SolEvent::encode_log_data(this)
5838 }
5839 }
5840 };
5841 #[derive(serde::Serialize, serde::Deserialize)]
5842 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5843 #[allow(
5848 non_camel_case_types,
5849 non_snake_case,
5850 clippy::pub_underscore_fields,
5851 clippy::style
5852 )]
5853 #[derive(Clone)]
5854 pub struct ValidatorBalanceUpdated {
5855 #[allow(missing_docs)]
5856 pub validatorIndex: alloy::sol_types::private::primitives::aliases::U40,
5857 #[allow(missing_docs)]
5858 pub balanceTimestamp: u64,
5859 #[allow(missing_docs)]
5860 pub newValidatorBalanceGwei: u64,
5861 }
5862 #[allow(
5863 non_camel_case_types,
5864 non_snake_case,
5865 clippy::pub_underscore_fields,
5866 clippy::style
5867 )]
5868 const _: () = {
5869 use alloy::sol_types as alloy_sol_types;
5870 #[automatically_derived]
5871 impl alloy_sol_types::SolEvent for ValidatorBalanceUpdated {
5872 type DataTuple<'a> = (
5873 alloy::sol_types::sol_data::Uint<40>,
5874 alloy::sol_types::sol_data::Uint<64>,
5875 alloy::sol_types::sol_data::Uint<64>,
5876 );
5877 type DataToken<'a> = <Self::DataTuple<
5878 'a,
5879 > as alloy_sol_types::SolType>::Token<'a>;
5880 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5881 const SIGNATURE: &'static str = "ValidatorBalanceUpdated(uint40,uint64,uint64)";
5882 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5883 14u8, 95u8, 172u8, 23u8, 91u8, 131u8, 23u8, 124u8, 192u8, 71u8, 56u8,
5884 30u8, 3u8, 13u8, 143u8, 179u8, 180u8, 43u8, 55u8, 189u8, 28u8, 2u8, 94u8,
5885 34u8, 194u8, 128u8, 250u8, 202u8, 214u8, 44u8, 50u8, 223u8,
5886 ]);
5887 const ANONYMOUS: bool = false;
5888 #[allow(unused_variables)]
5889 #[inline]
5890 fn new(
5891 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5892 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5893 ) -> Self {
5894 Self {
5895 validatorIndex: data.0,
5896 balanceTimestamp: data.1,
5897 newValidatorBalanceGwei: data.2,
5898 }
5899 }
5900 #[inline]
5901 fn check_signature(
5902 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5903 ) -> alloy_sol_types::Result<()> {
5904 if topics.0 != Self::SIGNATURE_HASH {
5905 return Err(
5906 alloy_sol_types::Error::invalid_event_signature_hash(
5907 Self::SIGNATURE,
5908 topics.0,
5909 Self::SIGNATURE_HASH,
5910 ),
5911 );
5912 }
5913 Ok(())
5914 }
5915 #[inline]
5916 fn tokenize_body(&self) -> Self::DataToken<'_> {
5917 (
5918 <alloy::sol_types::sol_data::Uint<
5919 40,
5920 > as alloy_sol_types::SolType>::tokenize(&self.validatorIndex),
5921 <alloy::sol_types::sol_data::Uint<
5922 64,
5923 > as alloy_sol_types::SolType>::tokenize(&self.balanceTimestamp),
5924 <alloy::sol_types::sol_data::Uint<
5925 64,
5926 > as alloy_sol_types::SolType>::tokenize(
5927 &self.newValidatorBalanceGwei,
5928 ),
5929 )
5930 }
5931 #[inline]
5932 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5933 (Self::SIGNATURE_HASH.into(),)
5934 }
5935 #[inline]
5936 fn encode_topics_raw(
5937 &self,
5938 out: &mut [alloy_sol_types::abi::token::WordToken],
5939 ) -> alloy_sol_types::Result<()> {
5940 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5941 return Err(alloy_sol_types::Error::Overrun);
5942 }
5943 out[0usize] = alloy_sol_types::abi::token::WordToken(
5944 Self::SIGNATURE_HASH,
5945 );
5946 Ok(())
5947 }
5948 }
5949 #[automatically_derived]
5950 impl alloy_sol_types::private::IntoLogData for ValidatorBalanceUpdated {
5951 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5952 From::from(self)
5953 }
5954 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5955 From::from(&self)
5956 }
5957 }
5958 #[automatically_derived]
5959 impl From<&ValidatorBalanceUpdated> for alloy_sol_types::private::LogData {
5960 #[inline]
5961 fn from(
5962 this: &ValidatorBalanceUpdated,
5963 ) -> alloy_sol_types::private::LogData {
5964 alloy_sol_types::SolEvent::encode_log_data(this)
5965 }
5966 }
5967 };
5968 #[derive(serde::Serialize, serde::Deserialize)]
5969 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5970 #[allow(
5975 non_camel_case_types,
5976 non_snake_case,
5977 clippy::pub_underscore_fields,
5978 clippy::style
5979 )]
5980 #[derive(Clone)]
5981 pub struct ValidatorCheckpointed {
5982 #[allow(missing_docs)]
5983 pub checkpointTimestamp: u64,
5984 #[allow(missing_docs)]
5985 pub validatorIndex: alloy::sol_types::private::primitives::aliases::U40,
5986 }
5987 #[allow(
5988 non_camel_case_types,
5989 non_snake_case,
5990 clippy::pub_underscore_fields,
5991 clippy::style
5992 )]
5993 const _: () = {
5994 use alloy::sol_types as alloy_sol_types;
5995 #[automatically_derived]
5996 impl alloy_sol_types::SolEvent for ValidatorCheckpointed {
5997 type DataTuple<'a> = ();
5998 type DataToken<'a> = <Self::DataTuple<
5999 'a,
6000 > as alloy_sol_types::SolType>::Token<'a>;
6001 type TopicList = (
6002 alloy_sol_types::sol_data::FixedBytes<32>,
6003 alloy::sol_types::sol_data::Uint<64>,
6004 alloy::sol_types::sol_data::Uint<40>,
6005 );
6006 const SIGNATURE: &'static str = "ValidatorCheckpointed(uint64,uint40)";
6007 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
6008 169u8, 28u8, 89u8, 3u8, 60u8, 52u8, 35u8, 225u8, 139u8, 84u8, 208u8,
6009 172u8, 236u8, 235u8, 180u8, 151u8, 47u8, 158u8, 169u8, 90u8, 237u8,
6010 245u8, 244u8, 202u8, 227u8, 182u8, 119u8, 176u8, 46u8, 175u8, 58u8, 63u8,
6011 ]);
6012 const ANONYMOUS: bool = false;
6013 #[allow(unused_variables)]
6014 #[inline]
6015 fn new(
6016 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
6017 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
6018 ) -> Self {
6019 Self {
6020 checkpointTimestamp: topics.1,
6021 validatorIndex: topics.2,
6022 }
6023 }
6024 #[inline]
6025 fn check_signature(
6026 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
6027 ) -> alloy_sol_types::Result<()> {
6028 if topics.0 != Self::SIGNATURE_HASH {
6029 return Err(
6030 alloy_sol_types::Error::invalid_event_signature_hash(
6031 Self::SIGNATURE,
6032 topics.0,
6033 Self::SIGNATURE_HASH,
6034 ),
6035 );
6036 }
6037 Ok(())
6038 }
6039 #[inline]
6040 fn tokenize_body(&self) -> Self::DataToken<'_> {
6041 ()
6042 }
6043 #[inline]
6044 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
6045 (
6046 Self::SIGNATURE_HASH.into(),
6047 self.checkpointTimestamp.clone(),
6048 self.validatorIndex.clone(),
6049 )
6050 }
6051 #[inline]
6052 fn encode_topics_raw(
6053 &self,
6054 out: &mut [alloy_sol_types::abi::token::WordToken],
6055 ) -> alloy_sol_types::Result<()> {
6056 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
6057 return Err(alloy_sol_types::Error::Overrun);
6058 }
6059 out[0usize] = alloy_sol_types::abi::token::WordToken(
6060 Self::SIGNATURE_HASH,
6061 );
6062 out[1usize] = <alloy::sol_types::sol_data::Uint<
6063 64,
6064 > as alloy_sol_types::EventTopic>::encode_topic(
6065 &self.checkpointTimestamp,
6066 );
6067 out[2usize] = <alloy::sol_types::sol_data::Uint<
6068 40,
6069 > as alloy_sol_types::EventTopic>::encode_topic(&self.validatorIndex);
6070 Ok(())
6071 }
6072 }
6073 #[automatically_derived]
6074 impl alloy_sol_types::private::IntoLogData for ValidatorCheckpointed {
6075 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6076 From::from(self)
6077 }
6078 fn into_log_data(self) -> alloy_sol_types::private::LogData {
6079 From::from(&self)
6080 }
6081 }
6082 #[automatically_derived]
6083 impl From<&ValidatorCheckpointed> for alloy_sol_types::private::LogData {
6084 #[inline]
6085 fn from(this: &ValidatorCheckpointed) -> alloy_sol_types::private::LogData {
6086 alloy_sol_types::SolEvent::encode_log_data(this)
6087 }
6088 }
6089 };
6090 #[derive(serde::Serialize, serde::Deserialize)]
6091 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6092 #[allow(
6097 non_camel_case_types,
6098 non_snake_case,
6099 clippy::pub_underscore_fields,
6100 clippy::style
6101 )]
6102 #[derive(Clone)]
6103 pub struct ValidatorRestaked {
6104 #[allow(missing_docs)]
6105 pub validatorIndex: alloy::sol_types::private::primitives::aliases::U40,
6106 }
6107 #[allow(
6108 non_camel_case_types,
6109 non_snake_case,
6110 clippy::pub_underscore_fields,
6111 clippy::style
6112 )]
6113 const _: () = {
6114 use alloy::sol_types as alloy_sol_types;
6115 #[automatically_derived]
6116 impl alloy_sol_types::SolEvent for ValidatorRestaked {
6117 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<40>,);
6118 type DataToken<'a> = <Self::DataTuple<
6119 'a,
6120 > as alloy_sol_types::SolType>::Token<'a>;
6121 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
6122 const SIGNATURE: &'static str = "ValidatorRestaked(uint40)";
6123 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
6124 45u8, 8u8, 0u8, 187u8, 195u8, 119u8, 234u8, 84u8, 160u8, 140u8, 93u8,
6125 182u8, 168u8, 122u8, 175u8, 255u8, 94u8, 62u8, 156u8, 143u8, 234u8,
6126 208u8, 237u8, 161u8, 16u8, 228u8, 14u8, 12u8, 16u8, 68u8, 20u8, 73u8,
6127 ]);
6128 const ANONYMOUS: bool = false;
6129 #[allow(unused_variables)]
6130 #[inline]
6131 fn new(
6132 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
6133 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
6134 ) -> Self {
6135 Self { validatorIndex: data.0 }
6136 }
6137 #[inline]
6138 fn check_signature(
6139 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
6140 ) -> alloy_sol_types::Result<()> {
6141 if topics.0 != Self::SIGNATURE_HASH {
6142 return Err(
6143 alloy_sol_types::Error::invalid_event_signature_hash(
6144 Self::SIGNATURE,
6145 topics.0,
6146 Self::SIGNATURE_HASH,
6147 ),
6148 );
6149 }
6150 Ok(())
6151 }
6152 #[inline]
6153 fn tokenize_body(&self) -> Self::DataToken<'_> {
6154 (
6155 <alloy::sol_types::sol_data::Uint<
6156 40,
6157 > as alloy_sol_types::SolType>::tokenize(&self.validatorIndex),
6158 )
6159 }
6160 #[inline]
6161 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
6162 (Self::SIGNATURE_HASH.into(),)
6163 }
6164 #[inline]
6165 fn encode_topics_raw(
6166 &self,
6167 out: &mut [alloy_sol_types::abi::token::WordToken],
6168 ) -> alloy_sol_types::Result<()> {
6169 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
6170 return Err(alloy_sol_types::Error::Overrun);
6171 }
6172 out[0usize] = alloy_sol_types::abi::token::WordToken(
6173 Self::SIGNATURE_HASH,
6174 );
6175 Ok(())
6176 }
6177 }
6178 #[automatically_derived]
6179 impl alloy_sol_types::private::IntoLogData for ValidatorRestaked {
6180 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6181 From::from(self)
6182 }
6183 fn into_log_data(self) -> alloy_sol_types::private::LogData {
6184 From::from(&self)
6185 }
6186 }
6187 #[automatically_derived]
6188 impl From<&ValidatorRestaked> for alloy_sol_types::private::LogData {
6189 #[inline]
6190 fn from(this: &ValidatorRestaked) -> alloy_sol_types::private::LogData {
6191 alloy_sol_types::SolEvent::encode_log_data(this)
6192 }
6193 }
6194 };
6195 #[derive(serde::Serialize, serde::Deserialize)]
6196 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6197 #[allow(
6202 non_camel_case_types,
6203 non_snake_case,
6204 clippy::pub_underscore_fields,
6205 clippy::style
6206 )]
6207 #[derive(Clone)]
6208 pub struct ValidatorWithdrawn {
6209 #[allow(missing_docs)]
6210 pub checkpointTimestamp: u64,
6211 #[allow(missing_docs)]
6212 pub validatorIndex: alloy::sol_types::private::primitives::aliases::U40,
6213 }
6214 #[allow(
6215 non_camel_case_types,
6216 non_snake_case,
6217 clippy::pub_underscore_fields,
6218 clippy::style
6219 )]
6220 const _: () = {
6221 use alloy::sol_types as alloy_sol_types;
6222 #[automatically_derived]
6223 impl alloy_sol_types::SolEvent for ValidatorWithdrawn {
6224 type DataTuple<'a> = ();
6225 type DataToken<'a> = <Self::DataTuple<
6226 'a,
6227 > as alloy_sol_types::SolType>::Token<'a>;
6228 type TopicList = (
6229 alloy_sol_types::sol_data::FixedBytes<32>,
6230 alloy::sol_types::sol_data::Uint<64>,
6231 alloy::sol_types::sol_data::Uint<40>,
6232 );
6233 const SIGNATURE: &'static str = "ValidatorWithdrawn(uint64,uint40)";
6234 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
6235 42u8, 2u8, 54u8, 31u8, 250u8, 102u8, 207u8, 44u8, 45u8, 164u8, 104u8,
6236 44u8, 35u8, 85u8, 166u8, 173u8, 202u8, 169u8, 246u8, 194u8, 39u8, 182u8,
6237 230u8, 86u8, 62u8, 104u8, 72u8, 15u8, 149u8, 135u8, 98u8, 106u8,
6238 ]);
6239 const ANONYMOUS: bool = false;
6240 #[allow(unused_variables)]
6241 #[inline]
6242 fn new(
6243 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
6244 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
6245 ) -> Self {
6246 Self {
6247 checkpointTimestamp: topics.1,
6248 validatorIndex: topics.2,
6249 }
6250 }
6251 #[inline]
6252 fn check_signature(
6253 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
6254 ) -> alloy_sol_types::Result<()> {
6255 if topics.0 != Self::SIGNATURE_HASH {
6256 return Err(
6257 alloy_sol_types::Error::invalid_event_signature_hash(
6258 Self::SIGNATURE,
6259 topics.0,
6260 Self::SIGNATURE_HASH,
6261 ),
6262 );
6263 }
6264 Ok(())
6265 }
6266 #[inline]
6267 fn tokenize_body(&self) -> Self::DataToken<'_> {
6268 ()
6269 }
6270 #[inline]
6271 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
6272 (
6273 Self::SIGNATURE_HASH.into(),
6274 self.checkpointTimestamp.clone(),
6275 self.validatorIndex.clone(),
6276 )
6277 }
6278 #[inline]
6279 fn encode_topics_raw(
6280 &self,
6281 out: &mut [alloy_sol_types::abi::token::WordToken],
6282 ) -> alloy_sol_types::Result<()> {
6283 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
6284 return Err(alloy_sol_types::Error::Overrun);
6285 }
6286 out[0usize] = alloy_sol_types::abi::token::WordToken(
6287 Self::SIGNATURE_HASH,
6288 );
6289 out[1usize] = <alloy::sol_types::sol_data::Uint<
6290 64,
6291 > as alloy_sol_types::EventTopic>::encode_topic(
6292 &self.checkpointTimestamp,
6293 );
6294 out[2usize] = <alloy::sol_types::sol_data::Uint<
6295 40,
6296 > as alloy_sol_types::EventTopic>::encode_topic(&self.validatorIndex);
6297 Ok(())
6298 }
6299 }
6300 #[automatically_derived]
6301 impl alloy_sol_types::private::IntoLogData for ValidatorWithdrawn {
6302 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6303 From::from(self)
6304 }
6305 fn into_log_data(self) -> alloy_sol_types::private::LogData {
6306 From::from(&self)
6307 }
6308 }
6309 #[automatically_derived]
6310 impl From<&ValidatorWithdrawn> for alloy_sol_types::private::LogData {
6311 #[inline]
6312 fn from(this: &ValidatorWithdrawn) -> alloy_sol_types::private::LogData {
6313 alloy_sol_types::SolEvent::encode_log_data(this)
6314 }
6315 }
6316 };
6317 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6322 #[derive(Clone)]
6323 pub struct constructorCall {
6324 #[allow(missing_docs)]
6325 pub _ethPOS: alloy::sol_types::private::Address,
6326 #[allow(missing_docs)]
6327 pub _eigenPodManager: alloy::sol_types::private::Address,
6328 #[allow(missing_docs)]
6329 pub _GENESIS_TIME: u64,
6330 #[allow(missing_docs)]
6331 pub _version: alloy::sol_types::private::String,
6332 }
6333 const _: () = {
6334 use alloy::sol_types as alloy_sol_types;
6335 {
6336 #[doc(hidden)]
6337 type UnderlyingSolTuple<'a> = (
6338 alloy::sol_types::sol_data::Address,
6339 alloy::sol_types::sol_data::Address,
6340 alloy::sol_types::sol_data::Uint<64>,
6341 alloy::sol_types::sol_data::String,
6342 );
6343 #[doc(hidden)]
6344 type UnderlyingRustTuple<'a> = (
6345 alloy::sol_types::private::Address,
6346 alloy::sol_types::private::Address,
6347 u64,
6348 alloy::sol_types::private::String,
6349 );
6350 #[cfg(test)]
6351 #[allow(dead_code, unreachable_patterns)]
6352 fn _type_assertion(
6353 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6354 ) {
6355 match _t {
6356 alloy_sol_types::private::AssertTypeEq::<
6357 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6358 >(_) => {}
6359 }
6360 }
6361 #[automatically_derived]
6362 #[doc(hidden)]
6363 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
6364 fn from(value: constructorCall) -> Self {
6365 (
6366 value._ethPOS,
6367 value._eigenPodManager,
6368 value._GENESIS_TIME,
6369 value._version,
6370 )
6371 }
6372 }
6373 #[automatically_derived]
6374 #[doc(hidden)]
6375 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
6376 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6377 Self {
6378 _ethPOS: tuple.0,
6379 _eigenPodManager: tuple.1,
6380 _GENESIS_TIME: tuple.2,
6381 _version: tuple.3,
6382 }
6383 }
6384 }
6385 }
6386 #[automatically_derived]
6387 impl alloy_sol_types::SolConstructor for constructorCall {
6388 type Parameters<'a> = (
6389 alloy::sol_types::sol_data::Address,
6390 alloy::sol_types::sol_data::Address,
6391 alloy::sol_types::sol_data::Uint<64>,
6392 alloy::sol_types::sol_data::String,
6393 );
6394 type Token<'a> = <Self::Parameters<
6395 'a,
6396 > as alloy_sol_types::SolType>::Token<'a>;
6397 #[inline]
6398 fn new<'a>(
6399 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6400 ) -> Self {
6401 tuple.into()
6402 }
6403 #[inline]
6404 fn tokenize(&self) -> Self::Token<'_> {
6405 (
6406 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6407 &self._ethPOS,
6408 ),
6409 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6410 &self._eigenPodManager,
6411 ),
6412 <alloy::sol_types::sol_data::Uint<
6413 64,
6414 > as alloy_sol_types::SolType>::tokenize(&self._GENESIS_TIME),
6415 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
6416 &self._version,
6417 ),
6418 )
6419 }
6420 }
6421 };
6422 #[derive(serde::Serialize, serde::Deserialize)]
6423 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6424 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6429 #[derive(Clone)]
6430 pub struct GENESIS_TIMECall;
6431 #[derive(serde::Serialize, serde::Deserialize)]
6432 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6433 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6435 #[derive(Clone)]
6436 pub struct GENESIS_TIMEReturn {
6437 #[allow(missing_docs)]
6438 pub _0: u64,
6439 }
6440 #[allow(
6441 non_camel_case_types,
6442 non_snake_case,
6443 clippy::pub_underscore_fields,
6444 clippy::style
6445 )]
6446 const _: () = {
6447 use alloy::sol_types as alloy_sol_types;
6448 {
6449 #[doc(hidden)]
6450 type UnderlyingSolTuple<'a> = ();
6451 #[doc(hidden)]
6452 type UnderlyingRustTuple<'a> = ();
6453 #[cfg(test)]
6454 #[allow(dead_code, unreachable_patterns)]
6455 fn _type_assertion(
6456 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6457 ) {
6458 match _t {
6459 alloy_sol_types::private::AssertTypeEq::<
6460 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6461 >(_) => {}
6462 }
6463 }
6464 #[automatically_derived]
6465 #[doc(hidden)]
6466 impl ::core::convert::From<GENESIS_TIMECall> for UnderlyingRustTuple<'_> {
6467 fn from(value: GENESIS_TIMECall) -> Self {
6468 ()
6469 }
6470 }
6471 #[automatically_derived]
6472 #[doc(hidden)]
6473 impl ::core::convert::From<UnderlyingRustTuple<'_>> for GENESIS_TIMECall {
6474 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6475 Self
6476 }
6477 }
6478 }
6479 {
6480 #[doc(hidden)]
6481 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6482 #[doc(hidden)]
6483 type UnderlyingRustTuple<'a> = (u64,);
6484 #[cfg(test)]
6485 #[allow(dead_code, unreachable_patterns)]
6486 fn _type_assertion(
6487 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6488 ) {
6489 match _t {
6490 alloy_sol_types::private::AssertTypeEq::<
6491 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6492 >(_) => {}
6493 }
6494 }
6495 #[automatically_derived]
6496 #[doc(hidden)]
6497 impl ::core::convert::From<GENESIS_TIMEReturn> for UnderlyingRustTuple<'_> {
6498 fn from(value: GENESIS_TIMEReturn) -> Self {
6499 (value._0,)
6500 }
6501 }
6502 #[automatically_derived]
6503 #[doc(hidden)]
6504 impl ::core::convert::From<UnderlyingRustTuple<'_>> for GENESIS_TIMEReturn {
6505 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6506 Self { _0: tuple.0 }
6507 }
6508 }
6509 }
6510 #[automatically_derived]
6511 impl alloy_sol_types::SolCall for GENESIS_TIMECall {
6512 type Parameters<'a> = ();
6513 type Token<'a> = <Self::Parameters<
6514 'a,
6515 > as alloy_sol_types::SolType>::Token<'a>;
6516 type Return = u64;
6517 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6518 type ReturnToken<'a> = <Self::ReturnTuple<
6519 'a,
6520 > as alloy_sol_types::SolType>::Token<'a>;
6521 const SIGNATURE: &'static str = "GENESIS_TIME()";
6522 const SELECTOR: [u8; 4] = [242u8, 136u8, 36u8, 97u8];
6523 #[inline]
6524 fn new<'a>(
6525 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6526 ) -> Self {
6527 tuple.into()
6528 }
6529 #[inline]
6530 fn tokenize(&self) -> Self::Token<'_> {
6531 ()
6532 }
6533 #[inline]
6534 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6535 (
6536 <alloy::sol_types::sol_data::Uint<
6537 64,
6538 > as alloy_sol_types::SolType>::tokenize(ret),
6539 )
6540 }
6541 #[inline]
6542 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6543 <Self::ReturnTuple<
6544 '_,
6545 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6546 .map(|r| {
6547 let r: GENESIS_TIMEReturn = r.into();
6548 r._0
6549 })
6550 }
6551 #[inline]
6552 fn abi_decode_returns_validate(
6553 data: &[u8],
6554 ) -> alloy_sol_types::Result<Self::Return> {
6555 <Self::ReturnTuple<
6556 '_,
6557 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6558 .map(|r| {
6559 let r: GENESIS_TIMEReturn = r.into();
6560 r._0
6561 })
6562 }
6563 }
6564 };
6565 #[derive(serde::Serialize, serde::Deserialize)]
6566 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6567 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6572 #[derive(Clone)]
6573 pub struct activeValidatorCountCall;
6574 #[derive(serde::Serialize, serde::Deserialize)]
6575 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6576 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6578 #[derive(Clone)]
6579 pub struct activeValidatorCountReturn {
6580 #[allow(missing_docs)]
6581 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6582 }
6583 #[allow(
6584 non_camel_case_types,
6585 non_snake_case,
6586 clippy::pub_underscore_fields,
6587 clippy::style
6588 )]
6589 const _: () = {
6590 use alloy::sol_types as alloy_sol_types;
6591 {
6592 #[doc(hidden)]
6593 type UnderlyingSolTuple<'a> = ();
6594 #[doc(hidden)]
6595 type UnderlyingRustTuple<'a> = ();
6596 #[cfg(test)]
6597 #[allow(dead_code, unreachable_patterns)]
6598 fn _type_assertion(
6599 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6600 ) {
6601 match _t {
6602 alloy_sol_types::private::AssertTypeEq::<
6603 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6604 >(_) => {}
6605 }
6606 }
6607 #[automatically_derived]
6608 #[doc(hidden)]
6609 impl ::core::convert::From<activeValidatorCountCall>
6610 for UnderlyingRustTuple<'_> {
6611 fn from(value: activeValidatorCountCall) -> Self {
6612 ()
6613 }
6614 }
6615 #[automatically_derived]
6616 #[doc(hidden)]
6617 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6618 for activeValidatorCountCall {
6619 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6620 Self
6621 }
6622 }
6623 }
6624 {
6625 #[doc(hidden)]
6626 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6627 #[doc(hidden)]
6628 type UnderlyingRustTuple<'a> = (
6629 alloy::sol_types::private::primitives::aliases::U256,
6630 );
6631 #[cfg(test)]
6632 #[allow(dead_code, unreachable_patterns)]
6633 fn _type_assertion(
6634 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6635 ) {
6636 match _t {
6637 alloy_sol_types::private::AssertTypeEq::<
6638 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6639 >(_) => {}
6640 }
6641 }
6642 #[automatically_derived]
6643 #[doc(hidden)]
6644 impl ::core::convert::From<activeValidatorCountReturn>
6645 for UnderlyingRustTuple<'_> {
6646 fn from(value: activeValidatorCountReturn) -> Self {
6647 (value._0,)
6648 }
6649 }
6650 #[automatically_derived]
6651 #[doc(hidden)]
6652 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6653 for activeValidatorCountReturn {
6654 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6655 Self { _0: tuple.0 }
6656 }
6657 }
6658 }
6659 #[automatically_derived]
6660 impl alloy_sol_types::SolCall for activeValidatorCountCall {
6661 type Parameters<'a> = ();
6662 type Token<'a> = <Self::Parameters<
6663 'a,
6664 > as alloy_sol_types::SolType>::Token<'a>;
6665 type Return = alloy::sol_types::private::primitives::aliases::U256;
6666 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6667 type ReturnToken<'a> = <Self::ReturnTuple<
6668 'a,
6669 > as alloy_sol_types::SolType>::Token<'a>;
6670 const SIGNATURE: &'static str = "activeValidatorCount()";
6671 const SELECTOR: [u8; 4] = [35u8, 64u8, 232u8, 211u8];
6672 #[inline]
6673 fn new<'a>(
6674 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6675 ) -> Self {
6676 tuple.into()
6677 }
6678 #[inline]
6679 fn tokenize(&self) -> Self::Token<'_> {
6680 ()
6681 }
6682 #[inline]
6683 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6684 (
6685 <alloy::sol_types::sol_data::Uint<
6686 256,
6687 > as alloy_sol_types::SolType>::tokenize(ret),
6688 )
6689 }
6690 #[inline]
6691 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6692 <Self::ReturnTuple<
6693 '_,
6694 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6695 .map(|r| {
6696 let r: activeValidatorCountReturn = r.into();
6697 r._0
6698 })
6699 }
6700 #[inline]
6701 fn abi_decode_returns_validate(
6702 data: &[u8],
6703 ) -> alloy_sol_types::Result<Self::Return> {
6704 <Self::ReturnTuple<
6705 '_,
6706 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6707 .map(|r| {
6708 let r: activeValidatorCountReturn = r.into();
6709 r._0
6710 })
6711 }
6712 }
6713 };
6714 #[derive(serde::Serialize, serde::Deserialize)]
6715 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6716 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6721 #[derive(Clone)]
6722 pub struct checkpointBalanceExitedGweiCall(pub u64);
6723 #[derive(serde::Serialize, serde::Deserialize)]
6724 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6725 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6727 #[derive(Clone)]
6728 pub struct checkpointBalanceExitedGweiReturn {
6729 #[allow(missing_docs)]
6730 pub _0: u64,
6731 }
6732 #[allow(
6733 non_camel_case_types,
6734 non_snake_case,
6735 clippy::pub_underscore_fields,
6736 clippy::style
6737 )]
6738 const _: () = {
6739 use alloy::sol_types as alloy_sol_types;
6740 {
6741 #[doc(hidden)]
6742 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6743 #[doc(hidden)]
6744 type UnderlyingRustTuple<'a> = (u64,);
6745 #[cfg(test)]
6746 #[allow(dead_code, unreachable_patterns)]
6747 fn _type_assertion(
6748 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6749 ) {
6750 match _t {
6751 alloy_sol_types::private::AssertTypeEq::<
6752 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6753 >(_) => {}
6754 }
6755 }
6756 #[automatically_derived]
6757 #[doc(hidden)]
6758 impl ::core::convert::From<checkpointBalanceExitedGweiCall>
6759 for UnderlyingRustTuple<'_> {
6760 fn from(value: checkpointBalanceExitedGweiCall) -> Self {
6761 (value.0,)
6762 }
6763 }
6764 #[automatically_derived]
6765 #[doc(hidden)]
6766 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6767 for checkpointBalanceExitedGweiCall {
6768 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6769 Self(tuple.0)
6770 }
6771 }
6772 }
6773 {
6774 #[doc(hidden)]
6775 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6776 #[doc(hidden)]
6777 type UnderlyingRustTuple<'a> = (u64,);
6778 #[cfg(test)]
6779 #[allow(dead_code, unreachable_patterns)]
6780 fn _type_assertion(
6781 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6782 ) {
6783 match _t {
6784 alloy_sol_types::private::AssertTypeEq::<
6785 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6786 >(_) => {}
6787 }
6788 }
6789 #[automatically_derived]
6790 #[doc(hidden)]
6791 impl ::core::convert::From<checkpointBalanceExitedGweiReturn>
6792 for UnderlyingRustTuple<'_> {
6793 fn from(value: checkpointBalanceExitedGweiReturn) -> Self {
6794 (value._0,)
6795 }
6796 }
6797 #[automatically_derived]
6798 #[doc(hidden)]
6799 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6800 for checkpointBalanceExitedGweiReturn {
6801 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6802 Self { _0: tuple.0 }
6803 }
6804 }
6805 }
6806 #[automatically_derived]
6807 impl alloy_sol_types::SolCall for checkpointBalanceExitedGweiCall {
6808 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6809 type Token<'a> = <Self::Parameters<
6810 'a,
6811 > as alloy_sol_types::SolType>::Token<'a>;
6812 type Return = u64;
6813 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6814 type ReturnToken<'a> = <Self::ReturnTuple<
6815 'a,
6816 > as alloy_sol_types::SolType>::Token<'a>;
6817 const SIGNATURE: &'static str = "checkpointBalanceExitedGwei(uint64)";
6818 const SELECTOR: [u8; 4] = [82u8, 57u8, 106u8, 89u8];
6819 #[inline]
6820 fn new<'a>(
6821 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6822 ) -> Self {
6823 tuple.into()
6824 }
6825 #[inline]
6826 fn tokenize(&self) -> Self::Token<'_> {
6827 (
6828 <alloy::sol_types::sol_data::Uint<
6829 64,
6830 > as alloy_sol_types::SolType>::tokenize(&self.0),
6831 )
6832 }
6833 #[inline]
6834 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6835 (
6836 <alloy::sol_types::sol_data::Uint<
6837 64,
6838 > as alloy_sol_types::SolType>::tokenize(ret),
6839 )
6840 }
6841 #[inline]
6842 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6843 <Self::ReturnTuple<
6844 '_,
6845 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6846 .map(|r| {
6847 let r: checkpointBalanceExitedGweiReturn = r.into();
6848 r._0
6849 })
6850 }
6851 #[inline]
6852 fn abi_decode_returns_validate(
6853 data: &[u8],
6854 ) -> alloy_sol_types::Result<Self::Return> {
6855 <Self::ReturnTuple<
6856 '_,
6857 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6858 .map(|r| {
6859 let r: checkpointBalanceExitedGweiReturn = r.into();
6860 r._0
6861 })
6862 }
6863 }
6864 };
6865 #[derive(serde::Serialize, serde::Deserialize)]
6866 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6867 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6872 #[derive(Clone)]
6873 pub struct currentCheckpointCall;
6874 #[derive(serde::Serialize, serde::Deserialize)]
6875 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6876 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6878 #[derive(Clone)]
6879 pub struct currentCheckpointReturn {
6880 #[allow(missing_docs)]
6881 pub _0: <IEigenPodTypes::Checkpoint as alloy::sol_types::SolType>::RustType,
6882 }
6883 #[allow(
6884 non_camel_case_types,
6885 non_snake_case,
6886 clippy::pub_underscore_fields,
6887 clippy::style
6888 )]
6889 const _: () = {
6890 use alloy::sol_types as alloy_sol_types;
6891 {
6892 #[doc(hidden)]
6893 type UnderlyingSolTuple<'a> = ();
6894 #[doc(hidden)]
6895 type UnderlyingRustTuple<'a> = ();
6896 #[cfg(test)]
6897 #[allow(dead_code, unreachable_patterns)]
6898 fn _type_assertion(
6899 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6900 ) {
6901 match _t {
6902 alloy_sol_types::private::AssertTypeEq::<
6903 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6904 >(_) => {}
6905 }
6906 }
6907 #[automatically_derived]
6908 #[doc(hidden)]
6909 impl ::core::convert::From<currentCheckpointCall>
6910 for UnderlyingRustTuple<'_> {
6911 fn from(value: currentCheckpointCall) -> Self {
6912 ()
6913 }
6914 }
6915 #[automatically_derived]
6916 #[doc(hidden)]
6917 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6918 for currentCheckpointCall {
6919 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6920 Self
6921 }
6922 }
6923 }
6924 {
6925 #[doc(hidden)]
6926 type UnderlyingSolTuple<'a> = (IEigenPodTypes::Checkpoint,);
6927 #[doc(hidden)]
6928 type UnderlyingRustTuple<'a> = (
6929 <IEigenPodTypes::Checkpoint as alloy::sol_types::SolType>::RustType,
6930 );
6931 #[cfg(test)]
6932 #[allow(dead_code, unreachable_patterns)]
6933 fn _type_assertion(
6934 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6935 ) {
6936 match _t {
6937 alloy_sol_types::private::AssertTypeEq::<
6938 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6939 >(_) => {}
6940 }
6941 }
6942 #[automatically_derived]
6943 #[doc(hidden)]
6944 impl ::core::convert::From<currentCheckpointReturn>
6945 for UnderlyingRustTuple<'_> {
6946 fn from(value: currentCheckpointReturn) -> Self {
6947 (value._0,)
6948 }
6949 }
6950 #[automatically_derived]
6951 #[doc(hidden)]
6952 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6953 for currentCheckpointReturn {
6954 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6955 Self { _0: tuple.0 }
6956 }
6957 }
6958 }
6959 #[automatically_derived]
6960 impl alloy_sol_types::SolCall for currentCheckpointCall {
6961 type Parameters<'a> = ();
6962 type Token<'a> = <Self::Parameters<
6963 'a,
6964 > as alloy_sol_types::SolType>::Token<'a>;
6965 type Return = <IEigenPodTypes::Checkpoint as alloy::sol_types::SolType>::RustType;
6966 type ReturnTuple<'a> = (IEigenPodTypes::Checkpoint,);
6967 type ReturnToken<'a> = <Self::ReturnTuple<
6968 'a,
6969 > as alloy_sol_types::SolType>::Token<'a>;
6970 const SIGNATURE: &'static str = "currentCheckpoint()";
6971 const SELECTOR: [u8; 4] = [71u8, 210u8, 131u8, 114u8];
6972 #[inline]
6973 fn new<'a>(
6974 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6975 ) -> Self {
6976 tuple.into()
6977 }
6978 #[inline]
6979 fn tokenize(&self) -> Self::Token<'_> {
6980 ()
6981 }
6982 #[inline]
6983 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6984 (
6985 <IEigenPodTypes::Checkpoint as alloy_sol_types::SolType>::tokenize(
6986 ret,
6987 ),
6988 )
6989 }
6990 #[inline]
6991 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6992 <Self::ReturnTuple<
6993 '_,
6994 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6995 .map(|r| {
6996 let r: currentCheckpointReturn = r.into();
6997 r._0
6998 })
6999 }
7000 #[inline]
7001 fn abi_decode_returns_validate(
7002 data: &[u8],
7003 ) -> alloy_sol_types::Result<Self::Return> {
7004 <Self::ReturnTuple<
7005 '_,
7006 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7007 .map(|r| {
7008 let r: currentCheckpointReturn = r.into();
7009 r._0
7010 })
7011 }
7012 }
7013 };
7014 #[derive(serde::Serialize, serde::Deserialize)]
7015 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7016 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7021 #[derive(Clone)]
7022 pub struct currentCheckpointTimestampCall;
7023 #[derive(serde::Serialize, serde::Deserialize)]
7024 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7025 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7027 #[derive(Clone)]
7028 pub struct currentCheckpointTimestampReturn {
7029 #[allow(missing_docs)]
7030 pub _0: u64,
7031 }
7032 #[allow(
7033 non_camel_case_types,
7034 non_snake_case,
7035 clippy::pub_underscore_fields,
7036 clippy::style
7037 )]
7038 const _: () = {
7039 use alloy::sol_types as alloy_sol_types;
7040 {
7041 #[doc(hidden)]
7042 type UnderlyingSolTuple<'a> = ();
7043 #[doc(hidden)]
7044 type UnderlyingRustTuple<'a> = ();
7045 #[cfg(test)]
7046 #[allow(dead_code, unreachable_patterns)]
7047 fn _type_assertion(
7048 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7049 ) {
7050 match _t {
7051 alloy_sol_types::private::AssertTypeEq::<
7052 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7053 >(_) => {}
7054 }
7055 }
7056 #[automatically_derived]
7057 #[doc(hidden)]
7058 impl ::core::convert::From<currentCheckpointTimestampCall>
7059 for UnderlyingRustTuple<'_> {
7060 fn from(value: currentCheckpointTimestampCall) -> Self {
7061 ()
7062 }
7063 }
7064 #[automatically_derived]
7065 #[doc(hidden)]
7066 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7067 for currentCheckpointTimestampCall {
7068 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7069 Self
7070 }
7071 }
7072 }
7073 {
7074 #[doc(hidden)]
7075 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7076 #[doc(hidden)]
7077 type UnderlyingRustTuple<'a> = (u64,);
7078 #[cfg(test)]
7079 #[allow(dead_code, unreachable_patterns)]
7080 fn _type_assertion(
7081 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7082 ) {
7083 match _t {
7084 alloy_sol_types::private::AssertTypeEq::<
7085 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7086 >(_) => {}
7087 }
7088 }
7089 #[automatically_derived]
7090 #[doc(hidden)]
7091 impl ::core::convert::From<currentCheckpointTimestampReturn>
7092 for UnderlyingRustTuple<'_> {
7093 fn from(value: currentCheckpointTimestampReturn) -> Self {
7094 (value._0,)
7095 }
7096 }
7097 #[automatically_derived]
7098 #[doc(hidden)]
7099 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7100 for currentCheckpointTimestampReturn {
7101 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7102 Self { _0: tuple.0 }
7103 }
7104 }
7105 }
7106 #[automatically_derived]
7107 impl alloy_sol_types::SolCall for currentCheckpointTimestampCall {
7108 type Parameters<'a> = ();
7109 type Token<'a> = <Self::Parameters<
7110 'a,
7111 > as alloy_sol_types::SolType>::Token<'a>;
7112 type Return = u64;
7113 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7114 type ReturnToken<'a> = <Self::ReturnTuple<
7115 'a,
7116 > as alloy_sol_types::SolType>::Token<'a>;
7117 const SIGNATURE: &'static str = "currentCheckpointTimestamp()";
7118 const SELECTOR: [u8; 4] = [66u8, 236u8, 255u8, 42u8];
7119 #[inline]
7120 fn new<'a>(
7121 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7122 ) -> Self {
7123 tuple.into()
7124 }
7125 #[inline]
7126 fn tokenize(&self) -> Self::Token<'_> {
7127 ()
7128 }
7129 #[inline]
7130 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7131 (
7132 <alloy::sol_types::sol_data::Uint<
7133 64,
7134 > as alloy_sol_types::SolType>::tokenize(ret),
7135 )
7136 }
7137 #[inline]
7138 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7139 <Self::ReturnTuple<
7140 '_,
7141 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7142 .map(|r| {
7143 let r: currentCheckpointTimestampReturn = r.into();
7144 r._0
7145 })
7146 }
7147 #[inline]
7148 fn abi_decode_returns_validate(
7149 data: &[u8],
7150 ) -> alloy_sol_types::Result<Self::Return> {
7151 <Self::ReturnTuple<
7152 '_,
7153 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7154 .map(|r| {
7155 let r: currentCheckpointTimestampReturn = r.into();
7156 r._0
7157 })
7158 }
7159 }
7160 };
7161 #[derive(serde::Serialize, serde::Deserialize)]
7162 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7163 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7168 #[derive(Clone)]
7169 pub struct eigenPodManagerCall;
7170 #[derive(serde::Serialize, serde::Deserialize)]
7171 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7172 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7174 #[derive(Clone)]
7175 pub struct eigenPodManagerReturn {
7176 #[allow(missing_docs)]
7177 pub _0: alloy::sol_types::private::Address,
7178 }
7179 #[allow(
7180 non_camel_case_types,
7181 non_snake_case,
7182 clippy::pub_underscore_fields,
7183 clippy::style
7184 )]
7185 const _: () = {
7186 use alloy::sol_types as alloy_sol_types;
7187 {
7188 #[doc(hidden)]
7189 type UnderlyingSolTuple<'a> = ();
7190 #[doc(hidden)]
7191 type UnderlyingRustTuple<'a> = ();
7192 #[cfg(test)]
7193 #[allow(dead_code, unreachable_patterns)]
7194 fn _type_assertion(
7195 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7196 ) {
7197 match _t {
7198 alloy_sol_types::private::AssertTypeEq::<
7199 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7200 >(_) => {}
7201 }
7202 }
7203 #[automatically_derived]
7204 #[doc(hidden)]
7205 impl ::core::convert::From<eigenPodManagerCall> for UnderlyingRustTuple<'_> {
7206 fn from(value: eigenPodManagerCall) -> Self {
7207 ()
7208 }
7209 }
7210 #[automatically_derived]
7211 #[doc(hidden)]
7212 impl ::core::convert::From<UnderlyingRustTuple<'_>> for eigenPodManagerCall {
7213 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7214 Self
7215 }
7216 }
7217 }
7218 {
7219 #[doc(hidden)]
7220 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7221 #[doc(hidden)]
7222 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7223 #[cfg(test)]
7224 #[allow(dead_code, unreachable_patterns)]
7225 fn _type_assertion(
7226 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7227 ) {
7228 match _t {
7229 alloy_sol_types::private::AssertTypeEq::<
7230 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7231 >(_) => {}
7232 }
7233 }
7234 #[automatically_derived]
7235 #[doc(hidden)]
7236 impl ::core::convert::From<eigenPodManagerReturn>
7237 for UnderlyingRustTuple<'_> {
7238 fn from(value: eigenPodManagerReturn) -> Self {
7239 (value._0,)
7240 }
7241 }
7242 #[automatically_derived]
7243 #[doc(hidden)]
7244 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7245 for eigenPodManagerReturn {
7246 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7247 Self { _0: tuple.0 }
7248 }
7249 }
7250 }
7251 #[automatically_derived]
7252 impl alloy_sol_types::SolCall for eigenPodManagerCall {
7253 type Parameters<'a> = ();
7254 type Token<'a> = <Self::Parameters<
7255 'a,
7256 > as alloy_sol_types::SolType>::Token<'a>;
7257 type Return = alloy::sol_types::private::Address;
7258 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7259 type ReturnToken<'a> = <Self::ReturnTuple<
7260 'a,
7261 > as alloy_sol_types::SolType>::Token<'a>;
7262 const SIGNATURE: &'static str = "eigenPodManager()";
7263 const SELECTOR: [u8; 4] = [70u8, 101u8, 188u8, 218u8];
7264 #[inline]
7265 fn new<'a>(
7266 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7267 ) -> Self {
7268 tuple.into()
7269 }
7270 #[inline]
7271 fn tokenize(&self) -> Self::Token<'_> {
7272 ()
7273 }
7274 #[inline]
7275 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7276 (
7277 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7278 ret,
7279 ),
7280 )
7281 }
7282 #[inline]
7283 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7284 <Self::ReturnTuple<
7285 '_,
7286 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7287 .map(|r| {
7288 let r: eigenPodManagerReturn = r.into();
7289 r._0
7290 })
7291 }
7292 #[inline]
7293 fn abi_decode_returns_validate(
7294 data: &[u8],
7295 ) -> alloy_sol_types::Result<Self::Return> {
7296 <Self::ReturnTuple<
7297 '_,
7298 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7299 .map(|r| {
7300 let r: eigenPodManagerReturn = r.into();
7301 r._0
7302 })
7303 }
7304 }
7305 };
7306 #[derive(serde::Serialize, serde::Deserialize)]
7307 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7308 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7313 #[derive(Clone)]
7314 pub struct ethPOSCall;
7315 #[derive(serde::Serialize, serde::Deserialize)]
7316 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7317 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7319 #[derive(Clone)]
7320 pub struct ethPOSReturn {
7321 #[allow(missing_docs)]
7322 pub _0: alloy::sol_types::private::Address,
7323 }
7324 #[allow(
7325 non_camel_case_types,
7326 non_snake_case,
7327 clippy::pub_underscore_fields,
7328 clippy::style
7329 )]
7330 const _: () = {
7331 use alloy::sol_types as alloy_sol_types;
7332 {
7333 #[doc(hidden)]
7334 type UnderlyingSolTuple<'a> = ();
7335 #[doc(hidden)]
7336 type UnderlyingRustTuple<'a> = ();
7337 #[cfg(test)]
7338 #[allow(dead_code, unreachable_patterns)]
7339 fn _type_assertion(
7340 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7341 ) {
7342 match _t {
7343 alloy_sol_types::private::AssertTypeEq::<
7344 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7345 >(_) => {}
7346 }
7347 }
7348 #[automatically_derived]
7349 #[doc(hidden)]
7350 impl ::core::convert::From<ethPOSCall> for UnderlyingRustTuple<'_> {
7351 fn from(value: ethPOSCall) -> Self {
7352 ()
7353 }
7354 }
7355 #[automatically_derived]
7356 #[doc(hidden)]
7357 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ethPOSCall {
7358 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7359 Self
7360 }
7361 }
7362 }
7363 {
7364 #[doc(hidden)]
7365 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7366 #[doc(hidden)]
7367 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7368 #[cfg(test)]
7369 #[allow(dead_code, unreachable_patterns)]
7370 fn _type_assertion(
7371 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7372 ) {
7373 match _t {
7374 alloy_sol_types::private::AssertTypeEq::<
7375 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7376 >(_) => {}
7377 }
7378 }
7379 #[automatically_derived]
7380 #[doc(hidden)]
7381 impl ::core::convert::From<ethPOSReturn> for UnderlyingRustTuple<'_> {
7382 fn from(value: ethPOSReturn) -> Self {
7383 (value._0,)
7384 }
7385 }
7386 #[automatically_derived]
7387 #[doc(hidden)]
7388 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ethPOSReturn {
7389 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7390 Self { _0: tuple.0 }
7391 }
7392 }
7393 }
7394 #[automatically_derived]
7395 impl alloy_sol_types::SolCall for ethPOSCall {
7396 type Parameters<'a> = ();
7397 type Token<'a> = <Self::Parameters<
7398 'a,
7399 > as alloy_sol_types::SolType>::Token<'a>;
7400 type Return = alloy::sol_types::private::Address;
7401 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7402 type ReturnToken<'a> = <Self::ReturnTuple<
7403 'a,
7404 > as alloy_sol_types::SolType>::Token<'a>;
7405 const SIGNATURE: &'static str = "ethPOS()";
7406 const SELECTOR: [u8; 4] = [116u8, 205u8, 215u8, 152u8];
7407 #[inline]
7408 fn new<'a>(
7409 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7410 ) -> Self {
7411 tuple.into()
7412 }
7413 #[inline]
7414 fn tokenize(&self) -> Self::Token<'_> {
7415 ()
7416 }
7417 #[inline]
7418 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7419 (
7420 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7421 ret,
7422 ),
7423 )
7424 }
7425 #[inline]
7426 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7427 <Self::ReturnTuple<
7428 '_,
7429 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7430 .map(|r| {
7431 let r: ethPOSReturn = r.into();
7432 r._0
7433 })
7434 }
7435 #[inline]
7436 fn abi_decode_returns_validate(
7437 data: &[u8],
7438 ) -> alloy_sol_types::Result<Self::Return> {
7439 <Self::ReturnTuple<
7440 '_,
7441 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7442 .map(|r| {
7443 let r: ethPOSReturn = r.into();
7444 r._0
7445 })
7446 }
7447 }
7448 };
7449 #[derive(serde::Serialize, serde::Deserialize)]
7450 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7451 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7456 #[derive(Clone)]
7457 pub struct getParentBlockRootCall {
7458 #[allow(missing_docs)]
7459 pub timestamp: u64,
7460 }
7461 #[derive(serde::Serialize, serde::Deserialize)]
7462 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7463 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7465 #[derive(Clone)]
7466 pub struct getParentBlockRootReturn {
7467 #[allow(missing_docs)]
7468 pub _0: alloy::sol_types::private::FixedBytes<32>,
7469 }
7470 #[allow(
7471 non_camel_case_types,
7472 non_snake_case,
7473 clippy::pub_underscore_fields,
7474 clippy::style
7475 )]
7476 const _: () = {
7477 use alloy::sol_types as alloy_sol_types;
7478 {
7479 #[doc(hidden)]
7480 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7481 #[doc(hidden)]
7482 type UnderlyingRustTuple<'a> = (u64,);
7483 #[cfg(test)]
7484 #[allow(dead_code, unreachable_patterns)]
7485 fn _type_assertion(
7486 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7487 ) {
7488 match _t {
7489 alloy_sol_types::private::AssertTypeEq::<
7490 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7491 >(_) => {}
7492 }
7493 }
7494 #[automatically_derived]
7495 #[doc(hidden)]
7496 impl ::core::convert::From<getParentBlockRootCall>
7497 for UnderlyingRustTuple<'_> {
7498 fn from(value: getParentBlockRootCall) -> Self {
7499 (value.timestamp,)
7500 }
7501 }
7502 #[automatically_derived]
7503 #[doc(hidden)]
7504 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7505 for getParentBlockRootCall {
7506 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7507 Self { timestamp: tuple.0 }
7508 }
7509 }
7510 }
7511 {
7512 #[doc(hidden)]
7513 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7514 #[doc(hidden)]
7515 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
7516 #[cfg(test)]
7517 #[allow(dead_code, unreachable_patterns)]
7518 fn _type_assertion(
7519 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7520 ) {
7521 match _t {
7522 alloy_sol_types::private::AssertTypeEq::<
7523 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7524 >(_) => {}
7525 }
7526 }
7527 #[automatically_derived]
7528 #[doc(hidden)]
7529 impl ::core::convert::From<getParentBlockRootReturn>
7530 for UnderlyingRustTuple<'_> {
7531 fn from(value: getParentBlockRootReturn) -> Self {
7532 (value._0,)
7533 }
7534 }
7535 #[automatically_derived]
7536 #[doc(hidden)]
7537 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7538 for getParentBlockRootReturn {
7539 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7540 Self { _0: tuple.0 }
7541 }
7542 }
7543 }
7544 #[automatically_derived]
7545 impl alloy_sol_types::SolCall for getParentBlockRootCall {
7546 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7547 type Token<'a> = <Self::Parameters<
7548 'a,
7549 > as alloy_sol_types::SolType>::Token<'a>;
7550 type Return = alloy::sol_types::private::FixedBytes<32>;
7551 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7552 type ReturnToken<'a> = <Self::ReturnTuple<
7553 'a,
7554 > as alloy_sol_types::SolType>::Token<'a>;
7555 const SIGNATURE: &'static str = "getParentBlockRoot(uint64)";
7556 const SELECTOR: [u8; 4] = [108u8, 13u8, 45u8, 90u8];
7557 #[inline]
7558 fn new<'a>(
7559 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7560 ) -> Self {
7561 tuple.into()
7562 }
7563 #[inline]
7564 fn tokenize(&self) -> Self::Token<'_> {
7565 (
7566 <alloy::sol_types::sol_data::Uint<
7567 64,
7568 > as alloy_sol_types::SolType>::tokenize(&self.timestamp),
7569 )
7570 }
7571 #[inline]
7572 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7573 (
7574 <alloy::sol_types::sol_data::FixedBytes<
7575 32,
7576 > as alloy_sol_types::SolType>::tokenize(ret),
7577 )
7578 }
7579 #[inline]
7580 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7581 <Self::ReturnTuple<
7582 '_,
7583 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7584 .map(|r| {
7585 let r: getParentBlockRootReturn = r.into();
7586 r._0
7587 })
7588 }
7589 #[inline]
7590 fn abi_decode_returns_validate(
7591 data: &[u8],
7592 ) -> alloy_sol_types::Result<Self::Return> {
7593 <Self::ReturnTuple<
7594 '_,
7595 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7596 .map(|r| {
7597 let r: getParentBlockRootReturn = r.into();
7598 r._0
7599 })
7600 }
7601 }
7602 };
7603 #[derive(serde::Serialize, serde::Deserialize)]
7604 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7605 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7610 #[derive(Clone)]
7611 pub struct initializeCall {
7612 #[allow(missing_docs)]
7613 pub _podOwner: alloy::sol_types::private::Address,
7614 }
7615 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7617 #[derive(Clone)]
7618 pub struct initializeReturn {}
7619 #[allow(
7620 non_camel_case_types,
7621 non_snake_case,
7622 clippy::pub_underscore_fields,
7623 clippy::style
7624 )]
7625 const _: () = {
7626 use alloy::sol_types as alloy_sol_types;
7627 {
7628 #[doc(hidden)]
7629 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7630 #[doc(hidden)]
7631 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7632 #[cfg(test)]
7633 #[allow(dead_code, unreachable_patterns)]
7634 fn _type_assertion(
7635 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7636 ) {
7637 match _t {
7638 alloy_sol_types::private::AssertTypeEq::<
7639 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7640 >(_) => {}
7641 }
7642 }
7643 #[automatically_derived]
7644 #[doc(hidden)]
7645 impl ::core::convert::From<initializeCall> for UnderlyingRustTuple<'_> {
7646 fn from(value: initializeCall) -> Self {
7647 (value._podOwner,)
7648 }
7649 }
7650 #[automatically_derived]
7651 #[doc(hidden)]
7652 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeCall {
7653 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7654 Self { _podOwner: tuple.0 }
7655 }
7656 }
7657 }
7658 {
7659 #[doc(hidden)]
7660 type UnderlyingSolTuple<'a> = ();
7661 #[doc(hidden)]
7662 type UnderlyingRustTuple<'a> = ();
7663 #[cfg(test)]
7664 #[allow(dead_code, unreachable_patterns)]
7665 fn _type_assertion(
7666 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7667 ) {
7668 match _t {
7669 alloy_sol_types::private::AssertTypeEq::<
7670 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7671 >(_) => {}
7672 }
7673 }
7674 #[automatically_derived]
7675 #[doc(hidden)]
7676 impl ::core::convert::From<initializeReturn> for UnderlyingRustTuple<'_> {
7677 fn from(value: initializeReturn) -> Self {
7678 ()
7679 }
7680 }
7681 #[automatically_derived]
7682 #[doc(hidden)]
7683 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeReturn {
7684 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7685 Self {}
7686 }
7687 }
7688 }
7689 impl initializeReturn {
7690 fn _tokenize(
7691 &self,
7692 ) -> <initializeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
7693 ()
7694 }
7695 }
7696 #[automatically_derived]
7697 impl alloy_sol_types::SolCall for initializeCall {
7698 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
7699 type Token<'a> = <Self::Parameters<
7700 'a,
7701 > as alloy_sol_types::SolType>::Token<'a>;
7702 type Return = initializeReturn;
7703 type ReturnTuple<'a> = ();
7704 type ReturnToken<'a> = <Self::ReturnTuple<
7705 'a,
7706 > as alloy_sol_types::SolType>::Token<'a>;
7707 const SIGNATURE: &'static str = "initialize(address)";
7708 const SELECTOR: [u8; 4] = [196u8, 214u8, 109u8, 232u8];
7709 #[inline]
7710 fn new<'a>(
7711 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7712 ) -> Self {
7713 tuple.into()
7714 }
7715 #[inline]
7716 fn tokenize(&self) -> Self::Token<'_> {
7717 (
7718 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7719 &self._podOwner,
7720 ),
7721 )
7722 }
7723 #[inline]
7724 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7725 initializeReturn::_tokenize(ret)
7726 }
7727 #[inline]
7728 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7729 <Self::ReturnTuple<
7730 '_,
7731 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7732 .map(Into::into)
7733 }
7734 #[inline]
7735 fn abi_decode_returns_validate(
7736 data: &[u8],
7737 ) -> alloy_sol_types::Result<Self::Return> {
7738 <Self::ReturnTuple<
7739 '_,
7740 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7741 .map(Into::into)
7742 }
7743 }
7744 };
7745 #[derive(serde::Serialize, serde::Deserialize)]
7746 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7747 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7752 #[derive(Clone)]
7753 pub struct lastCheckpointTimestampCall;
7754 #[derive(serde::Serialize, serde::Deserialize)]
7755 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7756 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7758 #[derive(Clone)]
7759 pub struct lastCheckpointTimestampReturn {
7760 #[allow(missing_docs)]
7761 pub _0: u64,
7762 }
7763 #[allow(
7764 non_camel_case_types,
7765 non_snake_case,
7766 clippy::pub_underscore_fields,
7767 clippy::style
7768 )]
7769 const _: () = {
7770 use alloy::sol_types as alloy_sol_types;
7771 {
7772 #[doc(hidden)]
7773 type UnderlyingSolTuple<'a> = ();
7774 #[doc(hidden)]
7775 type UnderlyingRustTuple<'a> = ();
7776 #[cfg(test)]
7777 #[allow(dead_code, unreachable_patterns)]
7778 fn _type_assertion(
7779 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7780 ) {
7781 match _t {
7782 alloy_sol_types::private::AssertTypeEq::<
7783 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7784 >(_) => {}
7785 }
7786 }
7787 #[automatically_derived]
7788 #[doc(hidden)]
7789 impl ::core::convert::From<lastCheckpointTimestampCall>
7790 for UnderlyingRustTuple<'_> {
7791 fn from(value: lastCheckpointTimestampCall) -> Self {
7792 ()
7793 }
7794 }
7795 #[automatically_derived]
7796 #[doc(hidden)]
7797 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7798 for lastCheckpointTimestampCall {
7799 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7800 Self
7801 }
7802 }
7803 }
7804 {
7805 #[doc(hidden)]
7806 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7807 #[doc(hidden)]
7808 type UnderlyingRustTuple<'a> = (u64,);
7809 #[cfg(test)]
7810 #[allow(dead_code, unreachable_patterns)]
7811 fn _type_assertion(
7812 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7813 ) {
7814 match _t {
7815 alloy_sol_types::private::AssertTypeEq::<
7816 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7817 >(_) => {}
7818 }
7819 }
7820 #[automatically_derived]
7821 #[doc(hidden)]
7822 impl ::core::convert::From<lastCheckpointTimestampReturn>
7823 for UnderlyingRustTuple<'_> {
7824 fn from(value: lastCheckpointTimestampReturn) -> Self {
7825 (value._0,)
7826 }
7827 }
7828 #[automatically_derived]
7829 #[doc(hidden)]
7830 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7831 for lastCheckpointTimestampReturn {
7832 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7833 Self { _0: tuple.0 }
7834 }
7835 }
7836 }
7837 #[automatically_derived]
7838 impl alloy_sol_types::SolCall for lastCheckpointTimestampCall {
7839 type Parameters<'a> = ();
7840 type Token<'a> = <Self::Parameters<
7841 'a,
7842 > as alloy_sol_types::SolType>::Token<'a>;
7843 type Return = u64;
7844 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
7845 type ReturnToken<'a> = <Self::ReturnTuple<
7846 'a,
7847 > as alloy_sol_types::SolType>::Token<'a>;
7848 const SIGNATURE: &'static str = "lastCheckpointTimestamp()";
7849 const SELECTOR: [u8; 4] = [238u8, 148u8, 214u8, 124u8];
7850 #[inline]
7851 fn new<'a>(
7852 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7853 ) -> Self {
7854 tuple.into()
7855 }
7856 #[inline]
7857 fn tokenize(&self) -> Self::Token<'_> {
7858 ()
7859 }
7860 #[inline]
7861 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7862 (
7863 <alloy::sol_types::sol_data::Uint<
7864 64,
7865 > as alloy_sol_types::SolType>::tokenize(ret),
7866 )
7867 }
7868 #[inline]
7869 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7870 <Self::ReturnTuple<
7871 '_,
7872 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7873 .map(|r| {
7874 let r: lastCheckpointTimestampReturn = r.into();
7875 r._0
7876 })
7877 }
7878 #[inline]
7879 fn abi_decode_returns_validate(
7880 data: &[u8],
7881 ) -> alloy_sol_types::Result<Self::Return> {
7882 <Self::ReturnTuple<
7883 '_,
7884 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7885 .map(|r| {
7886 let r: lastCheckpointTimestampReturn = r.into();
7887 r._0
7888 })
7889 }
7890 }
7891 };
7892 #[derive(serde::Serialize, serde::Deserialize)]
7893 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7894 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7899 #[derive(Clone)]
7900 pub struct podOwnerCall;
7901 #[derive(serde::Serialize, serde::Deserialize)]
7902 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7903 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7905 #[derive(Clone)]
7906 pub struct podOwnerReturn {
7907 #[allow(missing_docs)]
7908 pub _0: alloy::sol_types::private::Address,
7909 }
7910 #[allow(
7911 non_camel_case_types,
7912 non_snake_case,
7913 clippy::pub_underscore_fields,
7914 clippy::style
7915 )]
7916 const _: () = {
7917 use alloy::sol_types as alloy_sol_types;
7918 {
7919 #[doc(hidden)]
7920 type UnderlyingSolTuple<'a> = ();
7921 #[doc(hidden)]
7922 type UnderlyingRustTuple<'a> = ();
7923 #[cfg(test)]
7924 #[allow(dead_code, unreachable_patterns)]
7925 fn _type_assertion(
7926 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7927 ) {
7928 match _t {
7929 alloy_sol_types::private::AssertTypeEq::<
7930 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7931 >(_) => {}
7932 }
7933 }
7934 #[automatically_derived]
7935 #[doc(hidden)]
7936 impl ::core::convert::From<podOwnerCall> for UnderlyingRustTuple<'_> {
7937 fn from(value: podOwnerCall) -> Self {
7938 ()
7939 }
7940 }
7941 #[automatically_derived]
7942 #[doc(hidden)]
7943 impl ::core::convert::From<UnderlyingRustTuple<'_>> for podOwnerCall {
7944 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7945 Self
7946 }
7947 }
7948 }
7949 {
7950 #[doc(hidden)]
7951 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7952 #[doc(hidden)]
7953 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7954 #[cfg(test)]
7955 #[allow(dead_code, unreachable_patterns)]
7956 fn _type_assertion(
7957 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7958 ) {
7959 match _t {
7960 alloy_sol_types::private::AssertTypeEq::<
7961 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7962 >(_) => {}
7963 }
7964 }
7965 #[automatically_derived]
7966 #[doc(hidden)]
7967 impl ::core::convert::From<podOwnerReturn> for UnderlyingRustTuple<'_> {
7968 fn from(value: podOwnerReturn) -> Self {
7969 (value._0,)
7970 }
7971 }
7972 #[automatically_derived]
7973 #[doc(hidden)]
7974 impl ::core::convert::From<UnderlyingRustTuple<'_>> for podOwnerReturn {
7975 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7976 Self { _0: tuple.0 }
7977 }
7978 }
7979 }
7980 #[automatically_derived]
7981 impl alloy_sol_types::SolCall for podOwnerCall {
7982 type Parameters<'a> = ();
7983 type Token<'a> = <Self::Parameters<
7984 'a,
7985 > as alloy_sol_types::SolType>::Token<'a>;
7986 type Return = alloy::sol_types::private::Address;
7987 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7988 type ReturnToken<'a> = <Self::ReturnTuple<
7989 'a,
7990 > as alloy_sol_types::SolType>::Token<'a>;
7991 const SIGNATURE: &'static str = "podOwner()";
7992 const SELECTOR: [u8; 4] = [11u8, 24u8, 255u8, 102u8];
7993 #[inline]
7994 fn new<'a>(
7995 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7996 ) -> Self {
7997 tuple.into()
7998 }
7999 #[inline]
8000 fn tokenize(&self) -> Self::Token<'_> {
8001 ()
8002 }
8003 #[inline]
8004 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8005 (
8006 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8007 ret,
8008 ),
8009 )
8010 }
8011 #[inline]
8012 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8013 <Self::ReturnTuple<
8014 '_,
8015 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8016 .map(|r| {
8017 let r: podOwnerReturn = r.into();
8018 r._0
8019 })
8020 }
8021 #[inline]
8022 fn abi_decode_returns_validate(
8023 data: &[u8],
8024 ) -> alloy_sol_types::Result<Self::Return> {
8025 <Self::ReturnTuple<
8026 '_,
8027 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8028 .map(|r| {
8029 let r: podOwnerReturn = r.into();
8030 r._0
8031 })
8032 }
8033 }
8034 };
8035 #[derive(serde::Serialize, serde::Deserialize)]
8036 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8037 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8042 #[derive(Clone)]
8043 pub struct proofSubmitterCall;
8044 #[derive(serde::Serialize, serde::Deserialize)]
8045 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8046 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8048 #[derive(Clone)]
8049 pub struct proofSubmitterReturn {
8050 #[allow(missing_docs)]
8051 pub _0: alloy::sol_types::private::Address,
8052 }
8053 #[allow(
8054 non_camel_case_types,
8055 non_snake_case,
8056 clippy::pub_underscore_fields,
8057 clippy::style
8058 )]
8059 const _: () = {
8060 use alloy::sol_types as alloy_sol_types;
8061 {
8062 #[doc(hidden)]
8063 type UnderlyingSolTuple<'a> = ();
8064 #[doc(hidden)]
8065 type UnderlyingRustTuple<'a> = ();
8066 #[cfg(test)]
8067 #[allow(dead_code, unreachable_patterns)]
8068 fn _type_assertion(
8069 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8070 ) {
8071 match _t {
8072 alloy_sol_types::private::AssertTypeEq::<
8073 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8074 >(_) => {}
8075 }
8076 }
8077 #[automatically_derived]
8078 #[doc(hidden)]
8079 impl ::core::convert::From<proofSubmitterCall> for UnderlyingRustTuple<'_> {
8080 fn from(value: proofSubmitterCall) -> Self {
8081 ()
8082 }
8083 }
8084 #[automatically_derived]
8085 #[doc(hidden)]
8086 impl ::core::convert::From<UnderlyingRustTuple<'_>> for proofSubmitterCall {
8087 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8088 Self
8089 }
8090 }
8091 }
8092 {
8093 #[doc(hidden)]
8094 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8095 #[doc(hidden)]
8096 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8097 #[cfg(test)]
8098 #[allow(dead_code, unreachable_patterns)]
8099 fn _type_assertion(
8100 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8101 ) {
8102 match _t {
8103 alloy_sol_types::private::AssertTypeEq::<
8104 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8105 >(_) => {}
8106 }
8107 }
8108 #[automatically_derived]
8109 #[doc(hidden)]
8110 impl ::core::convert::From<proofSubmitterReturn>
8111 for UnderlyingRustTuple<'_> {
8112 fn from(value: proofSubmitterReturn) -> Self {
8113 (value._0,)
8114 }
8115 }
8116 #[automatically_derived]
8117 #[doc(hidden)]
8118 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8119 for proofSubmitterReturn {
8120 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8121 Self { _0: tuple.0 }
8122 }
8123 }
8124 }
8125 #[automatically_derived]
8126 impl alloy_sol_types::SolCall for proofSubmitterCall {
8127 type Parameters<'a> = ();
8128 type Token<'a> = <Self::Parameters<
8129 'a,
8130 > as alloy_sol_types::SolType>::Token<'a>;
8131 type Return = alloy::sol_types::private::Address;
8132 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
8133 type ReturnToken<'a> = <Self::ReturnTuple<
8134 'a,
8135 > as alloy_sol_types::SolType>::Token<'a>;
8136 const SIGNATURE: &'static str = "proofSubmitter()";
8137 const SELECTOR: [u8; 4] = [88u8, 117u8, 51u8, 87u8];
8138 #[inline]
8139 fn new<'a>(
8140 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8141 ) -> Self {
8142 tuple.into()
8143 }
8144 #[inline]
8145 fn tokenize(&self) -> Self::Token<'_> {
8146 ()
8147 }
8148 #[inline]
8149 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8150 (
8151 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8152 ret,
8153 ),
8154 )
8155 }
8156 #[inline]
8157 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8158 <Self::ReturnTuple<
8159 '_,
8160 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8161 .map(|r| {
8162 let r: proofSubmitterReturn = r.into();
8163 r._0
8164 })
8165 }
8166 #[inline]
8167 fn abi_decode_returns_validate(
8168 data: &[u8],
8169 ) -> alloy_sol_types::Result<Self::Return> {
8170 <Self::ReturnTuple<
8171 '_,
8172 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8173 .map(|r| {
8174 let r: proofSubmitterReturn = r.into();
8175 r._0
8176 })
8177 }
8178 }
8179 };
8180 #[derive(serde::Serialize, serde::Deserialize)]
8181 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8182 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8187 #[derive(Clone)]
8188 pub struct recoverTokensCall {
8189 #[allow(missing_docs)]
8190 pub tokenList: alloy::sol_types::private::Vec<
8191 alloy::sol_types::private::Address,
8192 >,
8193 #[allow(missing_docs)]
8194 pub amountsToWithdraw: alloy::sol_types::private::Vec<
8195 alloy::sol_types::private::primitives::aliases::U256,
8196 >,
8197 #[allow(missing_docs)]
8198 pub recipient: alloy::sol_types::private::Address,
8199 }
8200 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8202 #[derive(Clone)]
8203 pub struct recoverTokensReturn {}
8204 #[allow(
8205 non_camel_case_types,
8206 non_snake_case,
8207 clippy::pub_underscore_fields,
8208 clippy::style
8209 )]
8210 const _: () = {
8211 use alloy::sol_types as alloy_sol_types;
8212 {
8213 #[doc(hidden)]
8214 type UnderlyingSolTuple<'a> = (
8215 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8216 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
8217 alloy::sol_types::sol_data::Address,
8218 );
8219 #[doc(hidden)]
8220 type UnderlyingRustTuple<'a> = (
8221 alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
8222 alloy::sol_types::private::Vec<
8223 alloy::sol_types::private::primitives::aliases::U256,
8224 >,
8225 alloy::sol_types::private::Address,
8226 );
8227 #[cfg(test)]
8228 #[allow(dead_code, unreachable_patterns)]
8229 fn _type_assertion(
8230 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8231 ) {
8232 match _t {
8233 alloy_sol_types::private::AssertTypeEq::<
8234 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8235 >(_) => {}
8236 }
8237 }
8238 #[automatically_derived]
8239 #[doc(hidden)]
8240 impl ::core::convert::From<recoverTokensCall> for UnderlyingRustTuple<'_> {
8241 fn from(value: recoverTokensCall) -> Self {
8242 (value.tokenList, value.amountsToWithdraw, value.recipient)
8243 }
8244 }
8245 #[automatically_derived]
8246 #[doc(hidden)]
8247 impl ::core::convert::From<UnderlyingRustTuple<'_>> for recoverTokensCall {
8248 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8249 Self {
8250 tokenList: tuple.0,
8251 amountsToWithdraw: tuple.1,
8252 recipient: tuple.2,
8253 }
8254 }
8255 }
8256 }
8257 {
8258 #[doc(hidden)]
8259 type UnderlyingSolTuple<'a> = ();
8260 #[doc(hidden)]
8261 type UnderlyingRustTuple<'a> = ();
8262 #[cfg(test)]
8263 #[allow(dead_code, unreachable_patterns)]
8264 fn _type_assertion(
8265 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8266 ) {
8267 match _t {
8268 alloy_sol_types::private::AssertTypeEq::<
8269 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8270 >(_) => {}
8271 }
8272 }
8273 #[automatically_derived]
8274 #[doc(hidden)]
8275 impl ::core::convert::From<recoverTokensReturn> for UnderlyingRustTuple<'_> {
8276 fn from(value: recoverTokensReturn) -> Self {
8277 ()
8278 }
8279 }
8280 #[automatically_derived]
8281 #[doc(hidden)]
8282 impl ::core::convert::From<UnderlyingRustTuple<'_>> for recoverTokensReturn {
8283 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8284 Self {}
8285 }
8286 }
8287 }
8288 impl recoverTokensReturn {
8289 fn _tokenize(
8290 &self,
8291 ) -> <recoverTokensCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8292 ()
8293 }
8294 }
8295 #[automatically_derived]
8296 impl alloy_sol_types::SolCall for recoverTokensCall {
8297 type Parameters<'a> = (
8298 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8299 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
8300 alloy::sol_types::sol_data::Address,
8301 );
8302 type Token<'a> = <Self::Parameters<
8303 'a,
8304 > as alloy_sol_types::SolType>::Token<'a>;
8305 type Return = recoverTokensReturn;
8306 type ReturnTuple<'a> = ();
8307 type ReturnToken<'a> = <Self::ReturnTuple<
8308 'a,
8309 > as alloy_sol_types::SolType>::Token<'a>;
8310 const SIGNATURE: &'static str = "recoverTokens(address[],uint256[],address)";
8311 const SELECTOR: [u8; 4] = [221u8, 163u8, 52u8, 108u8];
8312 #[inline]
8313 fn new<'a>(
8314 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8315 ) -> Self {
8316 tuple.into()
8317 }
8318 #[inline]
8319 fn tokenize(&self) -> Self::Token<'_> {
8320 (
8321 <alloy::sol_types::sol_data::Array<
8322 alloy::sol_types::sol_data::Address,
8323 > as alloy_sol_types::SolType>::tokenize(&self.tokenList),
8324 <alloy::sol_types::sol_data::Array<
8325 alloy::sol_types::sol_data::Uint<256>,
8326 > as alloy_sol_types::SolType>::tokenize(&self.amountsToWithdraw),
8327 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8328 &self.recipient,
8329 ),
8330 )
8331 }
8332 #[inline]
8333 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8334 recoverTokensReturn::_tokenize(ret)
8335 }
8336 #[inline]
8337 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8338 <Self::ReturnTuple<
8339 '_,
8340 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8341 .map(Into::into)
8342 }
8343 #[inline]
8344 fn abi_decode_returns_validate(
8345 data: &[u8],
8346 ) -> alloy_sol_types::Result<Self::Return> {
8347 <Self::ReturnTuple<
8348 '_,
8349 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8350 .map(Into::into)
8351 }
8352 }
8353 };
8354 #[derive(serde::Serialize, serde::Deserialize)]
8355 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8356 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8361 #[derive(Clone)]
8362 pub struct setProofSubmitterCall {
8363 #[allow(missing_docs)]
8364 pub newProofSubmitter: alloy::sol_types::private::Address,
8365 }
8366 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8368 #[derive(Clone)]
8369 pub struct setProofSubmitterReturn {}
8370 #[allow(
8371 non_camel_case_types,
8372 non_snake_case,
8373 clippy::pub_underscore_fields,
8374 clippy::style
8375 )]
8376 const _: () = {
8377 use alloy::sol_types as alloy_sol_types;
8378 {
8379 #[doc(hidden)]
8380 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8381 #[doc(hidden)]
8382 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8383 #[cfg(test)]
8384 #[allow(dead_code, unreachable_patterns)]
8385 fn _type_assertion(
8386 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8387 ) {
8388 match _t {
8389 alloy_sol_types::private::AssertTypeEq::<
8390 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8391 >(_) => {}
8392 }
8393 }
8394 #[automatically_derived]
8395 #[doc(hidden)]
8396 impl ::core::convert::From<setProofSubmitterCall>
8397 for UnderlyingRustTuple<'_> {
8398 fn from(value: setProofSubmitterCall) -> Self {
8399 (value.newProofSubmitter,)
8400 }
8401 }
8402 #[automatically_derived]
8403 #[doc(hidden)]
8404 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8405 for setProofSubmitterCall {
8406 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8407 Self { newProofSubmitter: tuple.0 }
8408 }
8409 }
8410 }
8411 {
8412 #[doc(hidden)]
8413 type UnderlyingSolTuple<'a> = ();
8414 #[doc(hidden)]
8415 type UnderlyingRustTuple<'a> = ();
8416 #[cfg(test)]
8417 #[allow(dead_code, unreachable_patterns)]
8418 fn _type_assertion(
8419 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8420 ) {
8421 match _t {
8422 alloy_sol_types::private::AssertTypeEq::<
8423 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8424 >(_) => {}
8425 }
8426 }
8427 #[automatically_derived]
8428 #[doc(hidden)]
8429 impl ::core::convert::From<setProofSubmitterReturn>
8430 for UnderlyingRustTuple<'_> {
8431 fn from(value: setProofSubmitterReturn) -> Self {
8432 ()
8433 }
8434 }
8435 #[automatically_derived]
8436 #[doc(hidden)]
8437 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8438 for setProofSubmitterReturn {
8439 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8440 Self {}
8441 }
8442 }
8443 }
8444 impl setProofSubmitterReturn {
8445 fn _tokenize(
8446 &self,
8447 ) -> <setProofSubmitterCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8448 ()
8449 }
8450 }
8451 #[automatically_derived]
8452 impl alloy_sol_types::SolCall for setProofSubmitterCall {
8453 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8454 type Token<'a> = <Self::Parameters<
8455 'a,
8456 > as alloy_sol_types::SolType>::Token<'a>;
8457 type Return = setProofSubmitterReturn;
8458 type ReturnTuple<'a> = ();
8459 type ReturnToken<'a> = <Self::ReturnTuple<
8460 'a,
8461 > as alloy_sol_types::SolType>::Token<'a>;
8462 const SIGNATURE: &'static str = "setProofSubmitter(address)";
8463 const SELECTOR: [u8; 4] = [208u8, 109u8, 85u8, 135u8];
8464 #[inline]
8465 fn new<'a>(
8466 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8467 ) -> Self {
8468 tuple.into()
8469 }
8470 #[inline]
8471 fn tokenize(&self) -> Self::Token<'_> {
8472 (
8473 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8474 &self.newProofSubmitter,
8475 ),
8476 )
8477 }
8478 #[inline]
8479 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8480 setProofSubmitterReturn::_tokenize(ret)
8481 }
8482 #[inline]
8483 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8484 <Self::ReturnTuple<
8485 '_,
8486 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8487 .map(Into::into)
8488 }
8489 #[inline]
8490 fn abi_decode_returns_validate(
8491 data: &[u8],
8492 ) -> alloy_sol_types::Result<Self::Return> {
8493 <Self::ReturnTuple<
8494 '_,
8495 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8496 .map(Into::into)
8497 }
8498 }
8499 };
8500 #[derive(serde::Serialize, serde::Deserialize)]
8501 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8502 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8507 #[derive(Clone)]
8508 pub struct stakeCall {
8509 #[allow(missing_docs)]
8510 pub pubkey: alloy::sol_types::private::Bytes,
8511 #[allow(missing_docs)]
8512 pub signature: alloy::sol_types::private::Bytes,
8513 #[allow(missing_docs)]
8514 pub depositDataRoot: alloy::sol_types::private::FixedBytes<32>,
8515 }
8516 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8518 #[derive(Clone)]
8519 pub struct stakeReturn {}
8520 #[allow(
8521 non_camel_case_types,
8522 non_snake_case,
8523 clippy::pub_underscore_fields,
8524 clippy::style
8525 )]
8526 const _: () = {
8527 use alloy::sol_types as alloy_sol_types;
8528 {
8529 #[doc(hidden)]
8530 type UnderlyingSolTuple<'a> = (
8531 alloy::sol_types::sol_data::Bytes,
8532 alloy::sol_types::sol_data::Bytes,
8533 alloy::sol_types::sol_data::FixedBytes<32>,
8534 );
8535 #[doc(hidden)]
8536 type UnderlyingRustTuple<'a> = (
8537 alloy::sol_types::private::Bytes,
8538 alloy::sol_types::private::Bytes,
8539 alloy::sol_types::private::FixedBytes<32>,
8540 );
8541 #[cfg(test)]
8542 #[allow(dead_code, unreachable_patterns)]
8543 fn _type_assertion(
8544 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8545 ) {
8546 match _t {
8547 alloy_sol_types::private::AssertTypeEq::<
8548 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8549 >(_) => {}
8550 }
8551 }
8552 #[automatically_derived]
8553 #[doc(hidden)]
8554 impl ::core::convert::From<stakeCall> for UnderlyingRustTuple<'_> {
8555 fn from(value: stakeCall) -> Self {
8556 (value.pubkey, value.signature, value.depositDataRoot)
8557 }
8558 }
8559 #[automatically_derived]
8560 #[doc(hidden)]
8561 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeCall {
8562 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8563 Self {
8564 pubkey: tuple.0,
8565 signature: tuple.1,
8566 depositDataRoot: tuple.2,
8567 }
8568 }
8569 }
8570 }
8571 {
8572 #[doc(hidden)]
8573 type UnderlyingSolTuple<'a> = ();
8574 #[doc(hidden)]
8575 type UnderlyingRustTuple<'a> = ();
8576 #[cfg(test)]
8577 #[allow(dead_code, unreachable_patterns)]
8578 fn _type_assertion(
8579 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8580 ) {
8581 match _t {
8582 alloy_sol_types::private::AssertTypeEq::<
8583 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8584 >(_) => {}
8585 }
8586 }
8587 #[automatically_derived]
8588 #[doc(hidden)]
8589 impl ::core::convert::From<stakeReturn> for UnderlyingRustTuple<'_> {
8590 fn from(value: stakeReturn) -> Self {
8591 ()
8592 }
8593 }
8594 #[automatically_derived]
8595 #[doc(hidden)]
8596 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeReturn {
8597 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8598 Self {}
8599 }
8600 }
8601 }
8602 impl stakeReturn {
8603 fn _tokenize(
8604 &self,
8605 ) -> <stakeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8606 ()
8607 }
8608 }
8609 #[automatically_derived]
8610 impl alloy_sol_types::SolCall for stakeCall {
8611 type Parameters<'a> = (
8612 alloy::sol_types::sol_data::Bytes,
8613 alloy::sol_types::sol_data::Bytes,
8614 alloy::sol_types::sol_data::FixedBytes<32>,
8615 );
8616 type Token<'a> = <Self::Parameters<
8617 'a,
8618 > as alloy_sol_types::SolType>::Token<'a>;
8619 type Return = stakeReturn;
8620 type ReturnTuple<'a> = ();
8621 type ReturnToken<'a> = <Self::ReturnTuple<
8622 'a,
8623 > as alloy_sol_types::SolType>::Token<'a>;
8624 const SIGNATURE: &'static str = "stake(bytes,bytes,bytes32)";
8625 const SELECTOR: [u8; 4] = [155u8, 78u8, 70u8, 52u8];
8626 #[inline]
8627 fn new<'a>(
8628 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8629 ) -> Self {
8630 tuple.into()
8631 }
8632 #[inline]
8633 fn tokenize(&self) -> Self::Token<'_> {
8634 (
8635 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8636 &self.pubkey,
8637 ),
8638 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8639 &self.signature,
8640 ),
8641 <alloy::sol_types::sol_data::FixedBytes<
8642 32,
8643 > as alloy_sol_types::SolType>::tokenize(&self.depositDataRoot),
8644 )
8645 }
8646 #[inline]
8647 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8648 stakeReturn::_tokenize(ret)
8649 }
8650 #[inline]
8651 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8652 <Self::ReturnTuple<
8653 '_,
8654 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8655 .map(Into::into)
8656 }
8657 #[inline]
8658 fn abi_decode_returns_validate(
8659 data: &[u8],
8660 ) -> alloy_sol_types::Result<Self::Return> {
8661 <Self::ReturnTuple<
8662 '_,
8663 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8664 .map(Into::into)
8665 }
8666 }
8667 };
8668 #[derive(serde::Serialize, serde::Deserialize)]
8669 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8670 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8675 #[derive(Clone)]
8676 pub struct startCheckpointCall {
8677 #[allow(missing_docs)]
8678 pub revertIfNoBalance: bool,
8679 }
8680 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8682 #[derive(Clone)]
8683 pub struct startCheckpointReturn {}
8684 #[allow(
8685 non_camel_case_types,
8686 non_snake_case,
8687 clippy::pub_underscore_fields,
8688 clippy::style
8689 )]
8690 const _: () = {
8691 use alloy::sol_types as alloy_sol_types;
8692 {
8693 #[doc(hidden)]
8694 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
8695 #[doc(hidden)]
8696 type UnderlyingRustTuple<'a> = (bool,);
8697 #[cfg(test)]
8698 #[allow(dead_code, unreachable_patterns)]
8699 fn _type_assertion(
8700 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8701 ) {
8702 match _t {
8703 alloy_sol_types::private::AssertTypeEq::<
8704 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8705 >(_) => {}
8706 }
8707 }
8708 #[automatically_derived]
8709 #[doc(hidden)]
8710 impl ::core::convert::From<startCheckpointCall> for UnderlyingRustTuple<'_> {
8711 fn from(value: startCheckpointCall) -> Self {
8712 (value.revertIfNoBalance,)
8713 }
8714 }
8715 #[automatically_derived]
8716 #[doc(hidden)]
8717 impl ::core::convert::From<UnderlyingRustTuple<'_>> for startCheckpointCall {
8718 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8719 Self { revertIfNoBalance: tuple.0 }
8720 }
8721 }
8722 }
8723 {
8724 #[doc(hidden)]
8725 type UnderlyingSolTuple<'a> = ();
8726 #[doc(hidden)]
8727 type UnderlyingRustTuple<'a> = ();
8728 #[cfg(test)]
8729 #[allow(dead_code, unreachable_patterns)]
8730 fn _type_assertion(
8731 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8732 ) {
8733 match _t {
8734 alloy_sol_types::private::AssertTypeEq::<
8735 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8736 >(_) => {}
8737 }
8738 }
8739 #[automatically_derived]
8740 #[doc(hidden)]
8741 impl ::core::convert::From<startCheckpointReturn>
8742 for UnderlyingRustTuple<'_> {
8743 fn from(value: startCheckpointReturn) -> Self {
8744 ()
8745 }
8746 }
8747 #[automatically_derived]
8748 #[doc(hidden)]
8749 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8750 for startCheckpointReturn {
8751 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8752 Self {}
8753 }
8754 }
8755 }
8756 impl startCheckpointReturn {
8757 fn _tokenize(
8758 &self,
8759 ) -> <startCheckpointCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8760 ()
8761 }
8762 }
8763 #[automatically_derived]
8764 impl alloy_sol_types::SolCall for startCheckpointCall {
8765 type Parameters<'a> = (alloy::sol_types::sol_data::Bool,);
8766 type Token<'a> = <Self::Parameters<
8767 'a,
8768 > as alloy_sol_types::SolType>::Token<'a>;
8769 type Return = startCheckpointReturn;
8770 type ReturnTuple<'a> = ();
8771 type ReturnToken<'a> = <Self::ReturnTuple<
8772 'a,
8773 > as alloy_sol_types::SolType>::Token<'a>;
8774 const SIGNATURE: &'static str = "startCheckpoint(bool)";
8775 const SELECTOR: [u8; 4] = [136u8, 103u8, 108u8, 173u8];
8776 #[inline]
8777 fn new<'a>(
8778 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8779 ) -> Self {
8780 tuple.into()
8781 }
8782 #[inline]
8783 fn tokenize(&self) -> Self::Token<'_> {
8784 (
8785 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
8786 &self.revertIfNoBalance,
8787 ),
8788 )
8789 }
8790 #[inline]
8791 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8792 startCheckpointReturn::_tokenize(ret)
8793 }
8794 #[inline]
8795 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8796 <Self::ReturnTuple<
8797 '_,
8798 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8799 .map(Into::into)
8800 }
8801 #[inline]
8802 fn abi_decode_returns_validate(
8803 data: &[u8],
8804 ) -> alloy_sol_types::Result<Self::Return> {
8805 <Self::ReturnTuple<
8806 '_,
8807 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8808 .map(Into::into)
8809 }
8810 }
8811 };
8812 #[derive(serde::Serialize, serde::Deserialize)]
8813 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8814 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8819 #[derive(Clone)]
8820 pub struct validatorPubkeyHashToInfoCall {
8821 #[allow(missing_docs)]
8822 pub validatorPubkeyHash: alloy::sol_types::private::FixedBytes<32>,
8823 }
8824 #[derive(serde::Serialize, serde::Deserialize)]
8825 #[derive()]
8826 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8828 #[derive(Clone)]
8829 pub struct validatorPubkeyHashToInfoReturn {
8830 #[allow(missing_docs)]
8831 pub _0: <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType,
8832 }
8833 #[allow(
8834 non_camel_case_types,
8835 non_snake_case,
8836 clippy::pub_underscore_fields,
8837 clippy::style
8838 )]
8839 const _: () = {
8840 use alloy::sol_types as alloy_sol_types;
8841 {
8842 #[doc(hidden)]
8843 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8844 #[doc(hidden)]
8845 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
8846 #[cfg(test)]
8847 #[allow(dead_code, unreachable_patterns)]
8848 fn _type_assertion(
8849 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8850 ) {
8851 match _t {
8852 alloy_sol_types::private::AssertTypeEq::<
8853 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8854 >(_) => {}
8855 }
8856 }
8857 #[automatically_derived]
8858 #[doc(hidden)]
8859 impl ::core::convert::From<validatorPubkeyHashToInfoCall>
8860 for UnderlyingRustTuple<'_> {
8861 fn from(value: validatorPubkeyHashToInfoCall) -> Self {
8862 (value.validatorPubkeyHash,)
8863 }
8864 }
8865 #[automatically_derived]
8866 #[doc(hidden)]
8867 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8868 for validatorPubkeyHashToInfoCall {
8869 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8870 Self {
8871 validatorPubkeyHash: tuple.0,
8872 }
8873 }
8874 }
8875 }
8876 {
8877 #[doc(hidden)]
8878 type UnderlyingSolTuple<'a> = (IEigenPodTypes::ValidatorInfo,);
8879 #[doc(hidden)]
8880 type UnderlyingRustTuple<'a> = (
8881 <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType,
8882 );
8883 #[cfg(test)]
8884 #[allow(dead_code, unreachable_patterns)]
8885 fn _type_assertion(
8886 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8887 ) {
8888 match _t {
8889 alloy_sol_types::private::AssertTypeEq::<
8890 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8891 >(_) => {}
8892 }
8893 }
8894 #[automatically_derived]
8895 #[doc(hidden)]
8896 impl ::core::convert::From<validatorPubkeyHashToInfoReturn>
8897 for UnderlyingRustTuple<'_> {
8898 fn from(value: validatorPubkeyHashToInfoReturn) -> Self {
8899 (value._0,)
8900 }
8901 }
8902 #[automatically_derived]
8903 #[doc(hidden)]
8904 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8905 for validatorPubkeyHashToInfoReturn {
8906 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8907 Self { _0: tuple.0 }
8908 }
8909 }
8910 }
8911 #[automatically_derived]
8912 impl alloy_sol_types::SolCall for validatorPubkeyHashToInfoCall {
8913 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8914 type Token<'a> = <Self::Parameters<
8915 'a,
8916 > as alloy_sol_types::SolType>::Token<'a>;
8917 type Return = <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType;
8918 type ReturnTuple<'a> = (IEigenPodTypes::ValidatorInfo,);
8919 type ReturnToken<'a> = <Self::ReturnTuple<
8920 'a,
8921 > as alloy_sol_types::SolType>::Token<'a>;
8922 const SIGNATURE: &'static str = "validatorPubkeyHashToInfo(bytes32)";
8923 const SELECTOR: [u8; 4] = [111u8, 205u8, 14u8, 83u8];
8924 #[inline]
8925 fn new<'a>(
8926 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8927 ) -> Self {
8928 tuple.into()
8929 }
8930 #[inline]
8931 fn tokenize(&self) -> Self::Token<'_> {
8932 (
8933 <alloy::sol_types::sol_data::FixedBytes<
8934 32,
8935 > as alloy_sol_types::SolType>::tokenize(&self.validatorPubkeyHash),
8936 )
8937 }
8938 #[inline]
8939 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8940 (
8941 <IEigenPodTypes::ValidatorInfo as alloy_sol_types::SolType>::tokenize(
8942 ret,
8943 ),
8944 )
8945 }
8946 #[inline]
8947 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8948 <Self::ReturnTuple<
8949 '_,
8950 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8951 .map(|r| {
8952 let r: validatorPubkeyHashToInfoReturn = r.into();
8953 r._0
8954 })
8955 }
8956 #[inline]
8957 fn abi_decode_returns_validate(
8958 data: &[u8],
8959 ) -> alloy_sol_types::Result<Self::Return> {
8960 <Self::ReturnTuple<
8961 '_,
8962 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8963 .map(|r| {
8964 let r: validatorPubkeyHashToInfoReturn = r.into();
8965 r._0
8966 })
8967 }
8968 }
8969 };
8970 #[derive(serde::Serialize, serde::Deserialize)]
8971 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8972 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8977 #[derive(Clone)]
8978 pub struct validatorPubkeyToInfoCall {
8979 #[allow(missing_docs)]
8980 pub validatorPubkey: alloy::sol_types::private::Bytes,
8981 }
8982 #[derive(serde::Serialize, serde::Deserialize)]
8983 #[derive()]
8984 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8986 #[derive(Clone)]
8987 pub struct validatorPubkeyToInfoReturn {
8988 #[allow(missing_docs)]
8989 pub _0: <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType,
8990 }
8991 #[allow(
8992 non_camel_case_types,
8993 non_snake_case,
8994 clippy::pub_underscore_fields,
8995 clippy::style
8996 )]
8997 const _: () = {
8998 use alloy::sol_types as alloy_sol_types;
8999 {
9000 #[doc(hidden)]
9001 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bytes,);
9002 #[doc(hidden)]
9003 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Bytes,);
9004 #[cfg(test)]
9005 #[allow(dead_code, unreachable_patterns)]
9006 fn _type_assertion(
9007 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9008 ) {
9009 match _t {
9010 alloy_sol_types::private::AssertTypeEq::<
9011 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9012 >(_) => {}
9013 }
9014 }
9015 #[automatically_derived]
9016 #[doc(hidden)]
9017 impl ::core::convert::From<validatorPubkeyToInfoCall>
9018 for UnderlyingRustTuple<'_> {
9019 fn from(value: validatorPubkeyToInfoCall) -> Self {
9020 (value.validatorPubkey,)
9021 }
9022 }
9023 #[automatically_derived]
9024 #[doc(hidden)]
9025 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9026 for validatorPubkeyToInfoCall {
9027 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9028 Self { validatorPubkey: tuple.0 }
9029 }
9030 }
9031 }
9032 {
9033 #[doc(hidden)]
9034 type UnderlyingSolTuple<'a> = (IEigenPodTypes::ValidatorInfo,);
9035 #[doc(hidden)]
9036 type UnderlyingRustTuple<'a> = (
9037 <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType,
9038 );
9039 #[cfg(test)]
9040 #[allow(dead_code, unreachable_patterns)]
9041 fn _type_assertion(
9042 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9043 ) {
9044 match _t {
9045 alloy_sol_types::private::AssertTypeEq::<
9046 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9047 >(_) => {}
9048 }
9049 }
9050 #[automatically_derived]
9051 #[doc(hidden)]
9052 impl ::core::convert::From<validatorPubkeyToInfoReturn>
9053 for UnderlyingRustTuple<'_> {
9054 fn from(value: validatorPubkeyToInfoReturn) -> Self {
9055 (value._0,)
9056 }
9057 }
9058 #[automatically_derived]
9059 #[doc(hidden)]
9060 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9061 for validatorPubkeyToInfoReturn {
9062 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9063 Self { _0: tuple.0 }
9064 }
9065 }
9066 }
9067 #[automatically_derived]
9068 impl alloy_sol_types::SolCall for validatorPubkeyToInfoCall {
9069 type Parameters<'a> = (alloy::sol_types::sol_data::Bytes,);
9070 type Token<'a> = <Self::Parameters<
9071 'a,
9072 > as alloy_sol_types::SolType>::Token<'a>;
9073 type Return = <IEigenPodTypes::ValidatorInfo as alloy::sol_types::SolType>::RustType;
9074 type ReturnTuple<'a> = (IEigenPodTypes::ValidatorInfo,);
9075 type ReturnToken<'a> = <Self::ReturnTuple<
9076 'a,
9077 > as alloy_sol_types::SolType>::Token<'a>;
9078 const SIGNATURE: &'static str = "validatorPubkeyToInfo(bytes)";
9079 const SELECTOR: [u8; 4] = [181u8, 34u8, 83u8, 138u8];
9080 #[inline]
9081 fn new<'a>(
9082 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9083 ) -> Self {
9084 tuple.into()
9085 }
9086 #[inline]
9087 fn tokenize(&self) -> Self::Token<'_> {
9088 (
9089 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
9090 &self.validatorPubkey,
9091 ),
9092 )
9093 }
9094 #[inline]
9095 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9096 (
9097 <IEigenPodTypes::ValidatorInfo as alloy_sol_types::SolType>::tokenize(
9098 ret,
9099 ),
9100 )
9101 }
9102 #[inline]
9103 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9104 <Self::ReturnTuple<
9105 '_,
9106 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9107 .map(|r| {
9108 let r: validatorPubkeyToInfoReturn = r.into();
9109 r._0
9110 })
9111 }
9112 #[inline]
9113 fn abi_decode_returns_validate(
9114 data: &[u8],
9115 ) -> alloy_sol_types::Result<Self::Return> {
9116 <Self::ReturnTuple<
9117 '_,
9118 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9119 .map(|r| {
9120 let r: validatorPubkeyToInfoReturn = r.into();
9121 r._0
9122 })
9123 }
9124 }
9125 };
9126 #[derive(serde::Serialize, serde::Deserialize)]
9127 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9128 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9133 #[derive(Clone)]
9134 pub struct validatorStatus_0Call {
9135 #[allow(missing_docs)]
9136 pub validatorPubkey: alloy::sol_types::private::Bytes,
9137 }
9138 #[derive(serde::Serialize, serde::Deserialize)]
9139 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9140 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9142 #[derive(Clone)]
9143 pub struct validatorStatus_0Return {
9144 #[allow(missing_docs)]
9145 pub _0: <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
9146 }
9147 #[allow(
9148 non_camel_case_types,
9149 non_snake_case,
9150 clippy::pub_underscore_fields,
9151 clippy::style
9152 )]
9153 const _: () = {
9154 use alloy::sol_types as alloy_sol_types;
9155 {
9156 #[doc(hidden)]
9157 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bytes,);
9158 #[doc(hidden)]
9159 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Bytes,);
9160 #[cfg(test)]
9161 #[allow(dead_code, unreachable_patterns)]
9162 fn _type_assertion(
9163 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9164 ) {
9165 match _t {
9166 alloy_sol_types::private::AssertTypeEq::<
9167 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9168 >(_) => {}
9169 }
9170 }
9171 #[automatically_derived]
9172 #[doc(hidden)]
9173 impl ::core::convert::From<validatorStatus_0Call>
9174 for UnderlyingRustTuple<'_> {
9175 fn from(value: validatorStatus_0Call) -> Self {
9176 (value.validatorPubkey,)
9177 }
9178 }
9179 #[automatically_derived]
9180 #[doc(hidden)]
9181 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9182 for validatorStatus_0Call {
9183 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9184 Self { validatorPubkey: tuple.0 }
9185 }
9186 }
9187 }
9188 {
9189 #[doc(hidden)]
9190 type UnderlyingSolTuple<'a> = (IEigenPodTypes::VALIDATOR_STATUS,);
9191 #[doc(hidden)]
9192 type UnderlyingRustTuple<'a> = (
9193 <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
9194 );
9195 #[cfg(test)]
9196 #[allow(dead_code, unreachable_patterns)]
9197 fn _type_assertion(
9198 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9199 ) {
9200 match _t {
9201 alloy_sol_types::private::AssertTypeEq::<
9202 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9203 >(_) => {}
9204 }
9205 }
9206 #[automatically_derived]
9207 #[doc(hidden)]
9208 impl ::core::convert::From<validatorStatus_0Return>
9209 for UnderlyingRustTuple<'_> {
9210 fn from(value: validatorStatus_0Return) -> Self {
9211 (value._0,)
9212 }
9213 }
9214 #[automatically_derived]
9215 #[doc(hidden)]
9216 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9217 for validatorStatus_0Return {
9218 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9219 Self { _0: tuple.0 }
9220 }
9221 }
9222 }
9223 #[automatically_derived]
9224 impl alloy_sol_types::SolCall for validatorStatus_0Call {
9225 type Parameters<'a> = (alloy::sol_types::sol_data::Bytes,);
9226 type Token<'a> = <Self::Parameters<
9227 'a,
9228 > as alloy_sol_types::SolType>::Token<'a>;
9229 type Return = <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType;
9230 type ReturnTuple<'a> = (IEigenPodTypes::VALIDATOR_STATUS,);
9231 type ReturnToken<'a> = <Self::ReturnTuple<
9232 'a,
9233 > as alloy_sol_types::SolType>::Token<'a>;
9234 const SIGNATURE: &'static str = "validatorStatus(bytes)";
9235 const SELECTOR: [u8; 4] = [88u8, 234u8, 238u8, 121u8];
9236 #[inline]
9237 fn new<'a>(
9238 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9239 ) -> Self {
9240 tuple.into()
9241 }
9242 #[inline]
9243 fn tokenize(&self) -> Self::Token<'_> {
9244 (
9245 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
9246 &self.validatorPubkey,
9247 ),
9248 )
9249 }
9250 #[inline]
9251 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9252 (
9253 <IEigenPodTypes::VALIDATOR_STATUS as alloy_sol_types::SolType>::tokenize(
9254 ret,
9255 ),
9256 )
9257 }
9258 #[inline]
9259 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9260 <Self::ReturnTuple<
9261 '_,
9262 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9263 .map(|r| {
9264 let r: validatorStatus_0Return = r.into();
9265 r._0
9266 })
9267 }
9268 #[inline]
9269 fn abi_decode_returns_validate(
9270 data: &[u8],
9271 ) -> alloy_sol_types::Result<Self::Return> {
9272 <Self::ReturnTuple<
9273 '_,
9274 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9275 .map(|r| {
9276 let r: validatorStatus_0Return = r.into();
9277 r._0
9278 })
9279 }
9280 }
9281 };
9282 #[derive(serde::Serialize, serde::Deserialize)]
9283 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9284 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9289 #[derive(Clone)]
9290 pub struct validatorStatus_1Call {
9291 #[allow(missing_docs)]
9292 pub pubkeyHash: alloy::sol_types::private::FixedBytes<32>,
9293 }
9294 #[derive(serde::Serialize, serde::Deserialize)]
9295 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9296 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9298 #[derive(Clone)]
9299 pub struct validatorStatus_1Return {
9300 #[allow(missing_docs)]
9301 pub _0: <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
9302 }
9303 #[allow(
9304 non_camel_case_types,
9305 non_snake_case,
9306 clippy::pub_underscore_fields,
9307 clippy::style
9308 )]
9309 const _: () = {
9310 use alloy::sol_types as alloy_sol_types;
9311 {
9312 #[doc(hidden)]
9313 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
9314 #[doc(hidden)]
9315 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
9316 #[cfg(test)]
9317 #[allow(dead_code, unreachable_patterns)]
9318 fn _type_assertion(
9319 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9320 ) {
9321 match _t {
9322 alloy_sol_types::private::AssertTypeEq::<
9323 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9324 >(_) => {}
9325 }
9326 }
9327 #[automatically_derived]
9328 #[doc(hidden)]
9329 impl ::core::convert::From<validatorStatus_1Call>
9330 for UnderlyingRustTuple<'_> {
9331 fn from(value: validatorStatus_1Call) -> Self {
9332 (value.pubkeyHash,)
9333 }
9334 }
9335 #[automatically_derived]
9336 #[doc(hidden)]
9337 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9338 for validatorStatus_1Call {
9339 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9340 Self { pubkeyHash: tuple.0 }
9341 }
9342 }
9343 }
9344 {
9345 #[doc(hidden)]
9346 type UnderlyingSolTuple<'a> = (IEigenPodTypes::VALIDATOR_STATUS,);
9347 #[doc(hidden)]
9348 type UnderlyingRustTuple<'a> = (
9349 <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType,
9350 );
9351 #[cfg(test)]
9352 #[allow(dead_code, unreachable_patterns)]
9353 fn _type_assertion(
9354 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9355 ) {
9356 match _t {
9357 alloy_sol_types::private::AssertTypeEq::<
9358 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9359 >(_) => {}
9360 }
9361 }
9362 #[automatically_derived]
9363 #[doc(hidden)]
9364 impl ::core::convert::From<validatorStatus_1Return>
9365 for UnderlyingRustTuple<'_> {
9366 fn from(value: validatorStatus_1Return) -> Self {
9367 (value._0,)
9368 }
9369 }
9370 #[automatically_derived]
9371 #[doc(hidden)]
9372 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9373 for validatorStatus_1Return {
9374 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9375 Self { _0: tuple.0 }
9376 }
9377 }
9378 }
9379 #[automatically_derived]
9380 impl alloy_sol_types::SolCall for validatorStatus_1Call {
9381 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
9382 type Token<'a> = <Self::Parameters<
9383 'a,
9384 > as alloy_sol_types::SolType>::Token<'a>;
9385 type Return = <IEigenPodTypes::VALIDATOR_STATUS as alloy::sol_types::SolType>::RustType;
9386 type ReturnTuple<'a> = (IEigenPodTypes::VALIDATOR_STATUS,);
9387 type ReturnToken<'a> = <Self::ReturnTuple<
9388 'a,
9389 > as alloy_sol_types::SolType>::Token<'a>;
9390 const SIGNATURE: &'static str = "validatorStatus(bytes32)";
9391 const SELECTOR: [u8; 4] = [116u8, 57u8, 132u8, 31u8];
9392 #[inline]
9393 fn new<'a>(
9394 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9395 ) -> Self {
9396 tuple.into()
9397 }
9398 #[inline]
9399 fn tokenize(&self) -> Self::Token<'_> {
9400 (
9401 <alloy::sol_types::sol_data::FixedBytes<
9402 32,
9403 > as alloy_sol_types::SolType>::tokenize(&self.pubkeyHash),
9404 )
9405 }
9406 #[inline]
9407 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9408 (
9409 <IEigenPodTypes::VALIDATOR_STATUS as alloy_sol_types::SolType>::tokenize(
9410 ret,
9411 ),
9412 )
9413 }
9414 #[inline]
9415 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9416 <Self::ReturnTuple<
9417 '_,
9418 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9419 .map(|r| {
9420 let r: validatorStatus_1Return = r.into();
9421 r._0
9422 })
9423 }
9424 #[inline]
9425 fn abi_decode_returns_validate(
9426 data: &[u8],
9427 ) -> alloy_sol_types::Result<Self::Return> {
9428 <Self::ReturnTuple<
9429 '_,
9430 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9431 .map(|r| {
9432 let r: validatorStatus_1Return = r.into();
9433 r._0
9434 })
9435 }
9436 }
9437 };
9438 #[derive(serde::Serialize, serde::Deserialize)]
9439 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9440 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9445 #[derive(Clone)]
9446 pub struct verifyCheckpointProofsCall {
9447 #[allow(missing_docs)]
9448 pub balanceContainerProof: <BeaconChainProofs::BalanceContainerProof as alloy::sol_types::SolType>::RustType,
9449 #[allow(missing_docs)]
9450 pub proofs: alloy::sol_types::private::Vec<
9451 <BeaconChainProofs::BalanceProof as alloy::sol_types::SolType>::RustType,
9452 >,
9453 }
9454 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9456 #[derive(Clone)]
9457 pub struct verifyCheckpointProofsReturn {}
9458 #[allow(
9459 non_camel_case_types,
9460 non_snake_case,
9461 clippy::pub_underscore_fields,
9462 clippy::style
9463 )]
9464 const _: () = {
9465 use alloy::sol_types as alloy_sol_types;
9466 {
9467 #[doc(hidden)]
9468 type UnderlyingSolTuple<'a> = (
9469 BeaconChainProofs::BalanceContainerProof,
9470 alloy::sol_types::sol_data::Array<BeaconChainProofs::BalanceProof>,
9471 );
9472 #[doc(hidden)]
9473 type UnderlyingRustTuple<'a> = (
9474 <BeaconChainProofs::BalanceContainerProof as alloy::sol_types::SolType>::RustType,
9475 alloy::sol_types::private::Vec<
9476 <BeaconChainProofs::BalanceProof as alloy::sol_types::SolType>::RustType,
9477 >,
9478 );
9479 #[cfg(test)]
9480 #[allow(dead_code, unreachable_patterns)]
9481 fn _type_assertion(
9482 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9483 ) {
9484 match _t {
9485 alloy_sol_types::private::AssertTypeEq::<
9486 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9487 >(_) => {}
9488 }
9489 }
9490 #[automatically_derived]
9491 #[doc(hidden)]
9492 impl ::core::convert::From<verifyCheckpointProofsCall>
9493 for UnderlyingRustTuple<'_> {
9494 fn from(value: verifyCheckpointProofsCall) -> Self {
9495 (value.balanceContainerProof, value.proofs)
9496 }
9497 }
9498 #[automatically_derived]
9499 #[doc(hidden)]
9500 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9501 for verifyCheckpointProofsCall {
9502 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9503 Self {
9504 balanceContainerProof: tuple.0,
9505 proofs: tuple.1,
9506 }
9507 }
9508 }
9509 }
9510 {
9511 #[doc(hidden)]
9512 type UnderlyingSolTuple<'a> = ();
9513 #[doc(hidden)]
9514 type UnderlyingRustTuple<'a> = ();
9515 #[cfg(test)]
9516 #[allow(dead_code, unreachable_patterns)]
9517 fn _type_assertion(
9518 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9519 ) {
9520 match _t {
9521 alloy_sol_types::private::AssertTypeEq::<
9522 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9523 >(_) => {}
9524 }
9525 }
9526 #[automatically_derived]
9527 #[doc(hidden)]
9528 impl ::core::convert::From<verifyCheckpointProofsReturn>
9529 for UnderlyingRustTuple<'_> {
9530 fn from(value: verifyCheckpointProofsReturn) -> Self {
9531 ()
9532 }
9533 }
9534 #[automatically_derived]
9535 #[doc(hidden)]
9536 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9537 for verifyCheckpointProofsReturn {
9538 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9539 Self {}
9540 }
9541 }
9542 }
9543 impl verifyCheckpointProofsReturn {
9544 fn _tokenize(
9545 &self,
9546 ) -> <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::ReturnToken<
9547 '_,
9548 > {
9549 ()
9550 }
9551 }
9552 #[automatically_derived]
9553 impl alloy_sol_types::SolCall for verifyCheckpointProofsCall {
9554 type Parameters<'a> = (
9555 BeaconChainProofs::BalanceContainerProof,
9556 alloy::sol_types::sol_data::Array<BeaconChainProofs::BalanceProof>,
9557 );
9558 type Token<'a> = <Self::Parameters<
9559 'a,
9560 > as alloy_sol_types::SolType>::Token<'a>;
9561 type Return = verifyCheckpointProofsReturn;
9562 type ReturnTuple<'a> = ();
9563 type ReturnToken<'a> = <Self::ReturnTuple<
9564 'a,
9565 > as alloy_sol_types::SolType>::Token<'a>;
9566 const SIGNATURE: &'static str = "verifyCheckpointProofs((bytes32,bytes),(bytes32,bytes32,bytes)[])";
9567 const SELECTOR: [u8; 4] = [240u8, 116u8, 186u8, 98u8];
9568 #[inline]
9569 fn new<'a>(
9570 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9571 ) -> Self {
9572 tuple.into()
9573 }
9574 #[inline]
9575 fn tokenize(&self) -> Self::Token<'_> {
9576 (
9577 <BeaconChainProofs::BalanceContainerProof as alloy_sol_types::SolType>::tokenize(
9578 &self.balanceContainerProof,
9579 ),
9580 <alloy::sol_types::sol_data::Array<
9581 BeaconChainProofs::BalanceProof,
9582 > as alloy_sol_types::SolType>::tokenize(&self.proofs),
9583 )
9584 }
9585 #[inline]
9586 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9587 verifyCheckpointProofsReturn::_tokenize(ret)
9588 }
9589 #[inline]
9590 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9591 <Self::ReturnTuple<
9592 '_,
9593 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9594 .map(Into::into)
9595 }
9596 #[inline]
9597 fn abi_decode_returns_validate(
9598 data: &[u8],
9599 ) -> alloy_sol_types::Result<Self::Return> {
9600 <Self::ReturnTuple<
9601 '_,
9602 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9603 .map(Into::into)
9604 }
9605 }
9606 };
9607 #[derive(serde::Serialize, serde::Deserialize)]
9608 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9609 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9614 #[derive(Clone)]
9615 pub struct verifyStaleBalanceCall {
9616 #[allow(missing_docs)]
9617 pub beaconTimestamp: u64,
9618 #[allow(missing_docs)]
9619 pub stateRootProof: <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
9620 #[allow(missing_docs)]
9621 pub proof: <BeaconChainProofs::ValidatorProof as alloy::sol_types::SolType>::RustType,
9622 }
9623 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9625 #[derive(Clone)]
9626 pub struct verifyStaleBalanceReturn {}
9627 #[allow(
9628 non_camel_case_types,
9629 non_snake_case,
9630 clippy::pub_underscore_fields,
9631 clippy::style
9632 )]
9633 const _: () = {
9634 use alloy::sol_types as alloy_sol_types;
9635 {
9636 #[doc(hidden)]
9637 type UnderlyingSolTuple<'a> = (
9638 alloy::sol_types::sol_data::Uint<64>,
9639 BeaconChainProofs::StateRootProof,
9640 BeaconChainProofs::ValidatorProof,
9641 );
9642 #[doc(hidden)]
9643 type UnderlyingRustTuple<'a> = (
9644 u64,
9645 <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
9646 <BeaconChainProofs::ValidatorProof as alloy::sol_types::SolType>::RustType,
9647 );
9648 #[cfg(test)]
9649 #[allow(dead_code, unreachable_patterns)]
9650 fn _type_assertion(
9651 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9652 ) {
9653 match _t {
9654 alloy_sol_types::private::AssertTypeEq::<
9655 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9656 >(_) => {}
9657 }
9658 }
9659 #[automatically_derived]
9660 #[doc(hidden)]
9661 impl ::core::convert::From<verifyStaleBalanceCall>
9662 for UnderlyingRustTuple<'_> {
9663 fn from(value: verifyStaleBalanceCall) -> Self {
9664 (value.beaconTimestamp, value.stateRootProof, value.proof)
9665 }
9666 }
9667 #[automatically_derived]
9668 #[doc(hidden)]
9669 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9670 for verifyStaleBalanceCall {
9671 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9672 Self {
9673 beaconTimestamp: tuple.0,
9674 stateRootProof: tuple.1,
9675 proof: tuple.2,
9676 }
9677 }
9678 }
9679 }
9680 {
9681 #[doc(hidden)]
9682 type UnderlyingSolTuple<'a> = ();
9683 #[doc(hidden)]
9684 type UnderlyingRustTuple<'a> = ();
9685 #[cfg(test)]
9686 #[allow(dead_code, unreachable_patterns)]
9687 fn _type_assertion(
9688 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9689 ) {
9690 match _t {
9691 alloy_sol_types::private::AssertTypeEq::<
9692 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9693 >(_) => {}
9694 }
9695 }
9696 #[automatically_derived]
9697 #[doc(hidden)]
9698 impl ::core::convert::From<verifyStaleBalanceReturn>
9699 for UnderlyingRustTuple<'_> {
9700 fn from(value: verifyStaleBalanceReturn) -> Self {
9701 ()
9702 }
9703 }
9704 #[automatically_derived]
9705 #[doc(hidden)]
9706 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9707 for verifyStaleBalanceReturn {
9708 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9709 Self {}
9710 }
9711 }
9712 }
9713 impl verifyStaleBalanceReturn {
9714 fn _tokenize(
9715 &self,
9716 ) -> <verifyStaleBalanceCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
9717 ()
9718 }
9719 }
9720 #[automatically_derived]
9721 impl alloy_sol_types::SolCall for verifyStaleBalanceCall {
9722 type Parameters<'a> = (
9723 alloy::sol_types::sol_data::Uint<64>,
9724 BeaconChainProofs::StateRootProof,
9725 BeaconChainProofs::ValidatorProof,
9726 );
9727 type Token<'a> = <Self::Parameters<
9728 'a,
9729 > as alloy_sol_types::SolType>::Token<'a>;
9730 type Return = verifyStaleBalanceReturn;
9731 type ReturnTuple<'a> = ();
9732 type ReturnToken<'a> = <Self::ReturnTuple<
9733 'a,
9734 > as alloy_sol_types::SolType>::Token<'a>;
9735 const SIGNATURE: &'static str = "verifyStaleBalance(uint64,(bytes32,bytes),(bytes32[],bytes))";
9736 const SELECTOR: [u8; 4] = [3u8, 145u8, 87u8, 210u8];
9737 #[inline]
9738 fn new<'a>(
9739 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9740 ) -> Self {
9741 tuple.into()
9742 }
9743 #[inline]
9744 fn tokenize(&self) -> Self::Token<'_> {
9745 (
9746 <alloy::sol_types::sol_data::Uint<
9747 64,
9748 > as alloy_sol_types::SolType>::tokenize(&self.beaconTimestamp),
9749 <BeaconChainProofs::StateRootProof as alloy_sol_types::SolType>::tokenize(
9750 &self.stateRootProof,
9751 ),
9752 <BeaconChainProofs::ValidatorProof as alloy_sol_types::SolType>::tokenize(
9753 &self.proof,
9754 ),
9755 )
9756 }
9757 #[inline]
9758 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9759 verifyStaleBalanceReturn::_tokenize(ret)
9760 }
9761 #[inline]
9762 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9763 <Self::ReturnTuple<
9764 '_,
9765 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9766 .map(Into::into)
9767 }
9768 #[inline]
9769 fn abi_decode_returns_validate(
9770 data: &[u8],
9771 ) -> alloy_sol_types::Result<Self::Return> {
9772 <Self::ReturnTuple<
9773 '_,
9774 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9775 .map(Into::into)
9776 }
9777 }
9778 };
9779 #[derive(serde::Serialize, serde::Deserialize)]
9780 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9781 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9786 #[derive(Clone)]
9787 pub struct verifyWithdrawalCredentialsCall {
9788 #[allow(missing_docs)]
9789 pub beaconTimestamp: u64,
9790 #[allow(missing_docs)]
9791 pub stateRootProof: <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
9792 #[allow(missing_docs)]
9793 pub validatorIndices: alloy::sol_types::private::Vec<
9794 alloy::sol_types::private::primitives::aliases::U40,
9795 >,
9796 #[allow(missing_docs)]
9797 pub validatorFieldsProofs: alloy::sol_types::private::Vec<
9798 alloy::sol_types::private::Bytes,
9799 >,
9800 #[allow(missing_docs)]
9801 pub validatorFields: alloy::sol_types::private::Vec<
9802 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
9803 >,
9804 }
9805 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9807 #[derive(Clone)]
9808 pub struct verifyWithdrawalCredentialsReturn {}
9809 #[allow(
9810 non_camel_case_types,
9811 non_snake_case,
9812 clippy::pub_underscore_fields,
9813 clippy::style
9814 )]
9815 const _: () = {
9816 use alloy::sol_types as alloy_sol_types;
9817 {
9818 #[doc(hidden)]
9819 type UnderlyingSolTuple<'a> = (
9820 alloy::sol_types::sol_data::Uint<64>,
9821 BeaconChainProofs::StateRootProof,
9822 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<40>>,
9823 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bytes>,
9824 alloy::sol_types::sol_data::Array<
9825 alloy::sol_types::sol_data::Array<
9826 alloy::sol_types::sol_data::FixedBytes<32>,
9827 >,
9828 >,
9829 );
9830 #[doc(hidden)]
9831 type UnderlyingRustTuple<'a> = (
9832 u64,
9833 <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
9834 alloy::sol_types::private::Vec<
9835 alloy::sol_types::private::primitives::aliases::U40,
9836 >,
9837 alloy::sol_types::private::Vec<alloy::sol_types::private::Bytes>,
9838 alloy::sol_types::private::Vec<
9839 alloy::sol_types::private::Vec<
9840 alloy::sol_types::private::FixedBytes<32>,
9841 >,
9842 >,
9843 );
9844 #[cfg(test)]
9845 #[allow(dead_code, unreachable_patterns)]
9846 fn _type_assertion(
9847 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9848 ) {
9849 match _t {
9850 alloy_sol_types::private::AssertTypeEq::<
9851 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9852 >(_) => {}
9853 }
9854 }
9855 #[automatically_derived]
9856 #[doc(hidden)]
9857 impl ::core::convert::From<verifyWithdrawalCredentialsCall>
9858 for UnderlyingRustTuple<'_> {
9859 fn from(value: verifyWithdrawalCredentialsCall) -> Self {
9860 (
9861 value.beaconTimestamp,
9862 value.stateRootProof,
9863 value.validatorIndices,
9864 value.validatorFieldsProofs,
9865 value.validatorFields,
9866 )
9867 }
9868 }
9869 #[automatically_derived]
9870 #[doc(hidden)]
9871 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9872 for verifyWithdrawalCredentialsCall {
9873 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9874 Self {
9875 beaconTimestamp: tuple.0,
9876 stateRootProof: tuple.1,
9877 validatorIndices: tuple.2,
9878 validatorFieldsProofs: tuple.3,
9879 validatorFields: tuple.4,
9880 }
9881 }
9882 }
9883 }
9884 {
9885 #[doc(hidden)]
9886 type UnderlyingSolTuple<'a> = ();
9887 #[doc(hidden)]
9888 type UnderlyingRustTuple<'a> = ();
9889 #[cfg(test)]
9890 #[allow(dead_code, unreachable_patterns)]
9891 fn _type_assertion(
9892 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9893 ) {
9894 match _t {
9895 alloy_sol_types::private::AssertTypeEq::<
9896 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9897 >(_) => {}
9898 }
9899 }
9900 #[automatically_derived]
9901 #[doc(hidden)]
9902 impl ::core::convert::From<verifyWithdrawalCredentialsReturn>
9903 for UnderlyingRustTuple<'_> {
9904 fn from(value: verifyWithdrawalCredentialsReturn) -> Self {
9905 ()
9906 }
9907 }
9908 #[automatically_derived]
9909 #[doc(hidden)]
9910 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9911 for verifyWithdrawalCredentialsReturn {
9912 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9913 Self {}
9914 }
9915 }
9916 }
9917 impl verifyWithdrawalCredentialsReturn {
9918 fn _tokenize(
9919 &self,
9920 ) -> <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::ReturnToken<
9921 '_,
9922 > {
9923 ()
9924 }
9925 }
9926 #[automatically_derived]
9927 impl alloy_sol_types::SolCall for verifyWithdrawalCredentialsCall {
9928 type Parameters<'a> = (
9929 alloy::sol_types::sol_data::Uint<64>,
9930 BeaconChainProofs::StateRootProof,
9931 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<40>>,
9932 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bytes>,
9933 alloy::sol_types::sol_data::Array<
9934 alloy::sol_types::sol_data::Array<
9935 alloy::sol_types::sol_data::FixedBytes<32>,
9936 >,
9937 >,
9938 );
9939 type Token<'a> = <Self::Parameters<
9940 'a,
9941 > as alloy_sol_types::SolType>::Token<'a>;
9942 type Return = verifyWithdrawalCredentialsReturn;
9943 type ReturnTuple<'a> = ();
9944 type ReturnToken<'a> = <Self::ReturnTuple<
9945 'a,
9946 > as alloy_sol_types::SolType>::Token<'a>;
9947 const SIGNATURE: &'static str = "verifyWithdrawalCredentials(uint64,(bytes32,bytes),uint40[],bytes[],bytes32[][])";
9948 const SELECTOR: [u8; 4] = [63u8, 101u8, 207u8, 25u8];
9949 #[inline]
9950 fn new<'a>(
9951 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9952 ) -> Self {
9953 tuple.into()
9954 }
9955 #[inline]
9956 fn tokenize(&self) -> Self::Token<'_> {
9957 (
9958 <alloy::sol_types::sol_data::Uint<
9959 64,
9960 > as alloy_sol_types::SolType>::tokenize(&self.beaconTimestamp),
9961 <BeaconChainProofs::StateRootProof as alloy_sol_types::SolType>::tokenize(
9962 &self.stateRootProof,
9963 ),
9964 <alloy::sol_types::sol_data::Array<
9965 alloy::sol_types::sol_data::Uint<40>,
9966 > as alloy_sol_types::SolType>::tokenize(&self.validatorIndices),
9967 <alloy::sol_types::sol_data::Array<
9968 alloy::sol_types::sol_data::Bytes,
9969 > as alloy_sol_types::SolType>::tokenize(
9970 &self.validatorFieldsProofs,
9971 ),
9972 <alloy::sol_types::sol_data::Array<
9973 alloy::sol_types::sol_data::Array<
9974 alloy::sol_types::sol_data::FixedBytes<32>,
9975 >,
9976 > as alloy_sol_types::SolType>::tokenize(&self.validatorFields),
9977 )
9978 }
9979 #[inline]
9980 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9981 verifyWithdrawalCredentialsReturn::_tokenize(ret)
9982 }
9983 #[inline]
9984 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9985 <Self::ReturnTuple<
9986 '_,
9987 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9988 .map(Into::into)
9989 }
9990 #[inline]
9991 fn abi_decode_returns_validate(
9992 data: &[u8],
9993 ) -> alloy_sol_types::Result<Self::Return> {
9994 <Self::ReturnTuple<
9995 '_,
9996 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9997 .map(Into::into)
9998 }
9999 }
10000 };
10001 #[derive(serde::Serialize, serde::Deserialize)]
10002 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10003 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10008 #[derive(Clone)]
10009 pub struct versionCall;
10010 #[derive(serde::Serialize, serde::Deserialize)]
10011 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10012 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10014 #[derive(Clone)]
10015 pub struct versionReturn {
10016 #[allow(missing_docs)]
10017 pub _0: alloy::sol_types::private::String,
10018 }
10019 #[allow(
10020 non_camel_case_types,
10021 non_snake_case,
10022 clippy::pub_underscore_fields,
10023 clippy::style
10024 )]
10025 const _: () = {
10026 use alloy::sol_types as alloy_sol_types;
10027 {
10028 #[doc(hidden)]
10029 type UnderlyingSolTuple<'a> = ();
10030 #[doc(hidden)]
10031 type UnderlyingRustTuple<'a> = ();
10032 #[cfg(test)]
10033 #[allow(dead_code, unreachable_patterns)]
10034 fn _type_assertion(
10035 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10036 ) {
10037 match _t {
10038 alloy_sol_types::private::AssertTypeEq::<
10039 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10040 >(_) => {}
10041 }
10042 }
10043 #[automatically_derived]
10044 #[doc(hidden)]
10045 impl ::core::convert::From<versionCall> for UnderlyingRustTuple<'_> {
10046 fn from(value: versionCall) -> Self {
10047 ()
10048 }
10049 }
10050 #[automatically_derived]
10051 #[doc(hidden)]
10052 impl ::core::convert::From<UnderlyingRustTuple<'_>> for versionCall {
10053 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10054 Self
10055 }
10056 }
10057 }
10058 {
10059 #[doc(hidden)]
10060 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
10061 #[doc(hidden)]
10062 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
10063 #[cfg(test)]
10064 #[allow(dead_code, unreachable_patterns)]
10065 fn _type_assertion(
10066 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10067 ) {
10068 match _t {
10069 alloy_sol_types::private::AssertTypeEq::<
10070 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10071 >(_) => {}
10072 }
10073 }
10074 #[automatically_derived]
10075 #[doc(hidden)]
10076 impl ::core::convert::From<versionReturn> for UnderlyingRustTuple<'_> {
10077 fn from(value: versionReturn) -> Self {
10078 (value._0,)
10079 }
10080 }
10081 #[automatically_derived]
10082 #[doc(hidden)]
10083 impl ::core::convert::From<UnderlyingRustTuple<'_>> for versionReturn {
10084 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10085 Self { _0: tuple.0 }
10086 }
10087 }
10088 }
10089 #[automatically_derived]
10090 impl alloy_sol_types::SolCall for versionCall {
10091 type Parameters<'a> = ();
10092 type Token<'a> = <Self::Parameters<
10093 'a,
10094 > as alloy_sol_types::SolType>::Token<'a>;
10095 type Return = alloy::sol_types::private::String;
10096 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
10097 type ReturnToken<'a> = <Self::ReturnTuple<
10098 'a,
10099 > as alloy_sol_types::SolType>::Token<'a>;
10100 const SIGNATURE: &'static str = "version()";
10101 const SELECTOR: [u8; 4] = [84u8, 253u8, 77u8, 80u8];
10102 #[inline]
10103 fn new<'a>(
10104 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10105 ) -> Self {
10106 tuple.into()
10107 }
10108 #[inline]
10109 fn tokenize(&self) -> Self::Token<'_> {
10110 ()
10111 }
10112 #[inline]
10113 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10114 (
10115 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
10116 ret,
10117 ),
10118 )
10119 }
10120 #[inline]
10121 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10122 <Self::ReturnTuple<
10123 '_,
10124 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10125 .map(|r| {
10126 let r: versionReturn = r.into();
10127 r._0
10128 })
10129 }
10130 #[inline]
10131 fn abi_decode_returns_validate(
10132 data: &[u8],
10133 ) -> alloy_sol_types::Result<Self::Return> {
10134 <Self::ReturnTuple<
10135 '_,
10136 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10137 .map(|r| {
10138 let r: versionReturn = r.into();
10139 r._0
10140 })
10141 }
10142 }
10143 };
10144 #[derive(serde::Serialize, serde::Deserialize)]
10145 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10146 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10151 #[derive(Clone)]
10152 pub struct withdrawRestakedBeaconChainETHCall {
10153 #[allow(missing_docs)]
10154 pub recipient: alloy::sol_types::private::Address,
10155 #[allow(missing_docs)]
10156 pub amountWei: alloy::sol_types::private::primitives::aliases::U256,
10157 }
10158 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10160 #[derive(Clone)]
10161 pub struct withdrawRestakedBeaconChainETHReturn {}
10162 #[allow(
10163 non_camel_case_types,
10164 non_snake_case,
10165 clippy::pub_underscore_fields,
10166 clippy::style
10167 )]
10168 const _: () = {
10169 use alloy::sol_types as alloy_sol_types;
10170 {
10171 #[doc(hidden)]
10172 type UnderlyingSolTuple<'a> = (
10173 alloy::sol_types::sol_data::Address,
10174 alloy::sol_types::sol_data::Uint<256>,
10175 );
10176 #[doc(hidden)]
10177 type UnderlyingRustTuple<'a> = (
10178 alloy::sol_types::private::Address,
10179 alloy::sol_types::private::primitives::aliases::U256,
10180 );
10181 #[cfg(test)]
10182 #[allow(dead_code, unreachable_patterns)]
10183 fn _type_assertion(
10184 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10185 ) {
10186 match _t {
10187 alloy_sol_types::private::AssertTypeEq::<
10188 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10189 >(_) => {}
10190 }
10191 }
10192 #[automatically_derived]
10193 #[doc(hidden)]
10194 impl ::core::convert::From<withdrawRestakedBeaconChainETHCall>
10195 for UnderlyingRustTuple<'_> {
10196 fn from(value: withdrawRestakedBeaconChainETHCall) -> Self {
10197 (value.recipient, value.amountWei)
10198 }
10199 }
10200 #[automatically_derived]
10201 #[doc(hidden)]
10202 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10203 for withdrawRestakedBeaconChainETHCall {
10204 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10205 Self {
10206 recipient: tuple.0,
10207 amountWei: tuple.1,
10208 }
10209 }
10210 }
10211 }
10212 {
10213 #[doc(hidden)]
10214 type UnderlyingSolTuple<'a> = ();
10215 #[doc(hidden)]
10216 type UnderlyingRustTuple<'a> = ();
10217 #[cfg(test)]
10218 #[allow(dead_code, unreachable_patterns)]
10219 fn _type_assertion(
10220 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10221 ) {
10222 match _t {
10223 alloy_sol_types::private::AssertTypeEq::<
10224 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10225 >(_) => {}
10226 }
10227 }
10228 #[automatically_derived]
10229 #[doc(hidden)]
10230 impl ::core::convert::From<withdrawRestakedBeaconChainETHReturn>
10231 for UnderlyingRustTuple<'_> {
10232 fn from(value: withdrawRestakedBeaconChainETHReturn) -> Self {
10233 ()
10234 }
10235 }
10236 #[automatically_derived]
10237 #[doc(hidden)]
10238 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10239 for withdrawRestakedBeaconChainETHReturn {
10240 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10241 Self {}
10242 }
10243 }
10244 }
10245 impl withdrawRestakedBeaconChainETHReturn {
10246 fn _tokenize(
10247 &self,
10248 ) -> <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::ReturnToken<
10249 '_,
10250 > {
10251 ()
10252 }
10253 }
10254 #[automatically_derived]
10255 impl alloy_sol_types::SolCall for withdrawRestakedBeaconChainETHCall {
10256 type Parameters<'a> = (
10257 alloy::sol_types::sol_data::Address,
10258 alloy::sol_types::sol_data::Uint<256>,
10259 );
10260 type Token<'a> = <Self::Parameters<
10261 'a,
10262 > as alloy_sol_types::SolType>::Token<'a>;
10263 type Return = withdrawRestakedBeaconChainETHReturn;
10264 type ReturnTuple<'a> = ();
10265 type ReturnToken<'a> = <Self::ReturnTuple<
10266 'a,
10267 > as alloy_sol_types::SolType>::Token<'a>;
10268 const SIGNATURE: &'static str = "withdrawRestakedBeaconChainETH(address,uint256)";
10269 const SELECTOR: [u8; 4] = [196u8, 144u8, 116u8, 66u8];
10270 #[inline]
10271 fn new<'a>(
10272 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10273 ) -> Self {
10274 tuple.into()
10275 }
10276 #[inline]
10277 fn tokenize(&self) -> Self::Token<'_> {
10278 (
10279 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10280 &self.recipient,
10281 ),
10282 <alloy::sol_types::sol_data::Uint<
10283 256,
10284 > as alloy_sol_types::SolType>::tokenize(&self.amountWei),
10285 )
10286 }
10287 #[inline]
10288 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10289 withdrawRestakedBeaconChainETHReturn::_tokenize(ret)
10290 }
10291 #[inline]
10292 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10293 <Self::ReturnTuple<
10294 '_,
10295 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10296 .map(Into::into)
10297 }
10298 #[inline]
10299 fn abi_decode_returns_validate(
10300 data: &[u8],
10301 ) -> alloy_sol_types::Result<Self::Return> {
10302 <Self::ReturnTuple<
10303 '_,
10304 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10305 .map(Into::into)
10306 }
10307 }
10308 };
10309 #[derive(serde::Serialize, serde::Deserialize)]
10310 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10311 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10316 #[derive(Clone)]
10317 pub struct withdrawableRestakedExecutionLayerGweiCall;
10318 #[derive(serde::Serialize, serde::Deserialize)]
10319 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10320 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10322 #[derive(Clone)]
10323 pub struct withdrawableRestakedExecutionLayerGweiReturn {
10324 #[allow(missing_docs)]
10325 pub _0: u64,
10326 }
10327 #[allow(
10328 non_camel_case_types,
10329 non_snake_case,
10330 clippy::pub_underscore_fields,
10331 clippy::style
10332 )]
10333 const _: () = {
10334 use alloy::sol_types as alloy_sol_types;
10335 {
10336 #[doc(hidden)]
10337 type UnderlyingSolTuple<'a> = ();
10338 #[doc(hidden)]
10339 type UnderlyingRustTuple<'a> = ();
10340 #[cfg(test)]
10341 #[allow(dead_code, unreachable_patterns)]
10342 fn _type_assertion(
10343 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10344 ) {
10345 match _t {
10346 alloy_sol_types::private::AssertTypeEq::<
10347 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10348 >(_) => {}
10349 }
10350 }
10351 #[automatically_derived]
10352 #[doc(hidden)]
10353 impl ::core::convert::From<withdrawableRestakedExecutionLayerGweiCall>
10354 for UnderlyingRustTuple<'_> {
10355 fn from(value: withdrawableRestakedExecutionLayerGweiCall) -> Self {
10356 ()
10357 }
10358 }
10359 #[automatically_derived]
10360 #[doc(hidden)]
10361 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10362 for withdrawableRestakedExecutionLayerGweiCall {
10363 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10364 Self
10365 }
10366 }
10367 }
10368 {
10369 #[doc(hidden)]
10370 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
10371 #[doc(hidden)]
10372 type UnderlyingRustTuple<'a> = (u64,);
10373 #[cfg(test)]
10374 #[allow(dead_code, unreachable_patterns)]
10375 fn _type_assertion(
10376 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10377 ) {
10378 match _t {
10379 alloy_sol_types::private::AssertTypeEq::<
10380 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10381 >(_) => {}
10382 }
10383 }
10384 #[automatically_derived]
10385 #[doc(hidden)]
10386 impl ::core::convert::From<withdrawableRestakedExecutionLayerGweiReturn>
10387 for UnderlyingRustTuple<'_> {
10388 fn from(value: withdrawableRestakedExecutionLayerGweiReturn) -> Self {
10389 (value._0,)
10390 }
10391 }
10392 #[automatically_derived]
10393 #[doc(hidden)]
10394 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10395 for withdrawableRestakedExecutionLayerGweiReturn {
10396 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10397 Self { _0: tuple.0 }
10398 }
10399 }
10400 }
10401 #[automatically_derived]
10402 impl alloy_sol_types::SolCall for withdrawableRestakedExecutionLayerGweiCall {
10403 type Parameters<'a> = ();
10404 type Token<'a> = <Self::Parameters<
10405 'a,
10406 > as alloy_sol_types::SolType>::Token<'a>;
10407 type Return = u64;
10408 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
10409 type ReturnToken<'a> = <Self::ReturnTuple<
10410 'a,
10411 > as alloy_sol_types::SolType>::Token<'a>;
10412 const SIGNATURE: &'static str = "withdrawableRestakedExecutionLayerGwei()";
10413 const SELECTOR: [u8; 4] = [52u8, 116u8, 170u8, 22u8];
10414 #[inline]
10415 fn new<'a>(
10416 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10417 ) -> Self {
10418 tuple.into()
10419 }
10420 #[inline]
10421 fn tokenize(&self) -> Self::Token<'_> {
10422 ()
10423 }
10424 #[inline]
10425 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10426 (
10427 <alloy::sol_types::sol_data::Uint<
10428 64,
10429 > as alloy_sol_types::SolType>::tokenize(ret),
10430 )
10431 }
10432 #[inline]
10433 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10434 <Self::ReturnTuple<
10435 '_,
10436 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10437 .map(|r| {
10438 let r: withdrawableRestakedExecutionLayerGweiReturn = r.into();
10439 r._0
10440 })
10441 }
10442 #[inline]
10443 fn abi_decode_returns_validate(
10444 data: &[u8],
10445 ) -> alloy_sol_types::Result<Self::Return> {
10446 <Self::ReturnTuple<
10447 '_,
10448 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10449 .map(|r| {
10450 let r: withdrawableRestakedExecutionLayerGweiReturn = r.into();
10451 r._0
10452 })
10453 }
10454 }
10455 };
10456 #[derive(serde::Serialize, serde::Deserialize)]
10458 #[derive()]
10459 pub enum EigenPodCalls {
10460 #[allow(missing_docs)]
10461 GENESIS_TIME(GENESIS_TIMECall),
10462 #[allow(missing_docs)]
10463 activeValidatorCount(activeValidatorCountCall),
10464 #[allow(missing_docs)]
10465 checkpointBalanceExitedGwei(checkpointBalanceExitedGweiCall),
10466 #[allow(missing_docs)]
10467 currentCheckpoint(currentCheckpointCall),
10468 #[allow(missing_docs)]
10469 currentCheckpointTimestamp(currentCheckpointTimestampCall),
10470 #[allow(missing_docs)]
10471 eigenPodManager(eigenPodManagerCall),
10472 #[allow(missing_docs)]
10473 ethPOS(ethPOSCall),
10474 #[allow(missing_docs)]
10475 getParentBlockRoot(getParentBlockRootCall),
10476 #[allow(missing_docs)]
10477 initialize(initializeCall),
10478 #[allow(missing_docs)]
10479 lastCheckpointTimestamp(lastCheckpointTimestampCall),
10480 #[allow(missing_docs)]
10481 podOwner(podOwnerCall),
10482 #[allow(missing_docs)]
10483 proofSubmitter(proofSubmitterCall),
10484 #[allow(missing_docs)]
10485 recoverTokens(recoverTokensCall),
10486 #[allow(missing_docs)]
10487 setProofSubmitter(setProofSubmitterCall),
10488 #[allow(missing_docs)]
10489 stake(stakeCall),
10490 #[allow(missing_docs)]
10491 startCheckpoint(startCheckpointCall),
10492 #[allow(missing_docs)]
10493 validatorPubkeyHashToInfo(validatorPubkeyHashToInfoCall),
10494 #[allow(missing_docs)]
10495 validatorPubkeyToInfo(validatorPubkeyToInfoCall),
10496 #[allow(missing_docs)]
10497 validatorStatus_0(validatorStatus_0Call),
10498 #[allow(missing_docs)]
10499 validatorStatus_1(validatorStatus_1Call),
10500 #[allow(missing_docs)]
10501 verifyCheckpointProofs(verifyCheckpointProofsCall),
10502 #[allow(missing_docs)]
10503 verifyStaleBalance(verifyStaleBalanceCall),
10504 #[allow(missing_docs)]
10505 verifyWithdrawalCredentials(verifyWithdrawalCredentialsCall),
10506 #[allow(missing_docs)]
10507 version(versionCall),
10508 #[allow(missing_docs)]
10509 withdrawRestakedBeaconChainETH(withdrawRestakedBeaconChainETHCall),
10510 #[allow(missing_docs)]
10511 withdrawableRestakedExecutionLayerGwei(
10512 withdrawableRestakedExecutionLayerGweiCall,
10513 ),
10514 }
10515 #[automatically_derived]
10516 impl EigenPodCalls {
10517 pub const SELECTORS: &'static [[u8; 4usize]] = &[
10524 [3u8, 145u8, 87u8, 210u8],
10525 [11u8, 24u8, 255u8, 102u8],
10526 [35u8, 64u8, 232u8, 211u8],
10527 [52u8, 116u8, 170u8, 22u8],
10528 [63u8, 101u8, 207u8, 25u8],
10529 [66u8, 236u8, 255u8, 42u8],
10530 [70u8, 101u8, 188u8, 218u8],
10531 [71u8, 210u8, 131u8, 114u8],
10532 [82u8, 57u8, 106u8, 89u8],
10533 [84u8, 253u8, 77u8, 80u8],
10534 [88u8, 117u8, 51u8, 87u8],
10535 [88u8, 234u8, 238u8, 121u8],
10536 [108u8, 13u8, 45u8, 90u8],
10537 [111u8, 205u8, 14u8, 83u8],
10538 [116u8, 57u8, 132u8, 31u8],
10539 [116u8, 205u8, 215u8, 152u8],
10540 [136u8, 103u8, 108u8, 173u8],
10541 [155u8, 78u8, 70u8, 52u8],
10542 [181u8, 34u8, 83u8, 138u8],
10543 [196u8, 144u8, 116u8, 66u8],
10544 [196u8, 214u8, 109u8, 232u8],
10545 [208u8, 109u8, 85u8, 135u8],
10546 [221u8, 163u8, 52u8, 108u8],
10547 [238u8, 148u8, 214u8, 124u8],
10548 [240u8, 116u8, 186u8, 98u8],
10549 [242u8, 136u8, 36u8, 97u8],
10550 ];
10551 }
10552 #[automatically_derived]
10553 impl alloy_sol_types::SolInterface for EigenPodCalls {
10554 const NAME: &'static str = "EigenPodCalls";
10555 const MIN_DATA_LENGTH: usize = 0usize;
10556 const COUNT: usize = 26usize;
10557 #[inline]
10558 fn selector(&self) -> [u8; 4] {
10559 match self {
10560 Self::GENESIS_TIME(_) => {
10561 <GENESIS_TIMECall as alloy_sol_types::SolCall>::SELECTOR
10562 }
10563 Self::activeValidatorCount(_) => {
10564 <activeValidatorCountCall as alloy_sol_types::SolCall>::SELECTOR
10565 }
10566 Self::checkpointBalanceExitedGwei(_) => {
10567 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::SELECTOR
10568 }
10569 Self::currentCheckpoint(_) => {
10570 <currentCheckpointCall as alloy_sol_types::SolCall>::SELECTOR
10571 }
10572 Self::currentCheckpointTimestamp(_) => {
10573 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::SELECTOR
10574 }
10575 Self::eigenPodManager(_) => {
10576 <eigenPodManagerCall as alloy_sol_types::SolCall>::SELECTOR
10577 }
10578 Self::ethPOS(_) => <ethPOSCall as alloy_sol_types::SolCall>::SELECTOR,
10579 Self::getParentBlockRoot(_) => {
10580 <getParentBlockRootCall as alloy_sol_types::SolCall>::SELECTOR
10581 }
10582 Self::initialize(_) => {
10583 <initializeCall as alloy_sol_types::SolCall>::SELECTOR
10584 }
10585 Self::lastCheckpointTimestamp(_) => {
10586 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::SELECTOR
10587 }
10588 Self::podOwner(_) => <podOwnerCall as alloy_sol_types::SolCall>::SELECTOR,
10589 Self::proofSubmitter(_) => {
10590 <proofSubmitterCall as alloy_sol_types::SolCall>::SELECTOR
10591 }
10592 Self::recoverTokens(_) => {
10593 <recoverTokensCall as alloy_sol_types::SolCall>::SELECTOR
10594 }
10595 Self::setProofSubmitter(_) => {
10596 <setProofSubmitterCall as alloy_sol_types::SolCall>::SELECTOR
10597 }
10598 Self::stake(_) => <stakeCall as alloy_sol_types::SolCall>::SELECTOR,
10599 Self::startCheckpoint(_) => {
10600 <startCheckpointCall as alloy_sol_types::SolCall>::SELECTOR
10601 }
10602 Self::validatorPubkeyHashToInfo(_) => {
10603 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::SELECTOR
10604 }
10605 Self::validatorPubkeyToInfo(_) => {
10606 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::SELECTOR
10607 }
10608 Self::validatorStatus_0(_) => {
10609 <validatorStatus_0Call as alloy_sol_types::SolCall>::SELECTOR
10610 }
10611 Self::validatorStatus_1(_) => {
10612 <validatorStatus_1Call as alloy_sol_types::SolCall>::SELECTOR
10613 }
10614 Self::verifyCheckpointProofs(_) => {
10615 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::SELECTOR
10616 }
10617 Self::verifyStaleBalance(_) => {
10618 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::SELECTOR
10619 }
10620 Self::verifyWithdrawalCredentials(_) => {
10621 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::SELECTOR
10622 }
10623 Self::version(_) => <versionCall as alloy_sol_types::SolCall>::SELECTOR,
10624 Self::withdrawRestakedBeaconChainETH(_) => {
10625 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::SELECTOR
10626 }
10627 Self::withdrawableRestakedExecutionLayerGwei(_) => {
10628 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::SELECTOR
10629 }
10630 }
10631 }
10632 #[inline]
10633 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
10634 Self::SELECTORS.get(i).copied()
10635 }
10636 #[inline]
10637 fn valid_selector(selector: [u8; 4]) -> bool {
10638 Self::SELECTORS.binary_search(&selector).is_ok()
10639 }
10640 #[inline]
10641 #[allow(non_snake_case)]
10642 fn abi_decode_raw(
10643 selector: [u8; 4],
10644 data: &[u8],
10645 ) -> alloy_sol_types::Result<Self> {
10646 static DECODE_SHIMS: &[fn(
10647 &[u8],
10648 ) -> alloy_sol_types::Result<EigenPodCalls>] = &[
10649 {
10650 fn verifyStaleBalance(
10651 data: &[u8],
10652 ) -> alloy_sol_types::Result<EigenPodCalls> {
10653 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::abi_decode_raw(
10654 data,
10655 )
10656 .map(EigenPodCalls::verifyStaleBalance)
10657 }
10658 verifyStaleBalance
10659 },
10660 {
10661 fn podOwner(data: &[u8]) -> alloy_sol_types::Result<EigenPodCalls> {
10662 <podOwnerCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
10663 .map(EigenPodCalls::podOwner)
10664 }
10665 podOwner
10666 },
10667 {
10668 fn activeValidatorCount(
10669 data: &[u8],
10670 ) -> alloy_sol_types::Result<EigenPodCalls> {
10671 <activeValidatorCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
10672 data,
10673 )
10674 .map(EigenPodCalls::activeValidatorCount)
10675 }
10676 activeValidatorCount
10677 },
10678 {
10679 fn withdrawableRestakedExecutionLayerGwei(
10680 data: &[u8],
10681 ) -> alloy_sol_types::Result<EigenPodCalls> {
10682 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::abi_decode_raw(
10683 data,
10684 )
10685 .map(EigenPodCalls::withdrawableRestakedExecutionLayerGwei)
10686 }
10687 withdrawableRestakedExecutionLayerGwei
10688 },
10689 {
10690 fn verifyWithdrawalCredentials(
10691 data: &[u8],
10692 ) -> alloy_sol_types::Result<EigenPodCalls> {
10693 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::abi_decode_raw(
10694 data,
10695 )
10696 .map(EigenPodCalls::verifyWithdrawalCredentials)
10697 }
10698 verifyWithdrawalCredentials
10699 },
10700 {
10701 fn currentCheckpointTimestamp(
10702 data: &[u8],
10703 ) -> alloy_sol_types::Result<EigenPodCalls> {
10704 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_decode_raw(
10705 data,
10706 )
10707 .map(EigenPodCalls::currentCheckpointTimestamp)
10708 }
10709 currentCheckpointTimestamp
10710 },
10711 {
10712 fn eigenPodManager(
10713 data: &[u8],
10714 ) -> alloy_sol_types::Result<EigenPodCalls> {
10715 <eigenPodManagerCall as alloy_sol_types::SolCall>::abi_decode_raw(
10716 data,
10717 )
10718 .map(EigenPodCalls::eigenPodManager)
10719 }
10720 eigenPodManager
10721 },
10722 {
10723 fn currentCheckpoint(
10724 data: &[u8],
10725 ) -> alloy_sol_types::Result<EigenPodCalls> {
10726 <currentCheckpointCall as alloy_sol_types::SolCall>::abi_decode_raw(
10727 data,
10728 )
10729 .map(EigenPodCalls::currentCheckpoint)
10730 }
10731 currentCheckpoint
10732 },
10733 {
10734 fn checkpointBalanceExitedGwei(
10735 data: &[u8],
10736 ) -> alloy_sol_types::Result<EigenPodCalls> {
10737 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::abi_decode_raw(
10738 data,
10739 )
10740 .map(EigenPodCalls::checkpointBalanceExitedGwei)
10741 }
10742 checkpointBalanceExitedGwei
10743 },
10744 {
10745 fn version(data: &[u8]) -> alloy_sol_types::Result<EigenPodCalls> {
10746 <versionCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
10747 .map(EigenPodCalls::version)
10748 }
10749 version
10750 },
10751 {
10752 fn proofSubmitter(
10753 data: &[u8],
10754 ) -> alloy_sol_types::Result<EigenPodCalls> {
10755 <proofSubmitterCall as alloy_sol_types::SolCall>::abi_decode_raw(
10756 data,
10757 )
10758 .map(EigenPodCalls::proofSubmitter)
10759 }
10760 proofSubmitter
10761 },
10762 {
10763 fn validatorStatus_0(
10764 data: &[u8],
10765 ) -> alloy_sol_types::Result<EigenPodCalls> {
10766 <validatorStatus_0Call as alloy_sol_types::SolCall>::abi_decode_raw(
10767 data,
10768 )
10769 .map(EigenPodCalls::validatorStatus_0)
10770 }
10771 validatorStatus_0
10772 },
10773 {
10774 fn getParentBlockRoot(
10775 data: &[u8],
10776 ) -> alloy_sol_types::Result<EigenPodCalls> {
10777 <getParentBlockRootCall as alloy_sol_types::SolCall>::abi_decode_raw(
10778 data,
10779 )
10780 .map(EigenPodCalls::getParentBlockRoot)
10781 }
10782 getParentBlockRoot
10783 },
10784 {
10785 fn validatorPubkeyHashToInfo(
10786 data: &[u8],
10787 ) -> alloy_sol_types::Result<EigenPodCalls> {
10788 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::abi_decode_raw(
10789 data,
10790 )
10791 .map(EigenPodCalls::validatorPubkeyHashToInfo)
10792 }
10793 validatorPubkeyHashToInfo
10794 },
10795 {
10796 fn validatorStatus_1(
10797 data: &[u8],
10798 ) -> alloy_sol_types::Result<EigenPodCalls> {
10799 <validatorStatus_1Call as alloy_sol_types::SolCall>::abi_decode_raw(
10800 data,
10801 )
10802 .map(EigenPodCalls::validatorStatus_1)
10803 }
10804 validatorStatus_1
10805 },
10806 {
10807 fn ethPOS(data: &[u8]) -> alloy_sol_types::Result<EigenPodCalls> {
10808 <ethPOSCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
10809 .map(EigenPodCalls::ethPOS)
10810 }
10811 ethPOS
10812 },
10813 {
10814 fn startCheckpoint(
10815 data: &[u8],
10816 ) -> alloy_sol_types::Result<EigenPodCalls> {
10817 <startCheckpointCall as alloy_sol_types::SolCall>::abi_decode_raw(
10818 data,
10819 )
10820 .map(EigenPodCalls::startCheckpoint)
10821 }
10822 startCheckpoint
10823 },
10824 {
10825 fn stake(data: &[u8]) -> alloy_sol_types::Result<EigenPodCalls> {
10826 <stakeCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
10827 .map(EigenPodCalls::stake)
10828 }
10829 stake
10830 },
10831 {
10832 fn validatorPubkeyToInfo(
10833 data: &[u8],
10834 ) -> alloy_sol_types::Result<EigenPodCalls> {
10835 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::abi_decode_raw(
10836 data,
10837 )
10838 .map(EigenPodCalls::validatorPubkeyToInfo)
10839 }
10840 validatorPubkeyToInfo
10841 },
10842 {
10843 fn withdrawRestakedBeaconChainETH(
10844 data: &[u8],
10845 ) -> alloy_sol_types::Result<EigenPodCalls> {
10846 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::abi_decode_raw(
10847 data,
10848 )
10849 .map(EigenPodCalls::withdrawRestakedBeaconChainETH)
10850 }
10851 withdrawRestakedBeaconChainETH
10852 },
10853 {
10854 fn initialize(
10855 data: &[u8],
10856 ) -> alloy_sol_types::Result<EigenPodCalls> {
10857 <initializeCall as alloy_sol_types::SolCall>::abi_decode_raw(
10858 data,
10859 )
10860 .map(EigenPodCalls::initialize)
10861 }
10862 initialize
10863 },
10864 {
10865 fn setProofSubmitter(
10866 data: &[u8],
10867 ) -> alloy_sol_types::Result<EigenPodCalls> {
10868 <setProofSubmitterCall as alloy_sol_types::SolCall>::abi_decode_raw(
10869 data,
10870 )
10871 .map(EigenPodCalls::setProofSubmitter)
10872 }
10873 setProofSubmitter
10874 },
10875 {
10876 fn recoverTokens(
10877 data: &[u8],
10878 ) -> alloy_sol_types::Result<EigenPodCalls> {
10879 <recoverTokensCall as alloy_sol_types::SolCall>::abi_decode_raw(
10880 data,
10881 )
10882 .map(EigenPodCalls::recoverTokens)
10883 }
10884 recoverTokens
10885 },
10886 {
10887 fn lastCheckpointTimestamp(
10888 data: &[u8],
10889 ) -> alloy_sol_types::Result<EigenPodCalls> {
10890 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_decode_raw(
10891 data,
10892 )
10893 .map(EigenPodCalls::lastCheckpointTimestamp)
10894 }
10895 lastCheckpointTimestamp
10896 },
10897 {
10898 fn verifyCheckpointProofs(
10899 data: &[u8],
10900 ) -> alloy_sol_types::Result<EigenPodCalls> {
10901 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::abi_decode_raw(
10902 data,
10903 )
10904 .map(EigenPodCalls::verifyCheckpointProofs)
10905 }
10906 verifyCheckpointProofs
10907 },
10908 {
10909 fn GENESIS_TIME(
10910 data: &[u8],
10911 ) -> alloy_sol_types::Result<EigenPodCalls> {
10912 <GENESIS_TIMECall as alloy_sol_types::SolCall>::abi_decode_raw(
10913 data,
10914 )
10915 .map(EigenPodCalls::GENESIS_TIME)
10916 }
10917 GENESIS_TIME
10918 },
10919 ];
10920 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
10921 return Err(
10922 alloy_sol_types::Error::unknown_selector(
10923 <Self as alloy_sol_types::SolInterface>::NAME,
10924 selector,
10925 ),
10926 );
10927 };
10928 DECODE_SHIMS[idx](data)
10929 }
10930 #[inline]
10931 #[allow(non_snake_case)]
10932 fn abi_decode_raw_validate(
10933 selector: [u8; 4],
10934 data: &[u8],
10935 ) -> alloy_sol_types::Result<Self> {
10936 static DECODE_VALIDATE_SHIMS: &[fn(
10937 &[u8],
10938 ) -> alloy_sol_types::Result<EigenPodCalls>] = &[
10939 {
10940 fn verifyStaleBalance(
10941 data: &[u8],
10942 ) -> alloy_sol_types::Result<EigenPodCalls> {
10943 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10944 data,
10945 )
10946 .map(EigenPodCalls::verifyStaleBalance)
10947 }
10948 verifyStaleBalance
10949 },
10950 {
10951 fn podOwner(data: &[u8]) -> alloy_sol_types::Result<EigenPodCalls> {
10952 <podOwnerCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10953 data,
10954 )
10955 .map(EigenPodCalls::podOwner)
10956 }
10957 podOwner
10958 },
10959 {
10960 fn activeValidatorCount(
10961 data: &[u8],
10962 ) -> alloy_sol_types::Result<EigenPodCalls> {
10963 <activeValidatorCountCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10964 data,
10965 )
10966 .map(EigenPodCalls::activeValidatorCount)
10967 }
10968 activeValidatorCount
10969 },
10970 {
10971 fn withdrawableRestakedExecutionLayerGwei(
10972 data: &[u8],
10973 ) -> alloy_sol_types::Result<EigenPodCalls> {
10974 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10975 data,
10976 )
10977 .map(EigenPodCalls::withdrawableRestakedExecutionLayerGwei)
10978 }
10979 withdrawableRestakedExecutionLayerGwei
10980 },
10981 {
10982 fn verifyWithdrawalCredentials(
10983 data: &[u8],
10984 ) -> alloy_sol_types::Result<EigenPodCalls> {
10985 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10986 data,
10987 )
10988 .map(EigenPodCalls::verifyWithdrawalCredentials)
10989 }
10990 verifyWithdrawalCredentials
10991 },
10992 {
10993 fn currentCheckpointTimestamp(
10994 data: &[u8],
10995 ) -> alloy_sol_types::Result<EigenPodCalls> {
10996 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10997 data,
10998 )
10999 .map(EigenPodCalls::currentCheckpointTimestamp)
11000 }
11001 currentCheckpointTimestamp
11002 },
11003 {
11004 fn eigenPodManager(
11005 data: &[u8],
11006 ) -> alloy_sol_types::Result<EigenPodCalls> {
11007 <eigenPodManagerCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11008 data,
11009 )
11010 .map(EigenPodCalls::eigenPodManager)
11011 }
11012 eigenPodManager
11013 },
11014 {
11015 fn currentCheckpoint(
11016 data: &[u8],
11017 ) -> alloy_sol_types::Result<EigenPodCalls> {
11018 <currentCheckpointCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11019 data,
11020 )
11021 .map(EigenPodCalls::currentCheckpoint)
11022 }
11023 currentCheckpoint
11024 },
11025 {
11026 fn checkpointBalanceExitedGwei(
11027 data: &[u8],
11028 ) -> alloy_sol_types::Result<EigenPodCalls> {
11029 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11030 data,
11031 )
11032 .map(EigenPodCalls::checkpointBalanceExitedGwei)
11033 }
11034 checkpointBalanceExitedGwei
11035 },
11036 {
11037 fn version(data: &[u8]) -> alloy_sol_types::Result<EigenPodCalls> {
11038 <versionCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11039 data,
11040 )
11041 .map(EigenPodCalls::version)
11042 }
11043 version
11044 },
11045 {
11046 fn proofSubmitter(
11047 data: &[u8],
11048 ) -> alloy_sol_types::Result<EigenPodCalls> {
11049 <proofSubmitterCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11050 data,
11051 )
11052 .map(EigenPodCalls::proofSubmitter)
11053 }
11054 proofSubmitter
11055 },
11056 {
11057 fn validatorStatus_0(
11058 data: &[u8],
11059 ) -> alloy_sol_types::Result<EigenPodCalls> {
11060 <validatorStatus_0Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11061 data,
11062 )
11063 .map(EigenPodCalls::validatorStatus_0)
11064 }
11065 validatorStatus_0
11066 },
11067 {
11068 fn getParentBlockRoot(
11069 data: &[u8],
11070 ) -> alloy_sol_types::Result<EigenPodCalls> {
11071 <getParentBlockRootCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11072 data,
11073 )
11074 .map(EigenPodCalls::getParentBlockRoot)
11075 }
11076 getParentBlockRoot
11077 },
11078 {
11079 fn validatorPubkeyHashToInfo(
11080 data: &[u8],
11081 ) -> alloy_sol_types::Result<EigenPodCalls> {
11082 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11083 data,
11084 )
11085 .map(EigenPodCalls::validatorPubkeyHashToInfo)
11086 }
11087 validatorPubkeyHashToInfo
11088 },
11089 {
11090 fn validatorStatus_1(
11091 data: &[u8],
11092 ) -> alloy_sol_types::Result<EigenPodCalls> {
11093 <validatorStatus_1Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11094 data,
11095 )
11096 .map(EigenPodCalls::validatorStatus_1)
11097 }
11098 validatorStatus_1
11099 },
11100 {
11101 fn ethPOS(data: &[u8]) -> alloy_sol_types::Result<EigenPodCalls> {
11102 <ethPOSCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11103 data,
11104 )
11105 .map(EigenPodCalls::ethPOS)
11106 }
11107 ethPOS
11108 },
11109 {
11110 fn startCheckpoint(
11111 data: &[u8],
11112 ) -> alloy_sol_types::Result<EigenPodCalls> {
11113 <startCheckpointCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11114 data,
11115 )
11116 .map(EigenPodCalls::startCheckpoint)
11117 }
11118 startCheckpoint
11119 },
11120 {
11121 fn stake(data: &[u8]) -> alloy_sol_types::Result<EigenPodCalls> {
11122 <stakeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11123 data,
11124 )
11125 .map(EigenPodCalls::stake)
11126 }
11127 stake
11128 },
11129 {
11130 fn validatorPubkeyToInfo(
11131 data: &[u8],
11132 ) -> alloy_sol_types::Result<EigenPodCalls> {
11133 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11134 data,
11135 )
11136 .map(EigenPodCalls::validatorPubkeyToInfo)
11137 }
11138 validatorPubkeyToInfo
11139 },
11140 {
11141 fn withdrawRestakedBeaconChainETH(
11142 data: &[u8],
11143 ) -> alloy_sol_types::Result<EigenPodCalls> {
11144 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11145 data,
11146 )
11147 .map(EigenPodCalls::withdrawRestakedBeaconChainETH)
11148 }
11149 withdrawRestakedBeaconChainETH
11150 },
11151 {
11152 fn initialize(
11153 data: &[u8],
11154 ) -> alloy_sol_types::Result<EigenPodCalls> {
11155 <initializeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11156 data,
11157 )
11158 .map(EigenPodCalls::initialize)
11159 }
11160 initialize
11161 },
11162 {
11163 fn setProofSubmitter(
11164 data: &[u8],
11165 ) -> alloy_sol_types::Result<EigenPodCalls> {
11166 <setProofSubmitterCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11167 data,
11168 )
11169 .map(EigenPodCalls::setProofSubmitter)
11170 }
11171 setProofSubmitter
11172 },
11173 {
11174 fn recoverTokens(
11175 data: &[u8],
11176 ) -> alloy_sol_types::Result<EigenPodCalls> {
11177 <recoverTokensCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11178 data,
11179 )
11180 .map(EigenPodCalls::recoverTokens)
11181 }
11182 recoverTokens
11183 },
11184 {
11185 fn lastCheckpointTimestamp(
11186 data: &[u8],
11187 ) -> alloy_sol_types::Result<EigenPodCalls> {
11188 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11189 data,
11190 )
11191 .map(EigenPodCalls::lastCheckpointTimestamp)
11192 }
11193 lastCheckpointTimestamp
11194 },
11195 {
11196 fn verifyCheckpointProofs(
11197 data: &[u8],
11198 ) -> alloy_sol_types::Result<EigenPodCalls> {
11199 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11200 data,
11201 )
11202 .map(EigenPodCalls::verifyCheckpointProofs)
11203 }
11204 verifyCheckpointProofs
11205 },
11206 {
11207 fn GENESIS_TIME(
11208 data: &[u8],
11209 ) -> alloy_sol_types::Result<EigenPodCalls> {
11210 <GENESIS_TIMECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11211 data,
11212 )
11213 .map(EigenPodCalls::GENESIS_TIME)
11214 }
11215 GENESIS_TIME
11216 },
11217 ];
11218 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
11219 return Err(
11220 alloy_sol_types::Error::unknown_selector(
11221 <Self as alloy_sol_types::SolInterface>::NAME,
11222 selector,
11223 ),
11224 );
11225 };
11226 DECODE_VALIDATE_SHIMS[idx](data)
11227 }
11228 #[inline]
11229 fn abi_encoded_size(&self) -> usize {
11230 match self {
11231 Self::GENESIS_TIME(inner) => {
11232 <GENESIS_TIMECall as alloy_sol_types::SolCall>::abi_encoded_size(
11233 inner,
11234 )
11235 }
11236 Self::activeValidatorCount(inner) => {
11237 <activeValidatorCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
11238 inner,
11239 )
11240 }
11241 Self::checkpointBalanceExitedGwei(inner) => {
11242 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::abi_encoded_size(
11243 inner,
11244 )
11245 }
11246 Self::currentCheckpoint(inner) => {
11247 <currentCheckpointCall as alloy_sol_types::SolCall>::abi_encoded_size(
11248 inner,
11249 )
11250 }
11251 Self::currentCheckpointTimestamp(inner) => {
11252 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_encoded_size(
11253 inner,
11254 )
11255 }
11256 Self::eigenPodManager(inner) => {
11257 <eigenPodManagerCall as alloy_sol_types::SolCall>::abi_encoded_size(
11258 inner,
11259 )
11260 }
11261 Self::ethPOS(inner) => {
11262 <ethPOSCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
11263 }
11264 Self::getParentBlockRoot(inner) => {
11265 <getParentBlockRootCall as alloy_sol_types::SolCall>::abi_encoded_size(
11266 inner,
11267 )
11268 }
11269 Self::initialize(inner) => {
11270 <initializeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
11271 }
11272 Self::lastCheckpointTimestamp(inner) => {
11273 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_encoded_size(
11274 inner,
11275 )
11276 }
11277 Self::podOwner(inner) => {
11278 <podOwnerCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
11279 }
11280 Self::proofSubmitter(inner) => {
11281 <proofSubmitterCall as alloy_sol_types::SolCall>::abi_encoded_size(
11282 inner,
11283 )
11284 }
11285 Self::recoverTokens(inner) => {
11286 <recoverTokensCall as alloy_sol_types::SolCall>::abi_encoded_size(
11287 inner,
11288 )
11289 }
11290 Self::setProofSubmitter(inner) => {
11291 <setProofSubmitterCall as alloy_sol_types::SolCall>::abi_encoded_size(
11292 inner,
11293 )
11294 }
11295 Self::stake(inner) => {
11296 <stakeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
11297 }
11298 Self::startCheckpoint(inner) => {
11299 <startCheckpointCall as alloy_sol_types::SolCall>::abi_encoded_size(
11300 inner,
11301 )
11302 }
11303 Self::validatorPubkeyHashToInfo(inner) => {
11304 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::abi_encoded_size(
11305 inner,
11306 )
11307 }
11308 Self::validatorPubkeyToInfo(inner) => {
11309 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::abi_encoded_size(
11310 inner,
11311 )
11312 }
11313 Self::validatorStatus_0(inner) => {
11314 <validatorStatus_0Call as alloy_sol_types::SolCall>::abi_encoded_size(
11315 inner,
11316 )
11317 }
11318 Self::validatorStatus_1(inner) => {
11319 <validatorStatus_1Call as alloy_sol_types::SolCall>::abi_encoded_size(
11320 inner,
11321 )
11322 }
11323 Self::verifyCheckpointProofs(inner) => {
11324 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::abi_encoded_size(
11325 inner,
11326 )
11327 }
11328 Self::verifyStaleBalance(inner) => {
11329 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::abi_encoded_size(
11330 inner,
11331 )
11332 }
11333 Self::verifyWithdrawalCredentials(inner) => {
11334 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::abi_encoded_size(
11335 inner,
11336 )
11337 }
11338 Self::version(inner) => {
11339 <versionCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
11340 }
11341 Self::withdrawRestakedBeaconChainETH(inner) => {
11342 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::abi_encoded_size(
11343 inner,
11344 )
11345 }
11346 Self::withdrawableRestakedExecutionLayerGwei(inner) => {
11347 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::abi_encoded_size(
11348 inner,
11349 )
11350 }
11351 }
11352 }
11353 #[inline]
11354 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
11355 match self {
11356 Self::GENESIS_TIME(inner) => {
11357 <GENESIS_TIMECall as alloy_sol_types::SolCall>::abi_encode_raw(
11358 inner,
11359 out,
11360 )
11361 }
11362 Self::activeValidatorCount(inner) => {
11363 <activeValidatorCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
11364 inner,
11365 out,
11366 )
11367 }
11368 Self::checkpointBalanceExitedGwei(inner) => {
11369 <checkpointBalanceExitedGweiCall as alloy_sol_types::SolCall>::abi_encode_raw(
11370 inner,
11371 out,
11372 )
11373 }
11374 Self::currentCheckpoint(inner) => {
11375 <currentCheckpointCall as alloy_sol_types::SolCall>::abi_encode_raw(
11376 inner,
11377 out,
11378 )
11379 }
11380 Self::currentCheckpointTimestamp(inner) => {
11381 <currentCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_encode_raw(
11382 inner,
11383 out,
11384 )
11385 }
11386 Self::eigenPodManager(inner) => {
11387 <eigenPodManagerCall as alloy_sol_types::SolCall>::abi_encode_raw(
11388 inner,
11389 out,
11390 )
11391 }
11392 Self::ethPOS(inner) => {
11393 <ethPOSCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
11394 }
11395 Self::getParentBlockRoot(inner) => {
11396 <getParentBlockRootCall as alloy_sol_types::SolCall>::abi_encode_raw(
11397 inner,
11398 out,
11399 )
11400 }
11401 Self::initialize(inner) => {
11402 <initializeCall as alloy_sol_types::SolCall>::abi_encode_raw(
11403 inner,
11404 out,
11405 )
11406 }
11407 Self::lastCheckpointTimestamp(inner) => {
11408 <lastCheckpointTimestampCall as alloy_sol_types::SolCall>::abi_encode_raw(
11409 inner,
11410 out,
11411 )
11412 }
11413 Self::podOwner(inner) => {
11414 <podOwnerCall as alloy_sol_types::SolCall>::abi_encode_raw(
11415 inner,
11416 out,
11417 )
11418 }
11419 Self::proofSubmitter(inner) => {
11420 <proofSubmitterCall as alloy_sol_types::SolCall>::abi_encode_raw(
11421 inner,
11422 out,
11423 )
11424 }
11425 Self::recoverTokens(inner) => {
11426 <recoverTokensCall as alloy_sol_types::SolCall>::abi_encode_raw(
11427 inner,
11428 out,
11429 )
11430 }
11431 Self::setProofSubmitter(inner) => {
11432 <setProofSubmitterCall as alloy_sol_types::SolCall>::abi_encode_raw(
11433 inner,
11434 out,
11435 )
11436 }
11437 Self::stake(inner) => {
11438 <stakeCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
11439 }
11440 Self::startCheckpoint(inner) => {
11441 <startCheckpointCall as alloy_sol_types::SolCall>::abi_encode_raw(
11442 inner,
11443 out,
11444 )
11445 }
11446 Self::validatorPubkeyHashToInfo(inner) => {
11447 <validatorPubkeyHashToInfoCall as alloy_sol_types::SolCall>::abi_encode_raw(
11448 inner,
11449 out,
11450 )
11451 }
11452 Self::validatorPubkeyToInfo(inner) => {
11453 <validatorPubkeyToInfoCall as alloy_sol_types::SolCall>::abi_encode_raw(
11454 inner,
11455 out,
11456 )
11457 }
11458 Self::validatorStatus_0(inner) => {
11459 <validatorStatus_0Call as alloy_sol_types::SolCall>::abi_encode_raw(
11460 inner,
11461 out,
11462 )
11463 }
11464 Self::validatorStatus_1(inner) => {
11465 <validatorStatus_1Call as alloy_sol_types::SolCall>::abi_encode_raw(
11466 inner,
11467 out,
11468 )
11469 }
11470 Self::verifyCheckpointProofs(inner) => {
11471 <verifyCheckpointProofsCall as alloy_sol_types::SolCall>::abi_encode_raw(
11472 inner,
11473 out,
11474 )
11475 }
11476 Self::verifyStaleBalance(inner) => {
11477 <verifyStaleBalanceCall as alloy_sol_types::SolCall>::abi_encode_raw(
11478 inner,
11479 out,
11480 )
11481 }
11482 Self::verifyWithdrawalCredentials(inner) => {
11483 <verifyWithdrawalCredentialsCall as alloy_sol_types::SolCall>::abi_encode_raw(
11484 inner,
11485 out,
11486 )
11487 }
11488 Self::version(inner) => {
11489 <versionCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
11490 }
11491 Self::withdrawRestakedBeaconChainETH(inner) => {
11492 <withdrawRestakedBeaconChainETHCall as alloy_sol_types::SolCall>::abi_encode_raw(
11493 inner,
11494 out,
11495 )
11496 }
11497 Self::withdrawableRestakedExecutionLayerGwei(inner) => {
11498 <withdrawableRestakedExecutionLayerGweiCall as alloy_sol_types::SolCall>::abi_encode_raw(
11499 inner,
11500 out,
11501 )
11502 }
11503 }
11504 }
11505 }
11506 #[derive(serde::Serialize, serde::Deserialize)]
11508 #[derive(Debug, PartialEq, Eq, Hash)]
11509 pub enum EigenPodErrors {
11510 #[allow(missing_docs)]
11511 BeaconTimestampTooFarInPast(BeaconTimestampTooFarInPast),
11512 #[allow(missing_docs)]
11513 CannotCheckpointTwiceInSingleBlock(CannotCheckpointTwiceInSingleBlock),
11514 #[allow(missing_docs)]
11515 CheckpointAlreadyActive(CheckpointAlreadyActive),
11516 #[allow(missing_docs)]
11517 CredentialsAlreadyVerified(CredentialsAlreadyVerified),
11518 #[allow(missing_docs)]
11519 CurrentlyPaused(CurrentlyPaused),
11520 #[allow(missing_docs)]
11521 InputAddressZero(InputAddressZero),
11522 #[allow(missing_docs)]
11523 InputArrayLengthMismatch(InputArrayLengthMismatch),
11524 #[allow(missing_docs)]
11525 InsufficientWithdrawableBalance(InsufficientWithdrawableBalance),
11526 #[allow(missing_docs)]
11527 InvalidEIP4788Response(InvalidEIP4788Response),
11528 #[allow(missing_docs)]
11529 InvalidProof(InvalidProof),
11530 #[allow(missing_docs)]
11531 InvalidProofLength(InvalidProofLength),
11532 #[allow(missing_docs)]
11533 InvalidPubKeyLength(InvalidPubKeyLength),
11534 #[allow(missing_docs)]
11535 InvalidShortString(InvalidShortString),
11536 #[allow(missing_docs)]
11537 InvalidValidatorFieldsLength(InvalidValidatorFieldsLength),
11538 #[allow(missing_docs)]
11539 MsgValueNot32ETH(MsgValueNot32ETH),
11540 #[allow(missing_docs)]
11541 NoActiveCheckpoint(NoActiveCheckpoint),
11542 #[allow(missing_docs)]
11543 NoBalanceToCheckpoint(NoBalanceToCheckpoint),
11544 #[allow(missing_docs)]
11545 OnlyEigenPodManager(OnlyEigenPodManager),
11546 #[allow(missing_docs)]
11547 OnlyEigenPodOwner(OnlyEigenPodOwner),
11548 #[allow(missing_docs)]
11549 OnlyEigenPodOwnerOrProofSubmitter(OnlyEigenPodOwnerOrProofSubmitter),
11550 #[allow(missing_docs)]
11551 StringTooLong(StringTooLong),
11552 #[allow(missing_docs)]
11553 TimestampOutOfRange(TimestampOutOfRange),
11554 #[allow(missing_docs)]
11555 ValidatorInactiveOnBeaconChain(ValidatorInactiveOnBeaconChain),
11556 #[allow(missing_docs)]
11557 ValidatorIsExitingBeaconChain(ValidatorIsExitingBeaconChain),
11558 #[allow(missing_docs)]
11559 ValidatorNotActiveInPod(ValidatorNotActiveInPod),
11560 #[allow(missing_docs)]
11561 ValidatorNotSlashedOnBeaconChain(ValidatorNotSlashedOnBeaconChain),
11562 #[allow(missing_docs)]
11563 WithdrawalCredentialsNotForEigenPod(WithdrawalCredentialsNotForEigenPod),
11564 }
11565 #[automatically_derived]
11566 impl EigenPodErrors {
11567 pub const SELECTORS: &'static [[u8; 4usize]] = &[
11574 [9u8, 189u8, 227u8, 57u8],
11575 [11u8, 27u8, 213u8, 28u8],
11576 [26u8, 84u8, 79u8, 73u8],
11577 [32u8, 5u8, 145u8, 189u8],
11578 [36u8, 180u8, 181u8, 152u8],
11579 [46u8, 173u8, 230u8, 55u8],
11580 [48u8, 90u8, 39u8, 169u8],
11581 [53u8, 224u8, 158u8, 157u8],
11582 [55u8, 224u8, 127u8, 253u8],
11583 [66u8, 122u8, 119u8, 121u8],
11584 [67u8, 113u8, 74u8, 253u8],
11585 [77u8, 197u8, 246u8, 164u8],
11586 [85u8, 138u8, 208u8, 163u8],
11587 [101u8, 96u8, 141u8, 180u8],
11588 [103u8, 219u8, 91u8, 139u8],
11589 [110u8, 229u8, 186u8, 166u8],
11590 [115u8, 99u8, 33u8, 118u8],
11591 [132u8, 10u8, 72u8, 213u8],
11592 [159u8, 16u8, 100u8, 114u8],
11593 [176u8, 231u8, 47u8, 104u8],
11594 [179u8, 81u8, 43u8, 12u8],
11595 [190u8, 155u8, 195u8, 0u8],
11596 [200u8, 78u8, 153u8, 132u8],
11597 [203u8, 122u8, 165u8, 100u8],
11598 [212u8, 158u8, 25u8, 167u8],
11599 [227u8, 62u8, 110u8, 6u8],
11600 [242u8, 137u8, 204u8, 218u8],
11601 ];
11602 }
11603 #[automatically_derived]
11604 impl alloy_sol_types::SolInterface for EigenPodErrors {
11605 const NAME: &'static str = "EigenPodErrors";
11606 const MIN_DATA_LENGTH: usize = 0usize;
11607 const COUNT: usize = 27usize;
11608 #[inline]
11609 fn selector(&self) -> [u8; 4] {
11610 match self {
11611 Self::BeaconTimestampTooFarInPast(_) => {
11612 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::SELECTOR
11613 }
11614 Self::CannotCheckpointTwiceInSingleBlock(_) => {
11615 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::SELECTOR
11616 }
11617 Self::CheckpointAlreadyActive(_) => {
11618 <CheckpointAlreadyActive as alloy_sol_types::SolError>::SELECTOR
11619 }
11620 Self::CredentialsAlreadyVerified(_) => {
11621 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::SELECTOR
11622 }
11623 Self::CurrentlyPaused(_) => {
11624 <CurrentlyPaused as alloy_sol_types::SolError>::SELECTOR
11625 }
11626 Self::InputAddressZero(_) => {
11627 <InputAddressZero as alloy_sol_types::SolError>::SELECTOR
11628 }
11629 Self::InputArrayLengthMismatch(_) => {
11630 <InputArrayLengthMismatch as alloy_sol_types::SolError>::SELECTOR
11631 }
11632 Self::InsufficientWithdrawableBalance(_) => {
11633 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::SELECTOR
11634 }
11635 Self::InvalidEIP4788Response(_) => {
11636 <InvalidEIP4788Response as alloy_sol_types::SolError>::SELECTOR
11637 }
11638 Self::InvalidProof(_) => {
11639 <InvalidProof as alloy_sol_types::SolError>::SELECTOR
11640 }
11641 Self::InvalidProofLength(_) => {
11642 <InvalidProofLength as alloy_sol_types::SolError>::SELECTOR
11643 }
11644 Self::InvalidPubKeyLength(_) => {
11645 <InvalidPubKeyLength as alloy_sol_types::SolError>::SELECTOR
11646 }
11647 Self::InvalidShortString(_) => {
11648 <InvalidShortString as alloy_sol_types::SolError>::SELECTOR
11649 }
11650 Self::InvalidValidatorFieldsLength(_) => {
11651 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::SELECTOR
11652 }
11653 Self::MsgValueNot32ETH(_) => {
11654 <MsgValueNot32ETH as alloy_sol_types::SolError>::SELECTOR
11655 }
11656 Self::NoActiveCheckpoint(_) => {
11657 <NoActiveCheckpoint as alloy_sol_types::SolError>::SELECTOR
11658 }
11659 Self::NoBalanceToCheckpoint(_) => {
11660 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::SELECTOR
11661 }
11662 Self::OnlyEigenPodManager(_) => {
11663 <OnlyEigenPodManager as alloy_sol_types::SolError>::SELECTOR
11664 }
11665 Self::OnlyEigenPodOwner(_) => {
11666 <OnlyEigenPodOwner as alloy_sol_types::SolError>::SELECTOR
11667 }
11668 Self::OnlyEigenPodOwnerOrProofSubmitter(_) => {
11669 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::SELECTOR
11670 }
11671 Self::StringTooLong(_) => {
11672 <StringTooLong as alloy_sol_types::SolError>::SELECTOR
11673 }
11674 Self::TimestampOutOfRange(_) => {
11675 <TimestampOutOfRange as alloy_sol_types::SolError>::SELECTOR
11676 }
11677 Self::ValidatorInactiveOnBeaconChain(_) => {
11678 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::SELECTOR
11679 }
11680 Self::ValidatorIsExitingBeaconChain(_) => {
11681 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::SELECTOR
11682 }
11683 Self::ValidatorNotActiveInPod(_) => {
11684 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::SELECTOR
11685 }
11686 Self::ValidatorNotSlashedOnBeaconChain(_) => {
11687 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::SELECTOR
11688 }
11689 Self::WithdrawalCredentialsNotForEigenPod(_) => {
11690 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::SELECTOR
11691 }
11692 }
11693 }
11694 #[inline]
11695 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
11696 Self::SELECTORS.get(i).copied()
11697 }
11698 #[inline]
11699 fn valid_selector(selector: [u8; 4]) -> bool {
11700 Self::SELECTORS.binary_search(&selector).is_ok()
11701 }
11702 #[inline]
11703 #[allow(non_snake_case)]
11704 fn abi_decode_raw(
11705 selector: [u8; 4],
11706 data: &[u8],
11707 ) -> alloy_sol_types::Result<Self> {
11708 static DECODE_SHIMS: &[fn(
11709 &[u8],
11710 ) -> alloy_sol_types::Result<EigenPodErrors>] = &[
11711 {
11712 fn InvalidProof(
11713 data: &[u8],
11714 ) -> alloy_sol_types::Result<EigenPodErrors> {
11715 <InvalidProof as alloy_sol_types::SolError>::abi_decode_raw(data)
11716 .map(EigenPodErrors::InvalidProof)
11717 }
11718 InvalidProof
11719 },
11720 {
11721 fn InsufficientWithdrawableBalance(
11722 data: &[u8],
11723 ) -> alloy_sol_types::Result<EigenPodErrors> {
11724 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::abi_decode_raw(
11725 data,
11726 )
11727 .map(EigenPodErrors::InsufficientWithdrawableBalance)
11728 }
11729 InsufficientWithdrawableBalance
11730 },
11731 {
11732 fn NoActiveCheckpoint(
11733 data: &[u8],
11734 ) -> alloy_sol_types::Result<EigenPodErrors> {
11735 <NoActiveCheckpoint as alloy_sol_types::SolError>::abi_decode_raw(
11736 data,
11737 )
11738 .map(EigenPodErrors::NoActiveCheckpoint)
11739 }
11740 NoActiveCheckpoint
11741 },
11742 {
11743 fn InvalidValidatorFieldsLength(
11744 data: &[u8],
11745 ) -> alloy_sol_types::Result<EigenPodErrors> {
11746 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::abi_decode_raw(
11747 data,
11748 )
11749 .map(EigenPodErrors::InvalidValidatorFieldsLength)
11750 }
11751 InvalidValidatorFieldsLength
11752 },
11753 {
11754 fn MsgValueNot32ETH(
11755 data: &[u8],
11756 ) -> alloy_sol_types::Result<EigenPodErrors> {
11757 <MsgValueNot32ETH as alloy_sol_types::SolError>::abi_decode_raw(
11758 data,
11759 )
11760 .map(EigenPodErrors::MsgValueNot32ETH)
11761 }
11762 MsgValueNot32ETH
11763 },
11764 {
11765 fn ValidatorIsExitingBeaconChain(
11766 data: &[u8],
11767 ) -> alloy_sol_types::Result<EigenPodErrors> {
11768 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::abi_decode_raw(
11769 data,
11770 )
11771 .map(EigenPodErrors::ValidatorIsExitingBeaconChain)
11772 }
11773 ValidatorIsExitingBeaconChain
11774 },
11775 {
11776 fn StringTooLong(
11777 data: &[u8],
11778 ) -> alloy_sol_types::Result<EigenPodErrors> {
11779 <StringTooLong as alloy_sol_types::SolError>::abi_decode_raw(
11780 data,
11781 )
11782 .map(EigenPodErrors::StringTooLong)
11783 }
11784 StringTooLong
11785 },
11786 {
11787 fn CredentialsAlreadyVerified(
11788 data: &[u8],
11789 ) -> alloy_sol_types::Result<EigenPodErrors> {
11790 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::abi_decode_raw(
11791 data,
11792 )
11793 .map(EigenPodErrors::CredentialsAlreadyVerified)
11794 }
11795 CredentialsAlreadyVerified
11796 },
11797 {
11798 fn BeaconTimestampTooFarInPast(
11799 data: &[u8],
11800 ) -> alloy_sol_types::Result<EigenPodErrors> {
11801 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::abi_decode_raw(
11802 data,
11803 )
11804 .map(EigenPodErrors::BeaconTimestampTooFarInPast)
11805 }
11806 BeaconTimestampTooFarInPast
11807 },
11808 {
11809 fn OnlyEigenPodOwnerOrProofSubmitter(
11810 data: &[u8],
11811 ) -> alloy_sol_types::Result<EigenPodErrors> {
11812 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::abi_decode_raw(
11813 data,
11814 )
11815 .map(EigenPodErrors::OnlyEigenPodOwnerOrProofSubmitter)
11816 }
11817 OnlyEigenPodOwnerOrProofSubmitter
11818 },
11819 {
11820 fn InputArrayLengthMismatch(
11821 data: &[u8],
11822 ) -> alloy_sol_types::Result<EigenPodErrors> {
11823 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_decode_raw(
11824 data,
11825 )
11826 .map(EigenPodErrors::InputArrayLengthMismatch)
11827 }
11828 InputArrayLengthMismatch
11829 },
11830 {
11831 fn InvalidProofLength(
11832 data: &[u8],
11833 ) -> alloy_sol_types::Result<EigenPodErrors> {
11834 <InvalidProofLength as alloy_sol_types::SolError>::abi_decode_raw(
11835 data,
11836 )
11837 .map(EigenPodErrors::InvalidProofLength)
11838 }
11839 InvalidProofLength
11840 },
11841 {
11842 fn InvalidEIP4788Response(
11843 data: &[u8],
11844 ) -> alloy_sol_types::Result<EigenPodErrors> {
11845 <InvalidEIP4788Response as alloy_sol_types::SolError>::abi_decode_raw(
11846 data,
11847 )
11848 .map(EigenPodErrors::InvalidEIP4788Response)
11849 }
11850 InvalidEIP4788Response
11851 },
11852 {
11853 fn ValidatorInactiveOnBeaconChain(
11854 data: &[u8],
11855 ) -> alloy_sol_types::Result<EigenPodErrors> {
11856 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::abi_decode_raw(
11857 data,
11858 )
11859 .map(EigenPodErrors::ValidatorInactiveOnBeaconChain)
11860 }
11861 ValidatorInactiveOnBeaconChain
11862 },
11863 {
11864 fn CannotCheckpointTwiceInSingleBlock(
11865 data: &[u8],
11866 ) -> alloy_sol_types::Result<EigenPodErrors> {
11867 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::abi_decode_raw(
11868 data,
11869 )
11870 .map(EigenPodErrors::CannotCheckpointTwiceInSingleBlock)
11871 }
11872 CannotCheckpointTwiceInSingleBlock
11873 },
11874 {
11875 fn WithdrawalCredentialsNotForEigenPod(
11876 data: &[u8],
11877 ) -> alloy_sol_types::Result<EigenPodErrors> {
11878 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::abi_decode_raw(
11879 data,
11880 )
11881 .map(EigenPodErrors::WithdrawalCredentialsNotForEigenPod)
11882 }
11883 WithdrawalCredentialsNotForEigenPod
11884 },
11885 {
11886 fn InputAddressZero(
11887 data: &[u8],
11888 ) -> alloy_sol_types::Result<EigenPodErrors> {
11889 <InputAddressZero as alloy_sol_types::SolError>::abi_decode_raw(
11890 data,
11891 )
11892 .map(EigenPodErrors::InputAddressZero)
11893 }
11894 InputAddressZero
11895 },
11896 {
11897 fn CurrentlyPaused(
11898 data: &[u8],
11899 ) -> alloy_sol_types::Result<EigenPodErrors> {
11900 <CurrentlyPaused as alloy_sol_types::SolError>::abi_decode_raw(
11901 data,
11902 )
11903 .map(EigenPodErrors::CurrentlyPaused)
11904 }
11905 CurrentlyPaused
11906 },
11907 {
11908 fn InvalidPubKeyLength(
11909 data: &[u8],
11910 ) -> alloy_sol_types::Result<EigenPodErrors> {
11911 <InvalidPubKeyLength as alloy_sol_types::SolError>::abi_decode_raw(
11912 data,
11913 )
11914 .map(EigenPodErrors::InvalidPubKeyLength)
11915 }
11916 InvalidPubKeyLength
11917 },
11918 {
11919 fn ValidatorNotSlashedOnBeaconChain(
11920 data: &[u8],
11921 ) -> alloy_sol_types::Result<EigenPodErrors> {
11922 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::abi_decode_raw(
11923 data,
11924 )
11925 .map(EigenPodErrors::ValidatorNotSlashedOnBeaconChain)
11926 }
11927 ValidatorNotSlashedOnBeaconChain
11928 },
11929 {
11930 fn InvalidShortString(
11931 data: &[u8],
11932 ) -> alloy_sol_types::Result<EigenPodErrors> {
11933 <InvalidShortString as alloy_sol_types::SolError>::abi_decode_raw(
11934 data,
11935 )
11936 .map(EigenPodErrors::InvalidShortString)
11937 }
11938 InvalidShortString
11939 },
11940 {
11941 fn CheckpointAlreadyActive(
11942 data: &[u8],
11943 ) -> alloy_sol_types::Result<EigenPodErrors> {
11944 <CheckpointAlreadyActive as alloy_sol_types::SolError>::abi_decode_raw(
11945 data,
11946 )
11947 .map(EigenPodErrors::CheckpointAlreadyActive)
11948 }
11949 CheckpointAlreadyActive
11950 },
11951 {
11952 fn OnlyEigenPodManager(
11953 data: &[u8],
11954 ) -> alloy_sol_types::Result<EigenPodErrors> {
11955 <OnlyEigenPodManager as alloy_sol_types::SolError>::abi_decode_raw(
11956 data,
11957 )
11958 .map(EigenPodErrors::OnlyEigenPodManager)
11959 }
11960 OnlyEigenPodManager
11961 },
11962 {
11963 fn NoBalanceToCheckpoint(
11964 data: &[u8],
11965 ) -> alloy_sol_types::Result<EigenPodErrors> {
11966 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::abi_decode_raw(
11967 data,
11968 )
11969 .map(EigenPodErrors::NoBalanceToCheckpoint)
11970 }
11971 NoBalanceToCheckpoint
11972 },
11973 {
11974 fn ValidatorNotActiveInPod(
11975 data: &[u8],
11976 ) -> alloy_sol_types::Result<EigenPodErrors> {
11977 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::abi_decode_raw(
11978 data,
11979 )
11980 .map(EigenPodErrors::ValidatorNotActiveInPod)
11981 }
11982 ValidatorNotActiveInPod
11983 },
11984 {
11985 fn OnlyEigenPodOwner(
11986 data: &[u8],
11987 ) -> alloy_sol_types::Result<EigenPodErrors> {
11988 <OnlyEigenPodOwner as alloy_sol_types::SolError>::abi_decode_raw(
11989 data,
11990 )
11991 .map(EigenPodErrors::OnlyEigenPodOwner)
11992 }
11993 OnlyEigenPodOwner
11994 },
11995 {
11996 fn TimestampOutOfRange(
11997 data: &[u8],
11998 ) -> alloy_sol_types::Result<EigenPodErrors> {
11999 <TimestampOutOfRange as alloy_sol_types::SolError>::abi_decode_raw(
12000 data,
12001 )
12002 .map(EigenPodErrors::TimestampOutOfRange)
12003 }
12004 TimestampOutOfRange
12005 },
12006 ];
12007 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
12008 return Err(
12009 alloy_sol_types::Error::unknown_selector(
12010 <Self as alloy_sol_types::SolInterface>::NAME,
12011 selector,
12012 ),
12013 );
12014 };
12015 DECODE_SHIMS[idx](data)
12016 }
12017 #[inline]
12018 #[allow(non_snake_case)]
12019 fn abi_decode_raw_validate(
12020 selector: [u8; 4],
12021 data: &[u8],
12022 ) -> alloy_sol_types::Result<Self> {
12023 static DECODE_VALIDATE_SHIMS: &[fn(
12024 &[u8],
12025 ) -> alloy_sol_types::Result<EigenPodErrors>] = &[
12026 {
12027 fn InvalidProof(
12028 data: &[u8],
12029 ) -> alloy_sol_types::Result<EigenPodErrors> {
12030 <InvalidProof as alloy_sol_types::SolError>::abi_decode_raw_validate(
12031 data,
12032 )
12033 .map(EigenPodErrors::InvalidProof)
12034 }
12035 InvalidProof
12036 },
12037 {
12038 fn InsufficientWithdrawableBalance(
12039 data: &[u8],
12040 ) -> alloy_sol_types::Result<EigenPodErrors> {
12041 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::abi_decode_raw_validate(
12042 data,
12043 )
12044 .map(EigenPodErrors::InsufficientWithdrawableBalance)
12045 }
12046 InsufficientWithdrawableBalance
12047 },
12048 {
12049 fn NoActiveCheckpoint(
12050 data: &[u8],
12051 ) -> alloy_sol_types::Result<EigenPodErrors> {
12052 <NoActiveCheckpoint as alloy_sol_types::SolError>::abi_decode_raw_validate(
12053 data,
12054 )
12055 .map(EigenPodErrors::NoActiveCheckpoint)
12056 }
12057 NoActiveCheckpoint
12058 },
12059 {
12060 fn InvalidValidatorFieldsLength(
12061 data: &[u8],
12062 ) -> alloy_sol_types::Result<EigenPodErrors> {
12063 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::abi_decode_raw_validate(
12064 data,
12065 )
12066 .map(EigenPodErrors::InvalidValidatorFieldsLength)
12067 }
12068 InvalidValidatorFieldsLength
12069 },
12070 {
12071 fn MsgValueNot32ETH(
12072 data: &[u8],
12073 ) -> alloy_sol_types::Result<EigenPodErrors> {
12074 <MsgValueNot32ETH as alloy_sol_types::SolError>::abi_decode_raw_validate(
12075 data,
12076 )
12077 .map(EigenPodErrors::MsgValueNot32ETH)
12078 }
12079 MsgValueNot32ETH
12080 },
12081 {
12082 fn ValidatorIsExitingBeaconChain(
12083 data: &[u8],
12084 ) -> alloy_sol_types::Result<EigenPodErrors> {
12085 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::abi_decode_raw_validate(
12086 data,
12087 )
12088 .map(EigenPodErrors::ValidatorIsExitingBeaconChain)
12089 }
12090 ValidatorIsExitingBeaconChain
12091 },
12092 {
12093 fn StringTooLong(
12094 data: &[u8],
12095 ) -> alloy_sol_types::Result<EigenPodErrors> {
12096 <StringTooLong as alloy_sol_types::SolError>::abi_decode_raw_validate(
12097 data,
12098 )
12099 .map(EigenPodErrors::StringTooLong)
12100 }
12101 StringTooLong
12102 },
12103 {
12104 fn CredentialsAlreadyVerified(
12105 data: &[u8],
12106 ) -> alloy_sol_types::Result<EigenPodErrors> {
12107 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::abi_decode_raw_validate(
12108 data,
12109 )
12110 .map(EigenPodErrors::CredentialsAlreadyVerified)
12111 }
12112 CredentialsAlreadyVerified
12113 },
12114 {
12115 fn BeaconTimestampTooFarInPast(
12116 data: &[u8],
12117 ) -> alloy_sol_types::Result<EigenPodErrors> {
12118 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::abi_decode_raw_validate(
12119 data,
12120 )
12121 .map(EigenPodErrors::BeaconTimestampTooFarInPast)
12122 }
12123 BeaconTimestampTooFarInPast
12124 },
12125 {
12126 fn OnlyEigenPodOwnerOrProofSubmitter(
12127 data: &[u8],
12128 ) -> alloy_sol_types::Result<EigenPodErrors> {
12129 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::abi_decode_raw_validate(
12130 data,
12131 )
12132 .map(EigenPodErrors::OnlyEigenPodOwnerOrProofSubmitter)
12133 }
12134 OnlyEigenPodOwnerOrProofSubmitter
12135 },
12136 {
12137 fn InputArrayLengthMismatch(
12138 data: &[u8],
12139 ) -> alloy_sol_types::Result<EigenPodErrors> {
12140 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_decode_raw_validate(
12141 data,
12142 )
12143 .map(EigenPodErrors::InputArrayLengthMismatch)
12144 }
12145 InputArrayLengthMismatch
12146 },
12147 {
12148 fn InvalidProofLength(
12149 data: &[u8],
12150 ) -> alloy_sol_types::Result<EigenPodErrors> {
12151 <InvalidProofLength as alloy_sol_types::SolError>::abi_decode_raw_validate(
12152 data,
12153 )
12154 .map(EigenPodErrors::InvalidProofLength)
12155 }
12156 InvalidProofLength
12157 },
12158 {
12159 fn InvalidEIP4788Response(
12160 data: &[u8],
12161 ) -> alloy_sol_types::Result<EigenPodErrors> {
12162 <InvalidEIP4788Response as alloy_sol_types::SolError>::abi_decode_raw_validate(
12163 data,
12164 )
12165 .map(EigenPodErrors::InvalidEIP4788Response)
12166 }
12167 InvalidEIP4788Response
12168 },
12169 {
12170 fn ValidatorInactiveOnBeaconChain(
12171 data: &[u8],
12172 ) -> alloy_sol_types::Result<EigenPodErrors> {
12173 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::abi_decode_raw_validate(
12174 data,
12175 )
12176 .map(EigenPodErrors::ValidatorInactiveOnBeaconChain)
12177 }
12178 ValidatorInactiveOnBeaconChain
12179 },
12180 {
12181 fn CannotCheckpointTwiceInSingleBlock(
12182 data: &[u8],
12183 ) -> alloy_sol_types::Result<EigenPodErrors> {
12184 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::abi_decode_raw_validate(
12185 data,
12186 )
12187 .map(EigenPodErrors::CannotCheckpointTwiceInSingleBlock)
12188 }
12189 CannotCheckpointTwiceInSingleBlock
12190 },
12191 {
12192 fn WithdrawalCredentialsNotForEigenPod(
12193 data: &[u8],
12194 ) -> alloy_sol_types::Result<EigenPodErrors> {
12195 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::abi_decode_raw_validate(
12196 data,
12197 )
12198 .map(EigenPodErrors::WithdrawalCredentialsNotForEigenPod)
12199 }
12200 WithdrawalCredentialsNotForEigenPod
12201 },
12202 {
12203 fn InputAddressZero(
12204 data: &[u8],
12205 ) -> alloy_sol_types::Result<EigenPodErrors> {
12206 <InputAddressZero as alloy_sol_types::SolError>::abi_decode_raw_validate(
12207 data,
12208 )
12209 .map(EigenPodErrors::InputAddressZero)
12210 }
12211 InputAddressZero
12212 },
12213 {
12214 fn CurrentlyPaused(
12215 data: &[u8],
12216 ) -> alloy_sol_types::Result<EigenPodErrors> {
12217 <CurrentlyPaused as alloy_sol_types::SolError>::abi_decode_raw_validate(
12218 data,
12219 )
12220 .map(EigenPodErrors::CurrentlyPaused)
12221 }
12222 CurrentlyPaused
12223 },
12224 {
12225 fn InvalidPubKeyLength(
12226 data: &[u8],
12227 ) -> alloy_sol_types::Result<EigenPodErrors> {
12228 <InvalidPubKeyLength as alloy_sol_types::SolError>::abi_decode_raw_validate(
12229 data,
12230 )
12231 .map(EigenPodErrors::InvalidPubKeyLength)
12232 }
12233 InvalidPubKeyLength
12234 },
12235 {
12236 fn ValidatorNotSlashedOnBeaconChain(
12237 data: &[u8],
12238 ) -> alloy_sol_types::Result<EigenPodErrors> {
12239 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::abi_decode_raw_validate(
12240 data,
12241 )
12242 .map(EigenPodErrors::ValidatorNotSlashedOnBeaconChain)
12243 }
12244 ValidatorNotSlashedOnBeaconChain
12245 },
12246 {
12247 fn InvalidShortString(
12248 data: &[u8],
12249 ) -> alloy_sol_types::Result<EigenPodErrors> {
12250 <InvalidShortString as alloy_sol_types::SolError>::abi_decode_raw_validate(
12251 data,
12252 )
12253 .map(EigenPodErrors::InvalidShortString)
12254 }
12255 InvalidShortString
12256 },
12257 {
12258 fn CheckpointAlreadyActive(
12259 data: &[u8],
12260 ) -> alloy_sol_types::Result<EigenPodErrors> {
12261 <CheckpointAlreadyActive as alloy_sol_types::SolError>::abi_decode_raw_validate(
12262 data,
12263 )
12264 .map(EigenPodErrors::CheckpointAlreadyActive)
12265 }
12266 CheckpointAlreadyActive
12267 },
12268 {
12269 fn OnlyEigenPodManager(
12270 data: &[u8],
12271 ) -> alloy_sol_types::Result<EigenPodErrors> {
12272 <OnlyEigenPodManager as alloy_sol_types::SolError>::abi_decode_raw_validate(
12273 data,
12274 )
12275 .map(EigenPodErrors::OnlyEigenPodManager)
12276 }
12277 OnlyEigenPodManager
12278 },
12279 {
12280 fn NoBalanceToCheckpoint(
12281 data: &[u8],
12282 ) -> alloy_sol_types::Result<EigenPodErrors> {
12283 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::abi_decode_raw_validate(
12284 data,
12285 )
12286 .map(EigenPodErrors::NoBalanceToCheckpoint)
12287 }
12288 NoBalanceToCheckpoint
12289 },
12290 {
12291 fn ValidatorNotActiveInPod(
12292 data: &[u8],
12293 ) -> alloy_sol_types::Result<EigenPodErrors> {
12294 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::abi_decode_raw_validate(
12295 data,
12296 )
12297 .map(EigenPodErrors::ValidatorNotActiveInPod)
12298 }
12299 ValidatorNotActiveInPod
12300 },
12301 {
12302 fn OnlyEigenPodOwner(
12303 data: &[u8],
12304 ) -> alloy_sol_types::Result<EigenPodErrors> {
12305 <OnlyEigenPodOwner as alloy_sol_types::SolError>::abi_decode_raw_validate(
12306 data,
12307 )
12308 .map(EigenPodErrors::OnlyEigenPodOwner)
12309 }
12310 OnlyEigenPodOwner
12311 },
12312 {
12313 fn TimestampOutOfRange(
12314 data: &[u8],
12315 ) -> alloy_sol_types::Result<EigenPodErrors> {
12316 <TimestampOutOfRange as alloy_sol_types::SolError>::abi_decode_raw_validate(
12317 data,
12318 )
12319 .map(EigenPodErrors::TimestampOutOfRange)
12320 }
12321 TimestampOutOfRange
12322 },
12323 ];
12324 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
12325 return Err(
12326 alloy_sol_types::Error::unknown_selector(
12327 <Self as alloy_sol_types::SolInterface>::NAME,
12328 selector,
12329 ),
12330 );
12331 };
12332 DECODE_VALIDATE_SHIMS[idx](data)
12333 }
12334 #[inline]
12335 fn abi_encoded_size(&self) -> usize {
12336 match self {
12337 Self::BeaconTimestampTooFarInPast(inner) => {
12338 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::abi_encoded_size(
12339 inner,
12340 )
12341 }
12342 Self::CannotCheckpointTwiceInSingleBlock(inner) => {
12343 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::abi_encoded_size(
12344 inner,
12345 )
12346 }
12347 Self::CheckpointAlreadyActive(inner) => {
12348 <CheckpointAlreadyActive as alloy_sol_types::SolError>::abi_encoded_size(
12349 inner,
12350 )
12351 }
12352 Self::CredentialsAlreadyVerified(inner) => {
12353 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::abi_encoded_size(
12354 inner,
12355 )
12356 }
12357 Self::CurrentlyPaused(inner) => {
12358 <CurrentlyPaused as alloy_sol_types::SolError>::abi_encoded_size(
12359 inner,
12360 )
12361 }
12362 Self::InputAddressZero(inner) => {
12363 <InputAddressZero as alloy_sol_types::SolError>::abi_encoded_size(
12364 inner,
12365 )
12366 }
12367 Self::InputArrayLengthMismatch(inner) => {
12368 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encoded_size(
12369 inner,
12370 )
12371 }
12372 Self::InsufficientWithdrawableBalance(inner) => {
12373 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::abi_encoded_size(
12374 inner,
12375 )
12376 }
12377 Self::InvalidEIP4788Response(inner) => {
12378 <InvalidEIP4788Response as alloy_sol_types::SolError>::abi_encoded_size(
12379 inner,
12380 )
12381 }
12382 Self::InvalidProof(inner) => {
12383 <InvalidProof as alloy_sol_types::SolError>::abi_encoded_size(inner)
12384 }
12385 Self::InvalidProofLength(inner) => {
12386 <InvalidProofLength as alloy_sol_types::SolError>::abi_encoded_size(
12387 inner,
12388 )
12389 }
12390 Self::InvalidPubKeyLength(inner) => {
12391 <InvalidPubKeyLength as alloy_sol_types::SolError>::abi_encoded_size(
12392 inner,
12393 )
12394 }
12395 Self::InvalidShortString(inner) => {
12396 <InvalidShortString as alloy_sol_types::SolError>::abi_encoded_size(
12397 inner,
12398 )
12399 }
12400 Self::InvalidValidatorFieldsLength(inner) => {
12401 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::abi_encoded_size(
12402 inner,
12403 )
12404 }
12405 Self::MsgValueNot32ETH(inner) => {
12406 <MsgValueNot32ETH as alloy_sol_types::SolError>::abi_encoded_size(
12407 inner,
12408 )
12409 }
12410 Self::NoActiveCheckpoint(inner) => {
12411 <NoActiveCheckpoint as alloy_sol_types::SolError>::abi_encoded_size(
12412 inner,
12413 )
12414 }
12415 Self::NoBalanceToCheckpoint(inner) => {
12416 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::abi_encoded_size(
12417 inner,
12418 )
12419 }
12420 Self::OnlyEigenPodManager(inner) => {
12421 <OnlyEigenPodManager as alloy_sol_types::SolError>::abi_encoded_size(
12422 inner,
12423 )
12424 }
12425 Self::OnlyEigenPodOwner(inner) => {
12426 <OnlyEigenPodOwner as alloy_sol_types::SolError>::abi_encoded_size(
12427 inner,
12428 )
12429 }
12430 Self::OnlyEigenPodOwnerOrProofSubmitter(inner) => {
12431 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::abi_encoded_size(
12432 inner,
12433 )
12434 }
12435 Self::StringTooLong(inner) => {
12436 <StringTooLong as alloy_sol_types::SolError>::abi_encoded_size(inner)
12437 }
12438 Self::TimestampOutOfRange(inner) => {
12439 <TimestampOutOfRange as alloy_sol_types::SolError>::abi_encoded_size(
12440 inner,
12441 )
12442 }
12443 Self::ValidatorInactiveOnBeaconChain(inner) => {
12444 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::abi_encoded_size(
12445 inner,
12446 )
12447 }
12448 Self::ValidatorIsExitingBeaconChain(inner) => {
12449 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::abi_encoded_size(
12450 inner,
12451 )
12452 }
12453 Self::ValidatorNotActiveInPod(inner) => {
12454 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::abi_encoded_size(
12455 inner,
12456 )
12457 }
12458 Self::ValidatorNotSlashedOnBeaconChain(inner) => {
12459 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::abi_encoded_size(
12460 inner,
12461 )
12462 }
12463 Self::WithdrawalCredentialsNotForEigenPod(inner) => {
12464 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::abi_encoded_size(
12465 inner,
12466 )
12467 }
12468 }
12469 }
12470 #[inline]
12471 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
12472 match self {
12473 Self::BeaconTimestampTooFarInPast(inner) => {
12474 <BeaconTimestampTooFarInPast as alloy_sol_types::SolError>::abi_encode_raw(
12475 inner,
12476 out,
12477 )
12478 }
12479 Self::CannotCheckpointTwiceInSingleBlock(inner) => {
12480 <CannotCheckpointTwiceInSingleBlock as alloy_sol_types::SolError>::abi_encode_raw(
12481 inner,
12482 out,
12483 )
12484 }
12485 Self::CheckpointAlreadyActive(inner) => {
12486 <CheckpointAlreadyActive as alloy_sol_types::SolError>::abi_encode_raw(
12487 inner,
12488 out,
12489 )
12490 }
12491 Self::CredentialsAlreadyVerified(inner) => {
12492 <CredentialsAlreadyVerified as alloy_sol_types::SolError>::abi_encode_raw(
12493 inner,
12494 out,
12495 )
12496 }
12497 Self::CurrentlyPaused(inner) => {
12498 <CurrentlyPaused as alloy_sol_types::SolError>::abi_encode_raw(
12499 inner,
12500 out,
12501 )
12502 }
12503 Self::InputAddressZero(inner) => {
12504 <InputAddressZero as alloy_sol_types::SolError>::abi_encode_raw(
12505 inner,
12506 out,
12507 )
12508 }
12509 Self::InputArrayLengthMismatch(inner) => {
12510 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encode_raw(
12511 inner,
12512 out,
12513 )
12514 }
12515 Self::InsufficientWithdrawableBalance(inner) => {
12516 <InsufficientWithdrawableBalance as alloy_sol_types::SolError>::abi_encode_raw(
12517 inner,
12518 out,
12519 )
12520 }
12521 Self::InvalidEIP4788Response(inner) => {
12522 <InvalidEIP4788Response as alloy_sol_types::SolError>::abi_encode_raw(
12523 inner,
12524 out,
12525 )
12526 }
12527 Self::InvalidProof(inner) => {
12528 <InvalidProof as alloy_sol_types::SolError>::abi_encode_raw(
12529 inner,
12530 out,
12531 )
12532 }
12533 Self::InvalidProofLength(inner) => {
12534 <InvalidProofLength as alloy_sol_types::SolError>::abi_encode_raw(
12535 inner,
12536 out,
12537 )
12538 }
12539 Self::InvalidPubKeyLength(inner) => {
12540 <InvalidPubKeyLength as alloy_sol_types::SolError>::abi_encode_raw(
12541 inner,
12542 out,
12543 )
12544 }
12545 Self::InvalidShortString(inner) => {
12546 <InvalidShortString as alloy_sol_types::SolError>::abi_encode_raw(
12547 inner,
12548 out,
12549 )
12550 }
12551 Self::InvalidValidatorFieldsLength(inner) => {
12552 <InvalidValidatorFieldsLength as alloy_sol_types::SolError>::abi_encode_raw(
12553 inner,
12554 out,
12555 )
12556 }
12557 Self::MsgValueNot32ETH(inner) => {
12558 <MsgValueNot32ETH as alloy_sol_types::SolError>::abi_encode_raw(
12559 inner,
12560 out,
12561 )
12562 }
12563 Self::NoActiveCheckpoint(inner) => {
12564 <NoActiveCheckpoint as alloy_sol_types::SolError>::abi_encode_raw(
12565 inner,
12566 out,
12567 )
12568 }
12569 Self::NoBalanceToCheckpoint(inner) => {
12570 <NoBalanceToCheckpoint as alloy_sol_types::SolError>::abi_encode_raw(
12571 inner,
12572 out,
12573 )
12574 }
12575 Self::OnlyEigenPodManager(inner) => {
12576 <OnlyEigenPodManager as alloy_sol_types::SolError>::abi_encode_raw(
12577 inner,
12578 out,
12579 )
12580 }
12581 Self::OnlyEigenPodOwner(inner) => {
12582 <OnlyEigenPodOwner as alloy_sol_types::SolError>::abi_encode_raw(
12583 inner,
12584 out,
12585 )
12586 }
12587 Self::OnlyEigenPodOwnerOrProofSubmitter(inner) => {
12588 <OnlyEigenPodOwnerOrProofSubmitter as alloy_sol_types::SolError>::abi_encode_raw(
12589 inner,
12590 out,
12591 )
12592 }
12593 Self::StringTooLong(inner) => {
12594 <StringTooLong as alloy_sol_types::SolError>::abi_encode_raw(
12595 inner,
12596 out,
12597 )
12598 }
12599 Self::TimestampOutOfRange(inner) => {
12600 <TimestampOutOfRange as alloy_sol_types::SolError>::abi_encode_raw(
12601 inner,
12602 out,
12603 )
12604 }
12605 Self::ValidatorInactiveOnBeaconChain(inner) => {
12606 <ValidatorInactiveOnBeaconChain as alloy_sol_types::SolError>::abi_encode_raw(
12607 inner,
12608 out,
12609 )
12610 }
12611 Self::ValidatorIsExitingBeaconChain(inner) => {
12612 <ValidatorIsExitingBeaconChain as alloy_sol_types::SolError>::abi_encode_raw(
12613 inner,
12614 out,
12615 )
12616 }
12617 Self::ValidatorNotActiveInPod(inner) => {
12618 <ValidatorNotActiveInPod as alloy_sol_types::SolError>::abi_encode_raw(
12619 inner,
12620 out,
12621 )
12622 }
12623 Self::ValidatorNotSlashedOnBeaconChain(inner) => {
12624 <ValidatorNotSlashedOnBeaconChain as alloy_sol_types::SolError>::abi_encode_raw(
12625 inner,
12626 out,
12627 )
12628 }
12629 Self::WithdrawalCredentialsNotForEigenPod(inner) => {
12630 <WithdrawalCredentialsNotForEigenPod as alloy_sol_types::SolError>::abi_encode_raw(
12631 inner,
12632 out,
12633 )
12634 }
12635 }
12636 }
12637 }
12638 #[derive(serde::Serialize, serde::Deserialize)]
12640 #[derive(Debug, PartialEq, Eq, Hash)]
12641 pub enum EigenPodEvents {
12642 #[allow(missing_docs)]
12643 CheckpointCreated(CheckpointCreated),
12644 #[allow(missing_docs)]
12645 CheckpointFinalized(CheckpointFinalized),
12646 #[allow(missing_docs)]
12647 EigenPodStaked(EigenPodStaked),
12648 #[allow(missing_docs)]
12649 Initialized(Initialized),
12650 #[allow(missing_docs)]
12651 NonBeaconChainETHReceived(NonBeaconChainETHReceived),
12652 #[allow(missing_docs)]
12653 ProofSubmitterUpdated(ProofSubmitterUpdated),
12654 #[allow(missing_docs)]
12655 RestakedBeaconChainETHWithdrawn(RestakedBeaconChainETHWithdrawn),
12656 #[allow(missing_docs)]
12657 ValidatorBalanceUpdated(ValidatorBalanceUpdated),
12658 #[allow(missing_docs)]
12659 ValidatorCheckpointed(ValidatorCheckpointed),
12660 #[allow(missing_docs)]
12661 ValidatorRestaked(ValidatorRestaked),
12662 #[allow(missing_docs)]
12663 ValidatorWithdrawn(ValidatorWithdrawn),
12664 }
12665 #[automatically_derived]
12666 impl EigenPodEvents {
12667 pub const SELECTORS: &'static [[u8; 32usize]] = &[
12674 [
12675 14u8, 95u8, 172u8, 23u8, 91u8, 131u8, 23u8, 124u8, 192u8, 71u8, 56u8,
12676 30u8, 3u8, 13u8, 143u8, 179u8, 180u8, 43u8, 55u8, 189u8, 28u8, 2u8, 94u8,
12677 34u8, 194u8, 128u8, 250u8, 202u8, 214u8, 44u8, 50u8, 223u8,
12678 ],
12679 [
12680 42u8, 2u8, 54u8, 31u8, 250u8, 102u8, 207u8, 44u8, 45u8, 164u8, 104u8,
12681 44u8, 35u8, 85u8, 166u8, 173u8, 202u8, 169u8, 246u8, 194u8, 39u8, 182u8,
12682 230u8, 86u8, 62u8, 104u8, 72u8, 15u8, 149u8, 135u8, 98u8, 106u8,
12683 ],
12684 [
12685 45u8, 8u8, 0u8, 187u8, 195u8, 119u8, 234u8, 84u8, 160u8, 140u8, 93u8,
12686 182u8, 168u8, 122u8, 175u8, 255u8, 94u8, 62u8, 156u8, 143u8, 234u8,
12687 208u8, 237u8, 161u8, 16u8, 228u8, 14u8, 12u8, 16u8, 68u8, 20u8, 73u8,
12688 ],
12689 [
12690 82u8, 84u8, 8u8, 194u8, 1u8, 188u8, 21u8, 118u8, 235u8, 68u8, 17u8,
12691 111u8, 100u8, 120u8, 241u8, 194u8, 165u8, 71u8, 117u8, 177u8, 154u8, 4u8,
12692 59u8, 207u8, 220u8, 112u8, 131u8, 100u8, 247u8, 79u8, 142u8, 68u8,
12693 ],
12694 [
12695 87u8, 87u8, 150u8, 19u8, 59u8, 190u8, 211u8, 55u8, 229u8, 179u8, 154u8,
12696 164u8, 154u8, 48u8, 220u8, 37u8, 86u8, 169u8, 30u8, 12u8, 108u8, 42u8,
12697 244u8, 183u8, 184u8, 134u8, 174u8, 119u8, 235u8, 239u8, 16u8, 118u8,
12698 ],
12699 [
12700 96u8, 104u8, 101u8, 183u8, 147u8, 74u8, 37u8, 212u8, 174u8, 212u8, 63u8,
12701 108u8, 219u8, 66u8, 100u8, 3u8, 53u8, 63u8, 164u8, 179u8, 0u8, 156u8,
12702 77u8, 34u8, 132u8, 7u8, 71u8, 69u8, 129u8, 176u8, 30u8, 35u8,
12703 ],
12704 [
12705 111u8, 221u8, 61u8, 189u8, 177u8, 115u8, 41u8, 150u8, 8u8, 192u8, 170u8,
12706 159u8, 54u8, 135u8, 53u8, 133u8, 124u8, 136u8, 66u8, 181u8, 129u8, 248u8,
12707 56u8, 146u8, 56u8, 191u8, 5u8, 189u8, 4u8, 179u8, 191u8, 73u8,
12708 ],
12709 [
12710 127u8, 38u8, 184u8, 63u8, 249u8, 110u8, 31u8, 43u8, 106u8, 104u8, 47u8,
12711 19u8, 56u8, 82u8, 246u8, 121u8, 138u8, 9u8, 196u8, 101u8, 218u8, 149u8,
12712 146u8, 20u8, 96u8, 206u8, 251u8, 56u8, 71u8, 64u8, 36u8, 152u8,
12713 ],
12714 [
12715 137u8, 71u8, 253u8, 44u8, 224u8, 126u8, 249u8, 204u8, 48u8, 44u8, 78u8,
12716 143u8, 4u8, 97u8, 1u8, 86u8, 21u8, 217u8, 28u8, 232u8, 81u8, 86u8, 72u8,
12717 57u8, 233u8, 28u8, 200u8, 4u8, 194u8, 244u8, 157u8, 142u8,
12718 ],
12719 [
12720 169u8, 28u8, 89u8, 3u8, 60u8, 52u8, 35u8, 225u8, 139u8, 84u8, 208u8,
12721 172u8, 236u8, 235u8, 180u8, 151u8, 47u8, 158u8, 169u8, 90u8, 237u8,
12722 245u8, 244u8, 202u8, 227u8, 182u8, 119u8, 176u8, 46u8, 175u8, 58u8, 63u8,
12723 ],
12724 [
12725 251u8, 129u8, 41u8, 8u8, 10u8, 25u8, 211u8, 77u8, 206u8, 172u8, 4u8,
12726 186u8, 37u8, 63u8, 197u8, 3u8, 4u8, 220u8, 134u8, 199u8, 41u8, 189u8,
12727 99u8, 205u8, 202u8, 74u8, 150u8, 154u8, 209u8, 154u8, 94u8, 172u8,
12728 ],
12729 ];
12730 }
12731 #[automatically_derived]
12732 impl alloy_sol_types::SolEventInterface for EigenPodEvents {
12733 const NAME: &'static str = "EigenPodEvents";
12734 const COUNT: usize = 11usize;
12735 fn decode_raw_log(
12736 topics: &[alloy_sol_types::Word],
12737 data: &[u8],
12738 ) -> alloy_sol_types::Result<Self> {
12739 match topics.first().copied() {
12740 Some(
12741 <CheckpointCreated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12742 ) => {
12743 <CheckpointCreated as alloy_sol_types::SolEvent>::decode_raw_log(
12744 topics,
12745 data,
12746 )
12747 .map(Self::CheckpointCreated)
12748 }
12749 Some(
12750 <CheckpointFinalized as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12751 ) => {
12752 <CheckpointFinalized as alloy_sol_types::SolEvent>::decode_raw_log(
12753 topics,
12754 data,
12755 )
12756 .map(Self::CheckpointFinalized)
12757 }
12758 Some(<EigenPodStaked as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
12759 <EigenPodStaked as alloy_sol_types::SolEvent>::decode_raw_log(
12760 topics,
12761 data,
12762 )
12763 .map(Self::EigenPodStaked)
12764 }
12765 Some(<Initialized as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
12766 <Initialized as alloy_sol_types::SolEvent>::decode_raw_log(
12767 topics,
12768 data,
12769 )
12770 .map(Self::Initialized)
12771 }
12772 Some(
12773 <NonBeaconChainETHReceived as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12774 ) => {
12775 <NonBeaconChainETHReceived as alloy_sol_types::SolEvent>::decode_raw_log(
12776 topics,
12777 data,
12778 )
12779 .map(Self::NonBeaconChainETHReceived)
12780 }
12781 Some(
12782 <ProofSubmitterUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12783 ) => {
12784 <ProofSubmitterUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
12785 topics,
12786 data,
12787 )
12788 .map(Self::ProofSubmitterUpdated)
12789 }
12790 Some(
12791 <RestakedBeaconChainETHWithdrawn as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12792 ) => {
12793 <RestakedBeaconChainETHWithdrawn as alloy_sol_types::SolEvent>::decode_raw_log(
12794 topics,
12795 data,
12796 )
12797 .map(Self::RestakedBeaconChainETHWithdrawn)
12798 }
12799 Some(
12800 <ValidatorBalanceUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12801 ) => {
12802 <ValidatorBalanceUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
12803 topics,
12804 data,
12805 )
12806 .map(Self::ValidatorBalanceUpdated)
12807 }
12808 Some(
12809 <ValidatorCheckpointed as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12810 ) => {
12811 <ValidatorCheckpointed as alloy_sol_types::SolEvent>::decode_raw_log(
12812 topics,
12813 data,
12814 )
12815 .map(Self::ValidatorCheckpointed)
12816 }
12817 Some(
12818 <ValidatorRestaked as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12819 ) => {
12820 <ValidatorRestaked as alloy_sol_types::SolEvent>::decode_raw_log(
12821 topics,
12822 data,
12823 )
12824 .map(Self::ValidatorRestaked)
12825 }
12826 Some(
12827 <ValidatorWithdrawn as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12828 ) => {
12829 <ValidatorWithdrawn as alloy_sol_types::SolEvent>::decode_raw_log(
12830 topics,
12831 data,
12832 )
12833 .map(Self::ValidatorWithdrawn)
12834 }
12835 _ => {
12836 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
12837 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
12838 log: alloy_sol_types::private::Box::new(
12839 alloy_sol_types::private::LogData::new_unchecked(
12840 topics.to_vec(),
12841 data.to_vec().into(),
12842 ),
12843 ),
12844 })
12845 }
12846 }
12847 }
12848 }
12849 #[automatically_derived]
12850 impl alloy_sol_types::private::IntoLogData for EigenPodEvents {
12851 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
12852 match self {
12853 Self::CheckpointCreated(inner) => {
12854 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12855 }
12856 Self::CheckpointFinalized(inner) => {
12857 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12858 }
12859 Self::EigenPodStaked(inner) => {
12860 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12861 }
12862 Self::Initialized(inner) => {
12863 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12864 }
12865 Self::NonBeaconChainETHReceived(inner) => {
12866 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12867 }
12868 Self::ProofSubmitterUpdated(inner) => {
12869 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12870 }
12871 Self::RestakedBeaconChainETHWithdrawn(inner) => {
12872 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12873 }
12874 Self::ValidatorBalanceUpdated(inner) => {
12875 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12876 }
12877 Self::ValidatorCheckpointed(inner) => {
12878 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12879 }
12880 Self::ValidatorRestaked(inner) => {
12881 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12882 }
12883 Self::ValidatorWithdrawn(inner) => {
12884 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12885 }
12886 }
12887 }
12888 fn into_log_data(self) -> alloy_sol_types::private::LogData {
12889 match self {
12890 Self::CheckpointCreated(inner) => {
12891 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12892 }
12893 Self::CheckpointFinalized(inner) => {
12894 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12895 }
12896 Self::EigenPodStaked(inner) => {
12897 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12898 }
12899 Self::Initialized(inner) => {
12900 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12901 }
12902 Self::NonBeaconChainETHReceived(inner) => {
12903 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12904 }
12905 Self::ProofSubmitterUpdated(inner) => {
12906 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12907 }
12908 Self::RestakedBeaconChainETHWithdrawn(inner) => {
12909 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12910 }
12911 Self::ValidatorBalanceUpdated(inner) => {
12912 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12913 }
12914 Self::ValidatorCheckpointed(inner) => {
12915 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12916 }
12917 Self::ValidatorRestaked(inner) => {
12918 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12919 }
12920 Self::ValidatorWithdrawn(inner) => {
12921 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12922 }
12923 }
12924 }
12925 }
12926 use alloy::contract as alloy_contract;
12927 #[inline]
12931 pub const fn new<
12932 P: alloy_contract::private::Provider<N>,
12933 N: alloy_contract::private::Network,
12934 >(
12935 address: alloy_sol_types::private::Address,
12936 provider: P,
12937 ) -> EigenPodInstance<P, N> {
12938 EigenPodInstance::<P, N>::new(address, provider)
12939 }
12940 #[inline]
12946 pub fn deploy<
12947 P: alloy_contract::private::Provider<N>,
12948 N: alloy_contract::private::Network,
12949 >(
12950 provider: P,
12951 _ethPOS: alloy::sol_types::private::Address,
12952 _eigenPodManager: alloy::sol_types::private::Address,
12953 _GENESIS_TIME: u64,
12954 _version: alloy::sol_types::private::String,
12955 ) -> impl ::core::future::Future<
12956 Output = alloy_contract::Result<EigenPodInstance<P, N>>,
12957 > {
12958 EigenPodInstance::<
12959 P,
12960 N,
12961 >::deploy(provider, _ethPOS, _eigenPodManager, _GENESIS_TIME, _version)
12962 }
12963 #[inline]
12969 pub fn deploy_builder<
12970 P: alloy_contract::private::Provider<N>,
12971 N: alloy_contract::private::Network,
12972 >(
12973 provider: P,
12974 _ethPOS: alloy::sol_types::private::Address,
12975 _eigenPodManager: alloy::sol_types::private::Address,
12976 _GENESIS_TIME: u64,
12977 _version: alloy::sol_types::private::String,
12978 ) -> alloy_contract::RawCallBuilder<P, N> {
12979 EigenPodInstance::<
12980 P,
12981 N,
12982 >::deploy_builder(provider, _ethPOS, _eigenPodManager, _GENESIS_TIME, _version)
12983 }
12984 #[derive(Clone)]
12996 pub struct EigenPodInstance<P, N = alloy_contract::private::Ethereum> {
12997 address: alloy_sol_types::private::Address,
12998 provider: P,
12999 _network: ::core::marker::PhantomData<N>,
13000 }
13001 #[automatically_derived]
13002 impl<P, N> ::core::fmt::Debug for EigenPodInstance<P, N> {
13003 #[inline]
13004 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13005 f.debug_tuple("EigenPodInstance").field(&self.address).finish()
13006 }
13007 }
13008 #[automatically_derived]
13010 impl<
13011 P: alloy_contract::private::Provider<N>,
13012 N: alloy_contract::private::Network,
13013 > EigenPodInstance<P, N> {
13014 #[inline]
13018 pub const fn new(
13019 address: alloy_sol_types::private::Address,
13020 provider: P,
13021 ) -> Self {
13022 Self {
13023 address,
13024 provider,
13025 _network: ::core::marker::PhantomData,
13026 }
13027 }
13028 #[inline]
13034 pub async fn deploy(
13035 provider: P,
13036 _ethPOS: alloy::sol_types::private::Address,
13037 _eigenPodManager: alloy::sol_types::private::Address,
13038 _GENESIS_TIME: u64,
13039 _version: alloy::sol_types::private::String,
13040 ) -> alloy_contract::Result<EigenPodInstance<P, N>> {
13041 let call_builder = Self::deploy_builder(
13042 provider,
13043 _ethPOS,
13044 _eigenPodManager,
13045 _GENESIS_TIME,
13046 _version,
13047 );
13048 let contract_address = call_builder.deploy().await?;
13049 Ok(Self::new(contract_address, call_builder.provider))
13050 }
13051 #[inline]
13057 pub fn deploy_builder(
13058 provider: P,
13059 _ethPOS: alloy::sol_types::private::Address,
13060 _eigenPodManager: alloy::sol_types::private::Address,
13061 _GENESIS_TIME: u64,
13062 _version: alloy::sol_types::private::String,
13063 ) -> alloy_contract::RawCallBuilder<P, N> {
13064 alloy_contract::RawCallBuilder::new_raw_deploy(
13065 provider,
13066 [
13067 &BYTECODE[..],
13068 &alloy_sol_types::SolConstructor::abi_encode(
13069 &constructorCall {
13070 _ethPOS,
13071 _eigenPodManager,
13072 _GENESIS_TIME,
13073 _version,
13074 },
13075 )[..],
13076 ]
13077 .concat()
13078 .into(),
13079 )
13080 }
13081 #[inline]
13083 pub const fn address(&self) -> &alloy_sol_types::private::Address {
13084 &self.address
13085 }
13086 #[inline]
13088 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
13089 self.address = address;
13090 }
13091 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
13093 self.set_address(address);
13094 self
13095 }
13096 #[inline]
13098 pub const fn provider(&self) -> &P {
13099 &self.provider
13100 }
13101 }
13102 impl<P: ::core::clone::Clone, N> EigenPodInstance<&P, N> {
13103 #[inline]
13105 pub fn with_cloned_provider(self) -> EigenPodInstance<P, N> {
13106 EigenPodInstance {
13107 address: self.address,
13108 provider: ::core::clone::Clone::clone(&self.provider),
13109 _network: ::core::marker::PhantomData,
13110 }
13111 }
13112 }
13113 #[automatically_derived]
13115 impl<
13116 P: alloy_contract::private::Provider<N>,
13117 N: alloy_contract::private::Network,
13118 > EigenPodInstance<P, N> {
13119 pub fn call_builder<C: alloy_sol_types::SolCall>(
13124 &self,
13125 call: &C,
13126 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
13127 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
13128 }
13129 pub fn GENESIS_TIME(
13131 &self,
13132 ) -> alloy_contract::SolCallBuilder<&P, GENESIS_TIMECall, N> {
13133 self.call_builder(&GENESIS_TIMECall)
13134 }
13135 pub fn activeValidatorCount(
13137 &self,
13138 ) -> alloy_contract::SolCallBuilder<&P, activeValidatorCountCall, N> {
13139 self.call_builder(&activeValidatorCountCall)
13140 }
13141 pub fn checkpointBalanceExitedGwei(
13143 &self,
13144 _0: u64,
13145 ) -> alloy_contract::SolCallBuilder<&P, checkpointBalanceExitedGweiCall, N> {
13146 self.call_builder(&checkpointBalanceExitedGweiCall(_0))
13147 }
13148 pub fn currentCheckpoint(
13150 &self,
13151 ) -> alloy_contract::SolCallBuilder<&P, currentCheckpointCall, N> {
13152 self.call_builder(¤tCheckpointCall)
13153 }
13154 pub fn currentCheckpointTimestamp(
13156 &self,
13157 ) -> alloy_contract::SolCallBuilder<&P, currentCheckpointTimestampCall, N> {
13158 self.call_builder(¤tCheckpointTimestampCall)
13159 }
13160 pub fn eigenPodManager(
13162 &self,
13163 ) -> alloy_contract::SolCallBuilder<&P, eigenPodManagerCall, N> {
13164 self.call_builder(&eigenPodManagerCall)
13165 }
13166 pub fn ethPOS(&self) -> alloy_contract::SolCallBuilder<&P, ethPOSCall, N> {
13168 self.call_builder(ðPOSCall)
13169 }
13170 pub fn getParentBlockRoot(
13172 &self,
13173 timestamp: u64,
13174 ) -> alloy_contract::SolCallBuilder<&P, getParentBlockRootCall, N> {
13175 self.call_builder(
13176 &getParentBlockRootCall {
13177 timestamp,
13178 },
13179 )
13180 }
13181 pub fn initialize(
13183 &self,
13184 _podOwner: alloy::sol_types::private::Address,
13185 ) -> alloy_contract::SolCallBuilder<&P, initializeCall, N> {
13186 self.call_builder(&initializeCall { _podOwner })
13187 }
13188 pub fn lastCheckpointTimestamp(
13190 &self,
13191 ) -> alloy_contract::SolCallBuilder<&P, lastCheckpointTimestampCall, N> {
13192 self.call_builder(&lastCheckpointTimestampCall)
13193 }
13194 pub fn podOwner(&self) -> alloy_contract::SolCallBuilder<&P, podOwnerCall, N> {
13196 self.call_builder(&podOwnerCall)
13197 }
13198 pub fn proofSubmitter(
13200 &self,
13201 ) -> alloy_contract::SolCallBuilder<&P, proofSubmitterCall, N> {
13202 self.call_builder(&proofSubmitterCall)
13203 }
13204 pub fn recoverTokens(
13206 &self,
13207 tokenList: alloy::sol_types::private::Vec<
13208 alloy::sol_types::private::Address,
13209 >,
13210 amountsToWithdraw: alloy::sol_types::private::Vec<
13211 alloy::sol_types::private::primitives::aliases::U256,
13212 >,
13213 recipient: alloy::sol_types::private::Address,
13214 ) -> alloy_contract::SolCallBuilder<&P, recoverTokensCall, N> {
13215 self.call_builder(
13216 &recoverTokensCall {
13217 tokenList,
13218 amountsToWithdraw,
13219 recipient,
13220 },
13221 )
13222 }
13223 pub fn setProofSubmitter(
13225 &self,
13226 newProofSubmitter: alloy::sol_types::private::Address,
13227 ) -> alloy_contract::SolCallBuilder<&P, setProofSubmitterCall, N> {
13228 self.call_builder(
13229 &setProofSubmitterCall {
13230 newProofSubmitter,
13231 },
13232 )
13233 }
13234 pub fn stake(
13236 &self,
13237 pubkey: alloy::sol_types::private::Bytes,
13238 signature: alloy::sol_types::private::Bytes,
13239 depositDataRoot: alloy::sol_types::private::FixedBytes<32>,
13240 ) -> alloy_contract::SolCallBuilder<&P, stakeCall, N> {
13241 self.call_builder(
13242 &stakeCall {
13243 pubkey,
13244 signature,
13245 depositDataRoot,
13246 },
13247 )
13248 }
13249 pub fn startCheckpoint(
13251 &self,
13252 revertIfNoBalance: bool,
13253 ) -> alloy_contract::SolCallBuilder<&P, startCheckpointCall, N> {
13254 self.call_builder(
13255 &startCheckpointCall {
13256 revertIfNoBalance,
13257 },
13258 )
13259 }
13260 pub fn validatorPubkeyHashToInfo(
13262 &self,
13263 validatorPubkeyHash: alloy::sol_types::private::FixedBytes<32>,
13264 ) -> alloy_contract::SolCallBuilder<&P, validatorPubkeyHashToInfoCall, N> {
13265 self.call_builder(
13266 &validatorPubkeyHashToInfoCall {
13267 validatorPubkeyHash,
13268 },
13269 )
13270 }
13271 pub fn validatorPubkeyToInfo(
13273 &self,
13274 validatorPubkey: alloy::sol_types::private::Bytes,
13275 ) -> alloy_contract::SolCallBuilder<&P, validatorPubkeyToInfoCall, N> {
13276 self.call_builder(
13277 &validatorPubkeyToInfoCall {
13278 validatorPubkey,
13279 },
13280 )
13281 }
13282 pub fn validatorStatus_0(
13284 &self,
13285 validatorPubkey: alloy::sol_types::private::Bytes,
13286 ) -> alloy_contract::SolCallBuilder<&P, validatorStatus_0Call, N> {
13287 self.call_builder(
13288 &validatorStatus_0Call {
13289 validatorPubkey,
13290 },
13291 )
13292 }
13293 pub fn validatorStatus_1(
13295 &self,
13296 pubkeyHash: alloy::sol_types::private::FixedBytes<32>,
13297 ) -> alloy_contract::SolCallBuilder<&P, validatorStatus_1Call, N> {
13298 self.call_builder(
13299 &validatorStatus_1Call {
13300 pubkeyHash,
13301 },
13302 )
13303 }
13304 pub fn verifyCheckpointProofs(
13306 &self,
13307 balanceContainerProof: <BeaconChainProofs::BalanceContainerProof as alloy::sol_types::SolType>::RustType,
13308 proofs: alloy::sol_types::private::Vec<
13309 <BeaconChainProofs::BalanceProof as alloy::sol_types::SolType>::RustType,
13310 >,
13311 ) -> alloy_contract::SolCallBuilder<&P, verifyCheckpointProofsCall, N> {
13312 self.call_builder(
13313 &verifyCheckpointProofsCall {
13314 balanceContainerProof,
13315 proofs,
13316 },
13317 )
13318 }
13319 pub fn verifyStaleBalance(
13321 &self,
13322 beaconTimestamp: u64,
13323 stateRootProof: <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
13324 proof: <BeaconChainProofs::ValidatorProof as alloy::sol_types::SolType>::RustType,
13325 ) -> alloy_contract::SolCallBuilder<&P, verifyStaleBalanceCall, N> {
13326 self.call_builder(
13327 &verifyStaleBalanceCall {
13328 beaconTimestamp,
13329 stateRootProof,
13330 proof,
13331 },
13332 )
13333 }
13334 pub fn verifyWithdrawalCredentials(
13336 &self,
13337 beaconTimestamp: u64,
13338 stateRootProof: <BeaconChainProofs::StateRootProof as alloy::sol_types::SolType>::RustType,
13339 validatorIndices: alloy::sol_types::private::Vec<
13340 alloy::sol_types::private::primitives::aliases::U40,
13341 >,
13342 validatorFieldsProofs: alloy::sol_types::private::Vec<
13343 alloy::sol_types::private::Bytes,
13344 >,
13345 validatorFields: alloy::sol_types::private::Vec<
13346 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
13347 >,
13348 ) -> alloy_contract::SolCallBuilder<&P, verifyWithdrawalCredentialsCall, N> {
13349 self.call_builder(
13350 &verifyWithdrawalCredentialsCall {
13351 beaconTimestamp,
13352 stateRootProof,
13353 validatorIndices,
13354 validatorFieldsProofs,
13355 validatorFields,
13356 },
13357 )
13358 }
13359 pub fn version(&self) -> alloy_contract::SolCallBuilder<&P, versionCall, N> {
13361 self.call_builder(&versionCall)
13362 }
13363 pub fn withdrawRestakedBeaconChainETH(
13365 &self,
13366 recipient: alloy::sol_types::private::Address,
13367 amountWei: alloy::sol_types::private::primitives::aliases::U256,
13368 ) -> alloy_contract::SolCallBuilder<&P, withdrawRestakedBeaconChainETHCall, N> {
13369 self.call_builder(
13370 &withdrawRestakedBeaconChainETHCall {
13371 recipient,
13372 amountWei,
13373 },
13374 )
13375 }
13376 pub fn withdrawableRestakedExecutionLayerGwei(
13378 &self,
13379 ) -> alloy_contract::SolCallBuilder<
13380 &P,
13381 withdrawableRestakedExecutionLayerGweiCall,
13382 N,
13383 > {
13384 self.call_builder(&withdrawableRestakedExecutionLayerGweiCall)
13385 }
13386 }
13387 #[automatically_derived]
13389 impl<
13390 P: alloy_contract::private::Provider<N>,
13391 N: alloy_contract::private::Network,
13392 > EigenPodInstance<P, N> {
13393 pub fn event_filter<E: alloy_sol_types::SolEvent>(
13398 &self,
13399 ) -> alloy_contract::Event<&P, E, N> {
13400 alloy_contract::Event::new_sol(&self.provider, &self.address)
13401 }
13402 pub fn CheckpointCreated_filter(
13404 &self,
13405 ) -> alloy_contract::Event<&P, CheckpointCreated, N> {
13406 self.event_filter::<CheckpointCreated>()
13407 }
13408 pub fn CheckpointFinalized_filter(
13410 &self,
13411 ) -> alloy_contract::Event<&P, CheckpointFinalized, N> {
13412 self.event_filter::<CheckpointFinalized>()
13413 }
13414 pub fn EigenPodStaked_filter(
13416 &self,
13417 ) -> alloy_contract::Event<&P, EigenPodStaked, N> {
13418 self.event_filter::<EigenPodStaked>()
13419 }
13420 pub fn Initialized_filter(&self) -> alloy_contract::Event<&P, Initialized, N> {
13422 self.event_filter::<Initialized>()
13423 }
13424 pub fn NonBeaconChainETHReceived_filter(
13426 &self,
13427 ) -> alloy_contract::Event<&P, NonBeaconChainETHReceived, N> {
13428 self.event_filter::<NonBeaconChainETHReceived>()
13429 }
13430 pub fn ProofSubmitterUpdated_filter(
13432 &self,
13433 ) -> alloy_contract::Event<&P, ProofSubmitterUpdated, N> {
13434 self.event_filter::<ProofSubmitterUpdated>()
13435 }
13436 pub fn RestakedBeaconChainETHWithdrawn_filter(
13438 &self,
13439 ) -> alloy_contract::Event<&P, RestakedBeaconChainETHWithdrawn, N> {
13440 self.event_filter::<RestakedBeaconChainETHWithdrawn>()
13441 }
13442 pub fn ValidatorBalanceUpdated_filter(
13444 &self,
13445 ) -> alloy_contract::Event<&P, ValidatorBalanceUpdated, N> {
13446 self.event_filter::<ValidatorBalanceUpdated>()
13447 }
13448 pub fn ValidatorCheckpointed_filter(
13450 &self,
13451 ) -> alloy_contract::Event<&P, ValidatorCheckpointed, N> {
13452 self.event_filter::<ValidatorCheckpointed>()
13453 }
13454 pub fn ValidatorRestaked_filter(
13456 &self,
13457 ) -> alloy_contract::Event<&P, ValidatorRestaked, N> {
13458 self.event_filter::<ValidatorRestaked>()
13459 }
13460 pub fn ValidatorWithdrawn_filter(
13462 &self,
13463 ) -> alloy_contract::Event<&P, ValidatorWithdrawn, N> {
13464 self.event_filter::<ValidatorWithdrawn>()
13465 }
13466 }
13467}