1#[allow(
12 non_camel_case_types,
13 non_snake_case,
14 clippy::pub_underscore_fields,
15 clippy::style,
16 clippy::empty_structs_with_brackets
17)]
18pub mod BN254 {
19 use super::*;
20 use alloy::sol_types as alloy_sol_types;
21 #[derive(Default, Debug, PartialEq, Eq, Hash)]
22 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
23 #[derive(Clone)]
24 pub struct BaseField(alloy::sol_types::private::primitives::aliases::U256);
25 const _: () = {
26 use alloy::sol_types as alloy_sol_types;
27 #[automatically_derived]
28 impl alloy_sol_types::private::SolTypeValue<BaseField>
29 for alloy::sol_types::private::primitives::aliases::U256 {
30 #[inline]
31 fn stv_to_tokens(
32 &self,
33 ) -> <alloy::sol_types::sol_data::Uint<
34 256,
35 > as alloy_sol_types::SolType>::Token<'_> {
36 alloy_sol_types::private::SolTypeValue::<
37 alloy::sol_types::sol_data::Uint<256>,
38 >::stv_to_tokens(self)
39 }
40 #[inline]
41 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
42 <alloy::sol_types::sol_data::Uint<
43 256,
44 > as alloy_sol_types::SolType>::tokenize(self)
45 .0
46 }
47 #[inline]
48 fn stv_abi_encode_packed_to(
49 &self,
50 out: &mut alloy_sol_types::private::Vec<u8>,
51 ) {
52 <alloy::sol_types::sol_data::Uint<
53 256,
54 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
55 }
56 #[inline]
57 fn stv_abi_packed_encoded_size(&self) -> usize {
58 <alloy::sol_types::sol_data::Uint<
59 256,
60 > as alloy_sol_types::SolType>::abi_encoded_size(self)
61 }
62 }
63 #[automatically_derived]
64 impl BaseField {
65 pub const NAME: &'static str = stringify!(@ name);
67 #[inline]
69 pub const fn from(
70 value: alloy::sol_types::private::primitives::aliases::U256,
71 ) -> Self {
72 Self(value)
73 }
74 #[inline]
76 pub const fn into(
77 self,
78 ) -> alloy::sol_types::private::primitives::aliases::U256 {
79 self.0
80 }
81 #[inline]
84 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
85 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
86 }
87 #[inline]
90 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
91 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
92 }
93 }
94 #[automatically_derived]
95 impl alloy_sol_types::SolType for BaseField {
96 type RustType = alloy::sol_types::private::primitives::aliases::U256;
97 type Token<'a> = <alloy::sol_types::sol_data::Uint<
98 256,
99 > as alloy_sol_types::SolType>::Token<'a>;
100 const SOL_NAME: &'static str = Self::NAME;
101 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
102 256,
103 > as alloy_sol_types::SolType>::ENCODED_SIZE;
104 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
105 256,
106 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
107 #[inline]
108 fn valid_token(token: &Self::Token<'_>) -> bool {
109 Self::type_check(token).is_ok()
110 }
111 #[inline]
112 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
113 <alloy::sol_types::sol_data::Uint<
114 256,
115 > as alloy_sol_types::SolType>::type_check(token)
116 }
117 #[inline]
118 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
119 <alloy::sol_types::sol_data::Uint<
120 256,
121 > as alloy_sol_types::SolType>::detokenize(token)
122 }
123 }
124 #[automatically_derived]
125 impl alloy_sol_types::EventTopic for BaseField {
126 #[inline]
127 fn topic_preimage_length(rust: &Self::RustType) -> usize {
128 <alloy::sol_types::sol_data::Uint<
129 256,
130 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
131 }
132 #[inline]
133 fn encode_topic_preimage(
134 rust: &Self::RustType,
135 out: &mut alloy_sol_types::private::Vec<u8>,
136 ) {
137 <alloy::sol_types::sol_data::Uint<
138 256,
139 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
140 }
141 #[inline]
142 fn encode_topic(
143 rust: &Self::RustType,
144 ) -> alloy_sol_types::abi::token::WordToken {
145 <alloy::sol_types::sol_data::Uint<
146 256,
147 > as alloy_sol_types::EventTopic>::encode_topic(rust)
148 }
149 }
150 };
151 #[derive(Default, Debug, PartialEq, Eq, Hash)]
152 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
156 #[derive(Clone)]
157 pub struct G1Point {
158 #[allow(missing_docs)]
159 pub x: <BaseField as alloy::sol_types::SolType>::RustType,
160 #[allow(missing_docs)]
161 pub y: <BaseField as alloy::sol_types::SolType>::RustType,
162 }
163 #[allow(
164 non_camel_case_types,
165 non_snake_case,
166 clippy::pub_underscore_fields,
167 clippy::style
168 )]
169 const _: () = {
170 use alloy::sol_types as alloy_sol_types;
171 #[doc(hidden)]
172 type UnderlyingSolTuple<'a> = (BaseField, BaseField);
173 #[doc(hidden)]
174 type UnderlyingRustTuple<'a> = (
175 <BaseField as alloy::sol_types::SolType>::RustType,
176 <BaseField as alloy::sol_types::SolType>::RustType,
177 );
178 #[cfg(test)]
179 #[allow(dead_code, unreachable_patterns)]
180 fn _type_assertion(
181 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
182 ) {
183 match _t {
184 alloy_sol_types::private::AssertTypeEq::<
185 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
186 >(_) => {}
187 }
188 }
189 #[automatically_derived]
190 #[doc(hidden)]
191 impl ::core::convert::From<G1Point> for UnderlyingRustTuple<'_> {
192 fn from(value: G1Point) -> Self {
193 (value.x, value.y)
194 }
195 }
196 #[automatically_derived]
197 #[doc(hidden)]
198 impl ::core::convert::From<UnderlyingRustTuple<'_>> for G1Point {
199 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
200 Self { x: tuple.0, y: tuple.1 }
201 }
202 }
203 #[automatically_derived]
204 impl alloy_sol_types::SolValue for G1Point {
205 type SolType = Self;
206 }
207 #[automatically_derived]
208 impl alloy_sol_types::private::SolTypeValue<Self> for G1Point {
209 #[inline]
210 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
211 (
212 <BaseField as alloy_sol_types::SolType>::tokenize(&self.x),
213 <BaseField as alloy_sol_types::SolType>::tokenize(&self.y),
214 )
215 }
216 #[inline]
217 fn stv_abi_encoded_size(&self) -> usize {
218 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
219 return size;
220 }
221 let tuple = <UnderlyingRustTuple<
222 '_,
223 > as ::core::convert::From<Self>>::from(self.clone());
224 <UnderlyingSolTuple<
225 '_,
226 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
227 }
228 #[inline]
229 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
230 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
231 }
232 #[inline]
233 fn stv_abi_encode_packed_to(
234 &self,
235 out: &mut alloy_sol_types::private::Vec<u8>,
236 ) {
237 let tuple = <UnderlyingRustTuple<
238 '_,
239 > as ::core::convert::From<Self>>::from(self.clone());
240 <UnderlyingSolTuple<
241 '_,
242 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
243 }
244 #[inline]
245 fn stv_abi_packed_encoded_size(&self) -> usize {
246 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
247 return size;
248 }
249 let tuple = <UnderlyingRustTuple<
250 '_,
251 > as ::core::convert::From<Self>>::from(self.clone());
252 <UnderlyingSolTuple<
253 '_,
254 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
255 }
256 }
257 #[automatically_derived]
258 impl alloy_sol_types::SolType for G1Point {
259 type RustType = Self;
260 type Token<'a> = <UnderlyingSolTuple<
261 'a,
262 > as alloy_sol_types::SolType>::Token<'a>;
263 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
264 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
265 '_,
266 > as alloy_sol_types::SolType>::ENCODED_SIZE;
267 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
268 '_,
269 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
270 #[inline]
271 fn valid_token(token: &Self::Token<'_>) -> bool {
272 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
273 }
274 #[inline]
275 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
276 let tuple = <UnderlyingSolTuple<
277 '_,
278 > as alloy_sol_types::SolType>::detokenize(token);
279 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
280 }
281 }
282 #[automatically_derived]
283 impl alloy_sol_types::SolStruct for G1Point {
284 const NAME: &'static str = "G1Point";
285 #[inline]
286 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
287 alloy_sol_types::private::Cow::Borrowed("G1Point(uint256 x,uint256 y)")
288 }
289 #[inline]
290 fn eip712_components() -> alloy_sol_types::private::Vec<
291 alloy_sol_types::private::Cow<'static, str>,
292 > {
293 alloy_sol_types::private::Vec::new()
294 }
295 #[inline]
296 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
297 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
298 }
299 #[inline]
300 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
301 [
302 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.x).0,
303 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.y).0,
304 ]
305 .concat()
306 }
307 }
308 #[automatically_derived]
309 impl alloy_sol_types::EventTopic for G1Point {
310 #[inline]
311 fn topic_preimage_length(rust: &Self::RustType) -> usize {
312 0usize
313 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
314 &rust.x,
315 )
316 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
317 &rust.y,
318 )
319 }
320 #[inline]
321 fn encode_topic_preimage(
322 rust: &Self::RustType,
323 out: &mut alloy_sol_types::private::Vec<u8>,
324 ) {
325 out.reserve(
326 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
327 );
328 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
329 &rust.x,
330 out,
331 );
332 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
333 &rust.y,
334 out,
335 );
336 }
337 #[inline]
338 fn encode_topic(
339 rust: &Self::RustType,
340 ) -> alloy_sol_types::abi::token::WordToken {
341 let mut out = alloy_sol_types::private::Vec::new();
342 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
343 rust,
344 &mut out,
345 );
346 alloy_sol_types::abi::token::WordToken(
347 alloy_sol_types::private::keccak256(out),
348 )
349 }
350 }
351 };
352 #[derive(Default, Debug, PartialEq, Eq, Hash)]
353 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
357 #[derive(Clone)]
358 pub struct G2Point {
359 #[allow(missing_docs)]
360 pub x0: <BaseField as alloy::sol_types::SolType>::RustType,
361 #[allow(missing_docs)]
362 pub x1: <BaseField as alloy::sol_types::SolType>::RustType,
363 #[allow(missing_docs)]
364 pub y0: <BaseField as alloy::sol_types::SolType>::RustType,
365 #[allow(missing_docs)]
366 pub y1: <BaseField as alloy::sol_types::SolType>::RustType,
367 }
368 #[allow(
369 non_camel_case_types,
370 non_snake_case,
371 clippy::pub_underscore_fields,
372 clippy::style
373 )]
374 const _: () = {
375 use alloy::sol_types as alloy_sol_types;
376 #[doc(hidden)]
377 type UnderlyingSolTuple<'a> = (BaseField, BaseField, BaseField, BaseField);
378 #[doc(hidden)]
379 type UnderlyingRustTuple<'a> = (
380 <BaseField as alloy::sol_types::SolType>::RustType,
381 <BaseField as alloy::sol_types::SolType>::RustType,
382 <BaseField as alloy::sol_types::SolType>::RustType,
383 <BaseField as alloy::sol_types::SolType>::RustType,
384 );
385 #[cfg(test)]
386 #[allow(dead_code, unreachable_patterns)]
387 fn _type_assertion(
388 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
389 ) {
390 match _t {
391 alloy_sol_types::private::AssertTypeEq::<
392 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
393 >(_) => {}
394 }
395 }
396 #[automatically_derived]
397 #[doc(hidden)]
398 impl ::core::convert::From<G2Point> for UnderlyingRustTuple<'_> {
399 fn from(value: G2Point) -> Self {
400 (value.x0, value.x1, value.y0, value.y1)
401 }
402 }
403 #[automatically_derived]
404 #[doc(hidden)]
405 impl ::core::convert::From<UnderlyingRustTuple<'_>> for G2Point {
406 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
407 Self {
408 x0: tuple.0,
409 x1: tuple.1,
410 y0: tuple.2,
411 y1: tuple.3,
412 }
413 }
414 }
415 #[automatically_derived]
416 impl alloy_sol_types::SolValue for G2Point {
417 type SolType = Self;
418 }
419 #[automatically_derived]
420 impl alloy_sol_types::private::SolTypeValue<Self> for G2Point {
421 #[inline]
422 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
423 (
424 <BaseField as alloy_sol_types::SolType>::tokenize(&self.x0),
425 <BaseField as alloy_sol_types::SolType>::tokenize(&self.x1),
426 <BaseField as alloy_sol_types::SolType>::tokenize(&self.y0),
427 <BaseField as alloy_sol_types::SolType>::tokenize(&self.y1),
428 )
429 }
430 #[inline]
431 fn stv_abi_encoded_size(&self) -> usize {
432 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
433 return size;
434 }
435 let tuple = <UnderlyingRustTuple<
436 '_,
437 > as ::core::convert::From<Self>>::from(self.clone());
438 <UnderlyingSolTuple<
439 '_,
440 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
441 }
442 #[inline]
443 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
444 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
445 }
446 #[inline]
447 fn stv_abi_encode_packed_to(
448 &self,
449 out: &mut alloy_sol_types::private::Vec<u8>,
450 ) {
451 let tuple = <UnderlyingRustTuple<
452 '_,
453 > as ::core::convert::From<Self>>::from(self.clone());
454 <UnderlyingSolTuple<
455 '_,
456 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
457 }
458 #[inline]
459 fn stv_abi_packed_encoded_size(&self) -> usize {
460 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
461 return size;
462 }
463 let tuple = <UnderlyingRustTuple<
464 '_,
465 > as ::core::convert::From<Self>>::from(self.clone());
466 <UnderlyingSolTuple<
467 '_,
468 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
469 }
470 }
471 #[automatically_derived]
472 impl alloy_sol_types::SolType for G2Point {
473 type RustType = Self;
474 type Token<'a> = <UnderlyingSolTuple<
475 'a,
476 > as alloy_sol_types::SolType>::Token<'a>;
477 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
478 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
479 '_,
480 > as alloy_sol_types::SolType>::ENCODED_SIZE;
481 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
482 '_,
483 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
484 #[inline]
485 fn valid_token(token: &Self::Token<'_>) -> bool {
486 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
487 }
488 #[inline]
489 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
490 let tuple = <UnderlyingSolTuple<
491 '_,
492 > as alloy_sol_types::SolType>::detokenize(token);
493 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
494 }
495 }
496 #[automatically_derived]
497 impl alloy_sol_types::SolStruct for G2Point {
498 const NAME: &'static str = "G2Point";
499 #[inline]
500 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
501 alloy_sol_types::private::Cow::Borrowed(
502 "G2Point(uint256 x0,uint256 x1,uint256 y0,uint256 y1)",
503 )
504 }
505 #[inline]
506 fn eip712_components() -> alloy_sol_types::private::Vec<
507 alloy_sol_types::private::Cow<'static, str>,
508 > {
509 alloy_sol_types::private::Vec::new()
510 }
511 #[inline]
512 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
513 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
514 }
515 #[inline]
516 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
517 [
518 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.x0)
519 .0,
520 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.x1)
521 .0,
522 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.y0)
523 .0,
524 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.y1).0,
525 ]
526 .concat()
527 }
528 }
529 #[automatically_derived]
530 impl alloy_sol_types::EventTopic for G2Point {
531 #[inline]
532 fn topic_preimage_length(rust: &Self::RustType) -> usize {
533 0usize
534 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
535 &rust.x0,
536 )
537 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
538 &rust.x1,
539 )
540 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
541 &rust.y0,
542 )
543 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
544 &rust.y1,
545 )
546 }
547 #[inline]
548 fn encode_topic_preimage(
549 rust: &Self::RustType,
550 out: &mut alloy_sol_types::private::Vec<u8>,
551 ) {
552 out.reserve(
553 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
554 );
555 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
556 &rust.x0,
557 out,
558 );
559 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
560 &rust.x1,
561 out,
562 );
563 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
564 &rust.y0,
565 out,
566 );
567 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
568 &rust.y1,
569 out,
570 );
571 }
572 #[inline]
573 fn encode_topic(
574 rust: &Self::RustType,
575 ) -> alloy_sol_types::abi::token::WordToken {
576 let mut out = alloy_sol_types::private::Vec::new();
577 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
578 rust,
579 &mut out,
580 );
581 alloy_sol_types::abi::token::WordToken(
582 alloy_sol_types::private::keccak256(out),
583 )
584 }
585 }
586 };
587 use alloy::contract as alloy_contract;
588 #[inline]
592 pub const fn new<
593 T: alloy_contract::private::Transport + ::core::clone::Clone,
594 P: alloy_contract::private::Provider<T, N>,
595 N: alloy_contract::private::Network,
596 >(
597 address: alloy_sol_types::private::Address,
598 provider: P,
599 ) -> BN254Instance<T, P, N> {
600 BN254Instance::<T, P, N>::new(address, provider)
601 }
602 #[derive(Clone)]
614 pub struct BN254Instance<T, P, N = alloy_contract::private::Ethereum> {
615 address: alloy_sol_types::private::Address,
616 provider: P,
617 _network_transport: ::core::marker::PhantomData<(N, T)>,
618 }
619 #[automatically_derived]
620 impl<T, P, N> ::core::fmt::Debug for BN254Instance<T, P, N> {
621 #[inline]
622 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
623 f.debug_tuple("BN254Instance").field(&self.address).finish()
624 }
625 }
626 #[automatically_derived]
628 impl<
629 T: alloy_contract::private::Transport + ::core::clone::Clone,
630 P: alloy_contract::private::Provider<T, N>,
631 N: alloy_contract::private::Network,
632 > BN254Instance<T, P, N> {
633 #[inline]
637 pub const fn new(
638 address: alloy_sol_types::private::Address,
639 provider: P,
640 ) -> Self {
641 Self {
642 address,
643 provider,
644 _network_transport: ::core::marker::PhantomData,
645 }
646 }
647 #[inline]
649 pub const fn address(&self) -> &alloy_sol_types::private::Address {
650 &self.address
651 }
652 #[inline]
654 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
655 self.address = address;
656 }
657 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
659 self.set_address(address);
660 self
661 }
662 #[inline]
664 pub const fn provider(&self) -> &P {
665 &self.provider
666 }
667 }
668 impl<T, P: ::core::clone::Clone, N> BN254Instance<T, &P, N> {
669 #[inline]
671 pub fn with_cloned_provider(self) -> BN254Instance<T, P, N> {
672 BN254Instance {
673 address: self.address,
674 provider: ::core::clone::Clone::clone(&self.provider),
675 _network_transport: ::core::marker::PhantomData,
676 }
677 }
678 }
679 #[automatically_derived]
681 impl<
682 T: alloy_contract::private::Transport + ::core::clone::Clone,
683 P: alloy_contract::private::Provider<T, N>,
684 N: alloy_contract::private::Network,
685 > BN254Instance<T, P, N> {
686 pub fn call_builder<C: alloy_sol_types::SolCall>(
691 &self,
692 call: &C,
693 ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
694 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
695 }
696 }
697 #[automatically_derived]
699 impl<
700 T: alloy_contract::private::Transport + ::core::clone::Clone,
701 P: alloy_contract::private::Provider<T, N>,
702 N: alloy_contract::private::Network,
703 > BN254Instance<T, P, N> {
704 pub fn event_filter<E: alloy_sol_types::SolEvent>(
709 &self,
710 ) -> alloy_contract::Event<T, &P, E, N> {
711 alloy_contract::Event::new_sol(&self.provider, &self.address)
712 }
713 }
714}
715#[allow(
724 non_camel_case_types,
725 non_snake_case,
726 clippy::pub_underscore_fields,
727 clippy::style,
728 clippy::empty_structs_with_brackets
729)]
730pub mod EdOnBN254 {
731 use super::*;
732 use alloy::sol_types as alloy_sol_types;
733 #[derive(Default, Debug, PartialEq, Eq, Hash)]
734 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
738 #[derive(Clone)]
739 pub struct EdOnBN254Point {
740 #[allow(missing_docs)]
741 pub x: alloy::sol_types::private::primitives::aliases::U256,
742 #[allow(missing_docs)]
743 pub y: alloy::sol_types::private::primitives::aliases::U256,
744 }
745 #[allow(
746 non_camel_case_types,
747 non_snake_case,
748 clippy::pub_underscore_fields,
749 clippy::style
750 )]
751 const _: () = {
752 use alloy::sol_types as alloy_sol_types;
753 #[doc(hidden)]
754 type UnderlyingSolTuple<'a> = (
755 alloy::sol_types::sol_data::Uint<256>,
756 alloy::sol_types::sol_data::Uint<256>,
757 );
758 #[doc(hidden)]
759 type UnderlyingRustTuple<'a> = (
760 alloy::sol_types::private::primitives::aliases::U256,
761 alloy::sol_types::private::primitives::aliases::U256,
762 );
763 #[cfg(test)]
764 #[allow(dead_code, unreachable_patterns)]
765 fn _type_assertion(
766 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
767 ) {
768 match _t {
769 alloy_sol_types::private::AssertTypeEq::<
770 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
771 >(_) => {}
772 }
773 }
774 #[automatically_derived]
775 #[doc(hidden)]
776 impl ::core::convert::From<EdOnBN254Point> for UnderlyingRustTuple<'_> {
777 fn from(value: EdOnBN254Point) -> Self {
778 (value.x, value.y)
779 }
780 }
781 #[automatically_derived]
782 #[doc(hidden)]
783 impl ::core::convert::From<UnderlyingRustTuple<'_>> for EdOnBN254Point {
784 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
785 Self { x: tuple.0, y: tuple.1 }
786 }
787 }
788 #[automatically_derived]
789 impl alloy_sol_types::SolValue for EdOnBN254Point {
790 type SolType = Self;
791 }
792 #[automatically_derived]
793 impl alloy_sol_types::private::SolTypeValue<Self> for EdOnBN254Point {
794 #[inline]
795 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
796 (
797 <alloy::sol_types::sol_data::Uint<
798 256,
799 > as alloy_sol_types::SolType>::tokenize(&self.x),
800 <alloy::sol_types::sol_data::Uint<
801 256,
802 > as alloy_sol_types::SolType>::tokenize(&self.y),
803 )
804 }
805 #[inline]
806 fn stv_abi_encoded_size(&self) -> usize {
807 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
808 return size;
809 }
810 let tuple = <UnderlyingRustTuple<
811 '_,
812 > as ::core::convert::From<Self>>::from(self.clone());
813 <UnderlyingSolTuple<
814 '_,
815 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
816 }
817 #[inline]
818 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
819 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
820 }
821 #[inline]
822 fn stv_abi_encode_packed_to(
823 &self,
824 out: &mut alloy_sol_types::private::Vec<u8>,
825 ) {
826 let tuple = <UnderlyingRustTuple<
827 '_,
828 > as ::core::convert::From<Self>>::from(self.clone());
829 <UnderlyingSolTuple<
830 '_,
831 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
832 }
833 #[inline]
834 fn stv_abi_packed_encoded_size(&self) -> usize {
835 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
836 return size;
837 }
838 let tuple = <UnderlyingRustTuple<
839 '_,
840 > as ::core::convert::From<Self>>::from(self.clone());
841 <UnderlyingSolTuple<
842 '_,
843 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
844 }
845 }
846 #[automatically_derived]
847 impl alloy_sol_types::SolType for EdOnBN254Point {
848 type RustType = Self;
849 type Token<'a> = <UnderlyingSolTuple<
850 'a,
851 > as alloy_sol_types::SolType>::Token<'a>;
852 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
853 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
854 '_,
855 > as alloy_sol_types::SolType>::ENCODED_SIZE;
856 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
857 '_,
858 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
859 #[inline]
860 fn valid_token(token: &Self::Token<'_>) -> bool {
861 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
862 }
863 #[inline]
864 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
865 let tuple = <UnderlyingSolTuple<
866 '_,
867 > as alloy_sol_types::SolType>::detokenize(token);
868 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
869 }
870 }
871 #[automatically_derived]
872 impl alloy_sol_types::SolStruct for EdOnBN254Point {
873 const NAME: &'static str = "EdOnBN254Point";
874 #[inline]
875 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
876 alloy_sol_types::private::Cow::Borrowed(
877 "EdOnBN254Point(uint256 x,uint256 y)",
878 )
879 }
880 #[inline]
881 fn eip712_components() -> alloy_sol_types::private::Vec<
882 alloy_sol_types::private::Cow<'static, str>,
883 > {
884 alloy_sol_types::private::Vec::new()
885 }
886 #[inline]
887 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
888 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
889 }
890 #[inline]
891 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
892 [
893 <alloy::sol_types::sol_data::Uint<
894 256,
895 > as alloy_sol_types::SolType>::eip712_data_word(&self.x)
896 .0,
897 <alloy::sol_types::sol_data::Uint<
898 256,
899 > as alloy_sol_types::SolType>::eip712_data_word(&self.y)
900 .0,
901 ]
902 .concat()
903 }
904 }
905 #[automatically_derived]
906 impl alloy_sol_types::EventTopic for EdOnBN254Point {
907 #[inline]
908 fn topic_preimage_length(rust: &Self::RustType) -> usize {
909 0usize
910 + <alloy::sol_types::sol_data::Uint<
911 256,
912 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.x)
913 + <alloy::sol_types::sol_data::Uint<
914 256,
915 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.y)
916 }
917 #[inline]
918 fn encode_topic_preimage(
919 rust: &Self::RustType,
920 out: &mut alloy_sol_types::private::Vec<u8>,
921 ) {
922 out.reserve(
923 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
924 );
925 <alloy::sol_types::sol_data::Uint<
926 256,
927 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.x, out);
928 <alloy::sol_types::sol_data::Uint<
929 256,
930 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.y, out);
931 }
932 #[inline]
933 fn encode_topic(
934 rust: &Self::RustType,
935 ) -> alloy_sol_types::abi::token::WordToken {
936 let mut out = alloy_sol_types::private::Vec::new();
937 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
938 rust,
939 &mut out,
940 );
941 alloy_sol_types::abi::token::WordToken(
942 alloy_sol_types::private::keccak256(out),
943 )
944 }
945 }
946 };
947 use alloy::contract as alloy_contract;
948 #[inline]
952 pub const fn new<
953 T: alloy_contract::private::Transport + ::core::clone::Clone,
954 P: alloy_contract::private::Provider<T, N>,
955 N: alloy_contract::private::Network,
956 >(
957 address: alloy_sol_types::private::Address,
958 provider: P,
959 ) -> EdOnBN254Instance<T, P, N> {
960 EdOnBN254Instance::<T, P, N>::new(address, provider)
961 }
962 #[derive(Clone)]
974 pub struct EdOnBN254Instance<T, P, N = alloy_contract::private::Ethereum> {
975 address: alloy_sol_types::private::Address,
976 provider: P,
977 _network_transport: ::core::marker::PhantomData<(N, T)>,
978 }
979 #[automatically_derived]
980 impl<T, P, N> ::core::fmt::Debug for EdOnBN254Instance<T, P, N> {
981 #[inline]
982 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
983 f.debug_tuple("EdOnBN254Instance").field(&self.address).finish()
984 }
985 }
986 #[automatically_derived]
988 impl<
989 T: alloy_contract::private::Transport + ::core::clone::Clone,
990 P: alloy_contract::private::Provider<T, N>,
991 N: alloy_contract::private::Network,
992 > EdOnBN254Instance<T, P, N> {
993 #[inline]
997 pub const fn new(
998 address: alloy_sol_types::private::Address,
999 provider: P,
1000 ) -> Self {
1001 Self {
1002 address,
1003 provider,
1004 _network_transport: ::core::marker::PhantomData,
1005 }
1006 }
1007 #[inline]
1009 pub const fn address(&self) -> &alloy_sol_types::private::Address {
1010 &self.address
1011 }
1012 #[inline]
1014 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1015 self.address = address;
1016 }
1017 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1019 self.set_address(address);
1020 self
1021 }
1022 #[inline]
1024 pub const fn provider(&self) -> &P {
1025 &self.provider
1026 }
1027 }
1028 impl<T, P: ::core::clone::Clone, N> EdOnBN254Instance<T, &P, N> {
1029 #[inline]
1031 pub fn with_cloned_provider(self) -> EdOnBN254Instance<T, P, N> {
1032 EdOnBN254Instance {
1033 address: self.address,
1034 provider: ::core::clone::Clone::clone(&self.provider),
1035 _network_transport: ::core::marker::PhantomData,
1036 }
1037 }
1038 }
1039 #[automatically_derived]
1041 impl<
1042 T: alloy_contract::private::Transport + ::core::clone::Clone,
1043 P: alloy_contract::private::Provider<T, N>,
1044 N: alloy_contract::private::Network,
1045 > EdOnBN254Instance<T, P, N> {
1046 pub fn call_builder<C: alloy_sol_types::SolCall>(
1051 &self,
1052 call: &C,
1053 ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
1054 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1055 }
1056 }
1057 #[automatically_derived]
1059 impl<
1060 T: alloy_contract::private::Transport + ::core::clone::Clone,
1061 P: alloy_contract::private::Provider<T, N>,
1062 N: alloy_contract::private::Network,
1063 > EdOnBN254Instance<T, P, N> {
1064 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1069 &self,
1070 ) -> alloy_contract::Event<T, &P, E, N> {
1071 alloy_contract::Event::new_sol(&self.provider, &self.address)
1072 }
1073 }
1074}
1075#[allow(
2165 non_camel_case_types,
2166 non_snake_case,
2167 clippy::pub_underscore_fields,
2168 clippy::style,
2169 clippy::empty_structs_with_brackets
2170)]
2171pub mod StakeTable {
2172 use super::*;
2173 use alloy::sol_types as alloy_sol_types;
2174 #[rustfmt::skip]
2180 #[allow(clippy::all)]
2181 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
2182 b"`\xA0`@R0`\x80R4\x80\x15a\0\x13W__\xFD[Pa\0\x1Ca\0)V[a\0$a\0)V[a\0\xDBV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x90\x04`\xFF\x16\x15a\0yW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80T`\x01`\x01`@\x1B\x03\x90\x81\x16\x14a\0\xD8W\x80T`\x01`\x01`@\x1B\x03\x19\x16`\x01`\x01`@\x1B\x03\x90\x81\x17\x82U`@Q\x90\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PV[`\x80Qa*\xDCa\x01\x01_9_\x81\x81a\x12\xCB\x01R\x81\x81a\x12\xF4\x01Ra\x14w\x01Ra*\xDC_\xF3\xFE`\x80`@R`\x046\x10a\x01aW_5`\xE0\x1C\x80c\x9B0\xA5\xE6\x11a\0\xCDW\x80c\xB5p\x0Eh\x11a\0\x87W\x80c\xC6H\x14\xDD\x11a\0bW\x80c\xC6H\x14\xDD\x14a\x04|W\x80c\xF2\xFD\xE3\x8B\x14a\x04\xB2W\x80c\xFAR\xC7\xD8\x14a\x04\xD1W\x80c\xFC\x0CTj\x14a\x05\x14W__\xFD[\x80c\xB5p\x0Eh\x14a\x04\x13W\x80c\xB5\xEC\xB3D\x14a\x042W\x80c\xBE 0\x94\x14a\x04]W__\xFD[\x80c\x9B0\xA5\xE6\x14a\x02\xF3W\x80c\x9E\x9A\x8F1\x14a\x03\x12W\x80c\xA2\xD7\x8D\xD5\x14a\x03'W\x80c\xA3\x06j\xAB\x14a\x03yW\x80c\xAD<\xB1\xCC\x14a\x03\x98W\x80c\xB3\xE6\xEB\xD5\x14a\x03\xD5W__\xFD[\x80cO\x1E\xF2\x86\x11a\x01\x1EW\x80cO\x1E\xF2\x86\x14a\x025W\x80cR\xD1\x90-\x14a\x02HW\x80cUD\xC2\xF1\x14a\x02\\W\x80cj\x91\x1C\xCF\x14a\x02{W\x80cqP\x18\xA6\x14a\x02\x8FW\x80c\x8D\xA5\xCB[\x14a\x02\xA3W__\xFD[\x80c\x02n@+\x14a\x01eW\x80c\r\x8En,\x14a\x01\x86W\x80c\x13\xB9\x05z\x14a\x01\xB6W\x80c!@\xFE\xCD\x14a\x01\xD5W\x80c>\x9D\xF9\xB5\x14a\x01\xF4W\x80cM\x99\xDD\x16\x14a\x02\x16W[__\xFD[4\x80\x15a\x01pW__\xFD[Pa\x01\x84a\x01\x7F6`\x04a#\xDAV[a\x053V[\0[4\x80\x15a\x01\x91W__\xFD[P`@\x80Q`\x01\x81R_` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R``\x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01\xC1W__\xFD[Pa\x01\x84a\x01\xD06`\x04a%\0V[a\x06\xD6V[4\x80\x15a\x01\xE0W__\xFD[Pa\x01\x84a\x01\xEF6`\x04a%^V[a\x08iV[4\x80\x15a\x01\xFFW__\xFD[Pa\x02\x08_T\x81V[`@Q\x90\x81R` \x01a\x01\xADV[4\x80\x15a\x02!W__\xFD[Pa\x01\x84a\x0206`\x04a#\xDAV[a\t\x8AV[a\x01\x84a\x02C6`\x04a%wV[a\x0B<V[4\x80\x15a\x02SW__\xFD[Pa\x02\x08a\x0B[V[4\x80\x15a\x02gW__\xFD[Pa\x01\x84a\x02v6`\x04a&\x1CV[a\x0BvV[4\x80\x15a\x02\x86W__\xFD[Pa\x01\x84a\x0C?V[4\x80\x15a\x02\x9AW__\xFD[Pa\x01\x84a\x0C\xCDV[4\x80\x15a\x02\xAEW__\xFD[P\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0T`\x01`\x01`\xA0\x1B\x03\x16[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\xADV[4\x80\x15a\x02\xFEW__\xFD[Pa\x02\x08a\x03\r6`\x04a&`V[a\x0C\xE0V[4\x80\x15a\x03\x1DW__\xFD[Pa\x02\x08`\x08T\x81V[4\x80\x15a\x032W__\xFD[Pa\x03da\x03A6`\x04a&zV[`\x07` \x90\x81R_\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 \x80T`\x01\x90\x91\x01T\x82V[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01a\x01\xADV[4\x80\x15a\x03\x84W__\xFD[Pa\x01\x84a\x03\x936`\x04a%^V[a\r:V[4\x80\x15a\x03\xA3W__\xFD[Pa\x03\xC8`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x01\xAD\x91\x90a&\xABV[4\x80\x15a\x03\xE0W__\xFD[Pa\x04\x03a\x03\xEF6`\x04a&\xE0V[`\x04` R_\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\x01\xADV[4\x80\x15a\x04\x1EW__\xFD[P`\x01Ta\x02\xDB\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x04=W__\xFD[Pa\x02\x08a\x04L6`\x04a%^V[`\x05` R_\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04hW__\xFD[Pa\x01\x84a\x04w6`\x04a&\xF7V[a\x0EJV[4\x80\x15a\x04\x87W__\xFD[Pa\x02\x08a\x04\x966`\x04a&zV[`\x06` \x90\x81R_\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[4\x80\x15a\x04\xBDW__\xFD[Pa\x01\x84a\x04\xCC6`\x04a%^V[a\x0FvV[4\x80\x15a\x04\xDCW__\xFD[Pa\x05\x06a\x04\xEB6`\x04a%^V[`\x03` R_\x90\x81R`@\x90 \x80T`\x01\x90\x91\x01T`\xFF\x16\x82V[`@Qa\x01\xAD\x92\x91\x90a'UV[4\x80\x15a\x05\x1FW__\xFD[P`\x02Ta\x02\xDB\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x05<\x82a\x0F\xB3V[3_\x82\x90\x03a\x05^W`@Qc\x1F* \x05`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02T`@Qcn\xB1v\x9F`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x04\x83\x01R0`$\x83\x01R_\x92\x16\x90c\xDDb\xED>\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x05\xACW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\xD0\x91\x90a'\x85V[\x90P\x82\x81\x10\x15a\x06\x02W`@Qc\x05Ce\xBB`\xE3\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R`D\x01[`@Q\x80\x91\x03\x90\xFD[`\x02Ta\x06\x1A\x90`\x01`\x01`\xA0\x1B\x03\x16\x830\x86a\x104V[`\x01`\x01`\xA0\x1B\x03\x84\x16_\x90\x81R`\x03` R`@\x81 \x80T\x85\x92\x90a\x06A\x90\x84\x90a'\xB0V[\x90\x91UPP`\x01`\x01`\xA0\x1B\x03\x80\x85\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R\x90\x81 \x80T\x85\x92\x90a\x06|\x90\x84\x90a'\xB0V[\x92PP\x81\x90UP\x83`\x01`\x01`\xA0\x1B\x03\x16\x82`\x01`\x01`\xA0\x1B\x03\x16\x7F\xE5T\x1Aka\x03\xD4\xFA~\x02\x1E\xD5O\xAD9\xC6o'\xA7k\xD1=7L\xF6$\n\xE6\xBD\x0B\xB7+\x85`@Qa\x06\xC8\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[3a\x06\xE0\x81a\x10\xD8V[a\x06\xE9\x84a\x11%V[a\x06\xF2\x85a\x11`V[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x83\x16` \x82\x01R_\x91\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x07$\x81\x85\x88a\x11\x9CV[a'\x10\x83a\xFF\xFF\x16\x11\x15a\x07KW`@Qc\xDC\x81\xDB\x85`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x04_a\x07Y\x89a\x0C\xE0V[\x81R` \x01\x90\x81R` \x01_ _a\x01\0\n\x81T\x81`\xFF\x02\x19\x16\x90\x83\x15\x15\x02\x17\x90UP`@Q\x80`@\x01`@R\x80_\x81R` \x01`\x01`\x02\x81\x11\x15a\x07\xA0Wa\x07\xA0a'AV[\x90R`\x01`\x01`\xA0\x1B\x03\x83\x16_\x90\x81R`\x03` \x90\x81R`@\x90\x91 \x82Q\x81U\x90\x82\x01Q`\x01\x80\x83\x01\x80T\x90\x91`\xFF\x19\x90\x91\x16\x90\x83`\x02\x81\x11\x15a\x07\xE6Wa\x07\xE6a'AV[\x02\x17\x90UPP`@\x80Q\x88Q\x81R` \x80\x8A\x01Q\x81\x83\x01R\x89\x83\x01Q\x82\x84\x01R``\x80\x8B\x01Q\x90\x83\x01R\x88Q`\x80\x83\x01R\x88\x01Q`\xA0\x82\x01Ra\xFF\xFF\x86\x16`\xC0\x82\x01R\x90Q`\x01`\x01`\xA0\x1B\x03\x85\x16\x92P\x7F\xF6\xE85\x9CWR\x0BF\x964sk\xFC;\xB7\xEC\\\xBD\x1A\x0B\xD2\x8B\x10\xA8'W\x93\xBBs\x0By\x7F\x91\x81\x90\x03`\xE0\x01\x90\xA2PPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x05` R`@\x81 T3\x91\x81\x90\x03a\x08\xA3W`@Qcy)\x8AS`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80B\x10\x15a\x08\xC4W`@QcZwCW`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R\x90\x81 T\x90\x81\x90\x03a\t\x0CW`@Qc\x06\x86\x82{`\xE5\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x87\x85\x16\x84R\x90\x91R\x81 U`\x02Ta\tA\x91\x16\x84\x83a\x121V[\x82`\x01`\x01`\xA0\x1B\x03\x16\x7F\x7F\xCFS,\x15\xF0\xA6\xDB\x0B\xD6\xD0\xE08\xBE\xA7\x1D0\xD8\x08\xC7\xD9\x8C\xB3\xBFrh\xA9[\xF5\x08\x1Be\x82`@Qa\t|\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPPV[a\t\x93\x82a\x0F\xB3V[3_\x82\x90\x03a\t\xB5W`@Qc\x1F* \x05`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x93\x85\x16\x83R\x92\x90R T\x15a\t\xF8W`@Qc\xD4#\xA4\xF1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x93\x85\x16\x83R\x92\x90R T\x82\x81\x10\x15a\nAW`@Qc\x92fSQ`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x05\xF9V[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R\x90\x81 \x80T\x85\x92\x90a\nw\x90\x84\x90a'\xC3V[\x92PP\x81\x90UP`@Q\x80`@\x01`@R\x80\x84\x81R` \x01`\x08TBa\n\x9D\x91\x90a'\xB0V[\x90R`\x01`\x01`\xA0\x1B\x03\x80\x86\x16_\x81\x81R`\x07` \x90\x81R`@\x80\x83 \x94\x88\x16\x83R\x93\x81R\x83\x82 \x85Q\x81U\x94\x81\x01Q`\x01\x90\x95\x01\x94\x90\x94U\x90\x81R`\x03\x90\x92R\x81 \x80T\x85\x92\x90a\n\xF0\x90\x84\x90a'\xC3V[\x92PP\x81\x90UP\x83`\x01`\x01`\xA0\x1B\x03\x16\x82`\x01`\x01`\xA0\x1B\x03\x16\x7FM\x10\xBD\x04\x97u\xC7{\xD7\xF2U\x19Z\xFB\xA5\x08\x80(\xEC\xB3\xC7\xC2w\xD3\x93\xCC\xFFy4\xF2\xF9,\x85`@Qa\x06\xC8\x91\x81R` \x01\x90V[a\x0BDa\x12\xC0V[a\x0BM\x82a\x13dV[a\x0BW\x82\x82a\x13\xABV[PPV[_a\x0Bda\x14lV[P_Q` a*\xB0_9_Q\x90_R\x90V[3a\x0B\x80\x81a\x0F\xB3V[a\x0B\x89\x83a\x11%V[a\x0B\x92\x84a\x11`V[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x83\x16` \x82\x01R_\x91\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x0B\xC4\x81\x84\x87a\x11\x9CV[`\x01`\x04_a\x0B\xD2\x88a\x0C\xE0V[\x81R` \x01\x90\x81R` \x01_ _a\x01\0\n\x81T\x81`\xFF\x02\x19\x16\x90\x83\x15\x15\x02\x17\x90UP\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x80\xD8\xA4\xA1f3(\xA9\x98\xD4U[\xA2\x1D\x8B\xBAn\xF1Wj\x8C^\x9D'\xF9\xC5E\xF1\xA3\xD5+\x1D\x86\x86`@Qa\x0C0\x92\x91\x90a'\xD6V[`@Q\x80\x91\x03\x90\xA2PPPPPV[3a\x0CI\x81a\x0F\xB3V[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x03` R`@\x90 `\x01\x01\x80T`\xFF\x19\x16`\x02\x17\x90U`\x08Ta\x0C{\x90Ba'\xB0V[`\x01`\x01`\xA0\x1B\x03\x82\x16_\x81\x81R`\x05` \x90\x81R`@\x80\x83 \x94\x90\x94U`\x03\x90R\x82\x81 \x81\x90U\x91Q\x90\x91\x7F\xFB$0ST\xC8wb\xD5WHz\xE4\xA5d\xE8\xD0>\xCB\xB9\xA9}\xD8\xAF\xFF\x8E\x1Fo\xCA\xF0\xDD\x16\x91\xA2PV[a\x0C\xD5a\x14\xB5V[a\x0C\xDE_a\x15\x10V[V[_\x81_\x01Q\x82` \x01Q\x83`@\x01Q\x84``\x01Q`@Q` \x01a\r\x1D\x94\x93\x92\x91\x90\x93\x84R` \x84\x01\x92\x90\x92R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x07` \x90\x81R`@\x80\x83 3\x80\x85R\x92R\x82 T\x90\x91\x81\x90\x03a\r\x7FW`@Qc\x06\x86\x82{`\xE5\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R `\x01\x01TB\x10\x15a\r\xC7W`@QcZwCW`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x86\x85\x16\x84R\x90\x91R\x81 \x81\x81U`\x01\x01U`\x02Ta\x0E\x02\x91\x16\x83\x83a\x121V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x7F\xCFS,\x15\xF0\xA6\xDB\x0B\xD6\xD0\xE08\xBE\xA7\x1D0\xD8\x08\xC7\xD9\x8C\xB3\xBFrh\xA9[\xF5\x08\x1Be\x82`@Qa\x0E=\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_\x81\x15\x80\x15a\x0E\x8FWP\x82[\x90P_\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x0E\xABWP0;\x15[\x90P\x81\x15\x80\x15a\x0E\xB9WP\x80\x15[\x15a\x0E\xD7W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x0F\x01W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a\x0F\n\x86a\x15\x80V[a\x0F\x12a\x15\x91V[a\x0F\x1Aa\x15\x99V[a\x0F%\x89\x89\x89a\x16\x9FV[\x83\x15a\x0FkW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPPPV[a\x0F~a\x14\xB5V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x0F\xA7W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R_`\x04\x82\x01R`$\x01a\x05\xF9V[a\x0F\xB0\x81a\x15\x10V[PV[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x03` R`@\x81 `\x01\x01T`\xFF\x16\x90\x81`\x02\x81\x11\x15a\x0F\xE4Wa\x0F\xE4a'AV[\x03a\x10\x02W`@QcP\x8Ay?`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x81`\x02\x81\x11\x15a\x10\x16Wa\x10\x16a'AV[\x03a\x0BWW`@Qc\xEA\xB4\xA9c`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_`@Qc#\xB8r\xDD`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R\x82`D\x82\x01R` _`d\x83_\x8AZ\xF1\x91PP\x80`\x1F=\x11`\x01_Q\x14\x16\x15\x16\x15a\x10\x8DWP\x83;\x15=\x17\x15[\x80a\x10\xD1W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x14`$\x82\x01Rs\x15\x14\x90S\x94\xD1\x91T\x97\xD1\x94\x93\xD3W\xD1\x90RS\x11Q`b\x1B`D\x82\x01R`d\x01a\x05\xF9V[PPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x03` R`@\x81 `\x01\x01T`\xFF\x16`\x02\x81\x11\x15a\x11\x07Wa\x11\x07a'AV[\x14a\x0F\xB0W`@Qc\x13.~\xFB`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01Ra\x11B\x82\x82a\x17\"V[\x15a\x0BWW`@Qc\x06\xCFC\x8F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04_a\x11l\x83a\x0C\xE0V[\x81R` \x81\x01\x91\x90\x91R`@\x01_ T`\xFF\x16\x15a\x0F\xB0W`@Qb\xDA\x8AW`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x11\xA5\x82a\x17EV[_`@Q\x80``\x01`@R\x80`$\x81R` \x01a*l`$\x919\x90P_\x84\x82`@Q` \x01a\x11\xD5\x92\x91\x90a('V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P_a\x11\xF0\x82a\x17\xDBV[\x90Pa\x12\r\x81\x85a\x12\0\x88a\x18\xC8V[a\x12\x08a\x19?V[a\x1A\x0CV[a\x12)W`@Qb\xCE\xD3\xE5`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[_`@Qc\xA9\x05\x9C\xBB`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` _`D\x83_\x89Z\xF1\x91PP\x80`\x1F=\x11`\x01_Q\x14\x16\x15\x16\x15a\x12{WP\x82;\x15=\x17\x15[\x80a\x12\xBAW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0F`$\x82\x01Rn\x15\x14\x90S\x94\xD1\x91T\x97\xD1\x90RS\x11Q`\x8A\x1B`D\x82\x01R`d\x01a\x05\xF9V[PPPPV[0`\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\x14\x80a\x13FWP\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\x16a\x13:_Q` a*\xB0_9_Q\x90_RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x0C\xDEW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x13la\x14\xB5V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x7F\xF7\x87!\"n\xFE\x9A\x1B\xB6x\x18\x9A\x16\xD1UI(\xB9\xF2\x19.,\xB9>\xED\xA8;y\xFA@\0}\x90` \x01`@Q\x80\x91\x03\x90\xA1PV[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x14\x05WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x14\x02\x91\x81\x01\x90a'\x85V[`\x01[a\x14-W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x05\xF9V[_Q` a*\xB0_9_Q\x90_R\x81\x14a\x14]W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x05\xF9V[a\x14g\x83\x83a\x1A\xEAV[PPPV[0`\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\x0C\xDEW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[3a\x14\xE7\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0C\xDEW`@Qc\x11\x8C\xDA\xA7`\xE0\x1B\x81R3`\x04\x82\x01R`$\x01a\x05\xF9V[\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x81\x16`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x91\x82\x17\x84U`@Q\x92\x16\x91\x82\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90_\x90\xA3PPPV[a\x15\x88a\x1B?V[a\x0F\xB0\x81a\x1B\x88V[a\x0C\xDEa\x1B?V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_\x81\x15\x80\x15a\x15\xDEWP\x82[\x90P_\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x15\xFAWP0;\x15[\x90P\x81\x15\x80\x15a\x16\x08WP\x80\x15[\x15a\x16&W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x16PW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[C_U\x83\x15a\x10\xD1W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1PPPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x16\xC6W`@Qc\xD9.#=`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x16\xEDW`@Qc\xD9.#=`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x94\x85\x16`\x01`\x01`\xA0\x1B\x03\x19\x91\x82\x16\x17\x90\x91U`\x01\x80T\x93\x90\x94\x16\x92\x16\x91\x90\x91\x17\x90\x91U`\x08UV[\x80Q\x82Q_\x91\x14\x80\x15a\x17<WP\x81` \x01Q\x83` \x01Q\x14[\x90P[\x92\x91PPV[\x80Q` \x82\x01Q_\x91_Q` a*\x90_9_Q\x90_R\x91\x15\x90\x15\x16\x15a\x17kWPPPV[\x82Q` \x84\x01Q\x82`\x03\x84\x85\x85\x86\t\x85\t\x08\x83\x82\x83\t\x14\x83\x82\x10\x84\x84\x10\x16\x16\x93PPP\x81a\x14gW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7FBn254: invalid G1 point\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05\xF9V[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R_a\x17\xF8\x83a\x1B\x90V[\x90P_Q` a*\x90_9_Q\x90_R`\x03_\x82\x84\x85\t\x90P\x82\x80a\x18\x1FWa\x18\x1Fa(CV[\x84\x82\t\x90P\x82\x80a\x182Wa\x182a(CV[\x82\x82\x08\x90P__a\x18B\x83a\x1D\x99V[\x92P\x90P[\x80a\x18\xABW\x84\x80a\x18ZWa\x18Za(CV[`\x01\x87\x08\x95P\x84\x80a\x18nWa\x18na(CV[\x86\x87\t\x92P\x84\x80a\x18\x81Wa\x18\x81a(CV[\x86\x84\t\x92P\x84\x80a\x18\x94Wa\x18\x94a(CV[\x84\x84\x08\x92Pa\x18\xA2\x83a\x1D\x99V[\x92P\x90Pa\x18GV[P`@\x80Q\x80\x82\x01\x90\x91R\x94\x85R` \x85\x01RP\x91\x94\x93PPPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R\x81Q` \x83\x01Q\x15\x90\x15\x16\x15a\x18\xEFWP\x90V[`@Q\x80`@\x01`@R\x80\x83_\x01Q\x81R` \x01_Q` a*\x90_9_Q\x90_R\x84` \x01Qa\x19 \x91\x90a(WV[a\x197\x90_Q` a*\x90_9_Q\x90_Ra'\xC3V[\x90R\x92\x91PPV[a\x19f`@Q\x80`\x80\x01`@R\x80_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81RP\x90V[`@Q\x80`\x80\x01`@R\x80\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED\x81R` \x01\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2\x81R` \x01\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA\x81R` \x01\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[\x81RP\x90P\x90V[___`@Q\x87Q\x81R` \x88\x01Q` \x82\x01R` \x87\x01Q`@\x82\x01R\x86Q``\x82\x01R``\x87\x01Q`\x80\x82\x01R`@\x87\x01Q`\xA0\x82\x01R\x85Q`\xC0\x82\x01R` \x86\x01Q`\xE0\x82\x01R` \x85\x01Qa\x01\0\x82\x01R\x84Qa\x01 \x82\x01R``\x85\x01Qa\x01@\x82\x01R`@\x85\x01Qa\x01`\x82\x01R` _a\x01\x80\x83`\x08Z\xFA\x91PP_Q\x91P\x80a\x1A\xDEW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7FBn254: Pairing check failed!\0\0\0\0`D\x82\x01R`d\x01a\x05\xF9V[P\x15\x15\x95\x94PPPPPV[a\x1A\xF3\x82a\x1E\x90V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90_\x90\xA2\x80Q\x15a\x1B7Wa\x14g\x82\x82a\x1E\xF3V[a\x0BWa\x1FeV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a\x0C\xDEW`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0F~a\x1B?V[__a\x1B\x9B\x83a\x1F\x84V[\x80Q\x90\x91P`0\x81\x14a\x1B\xB0Wa\x1B\xB0a(vV[_\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\xCAWa\x1B\xCAa$\x02V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\xF4W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P_[\x82\x81\x10\x15a\x1CcW\x83`\x01a\x1C\x0E\x83\x86a'\xC3V[a\x1C\x18\x91\x90a'\xC3V[\x81Q\x81\x10a\x1C(Wa\x1C(a(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x82\x82\x81Q\x81\x10a\x1CEWa\x1CEa(\x8AV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a\x1B\xF9V[P`@\x80Q`\x1F\x80\x82Ra\x04\0\x82\x01\x90\x92R_\x90\x82` \x82\x01a\x03\xE0\x806\x837\x01\x90PP\x90P_[\x82\x81\x10\x15a\x1C\xF3W\x83\x81a\x1C\x9F\x85\x88a'\xC3V[a\x1C\xA9\x91\x90a'\xB0V[\x81Q\x81\x10a\x1C\xB9Wa\x1C\xB9a(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x82\x82\x81Q\x81\x10a\x1C\xD9Wa\x1C\xD9a(\x8AV[`\xFF\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a\x1C\x8BV[P_a\x1C\xFE\x82a\"\xD0V[\x90Pa\x01\0_Q` a*\x90_9_Q\x90_R_a\x1D\x1C\x86\x89a'\xC3V[\x90P_[\x81\x81\x10\x15a\x1D\x89W_\x88`\x01a\x1D6\x84\x86a'\xC3V[a\x1D@\x91\x90a'\xC3V[\x81Q\x81\x10a\x1DPWa\x1DPa(\x8AV[\x01` \x01Q`\xF8\x1C\x90P\x83\x80a\x1DhWa\x1Dha(CV[\x85\x87\t\x95P\x83\x80a\x1D{Wa\x1D{a(CV[\x81\x87\x08\x95PP`\x01\x01a\x1D V[P\x92\x9A\x99PPPPPPPPPPV[_____\x7F\x0C\x19\x13\x9C\xB8Lh\nn\x14\x11m\xA0`V\x17e\xE0Z\xA4Z\x1Cr\xA3O\x08#\x05\xB6\x1F?R\x90P__Q` a*\x90_9_Q\x90_R\x90P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x87``\x82\x01R\x82`\x80\x82\x01R\x81`\xA0\x82\x01R` _`\xC0\x83`\x05Z\xFA\x94PP_Q\x92P\x83a\x1EVW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1B`$\x82\x01R\x7Fpow precompile call failed!\0\0\0\0\0`D\x82\x01R`d\x01a\x05\xF9V[\x80`\x01\x84\x90\x1B\x11\x15a\x1EoWa\x1El\x83\x82a'\xC3V[\x92P[\x80\x80a\x1E}Wa\x1E}a(CV[\x83\x84\t\x96\x90\x96\x14\x96\x91\x95P\x90\x93PPPPV[\x80`\x01`\x01`\xA0\x1B\x03\x16;_\x03a\x1E\xC5W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x05\xF9V[_Q` a*\xB0_9_Q\x90_R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[``__\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x1F\x0F\x91\x90a(\x9EV[_`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80_\x81\x14a\x1FGW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x1FLV[``\x91P[P\x91P\x91Pa\x1F\\\x85\x83\x83a#7V[\x95\x94PPPPPV[4\x15a\x0C\xDEW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`0\x80\x82R``\x82\x81\x01\x90\x93R\x90` \x90`\x01`\xF9\x1B\x90_\x90\x84` \x82\x01\x81\x806\x837\x01\x90PP\x90P\x80\x86`@Q` \x01a\x1F\xC4\x92\x91\x90a('V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80\x84`\xF8\x1B`@Q` \x01a\x1F\xEB\x92\x91\x90a(\xA9V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80`@Q` \x01a \r\x91\x90a(\xD3V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90R\x91Pa\x01\x01`\xF0\x1B\x90a 7\x90\x83\x90\x83\x90` \x01a(\xEBV[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 \x81\x84\x01\x81\x90R`\x01`\xF8\x1B\x84\x84\x01R`\x01`\x01`\xF0\x1B\x03\x19\x85\x16`A\x85\x01R\x82Q`#\x81\x86\x03\x01\x81R`C\x90\x94\x01\x90\x92R\x82Q\x90\x83\x01 \x91\x93P\x90_`\xFF\x88\x16g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \xA7Wa \xA7a$\x02V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a \xD1W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P_\x82`@Q` \x01a \xE8\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x90P_[\x81Q\x81\x10\x15a!RW\x81\x81\x81Q\x81\x10a!\x17Wa!\x17a(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x83\x82\x81Q\x81\x10a!4Wa!4a(\x8AV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a \xFCV[P_\x84`@Q` \x01a!g\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R` \x83\x01\x90\x91R_\x80\x83R\x91\x98P\x91P[\x89\x81\x10\x15a!\xF9W_\x83\x82\x81Q\x81\x10a!\xA0Wa!\xA0a(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x83\x83\x81Q\x81\x10a!\xBDWa!\xBDa(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x18\x90P\x88\x81`@Q` \x01a!\xDE\x92\x91\x90a)\x0FV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x98PP`\x01\x01a!\x85V[P\x86\x88\x87`@Q` \x01a\"\x0F\x93\x92\x91\x90a)3V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x96P\x86\x80Q\x90` \x01 \x93P\x83`@Q` \x01a\"=\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x91P_[a\"^\x8A`\xFF\x8D\x16a'\xC3V[\x81\x10\x15a\"\xBFW\x82\x81\x81Q\x81\x10a\"wWa\"wa(\x8AV[\x01` \x01Q`\x01`\x01`\xF8\x1B\x03\x19\x16\x84a\"\x91\x83\x8Da'\xB0V[\x81Q\x81\x10a\"\xA1Wa\"\xA1a(\x8AV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a\"QV[P\x91\x9B\x9APPPPPPPPPPPV[_\x80\x80[\x83Q\x81\x10\x15a#0W\x83\x81\x81Q\x81\x10a\"\xEFWa\"\xEFa(\x8AV[` \x02` \x01\x01Q`\xFF\x16\x81`\x08a#\x07\x91\x90a)fV[a#\x12\x90`\x02a*`V[a#\x1C\x91\x90a)fV[a#&\x90\x83a'\xB0V[\x91P`\x01\x01a\"\xD4V[P\x92\x91PPV[``\x82a#LWa#G\x82a#\x96V[a#\x8FV[\x81Q\x15\x80\x15a#cWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a#\x8CW`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x05\xF9V[P\x80[\x93\x92PPPV[\x80Q\x15a#\xA6W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a#\xD5W__\xFD[\x91\x90PV[__`@\x83\x85\x03\x12\x15a#\xEBW__\xFD[a#\xF4\x83a#\xBFV[\x94` \x93\x90\x93\x015\x93PPPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@\x80Q\x90\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$9Wa$9a$\x02V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$hWa$ha$\x02V[`@R\x91\x90PV[_`\x80\x82\x84\x03\x12\x15a$\x80W__\xFD[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$\xA3Wa$\xA3a$\x02V[`@\x90\x81R\x835\x82R` \x80\x85\x015\x90\x83\x01R\x83\x81\x015\x90\x82\x01R``\x92\x83\x015\x92\x81\x01\x92\x90\x92RP\x91\x90PV[_`@\x82\x84\x03\x12\x15a$\xE1W__\xFD[a$\xE9a$\x16V[\x825\x81R` \x92\x83\x015\x92\x81\x01\x92\x90\x92RP\x91\x90PV[____a\x01 \x85\x87\x03\x12\x15a%\x14W__\xFD[a%\x1E\x86\x86a$pV[\x93Pa%-\x86`\x80\x87\x01a$\xD1V[\x92Pa%<\x86`\xC0\x87\x01a$\xD1V[\x91Pa\x01\0\x85\x015a\xFF\xFF\x81\x16\x81\x14a%SW__\xFD[\x93\x96\x92\x95P\x90\x93PPV[_` \x82\x84\x03\x12\x15a%nW__\xFD[a\x17<\x82a#\xBFV[__`@\x83\x85\x03\x12\x15a%\x88W__\xFD[a%\x91\x83a#\xBFV[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\xACW__\xFD[\x83\x01`\x1F\x81\x01\x85\x13a%\xBCW__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\xD6Wa%\xD6a$\x02V[a%\xE9`\x1F\x82\x01`\x1F\x19\x16` \x01a$?V[\x81\x81R\x86` \x83\x85\x01\x01\x11\x15a%\xFDW__\xFD[\x81` \x84\x01` \x83\x017_` \x83\x83\x01\x01R\x80\x93PPPP\x92P\x92\x90PV[___a\x01\0\x84\x86\x03\x12\x15a&/W__\xFD[a&9\x85\x85a$pV[\x92Pa&H\x85`\x80\x86\x01a$\xD1V[\x91Pa&W\x85`\xC0\x86\x01a$\xD1V[\x90P\x92P\x92P\x92V[_`\x80\x82\x84\x03\x12\x15a&pW__\xFD[a\x17<\x83\x83a$pV[__`@\x83\x85\x03\x12\x15a&\x8BW__\xFD[a&\x94\x83a#\xBFV[\x91Pa&\xA2` \x84\x01a#\xBFV[\x90P\x92P\x92\x90PV[` \x81R_\x82Q\x80` \x84\x01R\x80` \x85\x01`@\x85\x01^_`@\x82\x85\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x84\x01\x01\x91PP\x92\x91PPV[_` \x82\x84\x03\x12\x15a&\xF0W__\xFD[P5\x91\x90PV[____`\x80\x85\x87\x03\x12\x15a'\nW__\xFD[a'\x13\x85a#\xBFV[\x93Pa'!` \x86\x01a#\xBFV[\x92P`@\x85\x015\x91Pa'6``\x86\x01a#\xBFV[\x90P\x92\x95\x91\x94P\x92PV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x82\x81R`@\x81\x01`\x03\x83\x10a'xWcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x82` \x83\x01R\x93\x92PPPV[_` \x82\x84\x03\x12\x15a'\x95W__\xFD[PQ\x91\x90PV[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x17?Wa\x17?a'\x9CV[\x81\x81\x03\x81\x81\x11\x15a\x17?Wa\x17?a'\x9CV[\x82Q\x81R` \x80\x84\x01Q\x81\x83\x01R`@\x80\x85\x01Q\x90\x83\x01R``\x80\x85\x01Q\x90\x83\x01R\x82Q`\x80\x83\x01R\x82\x01Q`\xA0\x82\x01R`\xC0\x81\x01a#\x8FV[_\x81Q\x80` \x84\x01\x85^_\x93\x01\x92\x83RP\x90\x91\x90PV[_a(;a(5\x83\x86a(\x10V[\x84a(\x10V[\x94\x93PPPPV[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a(qWcNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[P\x06\x90V[cNH{q`\xE0\x1B_R`\x01`\x04R`$_\xFD[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[_a\x17<\x82\x84a(\x10V[_a(\xB4\x82\x85a(\x10V[_\x81R`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16`\x01\x84\x01RPP`\x02\x01\x91\x90PV[_a(\xDE\x82\x84a(\x10V[_\x81R`\x01\x01\x93\x92PPPV[_a(\xF6\x82\x85a(\x10V[`\x01`\x01`\xF0\x1B\x03\x19\x93\x90\x93\x16\x83RPP`\x02\x01\x91\x90PV[_a)\x1A\x82\x85a(\x10V[`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16\x83RPP`\x01\x01\x91\x90PV[_a)>\x82\x86a(\x10V[`\x01`\x01`\xF8\x1B\x03\x19\x94\x90\x94\x16\x84RPP`\x01`\x01`\xF0\x1B\x03\x19\x16`\x01\x82\x01R`\x03\x01\x91\x90PV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x17?Wa\x17?a'\x9CV[`\x01\x81[`\x01\x84\x11\x15a)\xB8W\x80\x85\x04\x81\x11\x15a)\x9CWa)\x9Ca'\x9CV[`\x01\x84\x16\x15a)\xAAW\x90\x81\x02\x90[`\x01\x93\x90\x93\x1C\x92\x80\x02a)\x81V[\x93P\x93\x91PPV[_\x82a)\xCEWP`\x01a\x17?V[\x81a)\xDAWP_a\x17?V[\x81`\x01\x81\x14a)\xF0W`\x02\x81\x14a)\xFAWa*\x16V[`\x01\x91PPa\x17?V[`\xFF\x84\x11\x15a*\x0BWa*\x0Ba'\x9CV[PP`\x01\x82\x1Ba\x17?V[P` \x83\x10a\x013\x83\x10\x16`N\x84\x10`\x0B\x84\x10\x16\x17\x15a*9WP\x81\x81\na\x17?V[a*E_\x19\x84\x84a)}V[\x80_\x19\x04\x82\x11\x15a*XWa*Xa'\x9CV[\x02\x93\x92PPPV[_a\x17<\x83\x83a)\xC0V\xFEBLS_SIG_BN254G1_XMD:KECCAK_NCTH_NUL_0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xA1dsolcC\0\x08\x1C\0\n",
2183 );
2184 #[rustfmt::skip]
2190 #[allow(clippy::all)]
2191 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
2192 b"`\x80`@R`\x046\x10a\x01aW_5`\xE0\x1C\x80c\x9B0\xA5\xE6\x11a\0\xCDW\x80c\xB5p\x0Eh\x11a\0\x87W\x80c\xC6H\x14\xDD\x11a\0bW\x80c\xC6H\x14\xDD\x14a\x04|W\x80c\xF2\xFD\xE3\x8B\x14a\x04\xB2W\x80c\xFAR\xC7\xD8\x14a\x04\xD1W\x80c\xFC\x0CTj\x14a\x05\x14W__\xFD[\x80c\xB5p\x0Eh\x14a\x04\x13W\x80c\xB5\xEC\xB3D\x14a\x042W\x80c\xBE 0\x94\x14a\x04]W__\xFD[\x80c\x9B0\xA5\xE6\x14a\x02\xF3W\x80c\x9E\x9A\x8F1\x14a\x03\x12W\x80c\xA2\xD7\x8D\xD5\x14a\x03'W\x80c\xA3\x06j\xAB\x14a\x03yW\x80c\xAD<\xB1\xCC\x14a\x03\x98W\x80c\xB3\xE6\xEB\xD5\x14a\x03\xD5W__\xFD[\x80cO\x1E\xF2\x86\x11a\x01\x1EW\x80cO\x1E\xF2\x86\x14a\x025W\x80cR\xD1\x90-\x14a\x02HW\x80cUD\xC2\xF1\x14a\x02\\W\x80cj\x91\x1C\xCF\x14a\x02{W\x80cqP\x18\xA6\x14a\x02\x8FW\x80c\x8D\xA5\xCB[\x14a\x02\xA3W__\xFD[\x80c\x02n@+\x14a\x01eW\x80c\r\x8En,\x14a\x01\x86W\x80c\x13\xB9\x05z\x14a\x01\xB6W\x80c!@\xFE\xCD\x14a\x01\xD5W\x80c>\x9D\xF9\xB5\x14a\x01\xF4W\x80cM\x99\xDD\x16\x14a\x02\x16W[__\xFD[4\x80\x15a\x01pW__\xFD[Pa\x01\x84a\x01\x7F6`\x04a#\xDAV[a\x053V[\0[4\x80\x15a\x01\x91W__\xFD[P`@\x80Q`\x01\x81R_` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R``\x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01\xC1W__\xFD[Pa\x01\x84a\x01\xD06`\x04a%\0V[a\x06\xD6V[4\x80\x15a\x01\xE0W__\xFD[Pa\x01\x84a\x01\xEF6`\x04a%^V[a\x08iV[4\x80\x15a\x01\xFFW__\xFD[Pa\x02\x08_T\x81V[`@Q\x90\x81R` \x01a\x01\xADV[4\x80\x15a\x02!W__\xFD[Pa\x01\x84a\x0206`\x04a#\xDAV[a\t\x8AV[a\x01\x84a\x02C6`\x04a%wV[a\x0B<V[4\x80\x15a\x02SW__\xFD[Pa\x02\x08a\x0B[V[4\x80\x15a\x02gW__\xFD[Pa\x01\x84a\x02v6`\x04a&\x1CV[a\x0BvV[4\x80\x15a\x02\x86W__\xFD[Pa\x01\x84a\x0C?V[4\x80\x15a\x02\x9AW__\xFD[Pa\x01\x84a\x0C\xCDV[4\x80\x15a\x02\xAEW__\xFD[P\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0T`\x01`\x01`\xA0\x1B\x03\x16[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\xADV[4\x80\x15a\x02\xFEW__\xFD[Pa\x02\x08a\x03\r6`\x04a&`V[a\x0C\xE0V[4\x80\x15a\x03\x1DW__\xFD[Pa\x02\x08`\x08T\x81V[4\x80\x15a\x032W__\xFD[Pa\x03da\x03A6`\x04a&zV[`\x07` \x90\x81R_\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 \x80T`\x01\x90\x91\x01T\x82V[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01a\x01\xADV[4\x80\x15a\x03\x84W__\xFD[Pa\x01\x84a\x03\x936`\x04a%^V[a\r:V[4\x80\x15a\x03\xA3W__\xFD[Pa\x03\xC8`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x01\xAD\x91\x90a&\xABV[4\x80\x15a\x03\xE0W__\xFD[Pa\x04\x03a\x03\xEF6`\x04a&\xE0V[`\x04` R_\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\x01\xADV[4\x80\x15a\x04\x1EW__\xFD[P`\x01Ta\x02\xDB\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x04=W__\xFD[Pa\x02\x08a\x04L6`\x04a%^V[`\x05` R_\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04hW__\xFD[Pa\x01\x84a\x04w6`\x04a&\xF7V[a\x0EJV[4\x80\x15a\x04\x87W__\xFD[Pa\x02\x08a\x04\x966`\x04a&zV[`\x06` \x90\x81R_\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[4\x80\x15a\x04\xBDW__\xFD[Pa\x01\x84a\x04\xCC6`\x04a%^V[a\x0FvV[4\x80\x15a\x04\xDCW__\xFD[Pa\x05\x06a\x04\xEB6`\x04a%^V[`\x03` R_\x90\x81R`@\x90 \x80T`\x01\x90\x91\x01T`\xFF\x16\x82V[`@Qa\x01\xAD\x92\x91\x90a'UV[4\x80\x15a\x05\x1FW__\xFD[P`\x02Ta\x02\xDB\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x05<\x82a\x0F\xB3V[3_\x82\x90\x03a\x05^W`@Qc\x1F* \x05`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02T`@Qcn\xB1v\x9F`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x04\x83\x01R0`$\x83\x01R_\x92\x16\x90c\xDDb\xED>\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x05\xACW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\xD0\x91\x90a'\x85V[\x90P\x82\x81\x10\x15a\x06\x02W`@Qc\x05Ce\xBB`\xE3\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R`D\x01[`@Q\x80\x91\x03\x90\xFD[`\x02Ta\x06\x1A\x90`\x01`\x01`\xA0\x1B\x03\x16\x830\x86a\x104V[`\x01`\x01`\xA0\x1B\x03\x84\x16_\x90\x81R`\x03` R`@\x81 \x80T\x85\x92\x90a\x06A\x90\x84\x90a'\xB0V[\x90\x91UPP`\x01`\x01`\xA0\x1B\x03\x80\x85\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R\x90\x81 \x80T\x85\x92\x90a\x06|\x90\x84\x90a'\xB0V[\x92PP\x81\x90UP\x83`\x01`\x01`\xA0\x1B\x03\x16\x82`\x01`\x01`\xA0\x1B\x03\x16\x7F\xE5T\x1Aka\x03\xD4\xFA~\x02\x1E\xD5O\xAD9\xC6o'\xA7k\xD1=7L\xF6$\n\xE6\xBD\x0B\xB7+\x85`@Qa\x06\xC8\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[3a\x06\xE0\x81a\x10\xD8V[a\x06\xE9\x84a\x11%V[a\x06\xF2\x85a\x11`V[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x83\x16` \x82\x01R_\x91\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x07$\x81\x85\x88a\x11\x9CV[a'\x10\x83a\xFF\xFF\x16\x11\x15a\x07KW`@Qc\xDC\x81\xDB\x85`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x04_a\x07Y\x89a\x0C\xE0V[\x81R` \x01\x90\x81R` \x01_ _a\x01\0\n\x81T\x81`\xFF\x02\x19\x16\x90\x83\x15\x15\x02\x17\x90UP`@Q\x80`@\x01`@R\x80_\x81R` \x01`\x01`\x02\x81\x11\x15a\x07\xA0Wa\x07\xA0a'AV[\x90R`\x01`\x01`\xA0\x1B\x03\x83\x16_\x90\x81R`\x03` \x90\x81R`@\x90\x91 \x82Q\x81U\x90\x82\x01Q`\x01\x80\x83\x01\x80T\x90\x91`\xFF\x19\x90\x91\x16\x90\x83`\x02\x81\x11\x15a\x07\xE6Wa\x07\xE6a'AV[\x02\x17\x90UPP`@\x80Q\x88Q\x81R` \x80\x8A\x01Q\x81\x83\x01R\x89\x83\x01Q\x82\x84\x01R``\x80\x8B\x01Q\x90\x83\x01R\x88Q`\x80\x83\x01R\x88\x01Q`\xA0\x82\x01Ra\xFF\xFF\x86\x16`\xC0\x82\x01R\x90Q`\x01`\x01`\xA0\x1B\x03\x85\x16\x92P\x7F\xF6\xE85\x9CWR\x0BF\x964sk\xFC;\xB7\xEC\\\xBD\x1A\x0B\xD2\x8B\x10\xA8'W\x93\xBBs\x0By\x7F\x91\x81\x90\x03`\xE0\x01\x90\xA2PPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x05` R`@\x81 T3\x91\x81\x90\x03a\x08\xA3W`@Qcy)\x8AS`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80B\x10\x15a\x08\xC4W`@QcZwCW`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R\x90\x81 T\x90\x81\x90\x03a\t\x0CW`@Qc\x06\x86\x82{`\xE5\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x87\x85\x16\x84R\x90\x91R\x81 U`\x02Ta\tA\x91\x16\x84\x83a\x121V[\x82`\x01`\x01`\xA0\x1B\x03\x16\x7F\x7F\xCFS,\x15\xF0\xA6\xDB\x0B\xD6\xD0\xE08\xBE\xA7\x1D0\xD8\x08\xC7\xD9\x8C\xB3\xBFrh\xA9[\xF5\x08\x1Be\x82`@Qa\t|\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPPV[a\t\x93\x82a\x0F\xB3V[3_\x82\x90\x03a\t\xB5W`@Qc\x1F* \x05`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x93\x85\x16\x83R\x92\x90R T\x15a\t\xF8W`@Qc\xD4#\xA4\xF1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x93\x85\x16\x83R\x92\x90R T\x82\x81\x10\x15a\nAW`@Qc\x92fSQ`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x05\xF9V[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16_\x90\x81R`\x06` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R\x90\x81 \x80T\x85\x92\x90a\nw\x90\x84\x90a'\xC3V[\x92PP\x81\x90UP`@Q\x80`@\x01`@R\x80\x84\x81R` \x01`\x08TBa\n\x9D\x91\x90a'\xB0V[\x90R`\x01`\x01`\xA0\x1B\x03\x80\x86\x16_\x81\x81R`\x07` \x90\x81R`@\x80\x83 \x94\x88\x16\x83R\x93\x81R\x83\x82 \x85Q\x81U\x94\x81\x01Q`\x01\x90\x95\x01\x94\x90\x94U\x90\x81R`\x03\x90\x92R\x81 \x80T\x85\x92\x90a\n\xF0\x90\x84\x90a'\xC3V[\x92PP\x81\x90UP\x83`\x01`\x01`\xA0\x1B\x03\x16\x82`\x01`\x01`\xA0\x1B\x03\x16\x7FM\x10\xBD\x04\x97u\xC7{\xD7\xF2U\x19Z\xFB\xA5\x08\x80(\xEC\xB3\xC7\xC2w\xD3\x93\xCC\xFFy4\xF2\xF9,\x85`@Qa\x06\xC8\x91\x81R` \x01\x90V[a\x0BDa\x12\xC0V[a\x0BM\x82a\x13dV[a\x0BW\x82\x82a\x13\xABV[PPV[_a\x0Bda\x14lV[P_Q` a*\xB0_9_Q\x90_R\x90V[3a\x0B\x80\x81a\x0F\xB3V[a\x0B\x89\x83a\x11%V[a\x0B\x92\x84a\x11`V[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x83\x16` \x82\x01R_\x91\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x0B\xC4\x81\x84\x87a\x11\x9CV[`\x01`\x04_a\x0B\xD2\x88a\x0C\xE0V[\x81R` \x01\x90\x81R` \x01_ _a\x01\0\n\x81T\x81`\xFF\x02\x19\x16\x90\x83\x15\x15\x02\x17\x90UP\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x80\xD8\xA4\xA1f3(\xA9\x98\xD4U[\xA2\x1D\x8B\xBAn\xF1Wj\x8C^\x9D'\xF9\xC5E\xF1\xA3\xD5+\x1D\x86\x86`@Qa\x0C0\x92\x91\x90a'\xD6V[`@Q\x80\x91\x03\x90\xA2PPPPPV[3a\x0CI\x81a\x0F\xB3V[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x03` R`@\x90 `\x01\x01\x80T`\xFF\x19\x16`\x02\x17\x90U`\x08Ta\x0C{\x90Ba'\xB0V[`\x01`\x01`\xA0\x1B\x03\x82\x16_\x81\x81R`\x05` \x90\x81R`@\x80\x83 \x94\x90\x94U`\x03\x90R\x82\x81 \x81\x90U\x91Q\x90\x91\x7F\xFB$0ST\xC8wb\xD5WHz\xE4\xA5d\xE8\xD0>\xCB\xB9\xA9}\xD8\xAF\xFF\x8E\x1Fo\xCA\xF0\xDD\x16\x91\xA2PV[a\x0C\xD5a\x14\xB5V[a\x0C\xDE_a\x15\x10V[V[_\x81_\x01Q\x82` \x01Q\x83`@\x01Q\x84``\x01Q`@Q` \x01a\r\x1D\x94\x93\x92\x91\x90\x93\x84R` \x84\x01\x92\x90\x92R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x07` \x90\x81R`@\x80\x83 3\x80\x85R\x92R\x82 T\x90\x91\x81\x90\x03a\r\x7FW`@Qc\x06\x86\x82{`\xE5\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R `\x01\x01TB\x10\x15a\r\xC7W`@QcZwCW`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x84\x16_\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x86\x85\x16\x84R\x90\x91R\x81 \x81\x81U`\x01\x01U`\x02Ta\x0E\x02\x91\x16\x83\x83a\x121V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x7F\xCFS,\x15\xF0\xA6\xDB\x0B\xD6\xD0\xE08\xBE\xA7\x1D0\xD8\x08\xC7\xD9\x8C\xB3\xBFrh\xA9[\xF5\x08\x1Be\x82`@Qa\x0E=\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_\x81\x15\x80\x15a\x0E\x8FWP\x82[\x90P_\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x0E\xABWP0;\x15[\x90P\x81\x15\x80\x15a\x0E\xB9WP\x80\x15[\x15a\x0E\xD7W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x0F\x01W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a\x0F\n\x86a\x15\x80V[a\x0F\x12a\x15\x91V[a\x0F\x1Aa\x15\x99V[a\x0F%\x89\x89\x89a\x16\x9FV[\x83\x15a\x0FkW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPPPV[a\x0F~a\x14\xB5V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x0F\xA7W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R_`\x04\x82\x01R`$\x01a\x05\xF9V[a\x0F\xB0\x81a\x15\x10V[PV[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x03` R`@\x81 `\x01\x01T`\xFF\x16\x90\x81`\x02\x81\x11\x15a\x0F\xE4Wa\x0F\xE4a'AV[\x03a\x10\x02W`@QcP\x8Ay?`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x81`\x02\x81\x11\x15a\x10\x16Wa\x10\x16a'AV[\x03a\x0BWW`@Qc\xEA\xB4\xA9c`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_`@Qc#\xB8r\xDD`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R\x82`D\x82\x01R` _`d\x83_\x8AZ\xF1\x91PP\x80`\x1F=\x11`\x01_Q\x14\x16\x15\x16\x15a\x10\x8DWP\x83;\x15=\x17\x15[\x80a\x10\xD1W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x14`$\x82\x01Rs\x15\x14\x90S\x94\xD1\x91T\x97\xD1\x94\x93\xD3W\xD1\x90RS\x11Q`b\x1B`D\x82\x01R`d\x01a\x05\xF9V[PPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16_\x90\x81R`\x03` R`@\x81 `\x01\x01T`\xFF\x16`\x02\x81\x11\x15a\x11\x07Wa\x11\x07a'AV[\x14a\x0F\xB0W`@Qc\x13.~\xFB`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01Ra\x11B\x82\x82a\x17\"V[\x15a\x0BWW`@Qc\x06\xCFC\x8F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04_a\x11l\x83a\x0C\xE0V[\x81R` \x81\x01\x91\x90\x91R`@\x01_ T`\xFF\x16\x15a\x0F\xB0W`@Qb\xDA\x8AW`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x11\xA5\x82a\x17EV[_`@Q\x80``\x01`@R\x80`$\x81R` \x01a*l`$\x919\x90P_\x84\x82`@Q` \x01a\x11\xD5\x92\x91\x90a('V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P_a\x11\xF0\x82a\x17\xDBV[\x90Pa\x12\r\x81\x85a\x12\0\x88a\x18\xC8V[a\x12\x08a\x19?V[a\x1A\x0CV[a\x12)W`@Qb\xCE\xD3\xE5`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[_`@Qc\xA9\x05\x9C\xBB`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` _`D\x83_\x89Z\xF1\x91PP\x80`\x1F=\x11`\x01_Q\x14\x16\x15\x16\x15a\x12{WP\x82;\x15=\x17\x15[\x80a\x12\xBAW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0F`$\x82\x01Rn\x15\x14\x90S\x94\xD1\x91T\x97\xD1\x90RS\x11Q`\x8A\x1B`D\x82\x01R`d\x01a\x05\xF9V[PPPPV[0`\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\x14\x80a\x13FWP\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\x16a\x13:_Q` a*\xB0_9_Q\x90_RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x0C\xDEW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x13la\x14\xB5V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x7F\xF7\x87!\"n\xFE\x9A\x1B\xB6x\x18\x9A\x16\xD1UI(\xB9\xF2\x19.,\xB9>\xED\xA8;y\xFA@\0}\x90` \x01`@Q\x80\x91\x03\x90\xA1PV[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x14\x05WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x14\x02\x91\x81\x01\x90a'\x85V[`\x01[a\x14-W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x05\xF9V[_Q` a*\xB0_9_Q\x90_R\x81\x14a\x14]W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x05\xF9V[a\x14g\x83\x83a\x1A\xEAV[PPPV[0`\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\x0C\xDEW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[3a\x14\xE7\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0C\xDEW`@Qc\x11\x8C\xDA\xA7`\xE0\x1B\x81R3`\x04\x82\x01R`$\x01a\x05\xF9V[\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x81\x16`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x91\x82\x17\x84U`@Q\x92\x16\x91\x82\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90_\x90\xA3PPPV[a\x15\x88a\x1B?V[a\x0F\xB0\x81a\x1B\x88V[a\x0C\xDEa\x1B?V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_\x81\x15\x80\x15a\x15\xDEWP\x82[\x90P_\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x15\xFAWP0;\x15[\x90P\x81\x15\x80\x15a\x16\x08WP\x80\x15[\x15a\x16&W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x16PW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[C_U\x83\x15a\x10\xD1W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1PPPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x16\xC6W`@Qc\xD9.#=`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x16\xEDW`@Qc\xD9.#=`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x94\x85\x16`\x01`\x01`\xA0\x1B\x03\x19\x91\x82\x16\x17\x90\x91U`\x01\x80T\x93\x90\x94\x16\x92\x16\x91\x90\x91\x17\x90\x91U`\x08UV[\x80Q\x82Q_\x91\x14\x80\x15a\x17<WP\x81` \x01Q\x83` \x01Q\x14[\x90P[\x92\x91PPV[\x80Q` \x82\x01Q_\x91_Q` a*\x90_9_Q\x90_R\x91\x15\x90\x15\x16\x15a\x17kWPPPV[\x82Q` \x84\x01Q\x82`\x03\x84\x85\x85\x86\t\x85\t\x08\x83\x82\x83\t\x14\x83\x82\x10\x84\x84\x10\x16\x16\x93PPP\x81a\x14gW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7FBn254: invalid G1 point\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05\xF9V[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R_a\x17\xF8\x83a\x1B\x90V[\x90P_Q` a*\x90_9_Q\x90_R`\x03_\x82\x84\x85\t\x90P\x82\x80a\x18\x1FWa\x18\x1Fa(CV[\x84\x82\t\x90P\x82\x80a\x182Wa\x182a(CV[\x82\x82\x08\x90P__a\x18B\x83a\x1D\x99V[\x92P\x90P[\x80a\x18\xABW\x84\x80a\x18ZWa\x18Za(CV[`\x01\x87\x08\x95P\x84\x80a\x18nWa\x18na(CV[\x86\x87\t\x92P\x84\x80a\x18\x81Wa\x18\x81a(CV[\x86\x84\t\x92P\x84\x80a\x18\x94Wa\x18\x94a(CV[\x84\x84\x08\x92Pa\x18\xA2\x83a\x1D\x99V[\x92P\x90Pa\x18GV[P`@\x80Q\x80\x82\x01\x90\x91R\x94\x85R` \x85\x01RP\x91\x94\x93PPPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R\x81Q` \x83\x01Q\x15\x90\x15\x16\x15a\x18\xEFWP\x90V[`@Q\x80`@\x01`@R\x80\x83_\x01Q\x81R` \x01_Q` a*\x90_9_Q\x90_R\x84` \x01Qa\x19 \x91\x90a(WV[a\x197\x90_Q` a*\x90_9_Q\x90_Ra'\xC3V[\x90R\x92\x91PPV[a\x19f`@Q\x80`\x80\x01`@R\x80_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81RP\x90V[`@Q\x80`\x80\x01`@R\x80\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED\x81R` \x01\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2\x81R` \x01\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA\x81R` \x01\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[\x81RP\x90P\x90V[___`@Q\x87Q\x81R` \x88\x01Q` \x82\x01R` \x87\x01Q`@\x82\x01R\x86Q``\x82\x01R``\x87\x01Q`\x80\x82\x01R`@\x87\x01Q`\xA0\x82\x01R\x85Q`\xC0\x82\x01R` \x86\x01Q`\xE0\x82\x01R` \x85\x01Qa\x01\0\x82\x01R\x84Qa\x01 \x82\x01R``\x85\x01Qa\x01@\x82\x01R`@\x85\x01Qa\x01`\x82\x01R` _a\x01\x80\x83`\x08Z\xFA\x91PP_Q\x91P\x80a\x1A\xDEW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7FBn254: Pairing check failed!\0\0\0\0`D\x82\x01R`d\x01a\x05\xF9V[P\x15\x15\x95\x94PPPPPV[a\x1A\xF3\x82a\x1E\x90V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90_\x90\xA2\x80Q\x15a\x1B7Wa\x14g\x82\x82a\x1E\xF3V[a\x0BWa\x1FeV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a\x0C\xDEW`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0F~a\x1B?V[__a\x1B\x9B\x83a\x1F\x84V[\x80Q\x90\x91P`0\x81\x14a\x1B\xB0Wa\x1B\xB0a(vV[_\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\xCAWa\x1B\xCAa$\x02V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\xF4W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P_[\x82\x81\x10\x15a\x1CcW\x83`\x01a\x1C\x0E\x83\x86a'\xC3V[a\x1C\x18\x91\x90a'\xC3V[\x81Q\x81\x10a\x1C(Wa\x1C(a(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x82\x82\x81Q\x81\x10a\x1CEWa\x1CEa(\x8AV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a\x1B\xF9V[P`@\x80Q`\x1F\x80\x82Ra\x04\0\x82\x01\x90\x92R_\x90\x82` \x82\x01a\x03\xE0\x806\x837\x01\x90PP\x90P_[\x82\x81\x10\x15a\x1C\xF3W\x83\x81a\x1C\x9F\x85\x88a'\xC3V[a\x1C\xA9\x91\x90a'\xB0V[\x81Q\x81\x10a\x1C\xB9Wa\x1C\xB9a(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x82\x82\x81Q\x81\x10a\x1C\xD9Wa\x1C\xD9a(\x8AV[`\xFF\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a\x1C\x8BV[P_a\x1C\xFE\x82a\"\xD0V[\x90Pa\x01\0_Q` a*\x90_9_Q\x90_R_a\x1D\x1C\x86\x89a'\xC3V[\x90P_[\x81\x81\x10\x15a\x1D\x89W_\x88`\x01a\x1D6\x84\x86a'\xC3V[a\x1D@\x91\x90a'\xC3V[\x81Q\x81\x10a\x1DPWa\x1DPa(\x8AV[\x01` \x01Q`\xF8\x1C\x90P\x83\x80a\x1DhWa\x1Dha(CV[\x85\x87\t\x95P\x83\x80a\x1D{Wa\x1D{a(CV[\x81\x87\x08\x95PP`\x01\x01a\x1D V[P\x92\x9A\x99PPPPPPPPPPV[_____\x7F\x0C\x19\x13\x9C\xB8Lh\nn\x14\x11m\xA0`V\x17e\xE0Z\xA4Z\x1Cr\xA3O\x08#\x05\xB6\x1F?R\x90P__Q` a*\x90_9_Q\x90_R\x90P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x87``\x82\x01R\x82`\x80\x82\x01R\x81`\xA0\x82\x01R` _`\xC0\x83`\x05Z\xFA\x94PP_Q\x92P\x83a\x1EVW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1B`$\x82\x01R\x7Fpow precompile call failed!\0\0\0\0\0`D\x82\x01R`d\x01a\x05\xF9V[\x80`\x01\x84\x90\x1B\x11\x15a\x1EoWa\x1El\x83\x82a'\xC3V[\x92P[\x80\x80a\x1E}Wa\x1E}a(CV[\x83\x84\t\x96\x90\x96\x14\x96\x91\x95P\x90\x93PPPPV[\x80`\x01`\x01`\xA0\x1B\x03\x16;_\x03a\x1E\xC5W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x05\xF9V[_Q` a*\xB0_9_Q\x90_R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[``__\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x1F\x0F\x91\x90a(\x9EV[_`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80_\x81\x14a\x1FGW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x1FLV[``\x91P[P\x91P\x91Pa\x1F\\\x85\x83\x83a#7V[\x95\x94PPPPPV[4\x15a\x0C\xDEW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`0\x80\x82R``\x82\x81\x01\x90\x93R\x90` \x90`\x01`\xF9\x1B\x90_\x90\x84` \x82\x01\x81\x806\x837\x01\x90PP\x90P\x80\x86`@Q` \x01a\x1F\xC4\x92\x91\x90a('V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80\x84`\xF8\x1B`@Q` \x01a\x1F\xEB\x92\x91\x90a(\xA9V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80`@Q` \x01a \r\x91\x90a(\xD3V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90R\x91Pa\x01\x01`\xF0\x1B\x90a 7\x90\x83\x90\x83\x90` \x01a(\xEBV[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 \x81\x84\x01\x81\x90R`\x01`\xF8\x1B\x84\x84\x01R`\x01`\x01`\xF0\x1B\x03\x19\x85\x16`A\x85\x01R\x82Q`#\x81\x86\x03\x01\x81R`C\x90\x94\x01\x90\x92R\x82Q\x90\x83\x01 \x91\x93P\x90_`\xFF\x88\x16g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \xA7Wa \xA7a$\x02V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a \xD1W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P_\x82`@Q` \x01a \xE8\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x90P_[\x81Q\x81\x10\x15a!RW\x81\x81\x81Q\x81\x10a!\x17Wa!\x17a(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x83\x82\x81Q\x81\x10a!4Wa!4a(\x8AV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a \xFCV[P_\x84`@Q` \x01a!g\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R` \x83\x01\x90\x91R_\x80\x83R\x91\x98P\x91P[\x89\x81\x10\x15a!\xF9W_\x83\x82\x81Q\x81\x10a!\xA0Wa!\xA0a(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x83\x83\x81Q\x81\x10a!\xBDWa!\xBDa(\x8AV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x18\x90P\x88\x81`@Q` \x01a!\xDE\x92\x91\x90a)\x0FV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x98PP`\x01\x01a!\x85V[P\x86\x88\x87`@Q` \x01a\"\x0F\x93\x92\x91\x90a)3V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x96P\x86\x80Q\x90` \x01 \x93P\x83`@Q` \x01a\"=\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x91P_[a\"^\x8A`\xFF\x8D\x16a'\xC3V[\x81\x10\x15a\"\xBFW\x82\x81\x81Q\x81\x10a\"wWa\"wa(\x8AV[\x01` \x01Q`\x01`\x01`\xF8\x1B\x03\x19\x16\x84a\"\x91\x83\x8Da'\xB0V[\x81Q\x81\x10a\"\xA1Wa\"\xA1a(\x8AV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a\"QV[P\x91\x9B\x9APPPPPPPPPPPV[_\x80\x80[\x83Q\x81\x10\x15a#0W\x83\x81\x81Q\x81\x10a\"\xEFWa\"\xEFa(\x8AV[` \x02` \x01\x01Q`\xFF\x16\x81`\x08a#\x07\x91\x90a)fV[a#\x12\x90`\x02a*`V[a#\x1C\x91\x90a)fV[a#&\x90\x83a'\xB0V[\x91P`\x01\x01a\"\xD4V[P\x92\x91PPV[``\x82a#LWa#G\x82a#\x96V[a#\x8FV[\x81Q\x15\x80\x15a#cWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a#\x8CW`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x05\xF9V[P\x80[\x93\x92PPPV[\x80Q\x15a#\xA6W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a#\xD5W__\xFD[\x91\x90PV[__`@\x83\x85\x03\x12\x15a#\xEBW__\xFD[a#\xF4\x83a#\xBFV[\x94` \x93\x90\x93\x015\x93PPPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@\x80Q\x90\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$9Wa$9a$\x02V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$hWa$ha$\x02V[`@R\x91\x90PV[_`\x80\x82\x84\x03\x12\x15a$\x80W__\xFD[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$\xA3Wa$\xA3a$\x02V[`@\x90\x81R\x835\x82R` \x80\x85\x015\x90\x83\x01R\x83\x81\x015\x90\x82\x01R``\x92\x83\x015\x92\x81\x01\x92\x90\x92RP\x91\x90PV[_`@\x82\x84\x03\x12\x15a$\xE1W__\xFD[a$\xE9a$\x16V[\x825\x81R` \x92\x83\x015\x92\x81\x01\x92\x90\x92RP\x91\x90PV[____a\x01 \x85\x87\x03\x12\x15a%\x14W__\xFD[a%\x1E\x86\x86a$pV[\x93Pa%-\x86`\x80\x87\x01a$\xD1V[\x92Pa%<\x86`\xC0\x87\x01a$\xD1V[\x91Pa\x01\0\x85\x015a\xFF\xFF\x81\x16\x81\x14a%SW__\xFD[\x93\x96\x92\x95P\x90\x93PPV[_` \x82\x84\x03\x12\x15a%nW__\xFD[a\x17<\x82a#\xBFV[__`@\x83\x85\x03\x12\x15a%\x88W__\xFD[a%\x91\x83a#\xBFV[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\xACW__\xFD[\x83\x01`\x1F\x81\x01\x85\x13a%\xBCW__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\xD6Wa%\xD6a$\x02V[a%\xE9`\x1F\x82\x01`\x1F\x19\x16` \x01a$?V[\x81\x81R\x86` \x83\x85\x01\x01\x11\x15a%\xFDW__\xFD[\x81` \x84\x01` \x83\x017_` \x83\x83\x01\x01R\x80\x93PPPP\x92P\x92\x90PV[___a\x01\0\x84\x86\x03\x12\x15a&/W__\xFD[a&9\x85\x85a$pV[\x92Pa&H\x85`\x80\x86\x01a$\xD1V[\x91Pa&W\x85`\xC0\x86\x01a$\xD1V[\x90P\x92P\x92P\x92V[_`\x80\x82\x84\x03\x12\x15a&pW__\xFD[a\x17<\x83\x83a$pV[__`@\x83\x85\x03\x12\x15a&\x8BW__\xFD[a&\x94\x83a#\xBFV[\x91Pa&\xA2` \x84\x01a#\xBFV[\x90P\x92P\x92\x90PV[` \x81R_\x82Q\x80` \x84\x01R\x80` \x85\x01`@\x85\x01^_`@\x82\x85\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x84\x01\x01\x91PP\x92\x91PPV[_` \x82\x84\x03\x12\x15a&\xF0W__\xFD[P5\x91\x90PV[____`\x80\x85\x87\x03\x12\x15a'\nW__\xFD[a'\x13\x85a#\xBFV[\x93Pa'!` \x86\x01a#\xBFV[\x92P`@\x85\x015\x91Pa'6``\x86\x01a#\xBFV[\x90P\x92\x95\x91\x94P\x92PV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x82\x81R`@\x81\x01`\x03\x83\x10a'xWcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x82` \x83\x01R\x93\x92PPPV[_` \x82\x84\x03\x12\x15a'\x95W__\xFD[PQ\x91\x90PV[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x17?Wa\x17?a'\x9CV[\x81\x81\x03\x81\x81\x11\x15a\x17?Wa\x17?a'\x9CV[\x82Q\x81R` \x80\x84\x01Q\x81\x83\x01R`@\x80\x85\x01Q\x90\x83\x01R``\x80\x85\x01Q\x90\x83\x01R\x82Q`\x80\x83\x01R\x82\x01Q`\xA0\x82\x01R`\xC0\x81\x01a#\x8FV[_\x81Q\x80` \x84\x01\x85^_\x93\x01\x92\x83RP\x90\x91\x90PV[_a(;a(5\x83\x86a(\x10V[\x84a(\x10V[\x94\x93PPPPV[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a(qWcNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[P\x06\x90V[cNH{q`\xE0\x1B_R`\x01`\x04R`$_\xFD[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[_a\x17<\x82\x84a(\x10V[_a(\xB4\x82\x85a(\x10V[_\x81R`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16`\x01\x84\x01RPP`\x02\x01\x91\x90PV[_a(\xDE\x82\x84a(\x10V[_\x81R`\x01\x01\x93\x92PPPV[_a(\xF6\x82\x85a(\x10V[`\x01`\x01`\xF0\x1B\x03\x19\x93\x90\x93\x16\x83RPP`\x02\x01\x91\x90PV[_a)\x1A\x82\x85a(\x10V[`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16\x83RPP`\x01\x01\x91\x90PV[_a)>\x82\x86a(\x10V[`\x01`\x01`\xF8\x1B\x03\x19\x94\x90\x94\x16\x84RPP`\x01`\x01`\xF0\x1B\x03\x19\x16`\x01\x82\x01R`\x03\x01\x91\x90PV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x17?Wa\x17?a'\x9CV[`\x01\x81[`\x01\x84\x11\x15a)\xB8W\x80\x85\x04\x81\x11\x15a)\x9CWa)\x9Ca'\x9CV[`\x01\x84\x16\x15a)\xAAW\x90\x81\x02\x90[`\x01\x93\x90\x93\x1C\x92\x80\x02a)\x81V[\x93P\x93\x91PPV[_\x82a)\xCEWP`\x01a\x17?V[\x81a)\xDAWP_a\x17?V[\x81`\x01\x81\x14a)\xF0W`\x02\x81\x14a)\xFAWa*\x16V[`\x01\x91PPa\x17?V[`\xFF\x84\x11\x15a*\x0BWa*\x0Ba'\x9CV[PP`\x01\x82\x1Ba\x17?V[P` \x83\x10a\x013\x83\x10\x16`N\x84\x10`\x0B\x84\x10\x16\x17\x15a*9WP\x81\x81\na\x17?V[a*E_\x19\x84\x84a)}V[\x80_\x19\x04\x82\x11\x15a*XWa*Xa'\x9CV[\x02\x93\x92PPPV[_a\x17<\x83\x83a)\xC0V\xFEBLS_SIG_BN254G1_XMD:KECCAK_NCTH_NUL_0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xA1dsolcC\0\x08\x1C\0\n",
2193 );
2194 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2195 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2196 #[derive(Clone)]
2197 pub struct ValidatorStatus(u8);
2198 const _: () = {
2199 use alloy::sol_types as alloy_sol_types;
2200 #[automatically_derived]
2201 impl alloy_sol_types::private::SolTypeValue<ValidatorStatus> for u8 {
2202 #[inline]
2203 fn stv_to_tokens(
2204 &self,
2205 ) -> <alloy::sol_types::sol_data::Uint<
2206 8,
2207 > as alloy_sol_types::SolType>::Token<'_> {
2208 alloy_sol_types::private::SolTypeValue::<
2209 alloy::sol_types::sol_data::Uint<8>,
2210 >::stv_to_tokens(self)
2211 }
2212 #[inline]
2213 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2214 <alloy::sol_types::sol_data::Uint<
2215 8,
2216 > as alloy_sol_types::SolType>::tokenize(self)
2217 .0
2218 }
2219 #[inline]
2220 fn stv_abi_encode_packed_to(
2221 &self,
2222 out: &mut alloy_sol_types::private::Vec<u8>,
2223 ) {
2224 <alloy::sol_types::sol_data::Uint<
2225 8,
2226 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2227 }
2228 #[inline]
2229 fn stv_abi_packed_encoded_size(&self) -> usize {
2230 <alloy::sol_types::sol_data::Uint<
2231 8,
2232 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2233 }
2234 }
2235 #[automatically_derived]
2236 impl ValidatorStatus {
2237 pub const NAME: &'static str = stringify!(@ name);
2239 #[inline]
2241 pub const fn from(value: u8) -> Self {
2242 Self(value)
2243 }
2244 #[inline]
2246 pub const fn into(self) -> u8 {
2247 self.0
2248 }
2249 #[inline]
2252 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2253 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2254 }
2255 #[inline]
2258 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2259 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2260 }
2261 }
2262 #[automatically_derived]
2263 impl alloy_sol_types::SolType for ValidatorStatus {
2264 type RustType = u8;
2265 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2266 8,
2267 > as alloy_sol_types::SolType>::Token<'a>;
2268 const SOL_NAME: &'static str = Self::NAME;
2269 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2270 8,
2271 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2272 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2273 8,
2274 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2275 #[inline]
2276 fn valid_token(token: &Self::Token<'_>) -> bool {
2277 Self::type_check(token).is_ok()
2278 }
2279 #[inline]
2280 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2281 <alloy::sol_types::sol_data::Uint<
2282 8,
2283 > as alloy_sol_types::SolType>::type_check(token)
2284 }
2285 #[inline]
2286 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2287 <alloy::sol_types::sol_data::Uint<
2288 8,
2289 > as alloy_sol_types::SolType>::detokenize(token)
2290 }
2291 }
2292 #[automatically_derived]
2293 impl alloy_sol_types::EventTopic for ValidatorStatus {
2294 #[inline]
2295 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2296 <alloy::sol_types::sol_data::Uint<
2297 8,
2298 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2299 }
2300 #[inline]
2301 fn encode_topic_preimage(
2302 rust: &Self::RustType,
2303 out: &mut alloy_sol_types::private::Vec<u8>,
2304 ) {
2305 <alloy::sol_types::sol_data::Uint<
2306 8,
2307 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
2308 }
2309 #[inline]
2310 fn encode_topic(
2311 rust: &Self::RustType,
2312 ) -> alloy_sol_types::abi::token::WordToken {
2313 <alloy::sol_types::sol_data::Uint<
2314 8,
2315 > as alloy_sol_types::EventTopic>::encode_topic(rust)
2316 }
2317 }
2318 };
2319 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2320 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2325 #[derive(Clone)]
2326 pub struct AddressEmptyCode {
2327 #[allow(missing_docs)]
2328 pub target: alloy::sol_types::private::Address,
2329 }
2330 #[allow(
2331 non_camel_case_types,
2332 non_snake_case,
2333 clippy::pub_underscore_fields,
2334 clippy::style
2335 )]
2336 const _: () = {
2337 use alloy::sol_types as alloy_sol_types;
2338 #[doc(hidden)]
2339 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
2340 #[doc(hidden)]
2341 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
2342 #[cfg(test)]
2343 #[allow(dead_code, unreachable_patterns)]
2344 fn _type_assertion(
2345 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2346 ) {
2347 match _t {
2348 alloy_sol_types::private::AssertTypeEq::<
2349 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2350 >(_) => {}
2351 }
2352 }
2353 #[automatically_derived]
2354 #[doc(hidden)]
2355 impl ::core::convert::From<AddressEmptyCode> for UnderlyingRustTuple<'_> {
2356 fn from(value: AddressEmptyCode) -> Self {
2357 (value.target,)
2358 }
2359 }
2360 #[automatically_derived]
2361 #[doc(hidden)]
2362 impl ::core::convert::From<UnderlyingRustTuple<'_>> for AddressEmptyCode {
2363 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2364 Self { target: tuple.0 }
2365 }
2366 }
2367 #[automatically_derived]
2368 impl alloy_sol_types::SolError for AddressEmptyCode {
2369 type Parameters<'a> = UnderlyingSolTuple<'a>;
2370 type Token<'a> = <Self::Parameters<
2371 'a,
2372 > as alloy_sol_types::SolType>::Token<'a>;
2373 const SIGNATURE: &'static str = "AddressEmptyCode(address)";
2374 const SELECTOR: [u8; 4] = [153u8, 150u8, 179u8, 21u8];
2375 #[inline]
2376 fn new<'a>(
2377 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2378 ) -> Self {
2379 tuple.into()
2380 }
2381 #[inline]
2382 fn tokenize(&self) -> Self::Token<'_> {
2383 (
2384 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2385 &self.target,
2386 ),
2387 )
2388 }
2389 }
2390 };
2391 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2392 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2397 #[derive(Clone)]
2398 pub struct BLSSigVerificationFailed {}
2399 #[allow(
2400 non_camel_case_types,
2401 non_snake_case,
2402 clippy::pub_underscore_fields,
2403 clippy::style
2404 )]
2405 const _: () = {
2406 use alloy::sol_types as alloy_sol_types;
2407 #[doc(hidden)]
2408 type UnderlyingSolTuple<'a> = ();
2409 #[doc(hidden)]
2410 type UnderlyingRustTuple<'a> = ();
2411 #[cfg(test)]
2412 #[allow(dead_code, unreachable_patterns)]
2413 fn _type_assertion(
2414 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2415 ) {
2416 match _t {
2417 alloy_sol_types::private::AssertTypeEq::<
2418 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2419 >(_) => {}
2420 }
2421 }
2422 #[automatically_derived]
2423 #[doc(hidden)]
2424 impl ::core::convert::From<BLSSigVerificationFailed>
2425 for UnderlyingRustTuple<'_> {
2426 fn from(value: BLSSigVerificationFailed) -> Self {
2427 ()
2428 }
2429 }
2430 #[automatically_derived]
2431 #[doc(hidden)]
2432 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2433 for BLSSigVerificationFailed {
2434 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2435 Self {}
2436 }
2437 }
2438 #[automatically_derived]
2439 impl alloy_sol_types::SolError for BLSSigVerificationFailed {
2440 type Parameters<'a> = UnderlyingSolTuple<'a>;
2441 type Token<'a> = <Self::Parameters<
2442 'a,
2443 > as alloy_sol_types::SolType>::Token<'a>;
2444 const SIGNATURE: &'static str = "BLSSigVerificationFailed()";
2445 const SELECTOR: [u8; 4] = [12u8, 237u8, 62u8, 80u8];
2446 #[inline]
2447 fn new<'a>(
2448 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2449 ) -> Self {
2450 tuple.into()
2451 }
2452 #[inline]
2453 fn tokenize(&self) -> Self::Token<'_> {
2454 ()
2455 }
2456 }
2457 };
2458 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2459 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2464 #[derive(Clone)]
2465 pub struct BlsKeyAlreadyUsed {}
2466 #[allow(
2467 non_camel_case_types,
2468 non_snake_case,
2469 clippy::pub_underscore_fields,
2470 clippy::style
2471 )]
2472 const _: () = {
2473 use alloy::sol_types as alloy_sol_types;
2474 #[doc(hidden)]
2475 type UnderlyingSolTuple<'a> = ();
2476 #[doc(hidden)]
2477 type UnderlyingRustTuple<'a> = ();
2478 #[cfg(test)]
2479 #[allow(dead_code, unreachable_patterns)]
2480 fn _type_assertion(
2481 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2482 ) {
2483 match _t {
2484 alloy_sol_types::private::AssertTypeEq::<
2485 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2486 >(_) => {}
2487 }
2488 }
2489 #[automatically_derived]
2490 #[doc(hidden)]
2491 impl ::core::convert::From<BlsKeyAlreadyUsed> for UnderlyingRustTuple<'_> {
2492 fn from(value: BlsKeyAlreadyUsed) -> Self {
2493 ()
2494 }
2495 }
2496 #[automatically_derived]
2497 #[doc(hidden)]
2498 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BlsKeyAlreadyUsed {
2499 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2500 Self {}
2501 }
2502 }
2503 #[automatically_derived]
2504 impl alloy_sol_types::SolError for BlsKeyAlreadyUsed {
2505 type Parameters<'a> = UnderlyingSolTuple<'a>;
2506 type Token<'a> = <Self::Parameters<
2507 'a,
2508 > as alloy_sol_types::SolType>::Token<'a>;
2509 const SIGNATURE: &'static str = "BlsKeyAlreadyUsed()";
2510 const SELECTOR: [u8; 4] = [1u8, 181u8, 20u8, 174u8];
2511 #[inline]
2512 fn new<'a>(
2513 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2514 ) -> Self {
2515 tuple.into()
2516 }
2517 #[inline]
2518 fn tokenize(&self) -> Self::Token<'_> {
2519 ()
2520 }
2521 }
2522 };
2523 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2524 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2529 #[derive(Clone)]
2530 pub struct ERC1967InvalidImplementation {
2531 #[allow(missing_docs)]
2532 pub implementation: alloy::sol_types::private::Address,
2533 }
2534 #[allow(
2535 non_camel_case_types,
2536 non_snake_case,
2537 clippy::pub_underscore_fields,
2538 clippy::style
2539 )]
2540 const _: () = {
2541 use alloy::sol_types as alloy_sol_types;
2542 #[doc(hidden)]
2543 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
2544 #[doc(hidden)]
2545 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
2546 #[cfg(test)]
2547 #[allow(dead_code, unreachable_patterns)]
2548 fn _type_assertion(
2549 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2550 ) {
2551 match _t {
2552 alloy_sol_types::private::AssertTypeEq::<
2553 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2554 >(_) => {}
2555 }
2556 }
2557 #[automatically_derived]
2558 #[doc(hidden)]
2559 impl ::core::convert::From<ERC1967InvalidImplementation>
2560 for UnderlyingRustTuple<'_> {
2561 fn from(value: ERC1967InvalidImplementation) -> Self {
2562 (value.implementation,)
2563 }
2564 }
2565 #[automatically_derived]
2566 #[doc(hidden)]
2567 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2568 for ERC1967InvalidImplementation {
2569 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2570 Self { implementation: tuple.0 }
2571 }
2572 }
2573 #[automatically_derived]
2574 impl alloy_sol_types::SolError for ERC1967InvalidImplementation {
2575 type Parameters<'a> = UnderlyingSolTuple<'a>;
2576 type Token<'a> = <Self::Parameters<
2577 'a,
2578 > as alloy_sol_types::SolType>::Token<'a>;
2579 const SIGNATURE: &'static str = "ERC1967InvalidImplementation(address)";
2580 const SELECTOR: [u8; 4] = [76u8, 156u8, 140u8, 227u8];
2581 #[inline]
2582 fn new<'a>(
2583 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2584 ) -> Self {
2585 tuple.into()
2586 }
2587 #[inline]
2588 fn tokenize(&self) -> Self::Token<'_> {
2589 (
2590 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2591 &self.implementation,
2592 ),
2593 )
2594 }
2595 }
2596 };
2597 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2598 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2603 #[derive(Clone)]
2604 pub struct ERC1967NonPayable {}
2605 #[allow(
2606 non_camel_case_types,
2607 non_snake_case,
2608 clippy::pub_underscore_fields,
2609 clippy::style
2610 )]
2611 const _: () = {
2612 use alloy::sol_types as alloy_sol_types;
2613 #[doc(hidden)]
2614 type UnderlyingSolTuple<'a> = ();
2615 #[doc(hidden)]
2616 type UnderlyingRustTuple<'a> = ();
2617 #[cfg(test)]
2618 #[allow(dead_code, unreachable_patterns)]
2619 fn _type_assertion(
2620 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2621 ) {
2622 match _t {
2623 alloy_sol_types::private::AssertTypeEq::<
2624 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2625 >(_) => {}
2626 }
2627 }
2628 #[automatically_derived]
2629 #[doc(hidden)]
2630 impl ::core::convert::From<ERC1967NonPayable> for UnderlyingRustTuple<'_> {
2631 fn from(value: ERC1967NonPayable) -> Self {
2632 ()
2633 }
2634 }
2635 #[automatically_derived]
2636 #[doc(hidden)]
2637 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ERC1967NonPayable {
2638 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2639 Self {}
2640 }
2641 }
2642 #[automatically_derived]
2643 impl alloy_sol_types::SolError for ERC1967NonPayable {
2644 type Parameters<'a> = UnderlyingSolTuple<'a>;
2645 type Token<'a> = <Self::Parameters<
2646 'a,
2647 > as alloy_sol_types::SolType>::Token<'a>;
2648 const SIGNATURE: &'static str = "ERC1967NonPayable()";
2649 const SELECTOR: [u8; 4] = [179u8, 152u8, 151u8, 159u8];
2650 #[inline]
2651 fn new<'a>(
2652 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2653 ) -> Self {
2654 tuple.into()
2655 }
2656 #[inline]
2657 fn tokenize(&self) -> Self::Token<'_> {
2658 ()
2659 }
2660 }
2661 };
2662 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2663 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2668 #[derive(Clone)]
2669 pub struct FailedInnerCall {}
2670 #[allow(
2671 non_camel_case_types,
2672 non_snake_case,
2673 clippy::pub_underscore_fields,
2674 clippy::style
2675 )]
2676 const _: () = {
2677 use alloy::sol_types as alloy_sol_types;
2678 #[doc(hidden)]
2679 type UnderlyingSolTuple<'a> = ();
2680 #[doc(hidden)]
2681 type UnderlyingRustTuple<'a> = ();
2682 #[cfg(test)]
2683 #[allow(dead_code, unreachable_patterns)]
2684 fn _type_assertion(
2685 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2686 ) {
2687 match _t {
2688 alloy_sol_types::private::AssertTypeEq::<
2689 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2690 >(_) => {}
2691 }
2692 }
2693 #[automatically_derived]
2694 #[doc(hidden)]
2695 impl ::core::convert::From<FailedInnerCall> for UnderlyingRustTuple<'_> {
2696 fn from(value: FailedInnerCall) -> Self {
2697 ()
2698 }
2699 }
2700 #[automatically_derived]
2701 #[doc(hidden)]
2702 impl ::core::convert::From<UnderlyingRustTuple<'_>> for FailedInnerCall {
2703 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2704 Self {}
2705 }
2706 }
2707 #[automatically_derived]
2708 impl alloy_sol_types::SolError for FailedInnerCall {
2709 type Parameters<'a> = UnderlyingSolTuple<'a>;
2710 type Token<'a> = <Self::Parameters<
2711 'a,
2712 > as alloy_sol_types::SolType>::Token<'a>;
2713 const SIGNATURE: &'static str = "FailedInnerCall()";
2714 const SELECTOR: [u8; 4] = [20u8, 37u8, 234u8, 66u8];
2715 #[inline]
2716 fn new<'a>(
2717 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2718 ) -> Self {
2719 tuple.into()
2720 }
2721 #[inline]
2722 fn tokenize(&self) -> Self::Token<'_> {
2723 ()
2724 }
2725 }
2726 };
2727 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2728 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2733 #[derive(Clone)]
2734 pub struct InsufficientAllowance {
2735 #[allow(missing_docs)]
2736 pub _0: alloy::sol_types::private::primitives::aliases::U256,
2737 #[allow(missing_docs)]
2738 pub _1: alloy::sol_types::private::primitives::aliases::U256,
2739 }
2740 #[allow(
2741 non_camel_case_types,
2742 non_snake_case,
2743 clippy::pub_underscore_fields,
2744 clippy::style
2745 )]
2746 const _: () = {
2747 use alloy::sol_types as alloy_sol_types;
2748 #[doc(hidden)]
2749 type UnderlyingSolTuple<'a> = (
2750 alloy::sol_types::sol_data::Uint<256>,
2751 alloy::sol_types::sol_data::Uint<256>,
2752 );
2753 #[doc(hidden)]
2754 type UnderlyingRustTuple<'a> = (
2755 alloy::sol_types::private::primitives::aliases::U256,
2756 alloy::sol_types::private::primitives::aliases::U256,
2757 );
2758 #[cfg(test)]
2759 #[allow(dead_code, unreachable_patterns)]
2760 fn _type_assertion(
2761 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2762 ) {
2763 match _t {
2764 alloy_sol_types::private::AssertTypeEq::<
2765 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2766 >(_) => {}
2767 }
2768 }
2769 #[automatically_derived]
2770 #[doc(hidden)]
2771 impl ::core::convert::From<InsufficientAllowance> for UnderlyingRustTuple<'_> {
2772 fn from(value: InsufficientAllowance) -> Self {
2773 (value._0, value._1)
2774 }
2775 }
2776 #[automatically_derived]
2777 #[doc(hidden)]
2778 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InsufficientAllowance {
2779 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2780 Self { _0: tuple.0, _1: tuple.1 }
2781 }
2782 }
2783 #[automatically_derived]
2784 impl alloy_sol_types::SolError for InsufficientAllowance {
2785 type Parameters<'a> = UnderlyingSolTuple<'a>;
2786 type Token<'a> = <Self::Parameters<
2787 'a,
2788 > as alloy_sol_types::SolType>::Token<'a>;
2789 const SIGNATURE: &'static str = "InsufficientAllowance(uint256,uint256)";
2790 const SELECTOR: [u8; 4] = [42u8, 27u8, 45u8, 216u8];
2791 #[inline]
2792 fn new<'a>(
2793 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2794 ) -> Self {
2795 tuple.into()
2796 }
2797 #[inline]
2798 fn tokenize(&self) -> Self::Token<'_> {
2799 (
2800 <alloy::sol_types::sol_data::Uint<
2801 256,
2802 > as alloy_sol_types::SolType>::tokenize(&self._0),
2803 <alloy::sol_types::sol_data::Uint<
2804 256,
2805 > as alloy_sol_types::SolType>::tokenize(&self._1),
2806 )
2807 }
2808 }
2809 };
2810 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2811 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2816 #[derive(Clone)]
2817 pub struct InsufficientBalance {
2818 #[allow(missing_docs)]
2819 pub _0: alloy::sol_types::private::primitives::aliases::U256,
2820 }
2821 #[allow(
2822 non_camel_case_types,
2823 non_snake_case,
2824 clippy::pub_underscore_fields,
2825 clippy::style
2826 )]
2827 const _: () = {
2828 use alloy::sol_types as alloy_sol_types;
2829 #[doc(hidden)]
2830 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2831 #[doc(hidden)]
2832 type UnderlyingRustTuple<'a> = (
2833 alloy::sol_types::private::primitives::aliases::U256,
2834 );
2835 #[cfg(test)]
2836 #[allow(dead_code, unreachable_patterns)]
2837 fn _type_assertion(
2838 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2839 ) {
2840 match _t {
2841 alloy_sol_types::private::AssertTypeEq::<
2842 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2843 >(_) => {}
2844 }
2845 }
2846 #[automatically_derived]
2847 #[doc(hidden)]
2848 impl ::core::convert::From<InsufficientBalance> for UnderlyingRustTuple<'_> {
2849 fn from(value: InsufficientBalance) -> Self {
2850 (value._0,)
2851 }
2852 }
2853 #[automatically_derived]
2854 #[doc(hidden)]
2855 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InsufficientBalance {
2856 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2857 Self { _0: tuple.0 }
2858 }
2859 }
2860 #[automatically_derived]
2861 impl alloy_sol_types::SolError for InsufficientBalance {
2862 type Parameters<'a> = UnderlyingSolTuple<'a>;
2863 type Token<'a> = <Self::Parameters<
2864 'a,
2865 > as alloy_sol_types::SolType>::Token<'a>;
2866 const SIGNATURE: &'static str = "InsufficientBalance(uint256)";
2867 const SELECTOR: [u8; 4] = [146u8, 102u8, 83u8, 81u8];
2868 #[inline]
2869 fn new<'a>(
2870 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2871 ) -> Self {
2872 tuple.into()
2873 }
2874 #[inline]
2875 fn tokenize(&self) -> Self::Token<'_> {
2876 (
2877 <alloy::sol_types::sol_data::Uint<
2878 256,
2879 > as alloy_sol_types::SolType>::tokenize(&self._0),
2880 )
2881 }
2882 }
2883 };
2884 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2885 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2890 #[derive(Clone)]
2891 pub struct InvalidCommission {}
2892 #[allow(
2893 non_camel_case_types,
2894 non_snake_case,
2895 clippy::pub_underscore_fields,
2896 clippy::style
2897 )]
2898 const _: () = {
2899 use alloy::sol_types as alloy_sol_types;
2900 #[doc(hidden)]
2901 type UnderlyingSolTuple<'a> = ();
2902 #[doc(hidden)]
2903 type UnderlyingRustTuple<'a> = ();
2904 #[cfg(test)]
2905 #[allow(dead_code, unreachable_patterns)]
2906 fn _type_assertion(
2907 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2908 ) {
2909 match _t {
2910 alloy_sol_types::private::AssertTypeEq::<
2911 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2912 >(_) => {}
2913 }
2914 }
2915 #[automatically_derived]
2916 #[doc(hidden)]
2917 impl ::core::convert::From<InvalidCommission> for UnderlyingRustTuple<'_> {
2918 fn from(value: InvalidCommission) -> Self {
2919 ()
2920 }
2921 }
2922 #[automatically_derived]
2923 #[doc(hidden)]
2924 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidCommission {
2925 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2926 Self {}
2927 }
2928 }
2929 #[automatically_derived]
2930 impl alloy_sol_types::SolError for InvalidCommission {
2931 type Parameters<'a> = UnderlyingSolTuple<'a>;
2932 type Token<'a> = <Self::Parameters<
2933 'a,
2934 > as alloy_sol_types::SolType>::Token<'a>;
2935 const SIGNATURE: &'static str = "InvalidCommission()";
2936 const SELECTOR: [u8; 4] = [220u8, 129u8, 219u8, 133u8];
2937 #[inline]
2938 fn new<'a>(
2939 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2940 ) -> Self {
2941 tuple.into()
2942 }
2943 #[inline]
2944 fn tokenize(&self) -> Self::Token<'_> {
2945 ()
2946 }
2947 }
2948 };
2949 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2950 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2955 #[derive(Clone)]
2956 pub struct InvalidInitialization {}
2957 #[allow(
2958 non_camel_case_types,
2959 non_snake_case,
2960 clippy::pub_underscore_fields,
2961 clippy::style
2962 )]
2963 const _: () = {
2964 use alloy::sol_types as alloy_sol_types;
2965 #[doc(hidden)]
2966 type UnderlyingSolTuple<'a> = ();
2967 #[doc(hidden)]
2968 type UnderlyingRustTuple<'a> = ();
2969 #[cfg(test)]
2970 #[allow(dead_code, unreachable_patterns)]
2971 fn _type_assertion(
2972 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2973 ) {
2974 match _t {
2975 alloy_sol_types::private::AssertTypeEq::<
2976 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2977 >(_) => {}
2978 }
2979 }
2980 #[automatically_derived]
2981 #[doc(hidden)]
2982 impl ::core::convert::From<InvalidInitialization> for UnderlyingRustTuple<'_> {
2983 fn from(value: InvalidInitialization) -> Self {
2984 ()
2985 }
2986 }
2987 #[automatically_derived]
2988 #[doc(hidden)]
2989 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidInitialization {
2990 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2991 Self {}
2992 }
2993 }
2994 #[automatically_derived]
2995 impl alloy_sol_types::SolError for InvalidInitialization {
2996 type Parameters<'a> = UnderlyingSolTuple<'a>;
2997 type Token<'a> = <Self::Parameters<
2998 'a,
2999 > as alloy_sol_types::SolType>::Token<'a>;
3000 const SIGNATURE: &'static str = "InvalidInitialization()";
3001 const SELECTOR: [u8; 4] = [249u8, 46u8, 232u8, 169u8];
3002 #[inline]
3003 fn new<'a>(
3004 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3005 ) -> Self {
3006 tuple.into()
3007 }
3008 #[inline]
3009 fn tokenize(&self) -> Self::Token<'_> {
3010 ()
3011 }
3012 }
3013 };
3014 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3015 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3020 #[derive(Clone)]
3021 pub struct InvalidSchnorrVK {}
3022 #[allow(
3023 non_camel_case_types,
3024 non_snake_case,
3025 clippy::pub_underscore_fields,
3026 clippy::style
3027 )]
3028 const _: () = {
3029 use alloy::sol_types as alloy_sol_types;
3030 #[doc(hidden)]
3031 type UnderlyingSolTuple<'a> = ();
3032 #[doc(hidden)]
3033 type UnderlyingRustTuple<'a> = ();
3034 #[cfg(test)]
3035 #[allow(dead_code, unreachable_patterns)]
3036 fn _type_assertion(
3037 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3038 ) {
3039 match _t {
3040 alloy_sol_types::private::AssertTypeEq::<
3041 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3042 >(_) => {}
3043 }
3044 }
3045 #[automatically_derived]
3046 #[doc(hidden)]
3047 impl ::core::convert::From<InvalidSchnorrVK> for UnderlyingRustTuple<'_> {
3048 fn from(value: InvalidSchnorrVK) -> Self {
3049 ()
3050 }
3051 }
3052 #[automatically_derived]
3053 #[doc(hidden)]
3054 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidSchnorrVK {
3055 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3056 Self {}
3057 }
3058 }
3059 #[automatically_derived]
3060 impl alloy_sol_types::SolError for InvalidSchnorrVK {
3061 type Parameters<'a> = UnderlyingSolTuple<'a>;
3062 type Token<'a> = <Self::Parameters<
3063 'a,
3064 > as alloy_sol_types::SolType>::Token<'a>;
3065 const SIGNATURE: &'static str = "InvalidSchnorrVK()";
3066 const SELECTOR: [u8; 4] = [6u8, 207u8, 67u8, 143u8];
3067 #[inline]
3068 fn new<'a>(
3069 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3070 ) -> Self {
3071 tuple.into()
3072 }
3073 #[inline]
3074 fn tokenize(&self) -> Self::Token<'_> {
3075 ()
3076 }
3077 }
3078 };
3079 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3080 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3085 #[derive(Clone)]
3086 pub struct NotInitializing {}
3087 #[allow(
3088 non_camel_case_types,
3089 non_snake_case,
3090 clippy::pub_underscore_fields,
3091 clippy::style
3092 )]
3093 const _: () = {
3094 use alloy::sol_types as alloy_sol_types;
3095 #[doc(hidden)]
3096 type UnderlyingSolTuple<'a> = ();
3097 #[doc(hidden)]
3098 type UnderlyingRustTuple<'a> = ();
3099 #[cfg(test)]
3100 #[allow(dead_code, unreachable_patterns)]
3101 fn _type_assertion(
3102 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3103 ) {
3104 match _t {
3105 alloy_sol_types::private::AssertTypeEq::<
3106 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3107 >(_) => {}
3108 }
3109 }
3110 #[automatically_derived]
3111 #[doc(hidden)]
3112 impl ::core::convert::From<NotInitializing> for UnderlyingRustTuple<'_> {
3113 fn from(value: NotInitializing) -> Self {
3114 ()
3115 }
3116 }
3117 #[automatically_derived]
3118 #[doc(hidden)]
3119 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NotInitializing {
3120 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3121 Self {}
3122 }
3123 }
3124 #[automatically_derived]
3125 impl alloy_sol_types::SolError for NotInitializing {
3126 type Parameters<'a> = UnderlyingSolTuple<'a>;
3127 type Token<'a> = <Self::Parameters<
3128 'a,
3129 > as alloy_sol_types::SolType>::Token<'a>;
3130 const SIGNATURE: &'static str = "NotInitializing()";
3131 const SELECTOR: [u8; 4] = [215u8, 230u8, 188u8, 248u8];
3132 #[inline]
3133 fn new<'a>(
3134 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3135 ) -> Self {
3136 tuple.into()
3137 }
3138 #[inline]
3139 fn tokenize(&self) -> Self::Token<'_> {
3140 ()
3141 }
3142 }
3143 };
3144 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3145 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3150 #[derive(Clone)]
3151 pub struct NothingToWithdraw {}
3152 #[allow(
3153 non_camel_case_types,
3154 non_snake_case,
3155 clippy::pub_underscore_fields,
3156 clippy::style
3157 )]
3158 const _: () = {
3159 use alloy::sol_types as alloy_sol_types;
3160 #[doc(hidden)]
3161 type UnderlyingSolTuple<'a> = ();
3162 #[doc(hidden)]
3163 type UnderlyingRustTuple<'a> = ();
3164 #[cfg(test)]
3165 #[allow(dead_code, unreachable_patterns)]
3166 fn _type_assertion(
3167 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3168 ) {
3169 match _t {
3170 alloy_sol_types::private::AssertTypeEq::<
3171 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3172 >(_) => {}
3173 }
3174 }
3175 #[automatically_derived]
3176 #[doc(hidden)]
3177 impl ::core::convert::From<NothingToWithdraw> for UnderlyingRustTuple<'_> {
3178 fn from(value: NothingToWithdraw) -> Self {
3179 ()
3180 }
3181 }
3182 #[automatically_derived]
3183 #[doc(hidden)]
3184 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NothingToWithdraw {
3185 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3186 Self {}
3187 }
3188 }
3189 #[automatically_derived]
3190 impl alloy_sol_types::SolError for NothingToWithdraw {
3191 type Parameters<'a> = UnderlyingSolTuple<'a>;
3192 type Token<'a> = <Self::Parameters<
3193 'a,
3194 > as alloy_sol_types::SolType>::Token<'a>;
3195 const SIGNATURE: &'static str = "NothingToWithdraw()";
3196 const SELECTOR: [u8; 4] = [208u8, 208u8, 79u8, 96u8];
3197 #[inline]
3198 fn new<'a>(
3199 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3200 ) -> Self {
3201 tuple.into()
3202 }
3203 #[inline]
3204 fn tokenize(&self) -> Self::Token<'_> {
3205 ()
3206 }
3207 }
3208 };
3209 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3210 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3215 #[derive(Clone)]
3216 pub struct OwnableInvalidOwner {
3217 #[allow(missing_docs)]
3218 pub owner: alloy::sol_types::private::Address,
3219 }
3220 #[allow(
3221 non_camel_case_types,
3222 non_snake_case,
3223 clippy::pub_underscore_fields,
3224 clippy::style
3225 )]
3226 const _: () = {
3227 use alloy::sol_types as alloy_sol_types;
3228 #[doc(hidden)]
3229 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
3230 #[doc(hidden)]
3231 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
3232 #[cfg(test)]
3233 #[allow(dead_code, unreachable_patterns)]
3234 fn _type_assertion(
3235 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3236 ) {
3237 match _t {
3238 alloy_sol_types::private::AssertTypeEq::<
3239 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3240 >(_) => {}
3241 }
3242 }
3243 #[automatically_derived]
3244 #[doc(hidden)]
3245 impl ::core::convert::From<OwnableInvalidOwner> for UnderlyingRustTuple<'_> {
3246 fn from(value: OwnableInvalidOwner) -> Self {
3247 (value.owner,)
3248 }
3249 }
3250 #[automatically_derived]
3251 #[doc(hidden)]
3252 impl ::core::convert::From<UnderlyingRustTuple<'_>> for OwnableInvalidOwner {
3253 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3254 Self { owner: tuple.0 }
3255 }
3256 }
3257 #[automatically_derived]
3258 impl alloy_sol_types::SolError for OwnableInvalidOwner {
3259 type Parameters<'a> = UnderlyingSolTuple<'a>;
3260 type Token<'a> = <Self::Parameters<
3261 'a,
3262 > as alloy_sol_types::SolType>::Token<'a>;
3263 const SIGNATURE: &'static str = "OwnableInvalidOwner(address)";
3264 const SELECTOR: [u8; 4] = [30u8, 79u8, 189u8, 247u8];
3265 #[inline]
3266 fn new<'a>(
3267 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3268 ) -> Self {
3269 tuple.into()
3270 }
3271 #[inline]
3272 fn tokenize(&self) -> Self::Token<'_> {
3273 (
3274 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3275 &self.owner,
3276 ),
3277 )
3278 }
3279 }
3280 };
3281 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3282 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3287 #[derive(Clone)]
3288 pub struct OwnableUnauthorizedAccount {
3289 #[allow(missing_docs)]
3290 pub account: alloy::sol_types::private::Address,
3291 }
3292 #[allow(
3293 non_camel_case_types,
3294 non_snake_case,
3295 clippy::pub_underscore_fields,
3296 clippy::style
3297 )]
3298 const _: () = {
3299 use alloy::sol_types as alloy_sol_types;
3300 #[doc(hidden)]
3301 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
3302 #[doc(hidden)]
3303 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
3304 #[cfg(test)]
3305 #[allow(dead_code, unreachable_patterns)]
3306 fn _type_assertion(
3307 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3308 ) {
3309 match _t {
3310 alloy_sol_types::private::AssertTypeEq::<
3311 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3312 >(_) => {}
3313 }
3314 }
3315 #[automatically_derived]
3316 #[doc(hidden)]
3317 impl ::core::convert::From<OwnableUnauthorizedAccount>
3318 for UnderlyingRustTuple<'_> {
3319 fn from(value: OwnableUnauthorizedAccount) -> Self {
3320 (value.account,)
3321 }
3322 }
3323 #[automatically_derived]
3324 #[doc(hidden)]
3325 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3326 for OwnableUnauthorizedAccount {
3327 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3328 Self { account: tuple.0 }
3329 }
3330 }
3331 #[automatically_derived]
3332 impl alloy_sol_types::SolError for OwnableUnauthorizedAccount {
3333 type Parameters<'a> = UnderlyingSolTuple<'a>;
3334 type Token<'a> = <Self::Parameters<
3335 'a,
3336 > as alloy_sol_types::SolType>::Token<'a>;
3337 const SIGNATURE: &'static str = "OwnableUnauthorizedAccount(address)";
3338 const SELECTOR: [u8; 4] = [17u8, 140u8, 218u8, 167u8];
3339 #[inline]
3340 fn new<'a>(
3341 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3342 ) -> Self {
3343 tuple.into()
3344 }
3345 #[inline]
3346 fn tokenize(&self) -> Self::Token<'_> {
3347 (
3348 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3349 &self.account,
3350 ),
3351 )
3352 }
3353 }
3354 };
3355 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3356 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3361 #[derive(Clone)]
3362 pub struct PrematureWithdrawal {}
3363 #[allow(
3364 non_camel_case_types,
3365 non_snake_case,
3366 clippy::pub_underscore_fields,
3367 clippy::style
3368 )]
3369 const _: () = {
3370 use alloy::sol_types as alloy_sol_types;
3371 #[doc(hidden)]
3372 type UnderlyingSolTuple<'a> = ();
3373 #[doc(hidden)]
3374 type UnderlyingRustTuple<'a> = ();
3375 #[cfg(test)]
3376 #[allow(dead_code, unreachable_patterns)]
3377 fn _type_assertion(
3378 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3379 ) {
3380 match _t {
3381 alloy_sol_types::private::AssertTypeEq::<
3382 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3383 >(_) => {}
3384 }
3385 }
3386 #[automatically_derived]
3387 #[doc(hidden)]
3388 impl ::core::convert::From<PrematureWithdrawal> for UnderlyingRustTuple<'_> {
3389 fn from(value: PrematureWithdrawal) -> Self {
3390 ()
3391 }
3392 }
3393 #[automatically_derived]
3394 #[doc(hidden)]
3395 impl ::core::convert::From<UnderlyingRustTuple<'_>> for PrematureWithdrawal {
3396 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3397 Self {}
3398 }
3399 }
3400 #[automatically_derived]
3401 impl alloy_sol_types::SolError for PrematureWithdrawal {
3402 type Parameters<'a> = UnderlyingSolTuple<'a>;
3403 type Token<'a> = <Self::Parameters<
3404 'a,
3405 > as alloy_sol_types::SolType>::Token<'a>;
3406 const SIGNATURE: &'static str = "PrematureWithdrawal()";
3407 const SELECTOR: [u8; 4] = [90u8, 119u8, 67u8, 87u8];
3408 #[inline]
3409 fn new<'a>(
3410 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3411 ) -> Self {
3412 tuple.into()
3413 }
3414 #[inline]
3415 fn tokenize(&self) -> Self::Token<'_> {
3416 ()
3417 }
3418 }
3419 };
3420 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3421 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3426 #[derive(Clone)]
3427 pub struct UUPSUnauthorizedCallContext {}
3428 #[allow(
3429 non_camel_case_types,
3430 non_snake_case,
3431 clippy::pub_underscore_fields,
3432 clippy::style
3433 )]
3434 const _: () = {
3435 use alloy::sol_types as alloy_sol_types;
3436 #[doc(hidden)]
3437 type UnderlyingSolTuple<'a> = ();
3438 #[doc(hidden)]
3439 type UnderlyingRustTuple<'a> = ();
3440 #[cfg(test)]
3441 #[allow(dead_code, unreachable_patterns)]
3442 fn _type_assertion(
3443 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3444 ) {
3445 match _t {
3446 alloy_sol_types::private::AssertTypeEq::<
3447 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3448 >(_) => {}
3449 }
3450 }
3451 #[automatically_derived]
3452 #[doc(hidden)]
3453 impl ::core::convert::From<UUPSUnauthorizedCallContext>
3454 for UnderlyingRustTuple<'_> {
3455 fn from(value: UUPSUnauthorizedCallContext) -> Self {
3456 ()
3457 }
3458 }
3459 #[automatically_derived]
3460 #[doc(hidden)]
3461 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3462 for UUPSUnauthorizedCallContext {
3463 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3464 Self {}
3465 }
3466 }
3467 #[automatically_derived]
3468 impl alloy_sol_types::SolError for UUPSUnauthorizedCallContext {
3469 type Parameters<'a> = UnderlyingSolTuple<'a>;
3470 type Token<'a> = <Self::Parameters<
3471 'a,
3472 > as alloy_sol_types::SolType>::Token<'a>;
3473 const SIGNATURE: &'static str = "UUPSUnauthorizedCallContext()";
3474 const SELECTOR: [u8; 4] = [224u8, 124u8, 141u8, 186u8];
3475 #[inline]
3476 fn new<'a>(
3477 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3478 ) -> Self {
3479 tuple.into()
3480 }
3481 #[inline]
3482 fn tokenize(&self) -> Self::Token<'_> {
3483 ()
3484 }
3485 }
3486 };
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 UUPSUnsupportedProxiableUUID {
3495 #[allow(missing_docs)]
3496 pub slot: alloy::sol_types::private::FixedBytes<32>,
3497 }
3498 #[allow(
3499 non_camel_case_types,
3500 non_snake_case,
3501 clippy::pub_underscore_fields,
3502 clippy::style
3503 )]
3504 const _: () = {
3505 use alloy::sol_types as alloy_sol_types;
3506 #[doc(hidden)]
3507 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
3508 #[doc(hidden)]
3509 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
3510 #[cfg(test)]
3511 #[allow(dead_code, unreachable_patterns)]
3512 fn _type_assertion(
3513 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3514 ) {
3515 match _t {
3516 alloy_sol_types::private::AssertTypeEq::<
3517 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3518 >(_) => {}
3519 }
3520 }
3521 #[automatically_derived]
3522 #[doc(hidden)]
3523 impl ::core::convert::From<UUPSUnsupportedProxiableUUID>
3524 for UnderlyingRustTuple<'_> {
3525 fn from(value: UUPSUnsupportedProxiableUUID) -> Self {
3526 (value.slot,)
3527 }
3528 }
3529 #[automatically_derived]
3530 #[doc(hidden)]
3531 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3532 for UUPSUnsupportedProxiableUUID {
3533 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3534 Self { slot: tuple.0 }
3535 }
3536 }
3537 #[automatically_derived]
3538 impl alloy_sol_types::SolError for UUPSUnsupportedProxiableUUID {
3539 type Parameters<'a> = UnderlyingSolTuple<'a>;
3540 type Token<'a> = <Self::Parameters<
3541 'a,
3542 > as alloy_sol_types::SolType>::Token<'a>;
3543 const SIGNATURE: &'static str = "UUPSUnsupportedProxiableUUID(bytes32)";
3544 const SELECTOR: [u8; 4] = [170u8, 29u8, 73u8, 164u8];
3545 #[inline]
3546 fn new<'a>(
3547 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3548 ) -> Self {
3549 tuple.into()
3550 }
3551 #[inline]
3552 fn tokenize(&self) -> Self::Token<'_> {
3553 (
3554 <alloy::sol_types::sol_data::FixedBytes<
3555 32,
3556 > as alloy_sol_types::SolType>::tokenize(&self.slot),
3557 )
3558 }
3559 }
3560 };
3561 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3562 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3567 #[derive(Clone)]
3568 pub struct UndelegationAlreadyExists {}
3569 #[allow(
3570 non_camel_case_types,
3571 non_snake_case,
3572 clippy::pub_underscore_fields,
3573 clippy::style
3574 )]
3575 const _: () = {
3576 use alloy::sol_types as alloy_sol_types;
3577 #[doc(hidden)]
3578 type UnderlyingSolTuple<'a> = ();
3579 #[doc(hidden)]
3580 type UnderlyingRustTuple<'a> = ();
3581 #[cfg(test)]
3582 #[allow(dead_code, unreachable_patterns)]
3583 fn _type_assertion(
3584 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3585 ) {
3586 match _t {
3587 alloy_sol_types::private::AssertTypeEq::<
3588 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3589 >(_) => {}
3590 }
3591 }
3592 #[automatically_derived]
3593 #[doc(hidden)]
3594 impl ::core::convert::From<UndelegationAlreadyExists>
3595 for UnderlyingRustTuple<'_> {
3596 fn from(value: UndelegationAlreadyExists) -> Self {
3597 ()
3598 }
3599 }
3600 #[automatically_derived]
3601 #[doc(hidden)]
3602 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3603 for UndelegationAlreadyExists {
3604 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3605 Self {}
3606 }
3607 }
3608 #[automatically_derived]
3609 impl alloy_sol_types::SolError for UndelegationAlreadyExists {
3610 type Parameters<'a> = UnderlyingSolTuple<'a>;
3611 type Token<'a> = <Self::Parameters<
3612 'a,
3613 > as alloy_sol_types::SolType>::Token<'a>;
3614 const SIGNATURE: &'static str = "UndelegationAlreadyExists()";
3615 const SELECTOR: [u8; 4] = [212u8, 35u8, 164u8, 241u8];
3616 #[inline]
3617 fn new<'a>(
3618 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3619 ) -> Self {
3620 tuple.into()
3621 }
3622 #[inline]
3623 fn tokenize(&self) -> Self::Token<'_> {
3624 ()
3625 }
3626 }
3627 };
3628 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3629 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3634 #[derive(Clone)]
3635 pub struct ValidatorAlreadyExited {}
3636 #[allow(
3637 non_camel_case_types,
3638 non_snake_case,
3639 clippy::pub_underscore_fields,
3640 clippy::style
3641 )]
3642 const _: () = {
3643 use alloy::sol_types as alloy_sol_types;
3644 #[doc(hidden)]
3645 type UnderlyingSolTuple<'a> = ();
3646 #[doc(hidden)]
3647 type UnderlyingRustTuple<'a> = ();
3648 #[cfg(test)]
3649 #[allow(dead_code, unreachable_patterns)]
3650 fn _type_assertion(
3651 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3652 ) {
3653 match _t {
3654 alloy_sol_types::private::AssertTypeEq::<
3655 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3656 >(_) => {}
3657 }
3658 }
3659 #[automatically_derived]
3660 #[doc(hidden)]
3661 impl ::core::convert::From<ValidatorAlreadyExited> for UnderlyingRustTuple<'_> {
3662 fn from(value: ValidatorAlreadyExited) -> Self {
3663 ()
3664 }
3665 }
3666 #[automatically_derived]
3667 #[doc(hidden)]
3668 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorAlreadyExited {
3669 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3670 Self {}
3671 }
3672 }
3673 #[automatically_derived]
3674 impl alloy_sol_types::SolError for ValidatorAlreadyExited {
3675 type Parameters<'a> = UnderlyingSolTuple<'a>;
3676 type Token<'a> = <Self::Parameters<
3677 'a,
3678 > as alloy_sol_types::SolType>::Token<'a>;
3679 const SIGNATURE: &'static str = "ValidatorAlreadyExited()";
3680 const SELECTOR: [u8; 4] = [234u8, 180u8, 169u8, 99u8];
3681 #[inline]
3682 fn new<'a>(
3683 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3684 ) -> Self {
3685 tuple.into()
3686 }
3687 #[inline]
3688 fn tokenize(&self) -> Self::Token<'_> {
3689 ()
3690 }
3691 }
3692 };
3693 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3694 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3699 #[derive(Clone)]
3700 pub struct ValidatorAlreadyRegistered {}
3701 #[allow(
3702 non_camel_case_types,
3703 non_snake_case,
3704 clippy::pub_underscore_fields,
3705 clippy::style
3706 )]
3707 const _: () = {
3708 use alloy::sol_types as alloy_sol_types;
3709 #[doc(hidden)]
3710 type UnderlyingSolTuple<'a> = ();
3711 #[doc(hidden)]
3712 type UnderlyingRustTuple<'a> = ();
3713 #[cfg(test)]
3714 #[allow(dead_code, unreachable_patterns)]
3715 fn _type_assertion(
3716 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3717 ) {
3718 match _t {
3719 alloy_sol_types::private::AssertTypeEq::<
3720 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3721 >(_) => {}
3722 }
3723 }
3724 #[automatically_derived]
3725 #[doc(hidden)]
3726 impl ::core::convert::From<ValidatorAlreadyRegistered>
3727 for UnderlyingRustTuple<'_> {
3728 fn from(value: ValidatorAlreadyRegistered) -> Self {
3729 ()
3730 }
3731 }
3732 #[automatically_derived]
3733 #[doc(hidden)]
3734 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3735 for ValidatorAlreadyRegistered {
3736 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3737 Self {}
3738 }
3739 }
3740 #[automatically_derived]
3741 impl alloy_sol_types::SolError for ValidatorAlreadyRegistered {
3742 type Parameters<'a> = UnderlyingSolTuple<'a>;
3743 type Token<'a> = <Self::Parameters<
3744 'a,
3745 > as alloy_sol_types::SolType>::Token<'a>;
3746 const SIGNATURE: &'static str = "ValidatorAlreadyRegistered()";
3747 const SELECTOR: [u8; 4] = [153u8, 115u8, 247u8, 216u8];
3748 #[inline]
3749 fn new<'a>(
3750 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3751 ) -> Self {
3752 tuple.into()
3753 }
3754 #[inline]
3755 fn tokenize(&self) -> Self::Token<'_> {
3756 ()
3757 }
3758 }
3759 };
3760 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3761 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3766 #[derive(Clone)]
3767 pub struct ValidatorInactive {}
3768 #[allow(
3769 non_camel_case_types,
3770 non_snake_case,
3771 clippy::pub_underscore_fields,
3772 clippy::style
3773 )]
3774 const _: () = {
3775 use alloy::sol_types as alloy_sol_types;
3776 #[doc(hidden)]
3777 type UnderlyingSolTuple<'a> = ();
3778 #[doc(hidden)]
3779 type UnderlyingRustTuple<'a> = ();
3780 #[cfg(test)]
3781 #[allow(dead_code, unreachable_patterns)]
3782 fn _type_assertion(
3783 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3784 ) {
3785 match _t {
3786 alloy_sol_types::private::AssertTypeEq::<
3787 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3788 >(_) => {}
3789 }
3790 }
3791 #[automatically_derived]
3792 #[doc(hidden)]
3793 impl ::core::convert::From<ValidatorInactive> for UnderlyingRustTuple<'_> {
3794 fn from(value: ValidatorInactive) -> Self {
3795 ()
3796 }
3797 }
3798 #[automatically_derived]
3799 #[doc(hidden)]
3800 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorInactive {
3801 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3802 Self {}
3803 }
3804 }
3805 #[automatically_derived]
3806 impl alloy_sol_types::SolError for ValidatorInactive {
3807 type Parameters<'a> = UnderlyingSolTuple<'a>;
3808 type Token<'a> = <Self::Parameters<
3809 'a,
3810 > as alloy_sol_types::SolType>::Token<'a>;
3811 const SIGNATURE: &'static str = "ValidatorInactive()";
3812 const SELECTOR: [u8; 4] = [80u8, 138u8, 121u8, 63u8];
3813 #[inline]
3814 fn new<'a>(
3815 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3816 ) -> Self {
3817 tuple.into()
3818 }
3819 #[inline]
3820 fn tokenize(&self) -> Self::Token<'_> {
3821 ()
3822 }
3823 }
3824 };
3825 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3826 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3831 #[derive(Clone)]
3832 pub struct ValidatorNotExited {}
3833 #[allow(
3834 non_camel_case_types,
3835 non_snake_case,
3836 clippy::pub_underscore_fields,
3837 clippy::style
3838 )]
3839 const _: () = {
3840 use alloy::sol_types as alloy_sol_types;
3841 #[doc(hidden)]
3842 type UnderlyingSolTuple<'a> = ();
3843 #[doc(hidden)]
3844 type UnderlyingRustTuple<'a> = ();
3845 #[cfg(test)]
3846 #[allow(dead_code, unreachable_patterns)]
3847 fn _type_assertion(
3848 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3849 ) {
3850 match _t {
3851 alloy_sol_types::private::AssertTypeEq::<
3852 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3853 >(_) => {}
3854 }
3855 }
3856 #[automatically_derived]
3857 #[doc(hidden)]
3858 impl ::core::convert::From<ValidatorNotExited> for UnderlyingRustTuple<'_> {
3859 fn from(value: ValidatorNotExited) -> Self {
3860 ()
3861 }
3862 }
3863 #[automatically_derived]
3864 #[doc(hidden)]
3865 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorNotExited {
3866 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3867 Self {}
3868 }
3869 }
3870 #[automatically_derived]
3871 impl alloy_sol_types::SolError for ValidatorNotExited {
3872 type Parameters<'a> = UnderlyingSolTuple<'a>;
3873 type Token<'a> = <Self::Parameters<
3874 'a,
3875 > as alloy_sol_types::SolType>::Token<'a>;
3876 const SIGNATURE: &'static str = "ValidatorNotExited()";
3877 const SELECTOR: [u8; 4] = [242u8, 83u8, 20u8, 166u8];
3878 #[inline]
3879 fn new<'a>(
3880 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3881 ) -> Self {
3882 tuple.into()
3883 }
3884 #[inline]
3885 fn tokenize(&self) -> Self::Token<'_> {
3886 ()
3887 }
3888 }
3889 };
3890 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3891 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3896 #[derive(Clone)]
3897 pub struct ZeroAddress {}
3898 #[allow(
3899 non_camel_case_types,
3900 non_snake_case,
3901 clippy::pub_underscore_fields,
3902 clippy::style
3903 )]
3904 const _: () = {
3905 use alloy::sol_types as alloy_sol_types;
3906 #[doc(hidden)]
3907 type UnderlyingSolTuple<'a> = ();
3908 #[doc(hidden)]
3909 type UnderlyingRustTuple<'a> = ();
3910 #[cfg(test)]
3911 #[allow(dead_code, unreachable_patterns)]
3912 fn _type_assertion(
3913 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3914 ) {
3915 match _t {
3916 alloy_sol_types::private::AssertTypeEq::<
3917 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3918 >(_) => {}
3919 }
3920 }
3921 #[automatically_derived]
3922 #[doc(hidden)]
3923 impl ::core::convert::From<ZeroAddress> for UnderlyingRustTuple<'_> {
3924 fn from(value: ZeroAddress) -> Self {
3925 ()
3926 }
3927 }
3928 #[automatically_derived]
3929 #[doc(hidden)]
3930 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ZeroAddress {
3931 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3932 Self {}
3933 }
3934 }
3935 #[automatically_derived]
3936 impl alloy_sol_types::SolError for ZeroAddress {
3937 type Parameters<'a> = UnderlyingSolTuple<'a>;
3938 type Token<'a> = <Self::Parameters<
3939 'a,
3940 > as alloy_sol_types::SolType>::Token<'a>;
3941 const SIGNATURE: &'static str = "ZeroAddress()";
3942 const SELECTOR: [u8; 4] = [217u8, 46u8, 35u8, 61u8];
3943 #[inline]
3944 fn new<'a>(
3945 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3946 ) -> Self {
3947 tuple.into()
3948 }
3949 #[inline]
3950 fn tokenize(&self) -> Self::Token<'_> {
3951 ()
3952 }
3953 }
3954 };
3955 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3956 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3961 #[derive(Clone)]
3962 pub struct ZeroAmount {}
3963 #[allow(
3964 non_camel_case_types,
3965 non_snake_case,
3966 clippy::pub_underscore_fields,
3967 clippy::style
3968 )]
3969 const _: () = {
3970 use alloy::sol_types as alloy_sol_types;
3971 #[doc(hidden)]
3972 type UnderlyingSolTuple<'a> = ();
3973 #[doc(hidden)]
3974 type UnderlyingRustTuple<'a> = ();
3975 #[cfg(test)]
3976 #[allow(dead_code, unreachable_patterns)]
3977 fn _type_assertion(
3978 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3979 ) {
3980 match _t {
3981 alloy_sol_types::private::AssertTypeEq::<
3982 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3983 >(_) => {}
3984 }
3985 }
3986 #[automatically_derived]
3987 #[doc(hidden)]
3988 impl ::core::convert::From<ZeroAmount> for UnderlyingRustTuple<'_> {
3989 fn from(value: ZeroAmount) -> Self {
3990 ()
3991 }
3992 }
3993 #[automatically_derived]
3994 #[doc(hidden)]
3995 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ZeroAmount {
3996 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3997 Self {}
3998 }
3999 }
4000 #[automatically_derived]
4001 impl alloy_sol_types::SolError for ZeroAmount {
4002 type Parameters<'a> = UnderlyingSolTuple<'a>;
4003 type Token<'a> = <Self::Parameters<
4004 'a,
4005 > as alloy_sol_types::SolType>::Token<'a>;
4006 const SIGNATURE: &'static str = "ZeroAmount()";
4007 const SELECTOR: [u8; 4] = [31u8, 42u8, 32u8, 5u8];
4008 #[inline]
4009 fn new<'a>(
4010 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4011 ) -> Self {
4012 tuple.into()
4013 }
4014 #[inline]
4015 fn tokenize(&self) -> Self::Token<'_> {
4016 ()
4017 }
4018 }
4019 };
4020 #[derive()]
4021 #[allow(
4026 non_camel_case_types,
4027 non_snake_case,
4028 clippy::pub_underscore_fields,
4029 clippy::style
4030 )]
4031 #[derive(Clone)]
4032 pub struct ConsensusKeysUpdated {
4033 #[allow(missing_docs)]
4034 pub account: alloy::sol_types::private::Address,
4035 #[allow(missing_docs)]
4036 pub blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
4037 #[allow(missing_docs)]
4038 pub schnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
4039 }
4040 #[allow(
4041 non_camel_case_types,
4042 non_snake_case,
4043 clippy::pub_underscore_fields,
4044 clippy::style
4045 )]
4046 const _: () = {
4047 use alloy::sol_types as alloy_sol_types;
4048 #[automatically_derived]
4049 impl alloy_sol_types::SolEvent for ConsensusKeysUpdated {
4050 type DataTuple<'a> = (BN254::G2Point, EdOnBN254::EdOnBN254Point);
4051 type DataToken<'a> = <Self::DataTuple<
4052 'a,
4053 > as alloy_sol_types::SolType>::Token<'a>;
4054 type TopicList = (
4055 alloy_sol_types::sol_data::FixedBytes<32>,
4056 alloy::sol_types::sol_data::Address,
4057 );
4058 const SIGNATURE: &'static str = "ConsensusKeysUpdated(address,(uint256,uint256,uint256,uint256),(uint256,uint256))";
4059 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4060 128u8, 216u8, 164u8, 161u8, 102u8, 51u8, 40u8, 169u8, 152u8, 212u8, 85u8,
4061 91u8, 162u8, 29u8, 139u8, 186u8, 110u8, 241u8, 87u8, 106u8, 140u8, 94u8,
4062 157u8, 39u8, 249u8, 197u8, 69u8, 241u8, 163u8, 213u8, 43u8, 29u8,
4063 ]);
4064 const ANONYMOUS: bool = false;
4065 #[allow(unused_variables)]
4066 #[inline]
4067 fn new(
4068 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4069 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4070 ) -> Self {
4071 Self {
4072 account: topics.1,
4073 blsVK: data.0,
4074 schnorrVK: data.1,
4075 }
4076 }
4077 #[inline]
4078 fn check_signature(
4079 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4080 ) -> alloy_sol_types::Result<()> {
4081 if topics.0 != Self::SIGNATURE_HASH {
4082 return Err(
4083 alloy_sol_types::Error::invalid_event_signature_hash(
4084 Self::SIGNATURE,
4085 topics.0,
4086 Self::SIGNATURE_HASH,
4087 ),
4088 );
4089 }
4090 Ok(())
4091 }
4092 #[inline]
4093 fn tokenize_body(&self) -> Self::DataToken<'_> {
4094 (
4095 <BN254::G2Point as alloy_sol_types::SolType>::tokenize(&self.blsVK),
4096 <EdOnBN254::EdOnBN254Point as alloy_sol_types::SolType>::tokenize(
4097 &self.schnorrVK,
4098 ),
4099 )
4100 }
4101 #[inline]
4102 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4103 (Self::SIGNATURE_HASH.into(), self.account.clone())
4104 }
4105 #[inline]
4106 fn encode_topics_raw(
4107 &self,
4108 out: &mut [alloy_sol_types::abi::token::WordToken],
4109 ) -> alloy_sol_types::Result<()> {
4110 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4111 return Err(alloy_sol_types::Error::Overrun);
4112 }
4113 out[0usize] = alloy_sol_types::abi::token::WordToken(
4114 Self::SIGNATURE_HASH,
4115 );
4116 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4117 &self.account,
4118 );
4119 Ok(())
4120 }
4121 }
4122 #[automatically_derived]
4123 impl alloy_sol_types::private::IntoLogData for ConsensusKeysUpdated {
4124 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4125 From::from(self)
4126 }
4127 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4128 From::from(&self)
4129 }
4130 }
4131 #[automatically_derived]
4132 impl From<&ConsensusKeysUpdated> for alloy_sol_types::private::LogData {
4133 #[inline]
4134 fn from(this: &ConsensusKeysUpdated) -> alloy_sol_types::private::LogData {
4135 alloy_sol_types::SolEvent::encode_log_data(this)
4136 }
4137 }
4138 };
4139 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4140 #[allow(
4145 non_camel_case_types,
4146 non_snake_case,
4147 clippy::pub_underscore_fields,
4148 clippy::style
4149 )]
4150 #[derive(Clone)]
4151 pub struct Delegated {
4152 #[allow(missing_docs)]
4153 pub delegator: alloy::sol_types::private::Address,
4154 #[allow(missing_docs)]
4155 pub validator: alloy::sol_types::private::Address,
4156 #[allow(missing_docs)]
4157 pub amount: alloy::sol_types::private::primitives::aliases::U256,
4158 }
4159 #[allow(
4160 non_camel_case_types,
4161 non_snake_case,
4162 clippy::pub_underscore_fields,
4163 clippy::style
4164 )]
4165 const _: () = {
4166 use alloy::sol_types as alloy_sol_types;
4167 #[automatically_derived]
4168 impl alloy_sol_types::SolEvent for Delegated {
4169 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4170 type DataToken<'a> = <Self::DataTuple<
4171 'a,
4172 > as alloy_sol_types::SolType>::Token<'a>;
4173 type TopicList = (
4174 alloy_sol_types::sol_data::FixedBytes<32>,
4175 alloy::sol_types::sol_data::Address,
4176 alloy::sol_types::sol_data::Address,
4177 );
4178 const SIGNATURE: &'static str = "Delegated(address,address,uint256)";
4179 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4180 229u8, 84u8, 26u8, 107u8, 97u8, 3u8, 212u8, 250u8, 126u8, 2u8, 30u8,
4181 213u8, 79u8, 173u8, 57u8, 198u8, 111u8, 39u8, 167u8, 107u8, 209u8, 61u8,
4182 55u8, 76u8, 246u8, 36u8, 10u8, 230u8, 189u8, 11u8, 183u8, 43u8,
4183 ]);
4184 const ANONYMOUS: bool = false;
4185 #[allow(unused_variables)]
4186 #[inline]
4187 fn new(
4188 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4189 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4190 ) -> Self {
4191 Self {
4192 delegator: topics.1,
4193 validator: topics.2,
4194 amount: data.0,
4195 }
4196 }
4197 #[inline]
4198 fn check_signature(
4199 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4200 ) -> alloy_sol_types::Result<()> {
4201 if topics.0 != Self::SIGNATURE_HASH {
4202 return Err(
4203 alloy_sol_types::Error::invalid_event_signature_hash(
4204 Self::SIGNATURE,
4205 topics.0,
4206 Self::SIGNATURE_HASH,
4207 ),
4208 );
4209 }
4210 Ok(())
4211 }
4212 #[inline]
4213 fn tokenize_body(&self) -> Self::DataToken<'_> {
4214 (
4215 <alloy::sol_types::sol_data::Uint<
4216 256,
4217 > as alloy_sol_types::SolType>::tokenize(&self.amount),
4218 )
4219 }
4220 #[inline]
4221 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4222 (
4223 Self::SIGNATURE_HASH.into(),
4224 self.delegator.clone(),
4225 self.validator.clone(),
4226 )
4227 }
4228 #[inline]
4229 fn encode_topics_raw(
4230 &self,
4231 out: &mut [alloy_sol_types::abi::token::WordToken],
4232 ) -> alloy_sol_types::Result<()> {
4233 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4234 return Err(alloy_sol_types::Error::Overrun);
4235 }
4236 out[0usize] = alloy_sol_types::abi::token::WordToken(
4237 Self::SIGNATURE_HASH,
4238 );
4239 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4240 &self.delegator,
4241 );
4242 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4243 &self.validator,
4244 );
4245 Ok(())
4246 }
4247 }
4248 #[automatically_derived]
4249 impl alloy_sol_types::private::IntoLogData for Delegated {
4250 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4251 From::from(self)
4252 }
4253 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4254 From::from(&self)
4255 }
4256 }
4257 #[automatically_derived]
4258 impl From<&Delegated> for alloy_sol_types::private::LogData {
4259 #[inline]
4260 fn from(this: &Delegated) -> alloy_sol_types::private::LogData {
4261 alloy_sol_types::SolEvent::encode_log_data(this)
4262 }
4263 }
4264 };
4265 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4266 #[allow(
4271 non_camel_case_types,
4272 non_snake_case,
4273 clippy::pub_underscore_fields,
4274 clippy::style
4275 )]
4276 #[derive(Clone)]
4277 pub struct Initialized {
4278 #[allow(missing_docs)]
4279 pub version: u64,
4280 }
4281 #[allow(
4282 non_camel_case_types,
4283 non_snake_case,
4284 clippy::pub_underscore_fields,
4285 clippy::style
4286 )]
4287 const _: () = {
4288 use alloy::sol_types as alloy_sol_types;
4289 #[automatically_derived]
4290 impl alloy_sol_types::SolEvent for Initialized {
4291 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
4292 type DataToken<'a> = <Self::DataTuple<
4293 'a,
4294 > as alloy_sol_types::SolType>::Token<'a>;
4295 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
4296 const SIGNATURE: &'static str = "Initialized(uint64)";
4297 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4298 199u8, 245u8, 5u8, 178u8, 243u8, 113u8, 174u8, 33u8, 117u8, 238u8, 73u8,
4299 19u8, 244u8, 73u8, 158u8, 31u8, 38u8, 51u8, 167u8, 181u8, 147u8, 99u8,
4300 33u8, 238u8, 209u8, 205u8, 174u8, 182u8, 17u8, 81u8, 129u8, 210u8,
4301 ]);
4302 const ANONYMOUS: bool = false;
4303 #[allow(unused_variables)]
4304 #[inline]
4305 fn new(
4306 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4307 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4308 ) -> Self {
4309 Self { version: data.0 }
4310 }
4311 #[inline]
4312 fn check_signature(
4313 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4314 ) -> alloy_sol_types::Result<()> {
4315 if topics.0 != Self::SIGNATURE_HASH {
4316 return Err(
4317 alloy_sol_types::Error::invalid_event_signature_hash(
4318 Self::SIGNATURE,
4319 topics.0,
4320 Self::SIGNATURE_HASH,
4321 ),
4322 );
4323 }
4324 Ok(())
4325 }
4326 #[inline]
4327 fn tokenize_body(&self) -> Self::DataToken<'_> {
4328 (
4329 <alloy::sol_types::sol_data::Uint<
4330 64,
4331 > as alloy_sol_types::SolType>::tokenize(&self.version),
4332 )
4333 }
4334 #[inline]
4335 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4336 (Self::SIGNATURE_HASH.into(),)
4337 }
4338 #[inline]
4339 fn encode_topics_raw(
4340 &self,
4341 out: &mut [alloy_sol_types::abi::token::WordToken],
4342 ) -> alloy_sol_types::Result<()> {
4343 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4344 return Err(alloy_sol_types::Error::Overrun);
4345 }
4346 out[0usize] = alloy_sol_types::abi::token::WordToken(
4347 Self::SIGNATURE_HASH,
4348 );
4349 Ok(())
4350 }
4351 }
4352 #[automatically_derived]
4353 impl alloy_sol_types::private::IntoLogData for Initialized {
4354 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4355 From::from(self)
4356 }
4357 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4358 From::from(&self)
4359 }
4360 }
4361 #[automatically_derived]
4362 impl From<&Initialized> for alloy_sol_types::private::LogData {
4363 #[inline]
4364 fn from(this: &Initialized) -> alloy_sol_types::private::LogData {
4365 alloy_sol_types::SolEvent::encode_log_data(this)
4366 }
4367 }
4368 };
4369 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4370 #[allow(
4375 non_camel_case_types,
4376 non_snake_case,
4377 clippy::pub_underscore_fields,
4378 clippy::style
4379 )]
4380 #[derive(Clone)]
4381 pub struct OwnershipTransferred {
4382 #[allow(missing_docs)]
4383 pub previousOwner: alloy::sol_types::private::Address,
4384 #[allow(missing_docs)]
4385 pub newOwner: alloy::sol_types::private::Address,
4386 }
4387 #[allow(
4388 non_camel_case_types,
4389 non_snake_case,
4390 clippy::pub_underscore_fields,
4391 clippy::style
4392 )]
4393 const _: () = {
4394 use alloy::sol_types as alloy_sol_types;
4395 #[automatically_derived]
4396 impl alloy_sol_types::SolEvent for OwnershipTransferred {
4397 type DataTuple<'a> = ();
4398 type DataToken<'a> = <Self::DataTuple<
4399 'a,
4400 > as alloy_sol_types::SolType>::Token<'a>;
4401 type TopicList = (
4402 alloy_sol_types::sol_data::FixedBytes<32>,
4403 alloy::sol_types::sol_data::Address,
4404 alloy::sol_types::sol_data::Address,
4405 );
4406 const SIGNATURE: &'static str = "OwnershipTransferred(address,address)";
4407 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4408 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
4409 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
4410 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
4411 ]);
4412 const ANONYMOUS: bool = false;
4413 #[allow(unused_variables)]
4414 #[inline]
4415 fn new(
4416 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4417 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4418 ) -> Self {
4419 Self {
4420 previousOwner: topics.1,
4421 newOwner: topics.2,
4422 }
4423 }
4424 #[inline]
4425 fn check_signature(
4426 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4427 ) -> alloy_sol_types::Result<()> {
4428 if topics.0 != Self::SIGNATURE_HASH {
4429 return Err(
4430 alloy_sol_types::Error::invalid_event_signature_hash(
4431 Self::SIGNATURE,
4432 topics.0,
4433 Self::SIGNATURE_HASH,
4434 ),
4435 );
4436 }
4437 Ok(())
4438 }
4439 #[inline]
4440 fn tokenize_body(&self) -> Self::DataToken<'_> {
4441 ()
4442 }
4443 #[inline]
4444 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4445 (
4446 Self::SIGNATURE_HASH.into(),
4447 self.previousOwner.clone(),
4448 self.newOwner.clone(),
4449 )
4450 }
4451 #[inline]
4452 fn encode_topics_raw(
4453 &self,
4454 out: &mut [alloy_sol_types::abi::token::WordToken],
4455 ) -> alloy_sol_types::Result<()> {
4456 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4457 return Err(alloy_sol_types::Error::Overrun);
4458 }
4459 out[0usize] = alloy_sol_types::abi::token::WordToken(
4460 Self::SIGNATURE_HASH,
4461 );
4462 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4463 &self.previousOwner,
4464 );
4465 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4466 &self.newOwner,
4467 );
4468 Ok(())
4469 }
4470 }
4471 #[automatically_derived]
4472 impl alloy_sol_types::private::IntoLogData for OwnershipTransferred {
4473 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4474 From::from(self)
4475 }
4476 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4477 From::from(&self)
4478 }
4479 }
4480 #[automatically_derived]
4481 impl From<&OwnershipTransferred> for alloy_sol_types::private::LogData {
4482 #[inline]
4483 fn from(this: &OwnershipTransferred) -> alloy_sol_types::private::LogData {
4484 alloy_sol_types::SolEvent::encode_log_data(this)
4485 }
4486 }
4487 };
4488 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4489 #[allow(
4494 non_camel_case_types,
4495 non_snake_case,
4496 clippy::pub_underscore_fields,
4497 clippy::style
4498 )]
4499 #[derive(Clone)]
4500 pub struct Undelegated {
4501 #[allow(missing_docs)]
4502 pub delegator: alloy::sol_types::private::Address,
4503 #[allow(missing_docs)]
4504 pub validator: alloy::sol_types::private::Address,
4505 #[allow(missing_docs)]
4506 pub amount: alloy::sol_types::private::primitives::aliases::U256,
4507 }
4508 #[allow(
4509 non_camel_case_types,
4510 non_snake_case,
4511 clippy::pub_underscore_fields,
4512 clippy::style
4513 )]
4514 const _: () = {
4515 use alloy::sol_types as alloy_sol_types;
4516 #[automatically_derived]
4517 impl alloy_sol_types::SolEvent for Undelegated {
4518 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4519 type DataToken<'a> = <Self::DataTuple<
4520 'a,
4521 > as alloy_sol_types::SolType>::Token<'a>;
4522 type TopicList = (
4523 alloy_sol_types::sol_data::FixedBytes<32>,
4524 alloy::sol_types::sol_data::Address,
4525 alloy::sol_types::sol_data::Address,
4526 );
4527 const SIGNATURE: &'static str = "Undelegated(address,address,uint256)";
4528 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4529 77u8, 16u8, 189u8, 4u8, 151u8, 117u8, 199u8, 123u8, 215u8, 242u8, 85u8,
4530 25u8, 90u8, 251u8, 165u8, 8u8, 128u8, 40u8, 236u8, 179u8, 199u8, 194u8,
4531 119u8, 211u8, 147u8, 204u8, 255u8, 121u8, 52u8, 242u8, 249u8, 44u8,
4532 ]);
4533 const ANONYMOUS: bool = false;
4534 #[allow(unused_variables)]
4535 #[inline]
4536 fn new(
4537 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4538 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4539 ) -> Self {
4540 Self {
4541 delegator: topics.1,
4542 validator: topics.2,
4543 amount: data.0,
4544 }
4545 }
4546 #[inline]
4547 fn check_signature(
4548 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4549 ) -> alloy_sol_types::Result<()> {
4550 if topics.0 != Self::SIGNATURE_HASH {
4551 return Err(
4552 alloy_sol_types::Error::invalid_event_signature_hash(
4553 Self::SIGNATURE,
4554 topics.0,
4555 Self::SIGNATURE_HASH,
4556 ),
4557 );
4558 }
4559 Ok(())
4560 }
4561 #[inline]
4562 fn tokenize_body(&self) -> Self::DataToken<'_> {
4563 (
4564 <alloy::sol_types::sol_data::Uint<
4565 256,
4566 > as alloy_sol_types::SolType>::tokenize(&self.amount),
4567 )
4568 }
4569 #[inline]
4570 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4571 (
4572 Self::SIGNATURE_HASH.into(),
4573 self.delegator.clone(),
4574 self.validator.clone(),
4575 )
4576 }
4577 #[inline]
4578 fn encode_topics_raw(
4579 &self,
4580 out: &mut [alloy_sol_types::abi::token::WordToken],
4581 ) -> alloy_sol_types::Result<()> {
4582 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4583 return Err(alloy_sol_types::Error::Overrun);
4584 }
4585 out[0usize] = alloy_sol_types::abi::token::WordToken(
4586 Self::SIGNATURE_HASH,
4587 );
4588 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4589 &self.delegator,
4590 );
4591 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4592 &self.validator,
4593 );
4594 Ok(())
4595 }
4596 }
4597 #[automatically_derived]
4598 impl alloy_sol_types::private::IntoLogData for Undelegated {
4599 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4600 From::from(self)
4601 }
4602 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4603 From::from(&self)
4604 }
4605 }
4606 #[automatically_derived]
4607 impl From<&Undelegated> for alloy_sol_types::private::LogData {
4608 #[inline]
4609 fn from(this: &Undelegated) -> alloy_sol_types::private::LogData {
4610 alloy_sol_types::SolEvent::encode_log_data(this)
4611 }
4612 }
4613 };
4614 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4615 #[allow(
4620 non_camel_case_types,
4621 non_snake_case,
4622 clippy::pub_underscore_fields,
4623 clippy::style
4624 )]
4625 #[derive(Clone)]
4626 pub struct Upgrade {
4627 #[allow(missing_docs)]
4628 pub implementation: alloy::sol_types::private::Address,
4629 }
4630 #[allow(
4631 non_camel_case_types,
4632 non_snake_case,
4633 clippy::pub_underscore_fields,
4634 clippy::style
4635 )]
4636 const _: () = {
4637 use alloy::sol_types as alloy_sol_types;
4638 #[automatically_derived]
4639 impl alloy_sol_types::SolEvent for Upgrade {
4640 type DataTuple<'a> = (alloy::sol_types::sol_data::Address,);
4641 type DataToken<'a> = <Self::DataTuple<
4642 'a,
4643 > as alloy_sol_types::SolType>::Token<'a>;
4644 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
4645 const SIGNATURE: &'static str = "Upgrade(address)";
4646 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4647 247u8, 135u8, 33u8, 34u8, 110u8, 254u8, 154u8, 27u8, 182u8, 120u8, 24u8,
4648 154u8, 22u8, 209u8, 85u8, 73u8, 40u8, 185u8, 242u8, 25u8, 46u8, 44u8,
4649 185u8, 62u8, 237u8, 168u8, 59u8, 121u8, 250u8, 64u8, 0u8, 125u8,
4650 ]);
4651 const ANONYMOUS: bool = false;
4652 #[allow(unused_variables)]
4653 #[inline]
4654 fn new(
4655 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4656 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4657 ) -> Self {
4658 Self { implementation: data.0 }
4659 }
4660 #[inline]
4661 fn check_signature(
4662 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4663 ) -> alloy_sol_types::Result<()> {
4664 if topics.0 != Self::SIGNATURE_HASH {
4665 return Err(
4666 alloy_sol_types::Error::invalid_event_signature_hash(
4667 Self::SIGNATURE,
4668 topics.0,
4669 Self::SIGNATURE_HASH,
4670 ),
4671 );
4672 }
4673 Ok(())
4674 }
4675 #[inline]
4676 fn tokenize_body(&self) -> Self::DataToken<'_> {
4677 (
4678 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4679 &self.implementation,
4680 ),
4681 )
4682 }
4683 #[inline]
4684 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4685 (Self::SIGNATURE_HASH.into(),)
4686 }
4687 #[inline]
4688 fn encode_topics_raw(
4689 &self,
4690 out: &mut [alloy_sol_types::abi::token::WordToken],
4691 ) -> alloy_sol_types::Result<()> {
4692 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4693 return Err(alloy_sol_types::Error::Overrun);
4694 }
4695 out[0usize] = alloy_sol_types::abi::token::WordToken(
4696 Self::SIGNATURE_HASH,
4697 );
4698 Ok(())
4699 }
4700 }
4701 #[automatically_derived]
4702 impl alloy_sol_types::private::IntoLogData for Upgrade {
4703 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4704 From::from(self)
4705 }
4706 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4707 From::from(&self)
4708 }
4709 }
4710 #[automatically_derived]
4711 impl From<&Upgrade> for alloy_sol_types::private::LogData {
4712 #[inline]
4713 fn from(this: &Upgrade) -> alloy_sol_types::private::LogData {
4714 alloy_sol_types::SolEvent::encode_log_data(this)
4715 }
4716 }
4717 };
4718 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4719 #[allow(
4724 non_camel_case_types,
4725 non_snake_case,
4726 clippy::pub_underscore_fields,
4727 clippy::style
4728 )]
4729 #[derive(Clone)]
4730 pub struct Upgraded {
4731 #[allow(missing_docs)]
4732 pub implementation: alloy::sol_types::private::Address,
4733 }
4734 #[allow(
4735 non_camel_case_types,
4736 non_snake_case,
4737 clippy::pub_underscore_fields,
4738 clippy::style
4739 )]
4740 const _: () = {
4741 use alloy::sol_types as alloy_sol_types;
4742 #[automatically_derived]
4743 impl alloy_sol_types::SolEvent for Upgraded {
4744 type DataTuple<'a> = ();
4745 type DataToken<'a> = <Self::DataTuple<
4746 'a,
4747 > as alloy_sol_types::SolType>::Token<'a>;
4748 type TopicList = (
4749 alloy_sol_types::sol_data::FixedBytes<32>,
4750 alloy::sol_types::sol_data::Address,
4751 );
4752 const SIGNATURE: &'static str = "Upgraded(address)";
4753 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4754 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
4755 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
4756 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
4757 ]);
4758 const ANONYMOUS: bool = false;
4759 #[allow(unused_variables)]
4760 #[inline]
4761 fn new(
4762 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4763 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4764 ) -> Self {
4765 Self { implementation: topics.1 }
4766 }
4767 #[inline]
4768 fn check_signature(
4769 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4770 ) -> alloy_sol_types::Result<()> {
4771 if topics.0 != Self::SIGNATURE_HASH {
4772 return Err(
4773 alloy_sol_types::Error::invalid_event_signature_hash(
4774 Self::SIGNATURE,
4775 topics.0,
4776 Self::SIGNATURE_HASH,
4777 ),
4778 );
4779 }
4780 Ok(())
4781 }
4782 #[inline]
4783 fn tokenize_body(&self) -> Self::DataToken<'_> {
4784 ()
4785 }
4786 #[inline]
4787 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4788 (Self::SIGNATURE_HASH.into(), self.implementation.clone())
4789 }
4790 #[inline]
4791 fn encode_topics_raw(
4792 &self,
4793 out: &mut [alloy_sol_types::abi::token::WordToken],
4794 ) -> alloy_sol_types::Result<()> {
4795 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4796 return Err(alloy_sol_types::Error::Overrun);
4797 }
4798 out[0usize] = alloy_sol_types::abi::token::WordToken(
4799 Self::SIGNATURE_HASH,
4800 );
4801 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4802 &self.implementation,
4803 );
4804 Ok(())
4805 }
4806 }
4807 #[automatically_derived]
4808 impl alloy_sol_types::private::IntoLogData for Upgraded {
4809 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4810 From::from(self)
4811 }
4812 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4813 From::from(&self)
4814 }
4815 }
4816 #[automatically_derived]
4817 impl From<&Upgraded> for alloy_sol_types::private::LogData {
4818 #[inline]
4819 fn from(this: &Upgraded) -> alloy_sol_types::private::LogData {
4820 alloy_sol_types::SolEvent::encode_log_data(this)
4821 }
4822 }
4823 };
4824 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4825 #[allow(
4830 non_camel_case_types,
4831 non_snake_case,
4832 clippy::pub_underscore_fields,
4833 clippy::style
4834 )]
4835 #[derive(Clone)]
4836 pub struct ValidatorExit {
4837 #[allow(missing_docs)]
4838 pub validator: alloy::sol_types::private::Address,
4839 }
4840 #[allow(
4841 non_camel_case_types,
4842 non_snake_case,
4843 clippy::pub_underscore_fields,
4844 clippy::style
4845 )]
4846 const _: () = {
4847 use alloy::sol_types as alloy_sol_types;
4848 #[automatically_derived]
4849 impl alloy_sol_types::SolEvent for ValidatorExit {
4850 type DataTuple<'a> = ();
4851 type DataToken<'a> = <Self::DataTuple<
4852 'a,
4853 > as alloy_sol_types::SolType>::Token<'a>;
4854 type TopicList = (
4855 alloy_sol_types::sol_data::FixedBytes<32>,
4856 alloy::sol_types::sol_data::Address,
4857 );
4858 const SIGNATURE: &'static str = "ValidatorExit(address)";
4859 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4860 251u8, 36u8, 48u8, 83u8, 84u8, 200u8, 119u8, 98u8, 213u8, 87u8, 72u8,
4861 122u8, 228u8, 165u8, 100u8, 232u8, 208u8, 62u8, 203u8, 185u8, 169u8,
4862 125u8, 216u8, 175u8, 255u8, 142u8, 31u8, 111u8, 202u8, 240u8, 221u8, 22u8,
4863 ]);
4864 const ANONYMOUS: bool = false;
4865 #[allow(unused_variables)]
4866 #[inline]
4867 fn new(
4868 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4869 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4870 ) -> Self {
4871 Self { validator: topics.1 }
4872 }
4873 #[inline]
4874 fn check_signature(
4875 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4876 ) -> alloy_sol_types::Result<()> {
4877 if topics.0 != Self::SIGNATURE_HASH {
4878 return Err(
4879 alloy_sol_types::Error::invalid_event_signature_hash(
4880 Self::SIGNATURE,
4881 topics.0,
4882 Self::SIGNATURE_HASH,
4883 ),
4884 );
4885 }
4886 Ok(())
4887 }
4888 #[inline]
4889 fn tokenize_body(&self) -> Self::DataToken<'_> {
4890 ()
4891 }
4892 #[inline]
4893 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4894 (Self::SIGNATURE_HASH.into(), self.validator.clone())
4895 }
4896 #[inline]
4897 fn encode_topics_raw(
4898 &self,
4899 out: &mut [alloy_sol_types::abi::token::WordToken],
4900 ) -> alloy_sol_types::Result<()> {
4901 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4902 return Err(alloy_sol_types::Error::Overrun);
4903 }
4904 out[0usize] = alloy_sol_types::abi::token::WordToken(
4905 Self::SIGNATURE_HASH,
4906 );
4907 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4908 &self.validator,
4909 );
4910 Ok(())
4911 }
4912 }
4913 #[automatically_derived]
4914 impl alloy_sol_types::private::IntoLogData for ValidatorExit {
4915 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4916 From::from(self)
4917 }
4918 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4919 From::from(&self)
4920 }
4921 }
4922 #[automatically_derived]
4923 impl From<&ValidatorExit> for alloy_sol_types::private::LogData {
4924 #[inline]
4925 fn from(this: &ValidatorExit) -> alloy_sol_types::private::LogData {
4926 alloy_sol_types::SolEvent::encode_log_data(this)
4927 }
4928 }
4929 };
4930 #[derive()]
4931 #[allow(
4936 non_camel_case_types,
4937 non_snake_case,
4938 clippy::pub_underscore_fields,
4939 clippy::style
4940 )]
4941 #[derive(Clone)]
4942 pub struct ValidatorRegistered {
4943 #[allow(missing_docs)]
4944 pub account: alloy::sol_types::private::Address,
4945 #[allow(missing_docs)]
4946 pub blsVk: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
4947 #[allow(missing_docs)]
4948 pub schnorrVk: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
4949 #[allow(missing_docs)]
4950 pub commission: u16,
4951 }
4952 #[allow(
4953 non_camel_case_types,
4954 non_snake_case,
4955 clippy::pub_underscore_fields,
4956 clippy::style
4957 )]
4958 const _: () = {
4959 use alloy::sol_types as alloy_sol_types;
4960 #[automatically_derived]
4961 impl alloy_sol_types::SolEvent for ValidatorRegistered {
4962 type DataTuple<'a> = (
4963 BN254::G2Point,
4964 EdOnBN254::EdOnBN254Point,
4965 alloy::sol_types::sol_data::Uint<16>,
4966 );
4967 type DataToken<'a> = <Self::DataTuple<
4968 'a,
4969 > as alloy_sol_types::SolType>::Token<'a>;
4970 type TopicList = (
4971 alloy_sol_types::sol_data::FixedBytes<32>,
4972 alloy::sol_types::sol_data::Address,
4973 );
4974 const SIGNATURE: &'static str = "ValidatorRegistered(address,(uint256,uint256,uint256,uint256),(uint256,uint256),uint16)";
4975 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4976 246u8, 232u8, 53u8, 156u8, 87u8, 82u8, 11u8, 70u8, 150u8, 52u8, 115u8,
4977 107u8, 252u8, 59u8, 183u8, 236u8, 92u8, 189u8, 26u8, 11u8, 210u8, 139u8,
4978 16u8, 168u8, 39u8, 87u8, 147u8, 187u8, 115u8, 11u8, 121u8, 127u8,
4979 ]);
4980 const ANONYMOUS: bool = false;
4981 #[allow(unused_variables)]
4982 #[inline]
4983 fn new(
4984 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4985 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4986 ) -> Self {
4987 Self {
4988 account: topics.1,
4989 blsVk: data.0,
4990 schnorrVk: data.1,
4991 commission: data.2,
4992 }
4993 }
4994 #[inline]
4995 fn check_signature(
4996 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4997 ) -> alloy_sol_types::Result<()> {
4998 if topics.0 != Self::SIGNATURE_HASH {
4999 return Err(
5000 alloy_sol_types::Error::invalid_event_signature_hash(
5001 Self::SIGNATURE,
5002 topics.0,
5003 Self::SIGNATURE_HASH,
5004 ),
5005 );
5006 }
5007 Ok(())
5008 }
5009 #[inline]
5010 fn tokenize_body(&self) -> Self::DataToken<'_> {
5011 (
5012 <BN254::G2Point as alloy_sol_types::SolType>::tokenize(&self.blsVk),
5013 <EdOnBN254::EdOnBN254Point as alloy_sol_types::SolType>::tokenize(
5014 &self.schnorrVk,
5015 ),
5016 <alloy::sol_types::sol_data::Uint<
5017 16,
5018 > as alloy_sol_types::SolType>::tokenize(&self.commission),
5019 )
5020 }
5021 #[inline]
5022 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5023 (Self::SIGNATURE_HASH.into(), self.account.clone())
5024 }
5025 #[inline]
5026 fn encode_topics_raw(
5027 &self,
5028 out: &mut [alloy_sol_types::abi::token::WordToken],
5029 ) -> alloy_sol_types::Result<()> {
5030 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5031 return Err(alloy_sol_types::Error::Overrun);
5032 }
5033 out[0usize] = alloy_sol_types::abi::token::WordToken(
5034 Self::SIGNATURE_HASH,
5035 );
5036 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5037 &self.account,
5038 );
5039 Ok(())
5040 }
5041 }
5042 #[automatically_derived]
5043 impl alloy_sol_types::private::IntoLogData for ValidatorRegistered {
5044 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5045 From::from(self)
5046 }
5047 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5048 From::from(&self)
5049 }
5050 }
5051 #[automatically_derived]
5052 impl From<&ValidatorRegistered> for alloy_sol_types::private::LogData {
5053 #[inline]
5054 fn from(this: &ValidatorRegistered) -> alloy_sol_types::private::LogData {
5055 alloy_sol_types::SolEvent::encode_log_data(this)
5056 }
5057 }
5058 };
5059 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5060 #[allow(
5065 non_camel_case_types,
5066 non_snake_case,
5067 clippy::pub_underscore_fields,
5068 clippy::style
5069 )]
5070 #[derive(Clone)]
5071 pub struct Withdrawal {
5072 #[allow(missing_docs)]
5073 pub account: alloy::sol_types::private::Address,
5074 #[allow(missing_docs)]
5075 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5076 }
5077 #[allow(
5078 non_camel_case_types,
5079 non_snake_case,
5080 clippy::pub_underscore_fields,
5081 clippy::style
5082 )]
5083 const _: () = {
5084 use alloy::sol_types as alloy_sol_types;
5085 #[automatically_derived]
5086 impl alloy_sol_types::SolEvent for Withdrawal {
5087 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5088 type DataToken<'a> = <Self::DataTuple<
5089 'a,
5090 > as alloy_sol_types::SolType>::Token<'a>;
5091 type TopicList = (
5092 alloy_sol_types::sol_data::FixedBytes<32>,
5093 alloy::sol_types::sol_data::Address,
5094 );
5095 const SIGNATURE: &'static str = "Withdrawal(address,uint256)";
5096 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5097 127u8, 207u8, 83u8, 44u8, 21u8, 240u8, 166u8, 219u8, 11u8, 214u8, 208u8,
5098 224u8, 56u8, 190u8, 167u8, 29u8, 48u8, 216u8, 8u8, 199u8, 217u8, 140u8,
5099 179u8, 191u8, 114u8, 104u8, 169u8, 91u8, 245u8, 8u8, 27u8, 101u8,
5100 ]);
5101 const ANONYMOUS: bool = false;
5102 #[allow(unused_variables)]
5103 #[inline]
5104 fn new(
5105 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5106 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5107 ) -> Self {
5108 Self {
5109 account: topics.1,
5110 amount: data.0,
5111 }
5112 }
5113 #[inline]
5114 fn check_signature(
5115 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5116 ) -> alloy_sol_types::Result<()> {
5117 if topics.0 != Self::SIGNATURE_HASH {
5118 return Err(
5119 alloy_sol_types::Error::invalid_event_signature_hash(
5120 Self::SIGNATURE,
5121 topics.0,
5122 Self::SIGNATURE_HASH,
5123 ),
5124 );
5125 }
5126 Ok(())
5127 }
5128 #[inline]
5129 fn tokenize_body(&self) -> Self::DataToken<'_> {
5130 (
5131 <alloy::sol_types::sol_data::Uint<
5132 256,
5133 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5134 )
5135 }
5136 #[inline]
5137 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5138 (Self::SIGNATURE_HASH.into(), self.account.clone())
5139 }
5140 #[inline]
5141 fn encode_topics_raw(
5142 &self,
5143 out: &mut [alloy_sol_types::abi::token::WordToken],
5144 ) -> alloy_sol_types::Result<()> {
5145 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5146 return Err(alloy_sol_types::Error::Overrun);
5147 }
5148 out[0usize] = alloy_sol_types::abi::token::WordToken(
5149 Self::SIGNATURE_HASH,
5150 );
5151 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5152 &self.account,
5153 );
5154 Ok(())
5155 }
5156 }
5157 #[automatically_derived]
5158 impl alloy_sol_types::private::IntoLogData for Withdrawal {
5159 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5160 From::from(self)
5161 }
5162 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5163 From::from(&self)
5164 }
5165 }
5166 #[automatically_derived]
5167 impl From<&Withdrawal> for alloy_sol_types::private::LogData {
5168 #[inline]
5169 fn from(this: &Withdrawal) -> alloy_sol_types::private::LogData {
5170 alloy_sol_types::SolEvent::encode_log_data(this)
5171 }
5172 }
5173 };
5174 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5179 #[derive(Clone)]
5180 pub struct constructorCall {}
5181 const _: () = {
5182 use alloy::sol_types as alloy_sol_types;
5183 {
5184 #[doc(hidden)]
5185 type UnderlyingSolTuple<'a> = ();
5186 #[doc(hidden)]
5187 type UnderlyingRustTuple<'a> = ();
5188 #[cfg(test)]
5189 #[allow(dead_code, unreachable_patterns)]
5190 fn _type_assertion(
5191 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5192 ) {
5193 match _t {
5194 alloy_sol_types::private::AssertTypeEq::<
5195 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5196 >(_) => {}
5197 }
5198 }
5199 #[automatically_derived]
5200 #[doc(hidden)]
5201 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
5202 fn from(value: constructorCall) -> Self {
5203 ()
5204 }
5205 }
5206 #[automatically_derived]
5207 #[doc(hidden)]
5208 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
5209 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5210 Self {}
5211 }
5212 }
5213 }
5214 #[automatically_derived]
5215 impl alloy_sol_types::SolConstructor for constructorCall {
5216 type Parameters<'a> = ();
5217 type Token<'a> = <Self::Parameters<
5218 'a,
5219 > as alloy_sol_types::SolType>::Token<'a>;
5220 #[inline]
5221 fn new<'a>(
5222 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5223 ) -> Self {
5224 tuple.into()
5225 }
5226 #[inline]
5227 fn tokenize(&self) -> Self::Token<'_> {
5228 ()
5229 }
5230 }
5231 };
5232 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5233 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5238 #[derive(Clone)]
5239 pub struct UPGRADE_INTERFACE_VERSIONCall {}
5240 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5241 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5243 #[derive(Clone)]
5244 pub struct UPGRADE_INTERFACE_VERSIONReturn {
5245 #[allow(missing_docs)]
5246 pub _0: alloy::sol_types::private::String,
5247 }
5248 #[allow(
5249 non_camel_case_types,
5250 non_snake_case,
5251 clippy::pub_underscore_fields,
5252 clippy::style
5253 )]
5254 const _: () = {
5255 use alloy::sol_types as alloy_sol_types;
5256 {
5257 #[doc(hidden)]
5258 type UnderlyingSolTuple<'a> = ();
5259 #[doc(hidden)]
5260 type UnderlyingRustTuple<'a> = ();
5261 #[cfg(test)]
5262 #[allow(dead_code, unreachable_patterns)]
5263 fn _type_assertion(
5264 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5265 ) {
5266 match _t {
5267 alloy_sol_types::private::AssertTypeEq::<
5268 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5269 >(_) => {}
5270 }
5271 }
5272 #[automatically_derived]
5273 #[doc(hidden)]
5274 impl ::core::convert::From<UPGRADE_INTERFACE_VERSIONCall>
5275 for UnderlyingRustTuple<'_> {
5276 fn from(value: UPGRADE_INTERFACE_VERSIONCall) -> Self {
5277 ()
5278 }
5279 }
5280 #[automatically_derived]
5281 #[doc(hidden)]
5282 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5283 for UPGRADE_INTERFACE_VERSIONCall {
5284 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5285 Self {}
5286 }
5287 }
5288 }
5289 {
5290 #[doc(hidden)]
5291 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
5292 #[doc(hidden)]
5293 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
5294 #[cfg(test)]
5295 #[allow(dead_code, unreachable_patterns)]
5296 fn _type_assertion(
5297 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5298 ) {
5299 match _t {
5300 alloy_sol_types::private::AssertTypeEq::<
5301 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5302 >(_) => {}
5303 }
5304 }
5305 #[automatically_derived]
5306 #[doc(hidden)]
5307 impl ::core::convert::From<UPGRADE_INTERFACE_VERSIONReturn>
5308 for UnderlyingRustTuple<'_> {
5309 fn from(value: UPGRADE_INTERFACE_VERSIONReturn) -> Self {
5310 (value._0,)
5311 }
5312 }
5313 #[automatically_derived]
5314 #[doc(hidden)]
5315 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5316 for UPGRADE_INTERFACE_VERSIONReturn {
5317 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5318 Self { _0: tuple.0 }
5319 }
5320 }
5321 }
5322 #[automatically_derived]
5323 impl alloy_sol_types::SolCall for UPGRADE_INTERFACE_VERSIONCall {
5324 type Parameters<'a> = ();
5325 type Token<'a> = <Self::Parameters<
5326 'a,
5327 > as alloy_sol_types::SolType>::Token<'a>;
5328 type Return = UPGRADE_INTERFACE_VERSIONReturn;
5329 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
5330 type ReturnToken<'a> = <Self::ReturnTuple<
5331 'a,
5332 > as alloy_sol_types::SolType>::Token<'a>;
5333 const SIGNATURE: &'static str = "UPGRADE_INTERFACE_VERSION()";
5334 const SELECTOR: [u8; 4] = [173u8, 60u8, 177u8, 204u8];
5335 #[inline]
5336 fn new<'a>(
5337 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5338 ) -> Self {
5339 tuple.into()
5340 }
5341 #[inline]
5342 fn tokenize(&self) -> Self::Token<'_> {
5343 ()
5344 }
5345 #[inline]
5346 fn abi_decode_returns(
5347 data: &[u8],
5348 validate: bool,
5349 ) -> alloy_sol_types::Result<Self::Return> {
5350 <Self::ReturnTuple<
5351 '_,
5352 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5353 .map(Into::into)
5354 }
5355 }
5356 };
5357 #[derive()]
5358 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5363 #[derive(Clone)]
5364 pub struct _hashBlsKeyCall {
5365 #[allow(missing_docs)]
5366 pub blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
5367 }
5368 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5369 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5371 #[derive(Clone)]
5372 pub struct _hashBlsKeyReturn {
5373 #[allow(missing_docs)]
5374 pub _0: alloy::sol_types::private::FixedBytes<32>,
5375 }
5376 #[allow(
5377 non_camel_case_types,
5378 non_snake_case,
5379 clippy::pub_underscore_fields,
5380 clippy::style
5381 )]
5382 const _: () = {
5383 use alloy::sol_types as alloy_sol_types;
5384 {
5385 #[doc(hidden)]
5386 type UnderlyingSolTuple<'a> = (BN254::G2Point,);
5387 #[doc(hidden)]
5388 type UnderlyingRustTuple<'a> = (
5389 <BN254::G2Point as alloy::sol_types::SolType>::RustType,
5390 );
5391 #[cfg(test)]
5392 #[allow(dead_code, unreachable_patterns)]
5393 fn _type_assertion(
5394 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5395 ) {
5396 match _t {
5397 alloy_sol_types::private::AssertTypeEq::<
5398 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5399 >(_) => {}
5400 }
5401 }
5402 #[automatically_derived]
5403 #[doc(hidden)]
5404 impl ::core::convert::From<_hashBlsKeyCall> for UnderlyingRustTuple<'_> {
5405 fn from(value: _hashBlsKeyCall) -> Self {
5406 (value.blsVK,)
5407 }
5408 }
5409 #[automatically_derived]
5410 #[doc(hidden)]
5411 impl ::core::convert::From<UnderlyingRustTuple<'_>> for _hashBlsKeyCall {
5412 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5413 Self { blsVK: tuple.0 }
5414 }
5415 }
5416 }
5417 {
5418 #[doc(hidden)]
5419 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
5420 #[doc(hidden)]
5421 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
5422 #[cfg(test)]
5423 #[allow(dead_code, unreachable_patterns)]
5424 fn _type_assertion(
5425 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5426 ) {
5427 match _t {
5428 alloy_sol_types::private::AssertTypeEq::<
5429 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5430 >(_) => {}
5431 }
5432 }
5433 #[automatically_derived]
5434 #[doc(hidden)]
5435 impl ::core::convert::From<_hashBlsKeyReturn> for UnderlyingRustTuple<'_> {
5436 fn from(value: _hashBlsKeyReturn) -> Self {
5437 (value._0,)
5438 }
5439 }
5440 #[automatically_derived]
5441 #[doc(hidden)]
5442 impl ::core::convert::From<UnderlyingRustTuple<'_>> for _hashBlsKeyReturn {
5443 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5444 Self { _0: tuple.0 }
5445 }
5446 }
5447 }
5448 #[automatically_derived]
5449 impl alloy_sol_types::SolCall for _hashBlsKeyCall {
5450 type Parameters<'a> = (BN254::G2Point,);
5451 type Token<'a> = <Self::Parameters<
5452 'a,
5453 > as alloy_sol_types::SolType>::Token<'a>;
5454 type Return = _hashBlsKeyReturn;
5455 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
5456 type ReturnToken<'a> = <Self::ReturnTuple<
5457 'a,
5458 > as alloy_sol_types::SolType>::Token<'a>;
5459 const SIGNATURE: &'static str = "_hashBlsKey((uint256,uint256,uint256,uint256))";
5460 const SELECTOR: [u8; 4] = [155u8, 48u8, 165u8, 230u8];
5461 #[inline]
5462 fn new<'a>(
5463 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5464 ) -> Self {
5465 tuple.into()
5466 }
5467 #[inline]
5468 fn tokenize(&self) -> Self::Token<'_> {
5469 (<BN254::G2Point as alloy_sol_types::SolType>::tokenize(&self.blsVK),)
5470 }
5471 #[inline]
5472 fn abi_decode_returns(
5473 data: &[u8],
5474 validate: bool,
5475 ) -> alloy_sol_types::Result<Self::Return> {
5476 <Self::ReturnTuple<
5477 '_,
5478 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5479 .map(Into::into)
5480 }
5481 }
5482 };
5483 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5484 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5489 #[derive(Clone)]
5490 pub struct blsKeysCall {
5491 #[allow(missing_docs)]
5492 pub blsKeyHash: alloy::sol_types::private::FixedBytes<32>,
5493 }
5494 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5495 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5497 #[derive(Clone)]
5498 pub struct blsKeysReturn {
5499 #[allow(missing_docs)]
5500 pub used: bool,
5501 }
5502 #[allow(
5503 non_camel_case_types,
5504 non_snake_case,
5505 clippy::pub_underscore_fields,
5506 clippy::style
5507 )]
5508 const _: () = {
5509 use alloy::sol_types as alloy_sol_types;
5510 {
5511 #[doc(hidden)]
5512 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
5513 #[doc(hidden)]
5514 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
5515 #[cfg(test)]
5516 #[allow(dead_code, unreachable_patterns)]
5517 fn _type_assertion(
5518 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5519 ) {
5520 match _t {
5521 alloy_sol_types::private::AssertTypeEq::<
5522 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5523 >(_) => {}
5524 }
5525 }
5526 #[automatically_derived]
5527 #[doc(hidden)]
5528 impl ::core::convert::From<blsKeysCall> for UnderlyingRustTuple<'_> {
5529 fn from(value: blsKeysCall) -> Self {
5530 (value.blsKeyHash,)
5531 }
5532 }
5533 #[automatically_derived]
5534 #[doc(hidden)]
5535 impl ::core::convert::From<UnderlyingRustTuple<'_>> for blsKeysCall {
5536 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5537 Self { blsKeyHash: tuple.0 }
5538 }
5539 }
5540 }
5541 {
5542 #[doc(hidden)]
5543 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5544 #[doc(hidden)]
5545 type UnderlyingRustTuple<'a> = (bool,);
5546 #[cfg(test)]
5547 #[allow(dead_code, unreachable_patterns)]
5548 fn _type_assertion(
5549 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5550 ) {
5551 match _t {
5552 alloy_sol_types::private::AssertTypeEq::<
5553 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5554 >(_) => {}
5555 }
5556 }
5557 #[automatically_derived]
5558 #[doc(hidden)]
5559 impl ::core::convert::From<blsKeysReturn> for UnderlyingRustTuple<'_> {
5560 fn from(value: blsKeysReturn) -> Self {
5561 (value.used,)
5562 }
5563 }
5564 #[automatically_derived]
5565 #[doc(hidden)]
5566 impl ::core::convert::From<UnderlyingRustTuple<'_>> for blsKeysReturn {
5567 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5568 Self { used: tuple.0 }
5569 }
5570 }
5571 }
5572 #[automatically_derived]
5573 impl alloy_sol_types::SolCall for blsKeysCall {
5574 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
5575 type Token<'a> = <Self::Parameters<
5576 'a,
5577 > as alloy_sol_types::SolType>::Token<'a>;
5578 type Return = blsKeysReturn;
5579 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5580 type ReturnToken<'a> = <Self::ReturnTuple<
5581 'a,
5582 > as alloy_sol_types::SolType>::Token<'a>;
5583 const SIGNATURE: &'static str = "blsKeys(bytes32)";
5584 const SELECTOR: [u8; 4] = [179u8, 230u8, 235u8, 213u8];
5585 #[inline]
5586 fn new<'a>(
5587 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5588 ) -> Self {
5589 tuple.into()
5590 }
5591 #[inline]
5592 fn tokenize(&self) -> Self::Token<'_> {
5593 (
5594 <alloy::sol_types::sol_data::FixedBytes<
5595 32,
5596 > as alloy_sol_types::SolType>::tokenize(&self.blsKeyHash),
5597 )
5598 }
5599 #[inline]
5600 fn abi_decode_returns(
5601 data: &[u8],
5602 validate: bool,
5603 ) -> alloy_sol_types::Result<Self::Return> {
5604 <Self::ReturnTuple<
5605 '_,
5606 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5607 .map(Into::into)
5608 }
5609 }
5610 };
5611 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5612 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5617 #[derive(Clone)]
5618 pub struct claimValidatorExitCall {
5619 #[allow(missing_docs)]
5620 pub validator: alloy::sol_types::private::Address,
5621 }
5622 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5624 #[derive(Clone)]
5625 pub struct claimValidatorExitReturn {}
5626 #[allow(
5627 non_camel_case_types,
5628 non_snake_case,
5629 clippy::pub_underscore_fields,
5630 clippy::style
5631 )]
5632 const _: () = {
5633 use alloy::sol_types as alloy_sol_types;
5634 {
5635 #[doc(hidden)]
5636 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
5637 #[doc(hidden)]
5638 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
5639 #[cfg(test)]
5640 #[allow(dead_code, unreachable_patterns)]
5641 fn _type_assertion(
5642 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5643 ) {
5644 match _t {
5645 alloy_sol_types::private::AssertTypeEq::<
5646 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5647 >(_) => {}
5648 }
5649 }
5650 #[automatically_derived]
5651 #[doc(hidden)]
5652 impl ::core::convert::From<claimValidatorExitCall>
5653 for UnderlyingRustTuple<'_> {
5654 fn from(value: claimValidatorExitCall) -> Self {
5655 (value.validator,)
5656 }
5657 }
5658 #[automatically_derived]
5659 #[doc(hidden)]
5660 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5661 for claimValidatorExitCall {
5662 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5663 Self { validator: tuple.0 }
5664 }
5665 }
5666 }
5667 {
5668 #[doc(hidden)]
5669 type UnderlyingSolTuple<'a> = ();
5670 #[doc(hidden)]
5671 type UnderlyingRustTuple<'a> = ();
5672 #[cfg(test)]
5673 #[allow(dead_code, unreachable_patterns)]
5674 fn _type_assertion(
5675 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5676 ) {
5677 match _t {
5678 alloy_sol_types::private::AssertTypeEq::<
5679 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5680 >(_) => {}
5681 }
5682 }
5683 #[automatically_derived]
5684 #[doc(hidden)]
5685 impl ::core::convert::From<claimValidatorExitReturn>
5686 for UnderlyingRustTuple<'_> {
5687 fn from(value: claimValidatorExitReturn) -> Self {
5688 ()
5689 }
5690 }
5691 #[automatically_derived]
5692 #[doc(hidden)]
5693 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5694 for claimValidatorExitReturn {
5695 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5696 Self {}
5697 }
5698 }
5699 }
5700 #[automatically_derived]
5701 impl alloy_sol_types::SolCall for claimValidatorExitCall {
5702 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
5703 type Token<'a> = <Self::Parameters<
5704 'a,
5705 > as alloy_sol_types::SolType>::Token<'a>;
5706 type Return = claimValidatorExitReturn;
5707 type ReturnTuple<'a> = ();
5708 type ReturnToken<'a> = <Self::ReturnTuple<
5709 'a,
5710 > as alloy_sol_types::SolType>::Token<'a>;
5711 const SIGNATURE: &'static str = "claimValidatorExit(address)";
5712 const SELECTOR: [u8; 4] = [33u8, 64u8, 254u8, 205u8];
5713 #[inline]
5714 fn new<'a>(
5715 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5716 ) -> Self {
5717 tuple.into()
5718 }
5719 #[inline]
5720 fn tokenize(&self) -> Self::Token<'_> {
5721 (
5722 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5723 &self.validator,
5724 ),
5725 )
5726 }
5727 #[inline]
5728 fn abi_decode_returns(
5729 data: &[u8],
5730 validate: bool,
5731 ) -> alloy_sol_types::Result<Self::Return> {
5732 <Self::ReturnTuple<
5733 '_,
5734 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5735 .map(Into::into)
5736 }
5737 }
5738 };
5739 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5740 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5745 #[derive(Clone)]
5746 pub struct claimWithdrawalCall {
5747 #[allow(missing_docs)]
5748 pub validator: alloy::sol_types::private::Address,
5749 }
5750 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5752 #[derive(Clone)]
5753 pub struct claimWithdrawalReturn {}
5754 #[allow(
5755 non_camel_case_types,
5756 non_snake_case,
5757 clippy::pub_underscore_fields,
5758 clippy::style
5759 )]
5760 const _: () = {
5761 use alloy::sol_types as alloy_sol_types;
5762 {
5763 #[doc(hidden)]
5764 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
5765 #[doc(hidden)]
5766 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
5767 #[cfg(test)]
5768 #[allow(dead_code, unreachable_patterns)]
5769 fn _type_assertion(
5770 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5771 ) {
5772 match _t {
5773 alloy_sol_types::private::AssertTypeEq::<
5774 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5775 >(_) => {}
5776 }
5777 }
5778 #[automatically_derived]
5779 #[doc(hidden)]
5780 impl ::core::convert::From<claimWithdrawalCall> for UnderlyingRustTuple<'_> {
5781 fn from(value: claimWithdrawalCall) -> Self {
5782 (value.validator,)
5783 }
5784 }
5785 #[automatically_derived]
5786 #[doc(hidden)]
5787 impl ::core::convert::From<UnderlyingRustTuple<'_>> for claimWithdrawalCall {
5788 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5789 Self { validator: tuple.0 }
5790 }
5791 }
5792 }
5793 {
5794 #[doc(hidden)]
5795 type UnderlyingSolTuple<'a> = ();
5796 #[doc(hidden)]
5797 type UnderlyingRustTuple<'a> = ();
5798 #[cfg(test)]
5799 #[allow(dead_code, unreachable_patterns)]
5800 fn _type_assertion(
5801 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5802 ) {
5803 match _t {
5804 alloy_sol_types::private::AssertTypeEq::<
5805 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5806 >(_) => {}
5807 }
5808 }
5809 #[automatically_derived]
5810 #[doc(hidden)]
5811 impl ::core::convert::From<claimWithdrawalReturn>
5812 for UnderlyingRustTuple<'_> {
5813 fn from(value: claimWithdrawalReturn) -> Self {
5814 ()
5815 }
5816 }
5817 #[automatically_derived]
5818 #[doc(hidden)]
5819 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5820 for claimWithdrawalReturn {
5821 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5822 Self {}
5823 }
5824 }
5825 }
5826 #[automatically_derived]
5827 impl alloy_sol_types::SolCall for claimWithdrawalCall {
5828 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
5829 type Token<'a> = <Self::Parameters<
5830 'a,
5831 > as alloy_sol_types::SolType>::Token<'a>;
5832 type Return = claimWithdrawalReturn;
5833 type ReturnTuple<'a> = ();
5834 type ReturnToken<'a> = <Self::ReturnTuple<
5835 'a,
5836 > as alloy_sol_types::SolType>::Token<'a>;
5837 const SIGNATURE: &'static str = "claimWithdrawal(address)";
5838 const SELECTOR: [u8; 4] = [163u8, 6u8, 106u8, 171u8];
5839 #[inline]
5840 fn new<'a>(
5841 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5842 ) -> Self {
5843 tuple.into()
5844 }
5845 #[inline]
5846 fn tokenize(&self) -> Self::Token<'_> {
5847 (
5848 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5849 &self.validator,
5850 ),
5851 )
5852 }
5853 #[inline]
5854 fn abi_decode_returns(
5855 data: &[u8],
5856 validate: bool,
5857 ) -> alloy_sol_types::Result<Self::Return> {
5858 <Self::ReturnTuple<
5859 '_,
5860 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5861 .map(Into::into)
5862 }
5863 }
5864 };
5865 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5866 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5871 #[derive(Clone)]
5872 pub struct delegateCall {
5873 #[allow(missing_docs)]
5874 pub validator: alloy::sol_types::private::Address,
5875 #[allow(missing_docs)]
5876 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5877 }
5878 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5880 #[derive(Clone)]
5881 pub struct delegateReturn {}
5882 #[allow(
5883 non_camel_case_types,
5884 non_snake_case,
5885 clippy::pub_underscore_fields,
5886 clippy::style
5887 )]
5888 const _: () = {
5889 use alloy::sol_types as alloy_sol_types;
5890 {
5891 #[doc(hidden)]
5892 type UnderlyingSolTuple<'a> = (
5893 alloy::sol_types::sol_data::Address,
5894 alloy::sol_types::sol_data::Uint<256>,
5895 );
5896 #[doc(hidden)]
5897 type UnderlyingRustTuple<'a> = (
5898 alloy::sol_types::private::Address,
5899 alloy::sol_types::private::primitives::aliases::U256,
5900 );
5901 #[cfg(test)]
5902 #[allow(dead_code, unreachable_patterns)]
5903 fn _type_assertion(
5904 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5905 ) {
5906 match _t {
5907 alloy_sol_types::private::AssertTypeEq::<
5908 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5909 >(_) => {}
5910 }
5911 }
5912 #[automatically_derived]
5913 #[doc(hidden)]
5914 impl ::core::convert::From<delegateCall> for UnderlyingRustTuple<'_> {
5915 fn from(value: delegateCall) -> Self {
5916 (value.validator, value.amount)
5917 }
5918 }
5919 #[automatically_derived]
5920 #[doc(hidden)]
5921 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegateCall {
5922 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5923 Self {
5924 validator: tuple.0,
5925 amount: tuple.1,
5926 }
5927 }
5928 }
5929 }
5930 {
5931 #[doc(hidden)]
5932 type UnderlyingSolTuple<'a> = ();
5933 #[doc(hidden)]
5934 type UnderlyingRustTuple<'a> = ();
5935 #[cfg(test)]
5936 #[allow(dead_code, unreachable_patterns)]
5937 fn _type_assertion(
5938 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5939 ) {
5940 match _t {
5941 alloy_sol_types::private::AssertTypeEq::<
5942 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5943 >(_) => {}
5944 }
5945 }
5946 #[automatically_derived]
5947 #[doc(hidden)]
5948 impl ::core::convert::From<delegateReturn> for UnderlyingRustTuple<'_> {
5949 fn from(value: delegateReturn) -> Self {
5950 ()
5951 }
5952 }
5953 #[automatically_derived]
5954 #[doc(hidden)]
5955 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegateReturn {
5956 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5957 Self {}
5958 }
5959 }
5960 }
5961 #[automatically_derived]
5962 impl alloy_sol_types::SolCall for delegateCall {
5963 type Parameters<'a> = (
5964 alloy::sol_types::sol_data::Address,
5965 alloy::sol_types::sol_data::Uint<256>,
5966 );
5967 type Token<'a> = <Self::Parameters<
5968 'a,
5969 > as alloy_sol_types::SolType>::Token<'a>;
5970 type Return = delegateReturn;
5971 type ReturnTuple<'a> = ();
5972 type ReturnToken<'a> = <Self::ReturnTuple<
5973 'a,
5974 > as alloy_sol_types::SolType>::Token<'a>;
5975 const SIGNATURE: &'static str = "delegate(address,uint256)";
5976 const SELECTOR: [u8; 4] = [2u8, 110u8, 64u8, 43u8];
5977 #[inline]
5978 fn new<'a>(
5979 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5980 ) -> Self {
5981 tuple.into()
5982 }
5983 #[inline]
5984 fn tokenize(&self) -> Self::Token<'_> {
5985 (
5986 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5987 &self.validator,
5988 ),
5989 <alloy::sol_types::sol_data::Uint<
5990 256,
5991 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5992 )
5993 }
5994 #[inline]
5995 fn abi_decode_returns(
5996 data: &[u8],
5997 validate: bool,
5998 ) -> alloy_sol_types::Result<Self::Return> {
5999 <Self::ReturnTuple<
6000 '_,
6001 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6002 .map(Into::into)
6003 }
6004 }
6005 };
6006 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6007 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6012 #[derive(Clone)]
6013 pub struct delegationsCall {
6014 #[allow(missing_docs)]
6015 pub validator: alloy::sol_types::private::Address,
6016 #[allow(missing_docs)]
6017 pub delegator: alloy::sol_types::private::Address,
6018 }
6019 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6020 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6022 #[derive(Clone)]
6023 pub struct delegationsReturn {
6024 #[allow(missing_docs)]
6025 pub amount: alloy::sol_types::private::primitives::aliases::U256,
6026 }
6027 #[allow(
6028 non_camel_case_types,
6029 non_snake_case,
6030 clippy::pub_underscore_fields,
6031 clippy::style
6032 )]
6033 const _: () = {
6034 use alloy::sol_types as alloy_sol_types;
6035 {
6036 #[doc(hidden)]
6037 type UnderlyingSolTuple<'a> = (
6038 alloy::sol_types::sol_data::Address,
6039 alloy::sol_types::sol_data::Address,
6040 );
6041 #[doc(hidden)]
6042 type UnderlyingRustTuple<'a> = (
6043 alloy::sol_types::private::Address,
6044 alloy::sol_types::private::Address,
6045 );
6046 #[cfg(test)]
6047 #[allow(dead_code, unreachable_patterns)]
6048 fn _type_assertion(
6049 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6050 ) {
6051 match _t {
6052 alloy_sol_types::private::AssertTypeEq::<
6053 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6054 >(_) => {}
6055 }
6056 }
6057 #[automatically_derived]
6058 #[doc(hidden)]
6059 impl ::core::convert::From<delegationsCall> for UnderlyingRustTuple<'_> {
6060 fn from(value: delegationsCall) -> Self {
6061 (value.validator, value.delegator)
6062 }
6063 }
6064 #[automatically_derived]
6065 #[doc(hidden)]
6066 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegationsCall {
6067 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6068 Self {
6069 validator: tuple.0,
6070 delegator: tuple.1,
6071 }
6072 }
6073 }
6074 }
6075 {
6076 #[doc(hidden)]
6077 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6078 #[doc(hidden)]
6079 type UnderlyingRustTuple<'a> = (
6080 alloy::sol_types::private::primitives::aliases::U256,
6081 );
6082 #[cfg(test)]
6083 #[allow(dead_code, unreachable_patterns)]
6084 fn _type_assertion(
6085 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6086 ) {
6087 match _t {
6088 alloy_sol_types::private::AssertTypeEq::<
6089 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6090 >(_) => {}
6091 }
6092 }
6093 #[automatically_derived]
6094 #[doc(hidden)]
6095 impl ::core::convert::From<delegationsReturn> for UnderlyingRustTuple<'_> {
6096 fn from(value: delegationsReturn) -> Self {
6097 (value.amount,)
6098 }
6099 }
6100 #[automatically_derived]
6101 #[doc(hidden)]
6102 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegationsReturn {
6103 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6104 Self { amount: tuple.0 }
6105 }
6106 }
6107 }
6108 #[automatically_derived]
6109 impl alloy_sol_types::SolCall for delegationsCall {
6110 type Parameters<'a> = (
6111 alloy::sol_types::sol_data::Address,
6112 alloy::sol_types::sol_data::Address,
6113 );
6114 type Token<'a> = <Self::Parameters<
6115 'a,
6116 > as alloy_sol_types::SolType>::Token<'a>;
6117 type Return = delegationsReturn;
6118 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6119 type ReturnToken<'a> = <Self::ReturnTuple<
6120 'a,
6121 > as alloy_sol_types::SolType>::Token<'a>;
6122 const SIGNATURE: &'static str = "delegations(address,address)";
6123 const SELECTOR: [u8; 4] = [198u8, 72u8, 20u8, 221u8];
6124 #[inline]
6125 fn new<'a>(
6126 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6127 ) -> Self {
6128 tuple.into()
6129 }
6130 #[inline]
6131 fn tokenize(&self) -> Self::Token<'_> {
6132 (
6133 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6134 &self.validator,
6135 ),
6136 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6137 &self.delegator,
6138 ),
6139 )
6140 }
6141 #[inline]
6142 fn abi_decode_returns(
6143 data: &[u8],
6144 validate: bool,
6145 ) -> alloy_sol_types::Result<Self::Return> {
6146 <Self::ReturnTuple<
6147 '_,
6148 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6149 .map(Into::into)
6150 }
6151 }
6152 };
6153 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6154 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6159 #[derive(Clone)]
6160 pub struct deregisterValidatorCall {}
6161 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6163 #[derive(Clone)]
6164 pub struct deregisterValidatorReturn {}
6165 #[allow(
6166 non_camel_case_types,
6167 non_snake_case,
6168 clippy::pub_underscore_fields,
6169 clippy::style
6170 )]
6171 const _: () = {
6172 use alloy::sol_types as alloy_sol_types;
6173 {
6174 #[doc(hidden)]
6175 type UnderlyingSolTuple<'a> = ();
6176 #[doc(hidden)]
6177 type UnderlyingRustTuple<'a> = ();
6178 #[cfg(test)]
6179 #[allow(dead_code, unreachable_patterns)]
6180 fn _type_assertion(
6181 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6182 ) {
6183 match _t {
6184 alloy_sol_types::private::AssertTypeEq::<
6185 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6186 >(_) => {}
6187 }
6188 }
6189 #[automatically_derived]
6190 #[doc(hidden)]
6191 impl ::core::convert::From<deregisterValidatorCall>
6192 for UnderlyingRustTuple<'_> {
6193 fn from(value: deregisterValidatorCall) -> Self {
6194 ()
6195 }
6196 }
6197 #[automatically_derived]
6198 #[doc(hidden)]
6199 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6200 for deregisterValidatorCall {
6201 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6202 Self {}
6203 }
6204 }
6205 }
6206 {
6207 #[doc(hidden)]
6208 type UnderlyingSolTuple<'a> = ();
6209 #[doc(hidden)]
6210 type UnderlyingRustTuple<'a> = ();
6211 #[cfg(test)]
6212 #[allow(dead_code, unreachable_patterns)]
6213 fn _type_assertion(
6214 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6215 ) {
6216 match _t {
6217 alloy_sol_types::private::AssertTypeEq::<
6218 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6219 >(_) => {}
6220 }
6221 }
6222 #[automatically_derived]
6223 #[doc(hidden)]
6224 impl ::core::convert::From<deregisterValidatorReturn>
6225 for UnderlyingRustTuple<'_> {
6226 fn from(value: deregisterValidatorReturn) -> Self {
6227 ()
6228 }
6229 }
6230 #[automatically_derived]
6231 #[doc(hidden)]
6232 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6233 for deregisterValidatorReturn {
6234 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6235 Self {}
6236 }
6237 }
6238 }
6239 #[automatically_derived]
6240 impl alloy_sol_types::SolCall for deregisterValidatorCall {
6241 type Parameters<'a> = ();
6242 type Token<'a> = <Self::Parameters<
6243 'a,
6244 > as alloy_sol_types::SolType>::Token<'a>;
6245 type Return = deregisterValidatorReturn;
6246 type ReturnTuple<'a> = ();
6247 type ReturnToken<'a> = <Self::ReturnTuple<
6248 'a,
6249 > as alloy_sol_types::SolType>::Token<'a>;
6250 const SIGNATURE: &'static str = "deregisterValidator()";
6251 const SELECTOR: [u8; 4] = [106u8, 145u8, 28u8, 207u8];
6252 #[inline]
6253 fn new<'a>(
6254 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6255 ) -> Self {
6256 tuple.into()
6257 }
6258 #[inline]
6259 fn tokenize(&self) -> Self::Token<'_> {
6260 ()
6261 }
6262 #[inline]
6263 fn abi_decode_returns(
6264 data: &[u8],
6265 validate: bool,
6266 ) -> alloy_sol_types::Result<Self::Return> {
6267 <Self::ReturnTuple<
6268 '_,
6269 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6270 .map(Into::into)
6271 }
6272 }
6273 };
6274 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6275 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6280 #[derive(Clone)]
6281 pub struct exitEscrowPeriodCall {}
6282 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6283 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6285 #[derive(Clone)]
6286 pub struct exitEscrowPeriodReturn {
6287 #[allow(missing_docs)]
6288 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6289 }
6290 #[allow(
6291 non_camel_case_types,
6292 non_snake_case,
6293 clippy::pub_underscore_fields,
6294 clippy::style
6295 )]
6296 const _: () = {
6297 use alloy::sol_types as alloy_sol_types;
6298 {
6299 #[doc(hidden)]
6300 type UnderlyingSolTuple<'a> = ();
6301 #[doc(hidden)]
6302 type UnderlyingRustTuple<'a> = ();
6303 #[cfg(test)]
6304 #[allow(dead_code, unreachable_patterns)]
6305 fn _type_assertion(
6306 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6307 ) {
6308 match _t {
6309 alloy_sol_types::private::AssertTypeEq::<
6310 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6311 >(_) => {}
6312 }
6313 }
6314 #[automatically_derived]
6315 #[doc(hidden)]
6316 impl ::core::convert::From<exitEscrowPeriodCall>
6317 for UnderlyingRustTuple<'_> {
6318 fn from(value: exitEscrowPeriodCall) -> Self {
6319 ()
6320 }
6321 }
6322 #[automatically_derived]
6323 #[doc(hidden)]
6324 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6325 for exitEscrowPeriodCall {
6326 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6327 Self {}
6328 }
6329 }
6330 }
6331 {
6332 #[doc(hidden)]
6333 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6334 #[doc(hidden)]
6335 type UnderlyingRustTuple<'a> = (
6336 alloy::sol_types::private::primitives::aliases::U256,
6337 );
6338 #[cfg(test)]
6339 #[allow(dead_code, unreachable_patterns)]
6340 fn _type_assertion(
6341 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6342 ) {
6343 match _t {
6344 alloy_sol_types::private::AssertTypeEq::<
6345 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6346 >(_) => {}
6347 }
6348 }
6349 #[automatically_derived]
6350 #[doc(hidden)]
6351 impl ::core::convert::From<exitEscrowPeriodReturn>
6352 for UnderlyingRustTuple<'_> {
6353 fn from(value: exitEscrowPeriodReturn) -> Self {
6354 (value._0,)
6355 }
6356 }
6357 #[automatically_derived]
6358 #[doc(hidden)]
6359 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6360 for exitEscrowPeriodReturn {
6361 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6362 Self { _0: tuple.0 }
6363 }
6364 }
6365 }
6366 #[automatically_derived]
6367 impl alloy_sol_types::SolCall for exitEscrowPeriodCall {
6368 type Parameters<'a> = ();
6369 type Token<'a> = <Self::Parameters<
6370 'a,
6371 > as alloy_sol_types::SolType>::Token<'a>;
6372 type Return = exitEscrowPeriodReturn;
6373 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6374 type ReturnToken<'a> = <Self::ReturnTuple<
6375 'a,
6376 > as alloy_sol_types::SolType>::Token<'a>;
6377 const SIGNATURE: &'static str = "exitEscrowPeriod()";
6378 const SELECTOR: [u8; 4] = [158u8, 154u8, 143u8, 49u8];
6379 #[inline]
6380 fn new<'a>(
6381 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6382 ) -> Self {
6383 tuple.into()
6384 }
6385 #[inline]
6386 fn tokenize(&self) -> Self::Token<'_> {
6387 ()
6388 }
6389 #[inline]
6390 fn abi_decode_returns(
6391 data: &[u8],
6392 validate: bool,
6393 ) -> alloy_sol_types::Result<Self::Return> {
6394 <Self::ReturnTuple<
6395 '_,
6396 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6397 .map(Into::into)
6398 }
6399 }
6400 };
6401 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6402 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6407 #[derive(Clone)]
6408 pub struct getVersionCall {}
6409 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6410 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6412 #[derive(Clone)]
6413 pub struct getVersionReturn {
6414 #[allow(missing_docs)]
6415 pub majorVersion: u8,
6416 #[allow(missing_docs)]
6417 pub minorVersion: u8,
6418 #[allow(missing_docs)]
6419 pub patchVersion: u8,
6420 }
6421 #[allow(
6422 non_camel_case_types,
6423 non_snake_case,
6424 clippy::pub_underscore_fields,
6425 clippy::style
6426 )]
6427 const _: () = {
6428 use alloy::sol_types as alloy_sol_types;
6429 {
6430 #[doc(hidden)]
6431 type UnderlyingSolTuple<'a> = ();
6432 #[doc(hidden)]
6433 type UnderlyingRustTuple<'a> = ();
6434 #[cfg(test)]
6435 #[allow(dead_code, unreachable_patterns)]
6436 fn _type_assertion(
6437 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6438 ) {
6439 match _t {
6440 alloy_sol_types::private::AssertTypeEq::<
6441 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6442 >(_) => {}
6443 }
6444 }
6445 #[automatically_derived]
6446 #[doc(hidden)]
6447 impl ::core::convert::From<getVersionCall> for UnderlyingRustTuple<'_> {
6448 fn from(value: getVersionCall) -> Self {
6449 ()
6450 }
6451 }
6452 #[automatically_derived]
6453 #[doc(hidden)]
6454 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getVersionCall {
6455 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6456 Self {}
6457 }
6458 }
6459 }
6460 {
6461 #[doc(hidden)]
6462 type UnderlyingSolTuple<'a> = (
6463 alloy::sol_types::sol_data::Uint<8>,
6464 alloy::sol_types::sol_data::Uint<8>,
6465 alloy::sol_types::sol_data::Uint<8>,
6466 );
6467 #[doc(hidden)]
6468 type UnderlyingRustTuple<'a> = (u8, u8, u8);
6469 #[cfg(test)]
6470 #[allow(dead_code, unreachable_patterns)]
6471 fn _type_assertion(
6472 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6473 ) {
6474 match _t {
6475 alloy_sol_types::private::AssertTypeEq::<
6476 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6477 >(_) => {}
6478 }
6479 }
6480 #[automatically_derived]
6481 #[doc(hidden)]
6482 impl ::core::convert::From<getVersionReturn> for UnderlyingRustTuple<'_> {
6483 fn from(value: getVersionReturn) -> Self {
6484 (value.majorVersion, value.minorVersion, value.patchVersion)
6485 }
6486 }
6487 #[automatically_derived]
6488 #[doc(hidden)]
6489 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getVersionReturn {
6490 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6491 Self {
6492 majorVersion: tuple.0,
6493 minorVersion: tuple.1,
6494 patchVersion: tuple.2,
6495 }
6496 }
6497 }
6498 }
6499 #[automatically_derived]
6500 impl alloy_sol_types::SolCall for getVersionCall {
6501 type Parameters<'a> = ();
6502 type Token<'a> = <Self::Parameters<
6503 'a,
6504 > as alloy_sol_types::SolType>::Token<'a>;
6505 type Return = getVersionReturn;
6506 type ReturnTuple<'a> = (
6507 alloy::sol_types::sol_data::Uint<8>,
6508 alloy::sol_types::sol_data::Uint<8>,
6509 alloy::sol_types::sol_data::Uint<8>,
6510 );
6511 type ReturnToken<'a> = <Self::ReturnTuple<
6512 'a,
6513 > as alloy_sol_types::SolType>::Token<'a>;
6514 const SIGNATURE: &'static str = "getVersion()";
6515 const SELECTOR: [u8; 4] = [13u8, 142u8, 110u8, 44u8];
6516 #[inline]
6517 fn new<'a>(
6518 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6519 ) -> Self {
6520 tuple.into()
6521 }
6522 #[inline]
6523 fn tokenize(&self) -> Self::Token<'_> {
6524 ()
6525 }
6526 #[inline]
6527 fn abi_decode_returns(
6528 data: &[u8],
6529 validate: bool,
6530 ) -> alloy_sol_types::Result<Self::Return> {
6531 <Self::ReturnTuple<
6532 '_,
6533 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6534 .map(Into::into)
6535 }
6536 }
6537 };
6538 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6539 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6544 #[derive(Clone)]
6545 pub struct initializeCall {
6546 #[allow(missing_docs)]
6547 pub _tokenAddress: alloy::sol_types::private::Address,
6548 #[allow(missing_docs)]
6549 pub _lightClientAddress: alloy::sol_types::private::Address,
6550 #[allow(missing_docs)]
6551 pub _exitEscrowPeriod: alloy::sol_types::private::primitives::aliases::U256,
6552 #[allow(missing_docs)]
6553 pub _timelock: alloy::sol_types::private::Address,
6554 }
6555 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6557 #[derive(Clone)]
6558 pub struct initializeReturn {}
6559 #[allow(
6560 non_camel_case_types,
6561 non_snake_case,
6562 clippy::pub_underscore_fields,
6563 clippy::style
6564 )]
6565 const _: () = {
6566 use alloy::sol_types as alloy_sol_types;
6567 {
6568 #[doc(hidden)]
6569 type UnderlyingSolTuple<'a> = (
6570 alloy::sol_types::sol_data::Address,
6571 alloy::sol_types::sol_data::Address,
6572 alloy::sol_types::sol_data::Uint<256>,
6573 alloy::sol_types::sol_data::Address,
6574 );
6575 #[doc(hidden)]
6576 type UnderlyingRustTuple<'a> = (
6577 alloy::sol_types::private::Address,
6578 alloy::sol_types::private::Address,
6579 alloy::sol_types::private::primitives::aliases::U256,
6580 alloy::sol_types::private::Address,
6581 );
6582 #[cfg(test)]
6583 #[allow(dead_code, unreachable_patterns)]
6584 fn _type_assertion(
6585 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6586 ) {
6587 match _t {
6588 alloy_sol_types::private::AssertTypeEq::<
6589 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6590 >(_) => {}
6591 }
6592 }
6593 #[automatically_derived]
6594 #[doc(hidden)]
6595 impl ::core::convert::From<initializeCall> for UnderlyingRustTuple<'_> {
6596 fn from(value: initializeCall) -> Self {
6597 (
6598 value._tokenAddress,
6599 value._lightClientAddress,
6600 value._exitEscrowPeriod,
6601 value._timelock,
6602 )
6603 }
6604 }
6605 #[automatically_derived]
6606 #[doc(hidden)]
6607 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeCall {
6608 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6609 Self {
6610 _tokenAddress: tuple.0,
6611 _lightClientAddress: tuple.1,
6612 _exitEscrowPeriod: tuple.2,
6613 _timelock: tuple.3,
6614 }
6615 }
6616 }
6617 }
6618 {
6619 #[doc(hidden)]
6620 type UnderlyingSolTuple<'a> = ();
6621 #[doc(hidden)]
6622 type UnderlyingRustTuple<'a> = ();
6623 #[cfg(test)]
6624 #[allow(dead_code, unreachable_patterns)]
6625 fn _type_assertion(
6626 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6627 ) {
6628 match _t {
6629 alloy_sol_types::private::AssertTypeEq::<
6630 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6631 >(_) => {}
6632 }
6633 }
6634 #[automatically_derived]
6635 #[doc(hidden)]
6636 impl ::core::convert::From<initializeReturn> for UnderlyingRustTuple<'_> {
6637 fn from(value: initializeReturn) -> Self {
6638 ()
6639 }
6640 }
6641 #[automatically_derived]
6642 #[doc(hidden)]
6643 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeReturn {
6644 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6645 Self {}
6646 }
6647 }
6648 }
6649 #[automatically_derived]
6650 impl alloy_sol_types::SolCall for initializeCall {
6651 type Parameters<'a> = (
6652 alloy::sol_types::sol_data::Address,
6653 alloy::sol_types::sol_data::Address,
6654 alloy::sol_types::sol_data::Uint<256>,
6655 alloy::sol_types::sol_data::Address,
6656 );
6657 type Token<'a> = <Self::Parameters<
6658 'a,
6659 > as alloy_sol_types::SolType>::Token<'a>;
6660 type Return = initializeReturn;
6661 type ReturnTuple<'a> = ();
6662 type ReturnToken<'a> = <Self::ReturnTuple<
6663 'a,
6664 > as alloy_sol_types::SolType>::Token<'a>;
6665 const SIGNATURE: &'static str = "initialize(address,address,uint256,address)";
6666 const SELECTOR: [u8; 4] = [190u8, 32u8, 48u8, 148u8];
6667 #[inline]
6668 fn new<'a>(
6669 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6670 ) -> Self {
6671 tuple.into()
6672 }
6673 #[inline]
6674 fn tokenize(&self) -> Self::Token<'_> {
6675 (
6676 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6677 &self._tokenAddress,
6678 ),
6679 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6680 &self._lightClientAddress,
6681 ),
6682 <alloy::sol_types::sol_data::Uint<
6683 256,
6684 > as alloy_sol_types::SolType>::tokenize(&self._exitEscrowPeriod),
6685 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6686 &self._timelock,
6687 ),
6688 )
6689 }
6690 #[inline]
6691 fn abi_decode_returns(
6692 data: &[u8],
6693 validate: bool,
6694 ) -> alloy_sol_types::Result<Self::Return> {
6695 <Self::ReturnTuple<
6696 '_,
6697 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6698 .map(Into::into)
6699 }
6700 }
6701 };
6702 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6703 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6708 #[derive(Clone)]
6709 pub struct initializedAtBlockCall {}
6710 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6711 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6713 #[derive(Clone)]
6714 pub struct initializedAtBlockReturn {
6715 #[allow(missing_docs)]
6716 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6717 }
6718 #[allow(
6719 non_camel_case_types,
6720 non_snake_case,
6721 clippy::pub_underscore_fields,
6722 clippy::style
6723 )]
6724 const _: () = {
6725 use alloy::sol_types as alloy_sol_types;
6726 {
6727 #[doc(hidden)]
6728 type UnderlyingSolTuple<'a> = ();
6729 #[doc(hidden)]
6730 type UnderlyingRustTuple<'a> = ();
6731 #[cfg(test)]
6732 #[allow(dead_code, unreachable_patterns)]
6733 fn _type_assertion(
6734 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6735 ) {
6736 match _t {
6737 alloy_sol_types::private::AssertTypeEq::<
6738 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6739 >(_) => {}
6740 }
6741 }
6742 #[automatically_derived]
6743 #[doc(hidden)]
6744 impl ::core::convert::From<initializedAtBlockCall>
6745 for UnderlyingRustTuple<'_> {
6746 fn from(value: initializedAtBlockCall) -> Self {
6747 ()
6748 }
6749 }
6750 #[automatically_derived]
6751 #[doc(hidden)]
6752 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6753 for initializedAtBlockCall {
6754 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6755 Self {}
6756 }
6757 }
6758 }
6759 {
6760 #[doc(hidden)]
6761 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6762 #[doc(hidden)]
6763 type UnderlyingRustTuple<'a> = (
6764 alloy::sol_types::private::primitives::aliases::U256,
6765 );
6766 #[cfg(test)]
6767 #[allow(dead_code, unreachable_patterns)]
6768 fn _type_assertion(
6769 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6770 ) {
6771 match _t {
6772 alloy_sol_types::private::AssertTypeEq::<
6773 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6774 >(_) => {}
6775 }
6776 }
6777 #[automatically_derived]
6778 #[doc(hidden)]
6779 impl ::core::convert::From<initializedAtBlockReturn>
6780 for UnderlyingRustTuple<'_> {
6781 fn from(value: initializedAtBlockReturn) -> Self {
6782 (value._0,)
6783 }
6784 }
6785 #[automatically_derived]
6786 #[doc(hidden)]
6787 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6788 for initializedAtBlockReturn {
6789 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6790 Self { _0: tuple.0 }
6791 }
6792 }
6793 }
6794 #[automatically_derived]
6795 impl alloy_sol_types::SolCall for initializedAtBlockCall {
6796 type Parameters<'a> = ();
6797 type Token<'a> = <Self::Parameters<
6798 'a,
6799 > as alloy_sol_types::SolType>::Token<'a>;
6800 type Return = initializedAtBlockReturn;
6801 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6802 type ReturnToken<'a> = <Self::ReturnTuple<
6803 'a,
6804 > as alloy_sol_types::SolType>::Token<'a>;
6805 const SIGNATURE: &'static str = "initializedAtBlock()";
6806 const SELECTOR: [u8; 4] = [62u8, 157u8, 249u8, 181u8];
6807 #[inline]
6808 fn new<'a>(
6809 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6810 ) -> Self {
6811 tuple.into()
6812 }
6813 #[inline]
6814 fn tokenize(&self) -> Self::Token<'_> {
6815 ()
6816 }
6817 #[inline]
6818 fn abi_decode_returns(
6819 data: &[u8],
6820 validate: bool,
6821 ) -> alloy_sol_types::Result<Self::Return> {
6822 <Self::ReturnTuple<
6823 '_,
6824 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6825 .map(Into::into)
6826 }
6827 }
6828 };
6829 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6830 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6835 #[derive(Clone)]
6836 pub struct lightClientCall {}
6837 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6838 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6840 #[derive(Clone)]
6841 pub struct lightClientReturn {
6842 #[allow(missing_docs)]
6843 pub _0: alloy::sol_types::private::Address,
6844 }
6845 #[allow(
6846 non_camel_case_types,
6847 non_snake_case,
6848 clippy::pub_underscore_fields,
6849 clippy::style
6850 )]
6851 const _: () = {
6852 use alloy::sol_types as alloy_sol_types;
6853 {
6854 #[doc(hidden)]
6855 type UnderlyingSolTuple<'a> = ();
6856 #[doc(hidden)]
6857 type UnderlyingRustTuple<'a> = ();
6858 #[cfg(test)]
6859 #[allow(dead_code, unreachable_patterns)]
6860 fn _type_assertion(
6861 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6862 ) {
6863 match _t {
6864 alloy_sol_types::private::AssertTypeEq::<
6865 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6866 >(_) => {}
6867 }
6868 }
6869 #[automatically_derived]
6870 #[doc(hidden)]
6871 impl ::core::convert::From<lightClientCall> for UnderlyingRustTuple<'_> {
6872 fn from(value: lightClientCall) -> Self {
6873 ()
6874 }
6875 }
6876 #[automatically_derived]
6877 #[doc(hidden)]
6878 impl ::core::convert::From<UnderlyingRustTuple<'_>> for lightClientCall {
6879 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6880 Self {}
6881 }
6882 }
6883 }
6884 {
6885 #[doc(hidden)]
6886 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6887 #[doc(hidden)]
6888 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6889 #[cfg(test)]
6890 #[allow(dead_code, unreachable_patterns)]
6891 fn _type_assertion(
6892 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6893 ) {
6894 match _t {
6895 alloy_sol_types::private::AssertTypeEq::<
6896 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6897 >(_) => {}
6898 }
6899 }
6900 #[automatically_derived]
6901 #[doc(hidden)]
6902 impl ::core::convert::From<lightClientReturn> for UnderlyingRustTuple<'_> {
6903 fn from(value: lightClientReturn) -> Self {
6904 (value._0,)
6905 }
6906 }
6907 #[automatically_derived]
6908 #[doc(hidden)]
6909 impl ::core::convert::From<UnderlyingRustTuple<'_>> for lightClientReturn {
6910 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6911 Self { _0: tuple.0 }
6912 }
6913 }
6914 }
6915 #[automatically_derived]
6916 impl alloy_sol_types::SolCall for lightClientCall {
6917 type Parameters<'a> = ();
6918 type Token<'a> = <Self::Parameters<
6919 'a,
6920 > as alloy_sol_types::SolType>::Token<'a>;
6921 type Return = lightClientReturn;
6922 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
6923 type ReturnToken<'a> = <Self::ReturnTuple<
6924 'a,
6925 > as alloy_sol_types::SolType>::Token<'a>;
6926 const SIGNATURE: &'static str = "lightClient()";
6927 const SELECTOR: [u8; 4] = [181u8, 112u8, 14u8, 104u8];
6928 #[inline]
6929 fn new<'a>(
6930 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6931 ) -> Self {
6932 tuple.into()
6933 }
6934 #[inline]
6935 fn tokenize(&self) -> Self::Token<'_> {
6936 ()
6937 }
6938 #[inline]
6939 fn abi_decode_returns(
6940 data: &[u8],
6941 validate: bool,
6942 ) -> alloy_sol_types::Result<Self::Return> {
6943 <Self::ReturnTuple<
6944 '_,
6945 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6946 .map(Into::into)
6947 }
6948 }
6949 };
6950 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6951 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6956 #[derive(Clone)]
6957 pub struct ownerCall {}
6958 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6959 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6961 #[derive(Clone)]
6962 pub struct ownerReturn {
6963 #[allow(missing_docs)]
6964 pub _0: alloy::sol_types::private::Address,
6965 }
6966 #[allow(
6967 non_camel_case_types,
6968 non_snake_case,
6969 clippy::pub_underscore_fields,
6970 clippy::style
6971 )]
6972 const _: () = {
6973 use alloy::sol_types as alloy_sol_types;
6974 {
6975 #[doc(hidden)]
6976 type UnderlyingSolTuple<'a> = ();
6977 #[doc(hidden)]
6978 type UnderlyingRustTuple<'a> = ();
6979 #[cfg(test)]
6980 #[allow(dead_code, unreachable_patterns)]
6981 fn _type_assertion(
6982 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6983 ) {
6984 match _t {
6985 alloy_sol_types::private::AssertTypeEq::<
6986 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6987 >(_) => {}
6988 }
6989 }
6990 #[automatically_derived]
6991 #[doc(hidden)]
6992 impl ::core::convert::From<ownerCall> for UnderlyingRustTuple<'_> {
6993 fn from(value: ownerCall) -> Self {
6994 ()
6995 }
6996 }
6997 #[automatically_derived]
6998 #[doc(hidden)]
6999 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerCall {
7000 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7001 Self {}
7002 }
7003 }
7004 }
7005 {
7006 #[doc(hidden)]
7007 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7008 #[doc(hidden)]
7009 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7010 #[cfg(test)]
7011 #[allow(dead_code, unreachable_patterns)]
7012 fn _type_assertion(
7013 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7014 ) {
7015 match _t {
7016 alloy_sol_types::private::AssertTypeEq::<
7017 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7018 >(_) => {}
7019 }
7020 }
7021 #[automatically_derived]
7022 #[doc(hidden)]
7023 impl ::core::convert::From<ownerReturn> for UnderlyingRustTuple<'_> {
7024 fn from(value: ownerReturn) -> Self {
7025 (value._0,)
7026 }
7027 }
7028 #[automatically_derived]
7029 #[doc(hidden)]
7030 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerReturn {
7031 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7032 Self { _0: tuple.0 }
7033 }
7034 }
7035 }
7036 #[automatically_derived]
7037 impl alloy_sol_types::SolCall for ownerCall {
7038 type Parameters<'a> = ();
7039 type Token<'a> = <Self::Parameters<
7040 'a,
7041 > as alloy_sol_types::SolType>::Token<'a>;
7042 type Return = ownerReturn;
7043 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7044 type ReturnToken<'a> = <Self::ReturnTuple<
7045 'a,
7046 > as alloy_sol_types::SolType>::Token<'a>;
7047 const SIGNATURE: &'static str = "owner()";
7048 const SELECTOR: [u8; 4] = [141u8, 165u8, 203u8, 91u8];
7049 #[inline]
7050 fn new<'a>(
7051 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7052 ) -> Self {
7053 tuple.into()
7054 }
7055 #[inline]
7056 fn tokenize(&self) -> Self::Token<'_> {
7057 ()
7058 }
7059 #[inline]
7060 fn abi_decode_returns(
7061 data: &[u8],
7062 validate: bool,
7063 ) -> alloy_sol_types::Result<Self::Return> {
7064 <Self::ReturnTuple<
7065 '_,
7066 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7067 .map(Into::into)
7068 }
7069 }
7070 };
7071 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7072 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7077 #[derive(Clone)]
7078 pub struct proxiableUUIDCall {}
7079 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7080 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7082 #[derive(Clone)]
7083 pub struct proxiableUUIDReturn {
7084 #[allow(missing_docs)]
7085 pub _0: alloy::sol_types::private::FixedBytes<32>,
7086 }
7087 #[allow(
7088 non_camel_case_types,
7089 non_snake_case,
7090 clippy::pub_underscore_fields,
7091 clippy::style
7092 )]
7093 const _: () = {
7094 use alloy::sol_types as alloy_sol_types;
7095 {
7096 #[doc(hidden)]
7097 type UnderlyingSolTuple<'a> = ();
7098 #[doc(hidden)]
7099 type UnderlyingRustTuple<'a> = ();
7100 #[cfg(test)]
7101 #[allow(dead_code, unreachable_patterns)]
7102 fn _type_assertion(
7103 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7104 ) {
7105 match _t {
7106 alloy_sol_types::private::AssertTypeEq::<
7107 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7108 >(_) => {}
7109 }
7110 }
7111 #[automatically_derived]
7112 #[doc(hidden)]
7113 impl ::core::convert::From<proxiableUUIDCall> for UnderlyingRustTuple<'_> {
7114 fn from(value: proxiableUUIDCall) -> Self {
7115 ()
7116 }
7117 }
7118 #[automatically_derived]
7119 #[doc(hidden)]
7120 impl ::core::convert::From<UnderlyingRustTuple<'_>> for proxiableUUIDCall {
7121 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7122 Self {}
7123 }
7124 }
7125 }
7126 {
7127 #[doc(hidden)]
7128 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7129 #[doc(hidden)]
7130 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
7131 #[cfg(test)]
7132 #[allow(dead_code, unreachable_patterns)]
7133 fn _type_assertion(
7134 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7135 ) {
7136 match _t {
7137 alloy_sol_types::private::AssertTypeEq::<
7138 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7139 >(_) => {}
7140 }
7141 }
7142 #[automatically_derived]
7143 #[doc(hidden)]
7144 impl ::core::convert::From<proxiableUUIDReturn> for UnderlyingRustTuple<'_> {
7145 fn from(value: proxiableUUIDReturn) -> Self {
7146 (value._0,)
7147 }
7148 }
7149 #[automatically_derived]
7150 #[doc(hidden)]
7151 impl ::core::convert::From<UnderlyingRustTuple<'_>> for proxiableUUIDReturn {
7152 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7153 Self { _0: tuple.0 }
7154 }
7155 }
7156 }
7157 #[automatically_derived]
7158 impl alloy_sol_types::SolCall for proxiableUUIDCall {
7159 type Parameters<'a> = ();
7160 type Token<'a> = <Self::Parameters<
7161 'a,
7162 > as alloy_sol_types::SolType>::Token<'a>;
7163 type Return = proxiableUUIDReturn;
7164 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7165 type ReturnToken<'a> = <Self::ReturnTuple<
7166 'a,
7167 > as alloy_sol_types::SolType>::Token<'a>;
7168 const SIGNATURE: &'static str = "proxiableUUID()";
7169 const SELECTOR: [u8; 4] = [82u8, 209u8, 144u8, 45u8];
7170 #[inline]
7171 fn new<'a>(
7172 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7173 ) -> Self {
7174 tuple.into()
7175 }
7176 #[inline]
7177 fn tokenize(&self) -> Self::Token<'_> {
7178 ()
7179 }
7180 #[inline]
7181 fn abi_decode_returns(
7182 data: &[u8],
7183 validate: bool,
7184 ) -> alloy_sol_types::Result<Self::Return> {
7185 <Self::ReturnTuple<
7186 '_,
7187 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7188 .map(Into::into)
7189 }
7190 }
7191 };
7192 #[derive()]
7193 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7198 #[derive(Clone)]
7199 pub struct registerValidatorCall {
7200 #[allow(missing_docs)]
7201 pub blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
7202 #[allow(missing_docs)]
7203 pub schnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
7204 #[allow(missing_docs)]
7205 pub blsSig: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
7206 #[allow(missing_docs)]
7207 pub commission: u16,
7208 }
7209 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7211 #[derive(Clone)]
7212 pub struct registerValidatorReturn {}
7213 #[allow(
7214 non_camel_case_types,
7215 non_snake_case,
7216 clippy::pub_underscore_fields,
7217 clippy::style
7218 )]
7219 const _: () = {
7220 use alloy::sol_types as alloy_sol_types;
7221 {
7222 #[doc(hidden)]
7223 type UnderlyingSolTuple<'a> = (
7224 BN254::G2Point,
7225 EdOnBN254::EdOnBN254Point,
7226 BN254::G1Point,
7227 alloy::sol_types::sol_data::Uint<16>,
7228 );
7229 #[doc(hidden)]
7230 type UnderlyingRustTuple<'a> = (
7231 <BN254::G2Point as alloy::sol_types::SolType>::RustType,
7232 <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
7233 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
7234 u16,
7235 );
7236 #[cfg(test)]
7237 #[allow(dead_code, unreachable_patterns)]
7238 fn _type_assertion(
7239 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7240 ) {
7241 match _t {
7242 alloy_sol_types::private::AssertTypeEq::<
7243 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7244 >(_) => {}
7245 }
7246 }
7247 #[automatically_derived]
7248 #[doc(hidden)]
7249 impl ::core::convert::From<registerValidatorCall>
7250 for UnderlyingRustTuple<'_> {
7251 fn from(value: registerValidatorCall) -> Self {
7252 (value.blsVK, value.schnorrVK, value.blsSig, value.commission)
7253 }
7254 }
7255 #[automatically_derived]
7256 #[doc(hidden)]
7257 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7258 for registerValidatorCall {
7259 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7260 Self {
7261 blsVK: tuple.0,
7262 schnorrVK: tuple.1,
7263 blsSig: tuple.2,
7264 commission: tuple.3,
7265 }
7266 }
7267 }
7268 }
7269 {
7270 #[doc(hidden)]
7271 type UnderlyingSolTuple<'a> = ();
7272 #[doc(hidden)]
7273 type UnderlyingRustTuple<'a> = ();
7274 #[cfg(test)]
7275 #[allow(dead_code, unreachable_patterns)]
7276 fn _type_assertion(
7277 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7278 ) {
7279 match _t {
7280 alloy_sol_types::private::AssertTypeEq::<
7281 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7282 >(_) => {}
7283 }
7284 }
7285 #[automatically_derived]
7286 #[doc(hidden)]
7287 impl ::core::convert::From<registerValidatorReturn>
7288 for UnderlyingRustTuple<'_> {
7289 fn from(value: registerValidatorReturn) -> Self {
7290 ()
7291 }
7292 }
7293 #[automatically_derived]
7294 #[doc(hidden)]
7295 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7296 for registerValidatorReturn {
7297 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7298 Self {}
7299 }
7300 }
7301 }
7302 #[automatically_derived]
7303 impl alloy_sol_types::SolCall for registerValidatorCall {
7304 type Parameters<'a> = (
7305 BN254::G2Point,
7306 EdOnBN254::EdOnBN254Point,
7307 BN254::G1Point,
7308 alloy::sol_types::sol_data::Uint<16>,
7309 );
7310 type Token<'a> = <Self::Parameters<
7311 'a,
7312 > as alloy_sol_types::SolType>::Token<'a>;
7313 type Return = registerValidatorReturn;
7314 type ReturnTuple<'a> = ();
7315 type ReturnToken<'a> = <Self::ReturnTuple<
7316 'a,
7317 > as alloy_sol_types::SolType>::Token<'a>;
7318 const SIGNATURE: &'static str = "registerValidator((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),uint16)";
7319 const SELECTOR: [u8; 4] = [19u8, 185u8, 5u8, 122u8];
7320 #[inline]
7321 fn new<'a>(
7322 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7323 ) -> Self {
7324 tuple.into()
7325 }
7326 #[inline]
7327 fn tokenize(&self) -> Self::Token<'_> {
7328 (
7329 <BN254::G2Point as alloy_sol_types::SolType>::tokenize(&self.blsVK),
7330 <EdOnBN254::EdOnBN254Point as alloy_sol_types::SolType>::tokenize(
7331 &self.schnorrVK,
7332 ),
7333 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.blsSig),
7334 <alloy::sol_types::sol_data::Uint<
7335 16,
7336 > as alloy_sol_types::SolType>::tokenize(&self.commission),
7337 )
7338 }
7339 #[inline]
7340 fn abi_decode_returns(
7341 data: &[u8],
7342 validate: bool,
7343 ) -> alloy_sol_types::Result<Self::Return> {
7344 <Self::ReturnTuple<
7345 '_,
7346 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7347 .map(Into::into)
7348 }
7349 }
7350 };
7351 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7352 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7357 #[derive(Clone)]
7358 pub struct renounceOwnershipCall {}
7359 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7361 #[derive(Clone)]
7362 pub struct renounceOwnershipReturn {}
7363 #[allow(
7364 non_camel_case_types,
7365 non_snake_case,
7366 clippy::pub_underscore_fields,
7367 clippy::style
7368 )]
7369 const _: () = {
7370 use alloy::sol_types as alloy_sol_types;
7371 {
7372 #[doc(hidden)]
7373 type UnderlyingSolTuple<'a> = ();
7374 #[doc(hidden)]
7375 type UnderlyingRustTuple<'a> = ();
7376 #[cfg(test)]
7377 #[allow(dead_code, unreachable_patterns)]
7378 fn _type_assertion(
7379 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7380 ) {
7381 match _t {
7382 alloy_sol_types::private::AssertTypeEq::<
7383 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7384 >(_) => {}
7385 }
7386 }
7387 #[automatically_derived]
7388 #[doc(hidden)]
7389 impl ::core::convert::From<renounceOwnershipCall>
7390 for UnderlyingRustTuple<'_> {
7391 fn from(value: renounceOwnershipCall) -> Self {
7392 ()
7393 }
7394 }
7395 #[automatically_derived]
7396 #[doc(hidden)]
7397 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7398 for renounceOwnershipCall {
7399 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7400 Self {}
7401 }
7402 }
7403 }
7404 {
7405 #[doc(hidden)]
7406 type UnderlyingSolTuple<'a> = ();
7407 #[doc(hidden)]
7408 type UnderlyingRustTuple<'a> = ();
7409 #[cfg(test)]
7410 #[allow(dead_code, unreachable_patterns)]
7411 fn _type_assertion(
7412 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7413 ) {
7414 match _t {
7415 alloy_sol_types::private::AssertTypeEq::<
7416 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7417 >(_) => {}
7418 }
7419 }
7420 #[automatically_derived]
7421 #[doc(hidden)]
7422 impl ::core::convert::From<renounceOwnershipReturn>
7423 for UnderlyingRustTuple<'_> {
7424 fn from(value: renounceOwnershipReturn) -> Self {
7425 ()
7426 }
7427 }
7428 #[automatically_derived]
7429 #[doc(hidden)]
7430 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7431 for renounceOwnershipReturn {
7432 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7433 Self {}
7434 }
7435 }
7436 }
7437 #[automatically_derived]
7438 impl alloy_sol_types::SolCall for renounceOwnershipCall {
7439 type Parameters<'a> = ();
7440 type Token<'a> = <Self::Parameters<
7441 'a,
7442 > as alloy_sol_types::SolType>::Token<'a>;
7443 type Return = renounceOwnershipReturn;
7444 type ReturnTuple<'a> = ();
7445 type ReturnToken<'a> = <Self::ReturnTuple<
7446 'a,
7447 > as alloy_sol_types::SolType>::Token<'a>;
7448 const SIGNATURE: &'static str = "renounceOwnership()";
7449 const SELECTOR: [u8; 4] = [113u8, 80u8, 24u8, 166u8];
7450 #[inline]
7451 fn new<'a>(
7452 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7453 ) -> Self {
7454 tuple.into()
7455 }
7456 #[inline]
7457 fn tokenize(&self) -> Self::Token<'_> {
7458 ()
7459 }
7460 #[inline]
7461 fn abi_decode_returns(
7462 data: &[u8],
7463 validate: bool,
7464 ) -> alloy_sol_types::Result<Self::Return> {
7465 <Self::ReturnTuple<
7466 '_,
7467 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7468 .map(Into::into)
7469 }
7470 }
7471 };
7472 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7473 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7478 #[derive(Clone)]
7479 pub struct tokenCall {}
7480 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7481 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7483 #[derive(Clone)]
7484 pub struct tokenReturn {
7485 #[allow(missing_docs)]
7486 pub _0: alloy::sol_types::private::Address,
7487 }
7488 #[allow(
7489 non_camel_case_types,
7490 non_snake_case,
7491 clippy::pub_underscore_fields,
7492 clippy::style
7493 )]
7494 const _: () = {
7495 use alloy::sol_types as alloy_sol_types;
7496 {
7497 #[doc(hidden)]
7498 type UnderlyingSolTuple<'a> = ();
7499 #[doc(hidden)]
7500 type UnderlyingRustTuple<'a> = ();
7501 #[cfg(test)]
7502 #[allow(dead_code, unreachable_patterns)]
7503 fn _type_assertion(
7504 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7505 ) {
7506 match _t {
7507 alloy_sol_types::private::AssertTypeEq::<
7508 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7509 >(_) => {}
7510 }
7511 }
7512 #[automatically_derived]
7513 #[doc(hidden)]
7514 impl ::core::convert::From<tokenCall> for UnderlyingRustTuple<'_> {
7515 fn from(value: tokenCall) -> Self {
7516 ()
7517 }
7518 }
7519 #[automatically_derived]
7520 #[doc(hidden)]
7521 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tokenCall {
7522 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7523 Self {}
7524 }
7525 }
7526 }
7527 {
7528 #[doc(hidden)]
7529 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7530 #[doc(hidden)]
7531 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7532 #[cfg(test)]
7533 #[allow(dead_code, unreachable_patterns)]
7534 fn _type_assertion(
7535 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7536 ) {
7537 match _t {
7538 alloy_sol_types::private::AssertTypeEq::<
7539 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7540 >(_) => {}
7541 }
7542 }
7543 #[automatically_derived]
7544 #[doc(hidden)]
7545 impl ::core::convert::From<tokenReturn> for UnderlyingRustTuple<'_> {
7546 fn from(value: tokenReturn) -> Self {
7547 (value._0,)
7548 }
7549 }
7550 #[automatically_derived]
7551 #[doc(hidden)]
7552 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tokenReturn {
7553 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7554 Self { _0: tuple.0 }
7555 }
7556 }
7557 }
7558 #[automatically_derived]
7559 impl alloy_sol_types::SolCall for tokenCall {
7560 type Parameters<'a> = ();
7561 type Token<'a> = <Self::Parameters<
7562 'a,
7563 > as alloy_sol_types::SolType>::Token<'a>;
7564 type Return = tokenReturn;
7565 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7566 type ReturnToken<'a> = <Self::ReturnTuple<
7567 'a,
7568 > as alloy_sol_types::SolType>::Token<'a>;
7569 const SIGNATURE: &'static str = "token()";
7570 const SELECTOR: [u8; 4] = [252u8, 12u8, 84u8, 106u8];
7571 #[inline]
7572 fn new<'a>(
7573 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7574 ) -> Self {
7575 tuple.into()
7576 }
7577 #[inline]
7578 fn tokenize(&self) -> Self::Token<'_> {
7579 ()
7580 }
7581 #[inline]
7582 fn abi_decode_returns(
7583 data: &[u8],
7584 validate: bool,
7585 ) -> alloy_sol_types::Result<Self::Return> {
7586 <Self::ReturnTuple<
7587 '_,
7588 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7589 .map(Into::into)
7590 }
7591 }
7592 };
7593 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7594 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7599 #[derive(Clone)]
7600 pub struct transferOwnershipCall {
7601 #[allow(missing_docs)]
7602 pub newOwner: alloy::sol_types::private::Address,
7603 }
7604 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7606 #[derive(Clone)]
7607 pub struct transferOwnershipReturn {}
7608 #[allow(
7609 non_camel_case_types,
7610 non_snake_case,
7611 clippy::pub_underscore_fields,
7612 clippy::style
7613 )]
7614 const _: () = {
7615 use alloy::sol_types as alloy_sol_types;
7616 {
7617 #[doc(hidden)]
7618 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7619 #[doc(hidden)]
7620 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7621 #[cfg(test)]
7622 #[allow(dead_code, unreachable_patterns)]
7623 fn _type_assertion(
7624 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7625 ) {
7626 match _t {
7627 alloy_sol_types::private::AssertTypeEq::<
7628 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7629 >(_) => {}
7630 }
7631 }
7632 #[automatically_derived]
7633 #[doc(hidden)]
7634 impl ::core::convert::From<transferOwnershipCall>
7635 for UnderlyingRustTuple<'_> {
7636 fn from(value: transferOwnershipCall) -> Self {
7637 (value.newOwner,)
7638 }
7639 }
7640 #[automatically_derived]
7641 #[doc(hidden)]
7642 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7643 for transferOwnershipCall {
7644 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7645 Self { newOwner: tuple.0 }
7646 }
7647 }
7648 }
7649 {
7650 #[doc(hidden)]
7651 type UnderlyingSolTuple<'a> = ();
7652 #[doc(hidden)]
7653 type UnderlyingRustTuple<'a> = ();
7654 #[cfg(test)]
7655 #[allow(dead_code, unreachable_patterns)]
7656 fn _type_assertion(
7657 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7658 ) {
7659 match _t {
7660 alloy_sol_types::private::AssertTypeEq::<
7661 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7662 >(_) => {}
7663 }
7664 }
7665 #[automatically_derived]
7666 #[doc(hidden)]
7667 impl ::core::convert::From<transferOwnershipReturn>
7668 for UnderlyingRustTuple<'_> {
7669 fn from(value: transferOwnershipReturn) -> Self {
7670 ()
7671 }
7672 }
7673 #[automatically_derived]
7674 #[doc(hidden)]
7675 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7676 for transferOwnershipReturn {
7677 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7678 Self {}
7679 }
7680 }
7681 }
7682 #[automatically_derived]
7683 impl alloy_sol_types::SolCall for transferOwnershipCall {
7684 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
7685 type Token<'a> = <Self::Parameters<
7686 'a,
7687 > as alloy_sol_types::SolType>::Token<'a>;
7688 type Return = transferOwnershipReturn;
7689 type ReturnTuple<'a> = ();
7690 type ReturnToken<'a> = <Self::ReturnTuple<
7691 'a,
7692 > as alloy_sol_types::SolType>::Token<'a>;
7693 const SIGNATURE: &'static str = "transferOwnership(address)";
7694 const SELECTOR: [u8; 4] = [242u8, 253u8, 227u8, 139u8];
7695 #[inline]
7696 fn new<'a>(
7697 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7698 ) -> Self {
7699 tuple.into()
7700 }
7701 #[inline]
7702 fn tokenize(&self) -> Self::Token<'_> {
7703 (
7704 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7705 &self.newOwner,
7706 ),
7707 )
7708 }
7709 #[inline]
7710 fn abi_decode_returns(
7711 data: &[u8],
7712 validate: bool,
7713 ) -> alloy_sol_types::Result<Self::Return> {
7714 <Self::ReturnTuple<
7715 '_,
7716 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7717 .map(Into::into)
7718 }
7719 }
7720 };
7721 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7722 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7727 #[derive(Clone)]
7728 pub struct undelegateCall {
7729 #[allow(missing_docs)]
7730 pub validator: alloy::sol_types::private::Address,
7731 #[allow(missing_docs)]
7732 pub amount: alloy::sol_types::private::primitives::aliases::U256,
7733 }
7734 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7736 #[derive(Clone)]
7737 pub struct undelegateReturn {}
7738 #[allow(
7739 non_camel_case_types,
7740 non_snake_case,
7741 clippy::pub_underscore_fields,
7742 clippy::style
7743 )]
7744 const _: () = {
7745 use alloy::sol_types as alloy_sol_types;
7746 {
7747 #[doc(hidden)]
7748 type UnderlyingSolTuple<'a> = (
7749 alloy::sol_types::sol_data::Address,
7750 alloy::sol_types::sol_data::Uint<256>,
7751 );
7752 #[doc(hidden)]
7753 type UnderlyingRustTuple<'a> = (
7754 alloy::sol_types::private::Address,
7755 alloy::sol_types::private::primitives::aliases::U256,
7756 );
7757 #[cfg(test)]
7758 #[allow(dead_code, unreachable_patterns)]
7759 fn _type_assertion(
7760 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7761 ) {
7762 match _t {
7763 alloy_sol_types::private::AssertTypeEq::<
7764 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7765 >(_) => {}
7766 }
7767 }
7768 #[automatically_derived]
7769 #[doc(hidden)]
7770 impl ::core::convert::From<undelegateCall> for UnderlyingRustTuple<'_> {
7771 fn from(value: undelegateCall) -> Self {
7772 (value.validator, value.amount)
7773 }
7774 }
7775 #[automatically_derived]
7776 #[doc(hidden)]
7777 impl ::core::convert::From<UnderlyingRustTuple<'_>> for undelegateCall {
7778 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7779 Self {
7780 validator: tuple.0,
7781 amount: tuple.1,
7782 }
7783 }
7784 }
7785 }
7786 {
7787 #[doc(hidden)]
7788 type UnderlyingSolTuple<'a> = ();
7789 #[doc(hidden)]
7790 type UnderlyingRustTuple<'a> = ();
7791 #[cfg(test)]
7792 #[allow(dead_code, unreachable_patterns)]
7793 fn _type_assertion(
7794 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7795 ) {
7796 match _t {
7797 alloy_sol_types::private::AssertTypeEq::<
7798 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7799 >(_) => {}
7800 }
7801 }
7802 #[automatically_derived]
7803 #[doc(hidden)]
7804 impl ::core::convert::From<undelegateReturn> for UnderlyingRustTuple<'_> {
7805 fn from(value: undelegateReturn) -> Self {
7806 ()
7807 }
7808 }
7809 #[automatically_derived]
7810 #[doc(hidden)]
7811 impl ::core::convert::From<UnderlyingRustTuple<'_>> for undelegateReturn {
7812 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7813 Self {}
7814 }
7815 }
7816 }
7817 #[automatically_derived]
7818 impl alloy_sol_types::SolCall for undelegateCall {
7819 type Parameters<'a> = (
7820 alloy::sol_types::sol_data::Address,
7821 alloy::sol_types::sol_data::Uint<256>,
7822 );
7823 type Token<'a> = <Self::Parameters<
7824 'a,
7825 > as alloy_sol_types::SolType>::Token<'a>;
7826 type Return = undelegateReturn;
7827 type ReturnTuple<'a> = ();
7828 type ReturnToken<'a> = <Self::ReturnTuple<
7829 'a,
7830 > as alloy_sol_types::SolType>::Token<'a>;
7831 const SIGNATURE: &'static str = "undelegate(address,uint256)";
7832 const SELECTOR: [u8; 4] = [77u8, 153u8, 221u8, 22u8];
7833 #[inline]
7834 fn new<'a>(
7835 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7836 ) -> Self {
7837 tuple.into()
7838 }
7839 #[inline]
7840 fn tokenize(&self) -> Self::Token<'_> {
7841 (
7842 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7843 &self.validator,
7844 ),
7845 <alloy::sol_types::sol_data::Uint<
7846 256,
7847 > as alloy_sol_types::SolType>::tokenize(&self.amount),
7848 )
7849 }
7850 #[inline]
7851 fn abi_decode_returns(
7852 data: &[u8],
7853 validate: bool,
7854 ) -> alloy_sol_types::Result<Self::Return> {
7855 <Self::ReturnTuple<
7856 '_,
7857 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7858 .map(Into::into)
7859 }
7860 }
7861 };
7862 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7863 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7868 #[derive(Clone)]
7869 pub struct undelegationsCall {
7870 #[allow(missing_docs)]
7871 pub validator: alloy::sol_types::private::Address,
7872 #[allow(missing_docs)]
7873 pub delegator: alloy::sol_types::private::Address,
7874 }
7875 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7876 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7878 #[derive(Clone)]
7879 pub struct undelegationsReturn {
7880 #[allow(missing_docs)]
7881 pub amount: alloy::sol_types::private::primitives::aliases::U256,
7882 #[allow(missing_docs)]
7883 pub unlocksAt: alloy::sol_types::private::primitives::aliases::U256,
7884 }
7885 #[allow(
7886 non_camel_case_types,
7887 non_snake_case,
7888 clippy::pub_underscore_fields,
7889 clippy::style
7890 )]
7891 const _: () = {
7892 use alloy::sol_types as alloy_sol_types;
7893 {
7894 #[doc(hidden)]
7895 type UnderlyingSolTuple<'a> = (
7896 alloy::sol_types::sol_data::Address,
7897 alloy::sol_types::sol_data::Address,
7898 );
7899 #[doc(hidden)]
7900 type UnderlyingRustTuple<'a> = (
7901 alloy::sol_types::private::Address,
7902 alloy::sol_types::private::Address,
7903 );
7904 #[cfg(test)]
7905 #[allow(dead_code, unreachable_patterns)]
7906 fn _type_assertion(
7907 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7908 ) {
7909 match _t {
7910 alloy_sol_types::private::AssertTypeEq::<
7911 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7912 >(_) => {}
7913 }
7914 }
7915 #[automatically_derived]
7916 #[doc(hidden)]
7917 impl ::core::convert::From<undelegationsCall> for UnderlyingRustTuple<'_> {
7918 fn from(value: undelegationsCall) -> Self {
7919 (value.validator, value.delegator)
7920 }
7921 }
7922 #[automatically_derived]
7923 #[doc(hidden)]
7924 impl ::core::convert::From<UnderlyingRustTuple<'_>> for undelegationsCall {
7925 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7926 Self {
7927 validator: tuple.0,
7928 delegator: tuple.1,
7929 }
7930 }
7931 }
7932 }
7933 {
7934 #[doc(hidden)]
7935 type UnderlyingSolTuple<'a> = (
7936 alloy::sol_types::sol_data::Uint<256>,
7937 alloy::sol_types::sol_data::Uint<256>,
7938 );
7939 #[doc(hidden)]
7940 type UnderlyingRustTuple<'a> = (
7941 alloy::sol_types::private::primitives::aliases::U256,
7942 alloy::sol_types::private::primitives::aliases::U256,
7943 );
7944 #[cfg(test)]
7945 #[allow(dead_code, unreachable_patterns)]
7946 fn _type_assertion(
7947 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7948 ) {
7949 match _t {
7950 alloy_sol_types::private::AssertTypeEq::<
7951 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7952 >(_) => {}
7953 }
7954 }
7955 #[automatically_derived]
7956 #[doc(hidden)]
7957 impl ::core::convert::From<undelegationsReturn> for UnderlyingRustTuple<'_> {
7958 fn from(value: undelegationsReturn) -> Self {
7959 (value.amount, value.unlocksAt)
7960 }
7961 }
7962 #[automatically_derived]
7963 #[doc(hidden)]
7964 impl ::core::convert::From<UnderlyingRustTuple<'_>> for undelegationsReturn {
7965 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7966 Self {
7967 amount: tuple.0,
7968 unlocksAt: tuple.1,
7969 }
7970 }
7971 }
7972 }
7973 #[automatically_derived]
7974 impl alloy_sol_types::SolCall for undelegationsCall {
7975 type Parameters<'a> = (
7976 alloy::sol_types::sol_data::Address,
7977 alloy::sol_types::sol_data::Address,
7978 );
7979 type Token<'a> = <Self::Parameters<
7980 'a,
7981 > as alloy_sol_types::SolType>::Token<'a>;
7982 type Return = undelegationsReturn;
7983 type ReturnTuple<'a> = (
7984 alloy::sol_types::sol_data::Uint<256>,
7985 alloy::sol_types::sol_data::Uint<256>,
7986 );
7987 type ReturnToken<'a> = <Self::ReturnTuple<
7988 'a,
7989 > as alloy_sol_types::SolType>::Token<'a>;
7990 const SIGNATURE: &'static str = "undelegations(address,address)";
7991 const SELECTOR: [u8; 4] = [162u8, 215u8, 141u8, 213u8];
7992 #[inline]
7993 fn new<'a>(
7994 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7995 ) -> Self {
7996 tuple.into()
7997 }
7998 #[inline]
7999 fn tokenize(&self) -> Self::Token<'_> {
8000 (
8001 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8002 &self.validator,
8003 ),
8004 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8005 &self.delegator,
8006 ),
8007 )
8008 }
8009 #[inline]
8010 fn abi_decode_returns(
8011 data: &[u8],
8012 validate: bool,
8013 ) -> alloy_sol_types::Result<Self::Return> {
8014 <Self::ReturnTuple<
8015 '_,
8016 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8017 .map(Into::into)
8018 }
8019 }
8020 };
8021 #[derive()]
8022 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8027 #[derive(Clone)]
8028 pub struct updateConsensusKeysCall {
8029 #[allow(missing_docs)]
8030 pub newBlsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
8031 #[allow(missing_docs)]
8032 pub newSchnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
8033 #[allow(missing_docs)]
8034 pub newBlsSig: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
8035 }
8036 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8038 #[derive(Clone)]
8039 pub struct updateConsensusKeysReturn {}
8040 #[allow(
8041 non_camel_case_types,
8042 non_snake_case,
8043 clippy::pub_underscore_fields,
8044 clippy::style
8045 )]
8046 const _: () = {
8047 use alloy::sol_types as alloy_sol_types;
8048 {
8049 #[doc(hidden)]
8050 type UnderlyingSolTuple<'a> = (
8051 BN254::G2Point,
8052 EdOnBN254::EdOnBN254Point,
8053 BN254::G1Point,
8054 );
8055 #[doc(hidden)]
8056 type UnderlyingRustTuple<'a> = (
8057 <BN254::G2Point as alloy::sol_types::SolType>::RustType,
8058 <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
8059 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
8060 );
8061 #[cfg(test)]
8062 #[allow(dead_code, unreachable_patterns)]
8063 fn _type_assertion(
8064 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8065 ) {
8066 match _t {
8067 alloy_sol_types::private::AssertTypeEq::<
8068 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8069 >(_) => {}
8070 }
8071 }
8072 #[automatically_derived]
8073 #[doc(hidden)]
8074 impl ::core::convert::From<updateConsensusKeysCall>
8075 for UnderlyingRustTuple<'_> {
8076 fn from(value: updateConsensusKeysCall) -> Self {
8077 (value.newBlsVK, value.newSchnorrVK, value.newBlsSig)
8078 }
8079 }
8080 #[automatically_derived]
8081 #[doc(hidden)]
8082 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8083 for updateConsensusKeysCall {
8084 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8085 Self {
8086 newBlsVK: tuple.0,
8087 newSchnorrVK: tuple.1,
8088 newBlsSig: tuple.2,
8089 }
8090 }
8091 }
8092 }
8093 {
8094 #[doc(hidden)]
8095 type UnderlyingSolTuple<'a> = ();
8096 #[doc(hidden)]
8097 type UnderlyingRustTuple<'a> = ();
8098 #[cfg(test)]
8099 #[allow(dead_code, unreachable_patterns)]
8100 fn _type_assertion(
8101 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8102 ) {
8103 match _t {
8104 alloy_sol_types::private::AssertTypeEq::<
8105 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8106 >(_) => {}
8107 }
8108 }
8109 #[automatically_derived]
8110 #[doc(hidden)]
8111 impl ::core::convert::From<updateConsensusKeysReturn>
8112 for UnderlyingRustTuple<'_> {
8113 fn from(value: updateConsensusKeysReturn) -> Self {
8114 ()
8115 }
8116 }
8117 #[automatically_derived]
8118 #[doc(hidden)]
8119 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8120 for updateConsensusKeysReturn {
8121 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8122 Self {}
8123 }
8124 }
8125 }
8126 #[automatically_derived]
8127 impl alloy_sol_types::SolCall for updateConsensusKeysCall {
8128 type Parameters<'a> = (
8129 BN254::G2Point,
8130 EdOnBN254::EdOnBN254Point,
8131 BN254::G1Point,
8132 );
8133 type Token<'a> = <Self::Parameters<
8134 'a,
8135 > as alloy_sol_types::SolType>::Token<'a>;
8136 type Return = updateConsensusKeysReturn;
8137 type ReturnTuple<'a> = ();
8138 type ReturnToken<'a> = <Self::ReturnTuple<
8139 'a,
8140 > as alloy_sol_types::SolType>::Token<'a>;
8141 const SIGNATURE: &'static str = "updateConsensusKeys((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256))";
8142 const SELECTOR: [u8; 4] = [85u8, 68u8, 194u8, 241u8];
8143 #[inline]
8144 fn new<'a>(
8145 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8146 ) -> Self {
8147 tuple.into()
8148 }
8149 #[inline]
8150 fn tokenize(&self) -> Self::Token<'_> {
8151 (
8152 <BN254::G2Point as alloy_sol_types::SolType>::tokenize(
8153 &self.newBlsVK,
8154 ),
8155 <EdOnBN254::EdOnBN254Point as alloy_sol_types::SolType>::tokenize(
8156 &self.newSchnorrVK,
8157 ),
8158 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(
8159 &self.newBlsSig,
8160 ),
8161 )
8162 }
8163 #[inline]
8164 fn abi_decode_returns(
8165 data: &[u8],
8166 validate: bool,
8167 ) -> alloy_sol_types::Result<Self::Return> {
8168 <Self::ReturnTuple<
8169 '_,
8170 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8171 .map(Into::into)
8172 }
8173 }
8174 };
8175 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8176 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8181 #[derive(Clone)]
8182 pub struct upgradeToAndCallCall {
8183 #[allow(missing_docs)]
8184 pub newImplementation: alloy::sol_types::private::Address,
8185 #[allow(missing_docs)]
8186 pub data: alloy::sol_types::private::Bytes,
8187 }
8188 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8190 #[derive(Clone)]
8191 pub struct upgradeToAndCallReturn {}
8192 #[allow(
8193 non_camel_case_types,
8194 non_snake_case,
8195 clippy::pub_underscore_fields,
8196 clippy::style
8197 )]
8198 const _: () = {
8199 use alloy::sol_types as alloy_sol_types;
8200 {
8201 #[doc(hidden)]
8202 type UnderlyingSolTuple<'a> = (
8203 alloy::sol_types::sol_data::Address,
8204 alloy::sol_types::sol_data::Bytes,
8205 );
8206 #[doc(hidden)]
8207 type UnderlyingRustTuple<'a> = (
8208 alloy::sol_types::private::Address,
8209 alloy::sol_types::private::Bytes,
8210 );
8211 #[cfg(test)]
8212 #[allow(dead_code, unreachable_patterns)]
8213 fn _type_assertion(
8214 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8215 ) {
8216 match _t {
8217 alloy_sol_types::private::AssertTypeEq::<
8218 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8219 >(_) => {}
8220 }
8221 }
8222 #[automatically_derived]
8223 #[doc(hidden)]
8224 impl ::core::convert::From<upgradeToAndCallCall>
8225 for UnderlyingRustTuple<'_> {
8226 fn from(value: upgradeToAndCallCall) -> Self {
8227 (value.newImplementation, value.data)
8228 }
8229 }
8230 #[automatically_derived]
8231 #[doc(hidden)]
8232 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8233 for upgradeToAndCallCall {
8234 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8235 Self {
8236 newImplementation: tuple.0,
8237 data: tuple.1,
8238 }
8239 }
8240 }
8241 }
8242 {
8243 #[doc(hidden)]
8244 type UnderlyingSolTuple<'a> = ();
8245 #[doc(hidden)]
8246 type UnderlyingRustTuple<'a> = ();
8247 #[cfg(test)]
8248 #[allow(dead_code, unreachable_patterns)]
8249 fn _type_assertion(
8250 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8251 ) {
8252 match _t {
8253 alloy_sol_types::private::AssertTypeEq::<
8254 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8255 >(_) => {}
8256 }
8257 }
8258 #[automatically_derived]
8259 #[doc(hidden)]
8260 impl ::core::convert::From<upgradeToAndCallReturn>
8261 for UnderlyingRustTuple<'_> {
8262 fn from(value: upgradeToAndCallReturn) -> Self {
8263 ()
8264 }
8265 }
8266 #[automatically_derived]
8267 #[doc(hidden)]
8268 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8269 for upgradeToAndCallReturn {
8270 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8271 Self {}
8272 }
8273 }
8274 }
8275 #[automatically_derived]
8276 impl alloy_sol_types::SolCall for upgradeToAndCallCall {
8277 type Parameters<'a> = (
8278 alloy::sol_types::sol_data::Address,
8279 alloy::sol_types::sol_data::Bytes,
8280 );
8281 type Token<'a> = <Self::Parameters<
8282 'a,
8283 > as alloy_sol_types::SolType>::Token<'a>;
8284 type Return = upgradeToAndCallReturn;
8285 type ReturnTuple<'a> = ();
8286 type ReturnToken<'a> = <Self::ReturnTuple<
8287 'a,
8288 > as alloy_sol_types::SolType>::Token<'a>;
8289 const SIGNATURE: &'static str = "upgradeToAndCall(address,bytes)";
8290 const SELECTOR: [u8; 4] = [79u8, 30u8, 242u8, 134u8];
8291 #[inline]
8292 fn new<'a>(
8293 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8294 ) -> Self {
8295 tuple.into()
8296 }
8297 #[inline]
8298 fn tokenize(&self) -> Self::Token<'_> {
8299 (
8300 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8301 &self.newImplementation,
8302 ),
8303 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8304 &self.data,
8305 ),
8306 )
8307 }
8308 #[inline]
8309 fn abi_decode_returns(
8310 data: &[u8],
8311 validate: bool,
8312 ) -> alloy_sol_types::Result<Self::Return> {
8313 <Self::ReturnTuple<
8314 '_,
8315 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8316 .map(Into::into)
8317 }
8318 }
8319 };
8320 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8321 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8326 #[derive(Clone)]
8327 pub struct validatorExitsCall {
8328 #[allow(missing_docs)]
8329 pub validator: alloy::sol_types::private::Address,
8330 }
8331 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8332 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8334 #[derive(Clone)]
8335 pub struct validatorExitsReturn {
8336 #[allow(missing_docs)]
8337 pub unlocksAt: alloy::sol_types::private::primitives::aliases::U256,
8338 }
8339 #[allow(
8340 non_camel_case_types,
8341 non_snake_case,
8342 clippy::pub_underscore_fields,
8343 clippy::style
8344 )]
8345 const _: () = {
8346 use alloy::sol_types as alloy_sol_types;
8347 {
8348 #[doc(hidden)]
8349 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8350 #[doc(hidden)]
8351 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8352 #[cfg(test)]
8353 #[allow(dead_code, unreachable_patterns)]
8354 fn _type_assertion(
8355 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8356 ) {
8357 match _t {
8358 alloy_sol_types::private::AssertTypeEq::<
8359 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8360 >(_) => {}
8361 }
8362 }
8363 #[automatically_derived]
8364 #[doc(hidden)]
8365 impl ::core::convert::From<validatorExitsCall> for UnderlyingRustTuple<'_> {
8366 fn from(value: validatorExitsCall) -> Self {
8367 (value.validator,)
8368 }
8369 }
8370 #[automatically_derived]
8371 #[doc(hidden)]
8372 impl ::core::convert::From<UnderlyingRustTuple<'_>> for validatorExitsCall {
8373 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8374 Self { validator: tuple.0 }
8375 }
8376 }
8377 }
8378 {
8379 #[doc(hidden)]
8380 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
8381 #[doc(hidden)]
8382 type UnderlyingRustTuple<'a> = (
8383 alloy::sol_types::private::primitives::aliases::U256,
8384 );
8385 #[cfg(test)]
8386 #[allow(dead_code, unreachable_patterns)]
8387 fn _type_assertion(
8388 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8389 ) {
8390 match _t {
8391 alloy_sol_types::private::AssertTypeEq::<
8392 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8393 >(_) => {}
8394 }
8395 }
8396 #[automatically_derived]
8397 #[doc(hidden)]
8398 impl ::core::convert::From<validatorExitsReturn>
8399 for UnderlyingRustTuple<'_> {
8400 fn from(value: validatorExitsReturn) -> Self {
8401 (value.unlocksAt,)
8402 }
8403 }
8404 #[automatically_derived]
8405 #[doc(hidden)]
8406 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8407 for validatorExitsReturn {
8408 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8409 Self { unlocksAt: tuple.0 }
8410 }
8411 }
8412 }
8413 #[automatically_derived]
8414 impl alloy_sol_types::SolCall for validatorExitsCall {
8415 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8416 type Token<'a> = <Self::Parameters<
8417 'a,
8418 > as alloy_sol_types::SolType>::Token<'a>;
8419 type Return = validatorExitsReturn;
8420 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
8421 type ReturnToken<'a> = <Self::ReturnTuple<
8422 'a,
8423 > as alloy_sol_types::SolType>::Token<'a>;
8424 const SIGNATURE: &'static str = "validatorExits(address)";
8425 const SELECTOR: [u8; 4] = [181u8, 236u8, 179u8, 68u8];
8426 #[inline]
8427 fn new<'a>(
8428 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8429 ) -> Self {
8430 tuple.into()
8431 }
8432 #[inline]
8433 fn tokenize(&self) -> Self::Token<'_> {
8434 (
8435 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8436 &self.validator,
8437 ),
8438 )
8439 }
8440 #[inline]
8441 fn abi_decode_returns(
8442 data: &[u8],
8443 validate: bool,
8444 ) -> alloy_sol_types::Result<Self::Return> {
8445 <Self::ReturnTuple<
8446 '_,
8447 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8448 .map(Into::into)
8449 }
8450 }
8451 };
8452 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8453 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8458 #[derive(Clone)]
8459 pub struct validatorsCall {
8460 #[allow(missing_docs)]
8461 pub account: alloy::sol_types::private::Address,
8462 }
8463 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8464 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8466 #[derive(Clone)]
8467 pub struct validatorsReturn {
8468 #[allow(missing_docs)]
8469 pub delegatedAmount: alloy::sol_types::private::primitives::aliases::U256,
8470 #[allow(missing_docs)]
8471 pub status: <ValidatorStatus as alloy::sol_types::SolType>::RustType,
8472 }
8473 #[allow(
8474 non_camel_case_types,
8475 non_snake_case,
8476 clippy::pub_underscore_fields,
8477 clippy::style
8478 )]
8479 const _: () = {
8480 use alloy::sol_types as alloy_sol_types;
8481 {
8482 #[doc(hidden)]
8483 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8484 #[doc(hidden)]
8485 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8486 #[cfg(test)]
8487 #[allow(dead_code, unreachable_patterns)]
8488 fn _type_assertion(
8489 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8490 ) {
8491 match _t {
8492 alloy_sol_types::private::AssertTypeEq::<
8493 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8494 >(_) => {}
8495 }
8496 }
8497 #[automatically_derived]
8498 #[doc(hidden)]
8499 impl ::core::convert::From<validatorsCall> for UnderlyingRustTuple<'_> {
8500 fn from(value: validatorsCall) -> Self {
8501 (value.account,)
8502 }
8503 }
8504 #[automatically_derived]
8505 #[doc(hidden)]
8506 impl ::core::convert::From<UnderlyingRustTuple<'_>> for validatorsCall {
8507 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8508 Self { account: tuple.0 }
8509 }
8510 }
8511 }
8512 {
8513 #[doc(hidden)]
8514 type UnderlyingSolTuple<'a> = (
8515 alloy::sol_types::sol_data::Uint<256>,
8516 ValidatorStatus,
8517 );
8518 #[doc(hidden)]
8519 type UnderlyingRustTuple<'a> = (
8520 alloy::sol_types::private::primitives::aliases::U256,
8521 <ValidatorStatus as alloy::sol_types::SolType>::RustType,
8522 );
8523 #[cfg(test)]
8524 #[allow(dead_code, unreachable_patterns)]
8525 fn _type_assertion(
8526 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8527 ) {
8528 match _t {
8529 alloy_sol_types::private::AssertTypeEq::<
8530 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8531 >(_) => {}
8532 }
8533 }
8534 #[automatically_derived]
8535 #[doc(hidden)]
8536 impl ::core::convert::From<validatorsReturn> for UnderlyingRustTuple<'_> {
8537 fn from(value: validatorsReturn) -> Self {
8538 (value.delegatedAmount, value.status)
8539 }
8540 }
8541 #[automatically_derived]
8542 #[doc(hidden)]
8543 impl ::core::convert::From<UnderlyingRustTuple<'_>> for validatorsReturn {
8544 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8545 Self {
8546 delegatedAmount: tuple.0,
8547 status: tuple.1,
8548 }
8549 }
8550 }
8551 }
8552 #[automatically_derived]
8553 impl alloy_sol_types::SolCall for validatorsCall {
8554 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8555 type Token<'a> = <Self::Parameters<
8556 'a,
8557 > as alloy_sol_types::SolType>::Token<'a>;
8558 type Return = validatorsReturn;
8559 type ReturnTuple<'a> = (
8560 alloy::sol_types::sol_data::Uint<256>,
8561 ValidatorStatus,
8562 );
8563 type ReturnToken<'a> = <Self::ReturnTuple<
8564 'a,
8565 > as alloy_sol_types::SolType>::Token<'a>;
8566 const SIGNATURE: &'static str = "validators(address)";
8567 const SELECTOR: [u8; 4] = [250u8, 82u8, 199u8, 216u8];
8568 #[inline]
8569 fn new<'a>(
8570 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8571 ) -> Self {
8572 tuple.into()
8573 }
8574 #[inline]
8575 fn tokenize(&self) -> Self::Token<'_> {
8576 (
8577 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8578 &self.account,
8579 ),
8580 )
8581 }
8582 #[inline]
8583 fn abi_decode_returns(
8584 data: &[u8],
8585 validate: bool,
8586 ) -> alloy_sol_types::Result<Self::Return> {
8587 <Self::ReturnTuple<
8588 '_,
8589 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8590 .map(Into::into)
8591 }
8592 }
8593 };
8594 #[derive()]
8596 pub enum StakeTableCalls {
8597 #[allow(missing_docs)]
8598 UPGRADE_INTERFACE_VERSION(UPGRADE_INTERFACE_VERSIONCall),
8599 #[allow(missing_docs)]
8600 _hashBlsKey(_hashBlsKeyCall),
8601 #[allow(missing_docs)]
8602 blsKeys(blsKeysCall),
8603 #[allow(missing_docs)]
8604 claimValidatorExit(claimValidatorExitCall),
8605 #[allow(missing_docs)]
8606 claimWithdrawal(claimWithdrawalCall),
8607 #[allow(missing_docs)]
8608 delegate(delegateCall),
8609 #[allow(missing_docs)]
8610 delegations(delegationsCall),
8611 #[allow(missing_docs)]
8612 deregisterValidator(deregisterValidatorCall),
8613 #[allow(missing_docs)]
8614 exitEscrowPeriod(exitEscrowPeriodCall),
8615 #[allow(missing_docs)]
8616 getVersion(getVersionCall),
8617 #[allow(missing_docs)]
8618 initialize(initializeCall),
8619 #[allow(missing_docs)]
8620 initializedAtBlock(initializedAtBlockCall),
8621 #[allow(missing_docs)]
8622 lightClient(lightClientCall),
8623 #[allow(missing_docs)]
8624 owner(ownerCall),
8625 #[allow(missing_docs)]
8626 proxiableUUID(proxiableUUIDCall),
8627 #[allow(missing_docs)]
8628 registerValidator(registerValidatorCall),
8629 #[allow(missing_docs)]
8630 renounceOwnership(renounceOwnershipCall),
8631 #[allow(missing_docs)]
8632 token(tokenCall),
8633 #[allow(missing_docs)]
8634 transferOwnership(transferOwnershipCall),
8635 #[allow(missing_docs)]
8636 undelegate(undelegateCall),
8637 #[allow(missing_docs)]
8638 undelegations(undelegationsCall),
8639 #[allow(missing_docs)]
8640 updateConsensusKeys(updateConsensusKeysCall),
8641 #[allow(missing_docs)]
8642 upgradeToAndCall(upgradeToAndCallCall),
8643 #[allow(missing_docs)]
8644 validatorExits(validatorExitsCall),
8645 #[allow(missing_docs)]
8646 validators(validatorsCall),
8647 }
8648 #[automatically_derived]
8649 impl StakeTableCalls {
8650 pub const SELECTORS: &'static [[u8; 4usize]] = &[
8657 [2u8, 110u8, 64u8, 43u8],
8658 [13u8, 142u8, 110u8, 44u8],
8659 [19u8, 185u8, 5u8, 122u8],
8660 [33u8, 64u8, 254u8, 205u8],
8661 [62u8, 157u8, 249u8, 181u8],
8662 [77u8, 153u8, 221u8, 22u8],
8663 [79u8, 30u8, 242u8, 134u8],
8664 [82u8, 209u8, 144u8, 45u8],
8665 [85u8, 68u8, 194u8, 241u8],
8666 [106u8, 145u8, 28u8, 207u8],
8667 [113u8, 80u8, 24u8, 166u8],
8668 [141u8, 165u8, 203u8, 91u8],
8669 [155u8, 48u8, 165u8, 230u8],
8670 [158u8, 154u8, 143u8, 49u8],
8671 [162u8, 215u8, 141u8, 213u8],
8672 [163u8, 6u8, 106u8, 171u8],
8673 [173u8, 60u8, 177u8, 204u8],
8674 [179u8, 230u8, 235u8, 213u8],
8675 [181u8, 112u8, 14u8, 104u8],
8676 [181u8, 236u8, 179u8, 68u8],
8677 [190u8, 32u8, 48u8, 148u8],
8678 [198u8, 72u8, 20u8, 221u8],
8679 [242u8, 253u8, 227u8, 139u8],
8680 [250u8, 82u8, 199u8, 216u8],
8681 [252u8, 12u8, 84u8, 106u8],
8682 ];
8683 }
8684 #[automatically_derived]
8685 impl alloy_sol_types::SolInterface for StakeTableCalls {
8686 const NAME: &'static str = "StakeTableCalls";
8687 const MIN_DATA_LENGTH: usize = 0usize;
8688 const COUNT: usize = 25usize;
8689 #[inline]
8690 fn selector(&self) -> [u8; 4] {
8691 match self {
8692 Self::UPGRADE_INTERFACE_VERSION(_) => {
8693 <UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::SELECTOR
8694 }
8695 Self::_hashBlsKey(_) => {
8696 <_hashBlsKeyCall as alloy_sol_types::SolCall>::SELECTOR
8697 }
8698 Self::blsKeys(_) => <blsKeysCall as alloy_sol_types::SolCall>::SELECTOR,
8699 Self::claimValidatorExit(_) => {
8700 <claimValidatorExitCall as alloy_sol_types::SolCall>::SELECTOR
8701 }
8702 Self::claimWithdrawal(_) => {
8703 <claimWithdrawalCall as alloy_sol_types::SolCall>::SELECTOR
8704 }
8705 Self::delegate(_) => <delegateCall as alloy_sol_types::SolCall>::SELECTOR,
8706 Self::delegations(_) => {
8707 <delegationsCall as alloy_sol_types::SolCall>::SELECTOR
8708 }
8709 Self::deregisterValidator(_) => {
8710 <deregisterValidatorCall as alloy_sol_types::SolCall>::SELECTOR
8711 }
8712 Self::exitEscrowPeriod(_) => {
8713 <exitEscrowPeriodCall as alloy_sol_types::SolCall>::SELECTOR
8714 }
8715 Self::getVersion(_) => {
8716 <getVersionCall as alloy_sol_types::SolCall>::SELECTOR
8717 }
8718 Self::initialize(_) => {
8719 <initializeCall as alloy_sol_types::SolCall>::SELECTOR
8720 }
8721 Self::initializedAtBlock(_) => {
8722 <initializedAtBlockCall as alloy_sol_types::SolCall>::SELECTOR
8723 }
8724 Self::lightClient(_) => {
8725 <lightClientCall as alloy_sol_types::SolCall>::SELECTOR
8726 }
8727 Self::owner(_) => <ownerCall as alloy_sol_types::SolCall>::SELECTOR,
8728 Self::proxiableUUID(_) => {
8729 <proxiableUUIDCall as alloy_sol_types::SolCall>::SELECTOR
8730 }
8731 Self::registerValidator(_) => {
8732 <registerValidatorCall as alloy_sol_types::SolCall>::SELECTOR
8733 }
8734 Self::renounceOwnership(_) => {
8735 <renounceOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
8736 }
8737 Self::token(_) => <tokenCall as alloy_sol_types::SolCall>::SELECTOR,
8738 Self::transferOwnership(_) => {
8739 <transferOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
8740 }
8741 Self::undelegate(_) => {
8742 <undelegateCall as alloy_sol_types::SolCall>::SELECTOR
8743 }
8744 Self::undelegations(_) => {
8745 <undelegationsCall as alloy_sol_types::SolCall>::SELECTOR
8746 }
8747 Self::updateConsensusKeys(_) => {
8748 <updateConsensusKeysCall as alloy_sol_types::SolCall>::SELECTOR
8749 }
8750 Self::upgradeToAndCall(_) => {
8751 <upgradeToAndCallCall as alloy_sol_types::SolCall>::SELECTOR
8752 }
8753 Self::validatorExits(_) => {
8754 <validatorExitsCall as alloy_sol_types::SolCall>::SELECTOR
8755 }
8756 Self::validators(_) => {
8757 <validatorsCall as alloy_sol_types::SolCall>::SELECTOR
8758 }
8759 }
8760 }
8761 #[inline]
8762 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
8763 Self::SELECTORS.get(i).copied()
8764 }
8765 #[inline]
8766 fn valid_selector(selector: [u8; 4]) -> bool {
8767 Self::SELECTORS.binary_search(&selector).is_ok()
8768 }
8769 #[inline]
8770 #[allow(non_snake_case)]
8771 fn abi_decode_raw(
8772 selector: [u8; 4],
8773 data: &[u8],
8774 validate: bool,
8775 ) -> alloy_sol_types::Result<Self> {
8776 static DECODE_SHIMS: &[fn(
8777 &[u8],
8778 bool,
8779 ) -> alloy_sol_types::Result<StakeTableCalls>] = &[
8780 {
8781 fn delegate(
8782 data: &[u8],
8783 validate: bool,
8784 ) -> alloy_sol_types::Result<StakeTableCalls> {
8785 <delegateCall as alloy_sol_types::SolCall>::abi_decode_raw(
8786 data,
8787 validate,
8788 )
8789 .map(StakeTableCalls::delegate)
8790 }
8791 delegate
8792 },
8793 {
8794 fn getVersion(
8795 data: &[u8],
8796 validate: bool,
8797 ) -> alloy_sol_types::Result<StakeTableCalls> {
8798 <getVersionCall as alloy_sol_types::SolCall>::abi_decode_raw(
8799 data,
8800 validate,
8801 )
8802 .map(StakeTableCalls::getVersion)
8803 }
8804 getVersion
8805 },
8806 {
8807 fn registerValidator(
8808 data: &[u8],
8809 validate: bool,
8810 ) -> alloy_sol_types::Result<StakeTableCalls> {
8811 <registerValidatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
8812 data,
8813 validate,
8814 )
8815 .map(StakeTableCalls::registerValidator)
8816 }
8817 registerValidator
8818 },
8819 {
8820 fn claimValidatorExit(
8821 data: &[u8],
8822 validate: bool,
8823 ) -> alloy_sol_types::Result<StakeTableCalls> {
8824 <claimValidatorExitCall as alloy_sol_types::SolCall>::abi_decode_raw(
8825 data,
8826 validate,
8827 )
8828 .map(StakeTableCalls::claimValidatorExit)
8829 }
8830 claimValidatorExit
8831 },
8832 {
8833 fn initializedAtBlock(
8834 data: &[u8],
8835 validate: bool,
8836 ) -> alloy_sol_types::Result<StakeTableCalls> {
8837 <initializedAtBlockCall as alloy_sol_types::SolCall>::abi_decode_raw(
8838 data,
8839 validate,
8840 )
8841 .map(StakeTableCalls::initializedAtBlock)
8842 }
8843 initializedAtBlock
8844 },
8845 {
8846 fn undelegate(
8847 data: &[u8],
8848 validate: bool,
8849 ) -> alloy_sol_types::Result<StakeTableCalls> {
8850 <undelegateCall as alloy_sol_types::SolCall>::abi_decode_raw(
8851 data,
8852 validate,
8853 )
8854 .map(StakeTableCalls::undelegate)
8855 }
8856 undelegate
8857 },
8858 {
8859 fn upgradeToAndCall(
8860 data: &[u8],
8861 validate: bool,
8862 ) -> alloy_sol_types::Result<StakeTableCalls> {
8863 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_decode_raw(
8864 data,
8865 validate,
8866 )
8867 .map(StakeTableCalls::upgradeToAndCall)
8868 }
8869 upgradeToAndCall
8870 },
8871 {
8872 fn proxiableUUID(
8873 data: &[u8],
8874 validate: bool,
8875 ) -> alloy_sol_types::Result<StakeTableCalls> {
8876 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_decode_raw(
8877 data,
8878 validate,
8879 )
8880 .map(StakeTableCalls::proxiableUUID)
8881 }
8882 proxiableUUID
8883 },
8884 {
8885 fn updateConsensusKeys(
8886 data: &[u8],
8887 validate: bool,
8888 ) -> alloy_sol_types::Result<StakeTableCalls> {
8889 <updateConsensusKeysCall as alloy_sol_types::SolCall>::abi_decode_raw(
8890 data,
8891 validate,
8892 )
8893 .map(StakeTableCalls::updateConsensusKeys)
8894 }
8895 updateConsensusKeys
8896 },
8897 {
8898 fn deregisterValidator(
8899 data: &[u8],
8900 validate: bool,
8901 ) -> alloy_sol_types::Result<StakeTableCalls> {
8902 <deregisterValidatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
8903 data,
8904 validate,
8905 )
8906 .map(StakeTableCalls::deregisterValidator)
8907 }
8908 deregisterValidator
8909 },
8910 {
8911 fn renounceOwnership(
8912 data: &[u8],
8913 validate: bool,
8914 ) -> alloy_sol_types::Result<StakeTableCalls> {
8915 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
8916 data,
8917 validate,
8918 )
8919 .map(StakeTableCalls::renounceOwnership)
8920 }
8921 renounceOwnership
8922 },
8923 {
8924 fn owner(
8925 data: &[u8],
8926 validate: bool,
8927 ) -> alloy_sol_types::Result<StakeTableCalls> {
8928 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw(
8929 data,
8930 validate,
8931 )
8932 .map(StakeTableCalls::owner)
8933 }
8934 owner
8935 },
8936 {
8937 fn _hashBlsKey(
8938 data: &[u8],
8939 validate: bool,
8940 ) -> alloy_sol_types::Result<StakeTableCalls> {
8941 <_hashBlsKeyCall as alloy_sol_types::SolCall>::abi_decode_raw(
8942 data,
8943 validate,
8944 )
8945 .map(StakeTableCalls::_hashBlsKey)
8946 }
8947 _hashBlsKey
8948 },
8949 {
8950 fn exitEscrowPeriod(
8951 data: &[u8],
8952 validate: bool,
8953 ) -> alloy_sol_types::Result<StakeTableCalls> {
8954 <exitEscrowPeriodCall as alloy_sol_types::SolCall>::abi_decode_raw(
8955 data,
8956 validate,
8957 )
8958 .map(StakeTableCalls::exitEscrowPeriod)
8959 }
8960 exitEscrowPeriod
8961 },
8962 {
8963 fn undelegations(
8964 data: &[u8],
8965 validate: bool,
8966 ) -> alloy_sol_types::Result<StakeTableCalls> {
8967 <undelegationsCall as alloy_sol_types::SolCall>::abi_decode_raw(
8968 data,
8969 validate,
8970 )
8971 .map(StakeTableCalls::undelegations)
8972 }
8973 undelegations
8974 },
8975 {
8976 fn claimWithdrawal(
8977 data: &[u8],
8978 validate: bool,
8979 ) -> alloy_sol_types::Result<StakeTableCalls> {
8980 <claimWithdrawalCall as alloy_sol_types::SolCall>::abi_decode_raw(
8981 data,
8982 validate,
8983 )
8984 .map(StakeTableCalls::claimWithdrawal)
8985 }
8986 claimWithdrawal
8987 },
8988 {
8989 fn UPGRADE_INTERFACE_VERSION(
8990 data: &[u8],
8991 validate: bool,
8992 ) -> alloy_sol_types::Result<StakeTableCalls> {
8993 <UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_decode_raw(
8994 data,
8995 validate,
8996 )
8997 .map(StakeTableCalls::UPGRADE_INTERFACE_VERSION)
8998 }
8999 UPGRADE_INTERFACE_VERSION
9000 },
9001 {
9002 fn blsKeys(
9003 data: &[u8],
9004 validate: bool,
9005 ) -> alloy_sol_types::Result<StakeTableCalls> {
9006 <blsKeysCall as alloy_sol_types::SolCall>::abi_decode_raw(
9007 data,
9008 validate,
9009 )
9010 .map(StakeTableCalls::blsKeys)
9011 }
9012 blsKeys
9013 },
9014 {
9015 fn lightClient(
9016 data: &[u8],
9017 validate: bool,
9018 ) -> alloy_sol_types::Result<StakeTableCalls> {
9019 <lightClientCall as alloy_sol_types::SolCall>::abi_decode_raw(
9020 data,
9021 validate,
9022 )
9023 .map(StakeTableCalls::lightClient)
9024 }
9025 lightClient
9026 },
9027 {
9028 fn validatorExits(
9029 data: &[u8],
9030 validate: bool,
9031 ) -> alloy_sol_types::Result<StakeTableCalls> {
9032 <validatorExitsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9033 data,
9034 validate,
9035 )
9036 .map(StakeTableCalls::validatorExits)
9037 }
9038 validatorExits
9039 },
9040 {
9041 fn initialize(
9042 data: &[u8],
9043 validate: bool,
9044 ) -> alloy_sol_types::Result<StakeTableCalls> {
9045 <initializeCall as alloy_sol_types::SolCall>::abi_decode_raw(
9046 data,
9047 validate,
9048 )
9049 .map(StakeTableCalls::initialize)
9050 }
9051 initialize
9052 },
9053 {
9054 fn delegations(
9055 data: &[u8],
9056 validate: bool,
9057 ) -> alloy_sol_types::Result<StakeTableCalls> {
9058 <delegationsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9059 data,
9060 validate,
9061 )
9062 .map(StakeTableCalls::delegations)
9063 }
9064 delegations
9065 },
9066 {
9067 fn transferOwnership(
9068 data: &[u8],
9069 validate: bool,
9070 ) -> alloy_sol_types::Result<StakeTableCalls> {
9071 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
9072 data,
9073 validate,
9074 )
9075 .map(StakeTableCalls::transferOwnership)
9076 }
9077 transferOwnership
9078 },
9079 {
9080 fn validators(
9081 data: &[u8],
9082 validate: bool,
9083 ) -> alloy_sol_types::Result<StakeTableCalls> {
9084 <validatorsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9085 data,
9086 validate,
9087 )
9088 .map(StakeTableCalls::validators)
9089 }
9090 validators
9091 },
9092 {
9093 fn token(
9094 data: &[u8],
9095 validate: bool,
9096 ) -> alloy_sol_types::Result<StakeTableCalls> {
9097 <tokenCall as alloy_sol_types::SolCall>::abi_decode_raw(
9098 data,
9099 validate,
9100 )
9101 .map(StakeTableCalls::token)
9102 }
9103 token
9104 },
9105 ];
9106 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
9107 return Err(
9108 alloy_sol_types::Error::unknown_selector(
9109 <Self as alloy_sol_types::SolInterface>::NAME,
9110 selector,
9111 ),
9112 );
9113 };
9114 DECODE_SHIMS[idx](data, validate)
9115 }
9116 #[inline]
9117 fn abi_encoded_size(&self) -> usize {
9118 match self {
9119 Self::UPGRADE_INTERFACE_VERSION(inner) => {
9120 <UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_encoded_size(
9121 inner,
9122 )
9123 }
9124 Self::_hashBlsKey(inner) => {
9125 <_hashBlsKeyCall as alloy_sol_types::SolCall>::abi_encoded_size(
9126 inner,
9127 )
9128 }
9129 Self::blsKeys(inner) => {
9130 <blsKeysCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9131 }
9132 Self::claimValidatorExit(inner) => {
9133 <claimValidatorExitCall as alloy_sol_types::SolCall>::abi_encoded_size(
9134 inner,
9135 )
9136 }
9137 Self::claimWithdrawal(inner) => {
9138 <claimWithdrawalCall as alloy_sol_types::SolCall>::abi_encoded_size(
9139 inner,
9140 )
9141 }
9142 Self::delegate(inner) => {
9143 <delegateCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9144 }
9145 Self::delegations(inner) => {
9146 <delegationsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9147 inner,
9148 )
9149 }
9150 Self::deregisterValidator(inner) => {
9151 <deregisterValidatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
9152 inner,
9153 )
9154 }
9155 Self::exitEscrowPeriod(inner) => {
9156 <exitEscrowPeriodCall as alloy_sol_types::SolCall>::abi_encoded_size(
9157 inner,
9158 )
9159 }
9160 Self::getVersion(inner) => {
9161 <getVersionCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9162 }
9163 Self::initialize(inner) => {
9164 <initializeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9165 }
9166 Self::initializedAtBlock(inner) => {
9167 <initializedAtBlockCall as alloy_sol_types::SolCall>::abi_encoded_size(
9168 inner,
9169 )
9170 }
9171 Self::lightClient(inner) => {
9172 <lightClientCall as alloy_sol_types::SolCall>::abi_encoded_size(
9173 inner,
9174 )
9175 }
9176 Self::owner(inner) => {
9177 <ownerCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9178 }
9179 Self::proxiableUUID(inner) => {
9180 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_encoded_size(
9181 inner,
9182 )
9183 }
9184 Self::registerValidator(inner) => {
9185 <registerValidatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
9186 inner,
9187 )
9188 }
9189 Self::renounceOwnership(inner) => {
9190 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
9191 inner,
9192 )
9193 }
9194 Self::token(inner) => {
9195 <tokenCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9196 }
9197 Self::transferOwnership(inner) => {
9198 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
9199 inner,
9200 )
9201 }
9202 Self::undelegate(inner) => {
9203 <undelegateCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9204 }
9205 Self::undelegations(inner) => {
9206 <undelegationsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9207 inner,
9208 )
9209 }
9210 Self::updateConsensusKeys(inner) => {
9211 <updateConsensusKeysCall as alloy_sol_types::SolCall>::abi_encoded_size(
9212 inner,
9213 )
9214 }
9215 Self::upgradeToAndCall(inner) => {
9216 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_encoded_size(
9217 inner,
9218 )
9219 }
9220 Self::validatorExits(inner) => {
9221 <validatorExitsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9222 inner,
9223 )
9224 }
9225 Self::validators(inner) => {
9226 <validatorsCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9227 }
9228 }
9229 }
9230 #[inline]
9231 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
9232 match self {
9233 Self::UPGRADE_INTERFACE_VERSION(inner) => {
9234 <UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_encode_raw(
9235 inner,
9236 out,
9237 )
9238 }
9239 Self::_hashBlsKey(inner) => {
9240 <_hashBlsKeyCall as alloy_sol_types::SolCall>::abi_encode_raw(
9241 inner,
9242 out,
9243 )
9244 }
9245 Self::blsKeys(inner) => {
9246 <blsKeysCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
9247 }
9248 Self::claimValidatorExit(inner) => {
9249 <claimValidatorExitCall as alloy_sol_types::SolCall>::abi_encode_raw(
9250 inner,
9251 out,
9252 )
9253 }
9254 Self::claimWithdrawal(inner) => {
9255 <claimWithdrawalCall as alloy_sol_types::SolCall>::abi_encode_raw(
9256 inner,
9257 out,
9258 )
9259 }
9260 Self::delegate(inner) => {
9261 <delegateCall as alloy_sol_types::SolCall>::abi_encode_raw(
9262 inner,
9263 out,
9264 )
9265 }
9266 Self::delegations(inner) => {
9267 <delegationsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9268 inner,
9269 out,
9270 )
9271 }
9272 Self::deregisterValidator(inner) => {
9273 <deregisterValidatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
9274 inner,
9275 out,
9276 )
9277 }
9278 Self::exitEscrowPeriod(inner) => {
9279 <exitEscrowPeriodCall as alloy_sol_types::SolCall>::abi_encode_raw(
9280 inner,
9281 out,
9282 )
9283 }
9284 Self::getVersion(inner) => {
9285 <getVersionCall as alloy_sol_types::SolCall>::abi_encode_raw(
9286 inner,
9287 out,
9288 )
9289 }
9290 Self::initialize(inner) => {
9291 <initializeCall as alloy_sol_types::SolCall>::abi_encode_raw(
9292 inner,
9293 out,
9294 )
9295 }
9296 Self::initializedAtBlock(inner) => {
9297 <initializedAtBlockCall as alloy_sol_types::SolCall>::abi_encode_raw(
9298 inner,
9299 out,
9300 )
9301 }
9302 Self::lightClient(inner) => {
9303 <lightClientCall as alloy_sol_types::SolCall>::abi_encode_raw(
9304 inner,
9305 out,
9306 )
9307 }
9308 Self::owner(inner) => {
9309 <ownerCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
9310 }
9311 Self::proxiableUUID(inner) => {
9312 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_encode_raw(
9313 inner,
9314 out,
9315 )
9316 }
9317 Self::registerValidator(inner) => {
9318 <registerValidatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
9319 inner,
9320 out,
9321 )
9322 }
9323 Self::renounceOwnership(inner) => {
9324 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
9325 inner,
9326 out,
9327 )
9328 }
9329 Self::token(inner) => {
9330 <tokenCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
9331 }
9332 Self::transferOwnership(inner) => {
9333 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
9334 inner,
9335 out,
9336 )
9337 }
9338 Self::undelegate(inner) => {
9339 <undelegateCall as alloy_sol_types::SolCall>::abi_encode_raw(
9340 inner,
9341 out,
9342 )
9343 }
9344 Self::undelegations(inner) => {
9345 <undelegationsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9346 inner,
9347 out,
9348 )
9349 }
9350 Self::updateConsensusKeys(inner) => {
9351 <updateConsensusKeysCall as alloy_sol_types::SolCall>::abi_encode_raw(
9352 inner,
9353 out,
9354 )
9355 }
9356 Self::upgradeToAndCall(inner) => {
9357 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_encode_raw(
9358 inner,
9359 out,
9360 )
9361 }
9362 Self::validatorExits(inner) => {
9363 <validatorExitsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9364 inner,
9365 out,
9366 )
9367 }
9368 Self::validators(inner) => {
9369 <validatorsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9370 inner,
9371 out,
9372 )
9373 }
9374 }
9375 }
9376 }
9377 #[derive(Debug, PartialEq, Eq, Hash)]
9379 pub enum StakeTableErrors {
9380 #[allow(missing_docs)]
9381 AddressEmptyCode(AddressEmptyCode),
9382 #[allow(missing_docs)]
9383 BLSSigVerificationFailed(BLSSigVerificationFailed),
9384 #[allow(missing_docs)]
9385 BlsKeyAlreadyUsed(BlsKeyAlreadyUsed),
9386 #[allow(missing_docs)]
9387 ERC1967InvalidImplementation(ERC1967InvalidImplementation),
9388 #[allow(missing_docs)]
9389 ERC1967NonPayable(ERC1967NonPayable),
9390 #[allow(missing_docs)]
9391 FailedInnerCall(FailedInnerCall),
9392 #[allow(missing_docs)]
9393 InsufficientAllowance(InsufficientAllowance),
9394 #[allow(missing_docs)]
9395 InsufficientBalance(InsufficientBalance),
9396 #[allow(missing_docs)]
9397 InvalidCommission(InvalidCommission),
9398 #[allow(missing_docs)]
9399 InvalidInitialization(InvalidInitialization),
9400 #[allow(missing_docs)]
9401 InvalidSchnorrVK(InvalidSchnorrVK),
9402 #[allow(missing_docs)]
9403 NotInitializing(NotInitializing),
9404 #[allow(missing_docs)]
9405 NothingToWithdraw(NothingToWithdraw),
9406 #[allow(missing_docs)]
9407 OwnableInvalidOwner(OwnableInvalidOwner),
9408 #[allow(missing_docs)]
9409 OwnableUnauthorizedAccount(OwnableUnauthorizedAccount),
9410 #[allow(missing_docs)]
9411 PrematureWithdrawal(PrematureWithdrawal),
9412 #[allow(missing_docs)]
9413 UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext),
9414 #[allow(missing_docs)]
9415 UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID),
9416 #[allow(missing_docs)]
9417 UndelegationAlreadyExists(UndelegationAlreadyExists),
9418 #[allow(missing_docs)]
9419 ValidatorAlreadyExited(ValidatorAlreadyExited),
9420 #[allow(missing_docs)]
9421 ValidatorAlreadyRegistered(ValidatorAlreadyRegistered),
9422 #[allow(missing_docs)]
9423 ValidatorInactive(ValidatorInactive),
9424 #[allow(missing_docs)]
9425 ValidatorNotExited(ValidatorNotExited),
9426 #[allow(missing_docs)]
9427 ZeroAddress(ZeroAddress),
9428 #[allow(missing_docs)]
9429 ZeroAmount(ZeroAmount),
9430 }
9431 #[automatically_derived]
9432 impl StakeTableErrors {
9433 pub const SELECTORS: &'static [[u8; 4usize]] = &[
9440 [1u8, 181u8, 20u8, 174u8],
9441 [6u8, 207u8, 67u8, 143u8],
9442 [12u8, 237u8, 62u8, 80u8],
9443 [17u8, 140u8, 218u8, 167u8],
9444 [20u8, 37u8, 234u8, 66u8],
9445 [30u8, 79u8, 189u8, 247u8],
9446 [31u8, 42u8, 32u8, 5u8],
9447 [42u8, 27u8, 45u8, 216u8],
9448 [76u8, 156u8, 140u8, 227u8],
9449 [80u8, 138u8, 121u8, 63u8],
9450 [90u8, 119u8, 67u8, 87u8],
9451 [146u8, 102u8, 83u8, 81u8],
9452 [153u8, 115u8, 247u8, 216u8],
9453 [153u8, 150u8, 179u8, 21u8],
9454 [170u8, 29u8, 73u8, 164u8],
9455 [179u8, 152u8, 151u8, 159u8],
9456 [208u8, 208u8, 79u8, 96u8],
9457 [212u8, 35u8, 164u8, 241u8],
9458 [215u8, 230u8, 188u8, 248u8],
9459 [217u8, 46u8, 35u8, 61u8],
9460 [220u8, 129u8, 219u8, 133u8],
9461 [224u8, 124u8, 141u8, 186u8],
9462 [234u8, 180u8, 169u8, 99u8],
9463 [242u8, 83u8, 20u8, 166u8],
9464 [249u8, 46u8, 232u8, 169u8],
9465 ];
9466 }
9467 #[automatically_derived]
9468 impl alloy_sol_types::SolInterface for StakeTableErrors {
9469 const NAME: &'static str = "StakeTableErrors";
9470 const MIN_DATA_LENGTH: usize = 0usize;
9471 const COUNT: usize = 25usize;
9472 #[inline]
9473 fn selector(&self) -> [u8; 4] {
9474 match self {
9475 Self::AddressEmptyCode(_) => {
9476 <AddressEmptyCode as alloy_sol_types::SolError>::SELECTOR
9477 }
9478 Self::BLSSigVerificationFailed(_) => {
9479 <BLSSigVerificationFailed as alloy_sol_types::SolError>::SELECTOR
9480 }
9481 Self::BlsKeyAlreadyUsed(_) => {
9482 <BlsKeyAlreadyUsed as alloy_sol_types::SolError>::SELECTOR
9483 }
9484 Self::ERC1967InvalidImplementation(_) => {
9485 <ERC1967InvalidImplementation as alloy_sol_types::SolError>::SELECTOR
9486 }
9487 Self::ERC1967NonPayable(_) => {
9488 <ERC1967NonPayable as alloy_sol_types::SolError>::SELECTOR
9489 }
9490 Self::FailedInnerCall(_) => {
9491 <FailedInnerCall as alloy_sol_types::SolError>::SELECTOR
9492 }
9493 Self::InsufficientAllowance(_) => {
9494 <InsufficientAllowance as alloy_sol_types::SolError>::SELECTOR
9495 }
9496 Self::InsufficientBalance(_) => {
9497 <InsufficientBalance as alloy_sol_types::SolError>::SELECTOR
9498 }
9499 Self::InvalidCommission(_) => {
9500 <InvalidCommission as alloy_sol_types::SolError>::SELECTOR
9501 }
9502 Self::InvalidInitialization(_) => {
9503 <InvalidInitialization as alloy_sol_types::SolError>::SELECTOR
9504 }
9505 Self::InvalidSchnorrVK(_) => {
9506 <InvalidSchnorrVK as alloy_sol_types::SolError>::SELECTOR
9507 }
9508 Self::NotInitializing(_) => {
9509 <NotInitializing as alloy_sol_types::SolError>::SELECTOR
9510 }
9511 Self::NothingToWithdraw(_) => {
9512 <NothingToWithdraw as alloy_sol_types::SolError>::SELECTOR
9513 }
9514 Self::OwnableInvalidOwner(_) => {
9515 <OwnableInvalidOwner as alloy_sol_types::SolError>::SELECTOR
9516 }
9517 Self::OwnableUnauthorizedAccount(_) => {
9518 <OwnableUnauthorizedAccount as alloy_sol_types::SolError>::SELECTOR
9519 }
9520 Self::PrematureWithdrawal(_) => {
9521 <PrematureWithdrawal as alloy_sol_types::SolError>::SELECTOR
9522 }
9523 Self::UUPSUnauthorizedCallContext(_) => {
9524 <UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::SELECTOR
9525 }
9526 Self::UUPSUnsupportedProxiableUUID(_) => {
9527 <UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::SELECTOR
9528 }
9529 Self::UndelegationAlreadyExists(_) => {
9530 <UndelegationAlreadyExists as alloy_sol_types::SolError>::SELECTOR
9531 }
9532 Self::ValidatorAlreadyExited(_) => {
9533 <ValidatorAlreadyExited as alloy_sol_types::SolError>::SELECTOR
9534 }
9535 Self::ValidatorAlreadyRegistered(_) => {
9536 <ValidatorAlreadyRegistered as alloy_sol_types::SolError>::SELECTOR
9537 }
9538 Self::ValidatorInactive(_) => {
9539 <ValidatorInactive as alloy_sol_types::SolError>::SELECTOR
9540 }
9541 Self::ValidatorNotExited(_) => {
9542 <ValidatorNotExited as alloy_sol_types::SolError>::SELECTOR
9543 }
9544 Self::ZeroAddress(_) => {
9545 <ZeroAddress as alloy_sol_types::SolError>::SELECTOR
9546 }
9547 Self::ZeroAmount(_) => {
9548 <ZeroAmount as alloy_sol_types::SolError>::SELECTOR
9549 }
9550 }
9551 }
9552 #[inline]
9553 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
9554 Self::SELECTORS.get(i).copied()
9555 }
9556 #[inline]
9557 fn valid_selector(selector: [u8; 4]) -> bool {
9558 Self::SELECTORS.binary_search(&selector).is_ok()
9559 }
9560 #[inline]
9561 #[allow(non_snake_case)]
9562 fn abi_decode_raw(
9563 selector: [u8; 4],
9564 data: &[u8],
9565 validate: bool,
9566 ) -> alloy_sol_types::Result<Self> {
9567 static DECODE_SHIMS: &[fn(
9568 &[u8],
9569 bool,
9570 ) -> alloy_sol_types::Result<StakeTableErrors>] = &[
9571 {
9572 fn BlsKeyAlreadyUsed(
9573 data: &[u8],
9574 validate: bool,
9575 ) -> alloy_sol_types::Result<StakeTableErrors> {
9576 <BlsKeyAlreadyUsed as alloy_sol_types::SolError>::abi_decode_raw(
9577 data,
9578 validate,
9579 )
9580 .map(StakeTableErrors::BlsKeyAlreadyUsed)
9581 }
9582 BlsKeyAlreadyUsed
9583 },
9584 {
9585 fn InvalidSchnorrVK(
9586 data: &[u8],
9587 validate: bool,
9588 ) -> alloy_sol_types::Result<StakeTableErrors> {
9589 <InvalidSchnorrVK as alloy_sol_types::SolError>::abi_decode_raw(
9590 data,
9591 validate,
9592 )
9593 .map(StakeTableErrors::InvalidSchnorrVK)
9594 }
9595 InvalidSchnorrVK
9596 },
9597 {
9598 fn BLSSigVerificationFailed(
9599 data: &[u8],
9600 validate: bool,
9601 ) -> alloy_sol_types::Result<StakeTableErrors> {
9602 <BLSSigVerificationFailed as alloy_sol_types::SolError>::abi_decode_raw(
9603 data,
9604 validate,
9605 )
9606 .map(StakeTableErrors::BLSSigVerificationFailed)
9607 }
9608 BLSSigVerificationFailed
9609 },
9610 {
9611 fn OwnableUnauthorizedAccount(
9612 data: &[u8],
9613 validate: bool,
9614 ) -> alloy_sol_types::Result<StakeTableErrors> {
9615 <OwnableUnauthorizedAccount as alloy_sol_types::SolError>::abi_decode_raw(
9616 data,
9617 validate,
9618 )
9619 .map(StakeTableErrors::OwnableUnauthorizedAccount)
9620 }
9621 OwnableUnauthorizedAccount
9622 },
9623 {
9624 fn FailedInnerCall(
9625 data: &[u8],
9626 validate: bool,
9627 ) -> alloy_sol_types::Result<StakeTableErrors> {
9628 <FailedInnerCall as alloy_sol_types::SolError>::abi_decode_raw(
9629 data,
9630 validate,
9631 )
9632 .map(StakeTableErrors::FailedInnerCall)
9633 }
9634 FailedInnerCall
9635 },
9636 {
9637 fn OwnableInvalidOwner(
9638 data: &[u8],
9639 validate: bool,
9640 ) -> alloy_sol_types::Result<StakeTableErrors> {
9641 <OwnableInvalidOwner as alloy_sol_types::SolError>::abi_decode_raw(
9642 data,
9643 validate,
9644 )
9645 .map(StakeTableErrors::OwnableInvalidOwner)
9646 }
9647 OwnableInvalidOwner
9648 },
9649 {
9650 fn ZeroAmount(
9651 data: &[u8],
9652 validate: bool,
9653 ) -> alloy_sol_types::Result<StakeTableErrors> {
9654 <ZeroAmount as alloy_sol_types::SolError>::abi_decode_raw(
9655 data,
9656 validate,
9657 )
9658 .map(StakeTableErrors::ZeroAmount)
9659 }
9660 ZeroAmount
9661 },
9662 {
9663 fn InsufficientAllowance(
9664 data: &[u8],
9665 validate: bool,
9666 ) -> alloy_sol_types::Result<StakeTableErrors> {
9667 <InsufficientAllowance as alloy_sol_types::SolError>::abi_decode_raw(
9668 data,
9669 validate,
9670 )
9671 .map(StakeTableErrors::InsufficientAllowance)
9672 }
9673 InsufficientAllowance
9674 },
9675 {
9676 fn ERC1967InvalidImplementation(
9677 data: &[u8],
9678 validate: bool,
9679 ) -> alloy_sol_types::Result<StakeTableErrors> {
9680 <ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_decode_raw(
9681 data,
9682 validate,
9683 )
9684 .map(StakeTableErrors::ERC1967InvalidImplementation)
9685 }
9686 ERC1967InvalidImplementation
9687 },
9688 {
9689 fn ValidatorInactive(
9690 data: &[u8],
9691 validate: bool,
9692 ) -> alloy_sol_types::Result<StakeTableErrors> {
9693 <ValidatorInactive as alloy_sol_types::SolError>::abi_decode_raw(
9694 data,
9695 validate,
9696 )
9697 .map(StakeTableErrors::ValidatorInactive)
9698 }
9699 ValidatorInactive
9700 },
9701 {
9702 fn PrematureWithdrawal(
9703 data: &[u8],
9704 validate: bool,
9705 ) -> alloy_sol_types::Result<StakeTableErrors> {
9706 <PrematureWithdrawal as alloy_sol_types::SolError>::abi_decode_raw(
9707 data,
9708 validate,
9709 )
9710 .map(StakeTableErrors::PrematureWithdrawal)
9711 }
9712 PrematureWithdrawal
9713 },
9714 {
9715 fn InsufficientBalance(
9716 data: &[u8],
9717 validate: bool,
9718 ) -> alloy_sol_types::Result<StakeTableErrors> {
9719 <InsufficientBalance as alloy_sol_types::SolError>::abi_decode_raw(
9720 data,
9721 validate,
9722 )
9723 .map(StakeTableErrors::InsufficientBalance)
9724 }
9725 InsufficientBalance
9726 },
9727 {
9728 fn ValidatorAlreadyRegistered(
9729 data: &[u8],
9730 validate: bool,
9731 ) -> alloy_sol_types::Result<StakeTableErrors> {
9732 <ValidatorAlreadyRegistered as alloy_sol_types::SolError>::abi_decode_raw(
9733 data,
9734 validate,
9735 )
9736 .map(StakeTableErrors::ValidatorAlreadyRegistered)
9737 }
9738 ValidatorAlreadyRegistered
9739 },
9740 {
9741 fn AddressEmptyCode(
9742 data: &[u8],
9743 validate: bool,
9744 ) -> alloy_sol_types::Result<StakeTableErrors> {
9745 <AddressEmptyCode as alloy_sol_types::SolError>::abi_decode_raw(
9746 data,
9747 validate,
9748 )
9749 .map(StakeTableErrors::AddressEmptyCode)
9750 }
9751 AddressEmptyCode
9752 },
9753 {
9754 fn UUPSUnsupportedProxiableUUID(
9755 data: &[u8],
9756 validate: bool,
9757 ) -> alloy_sol_types::Result<StakeTableErrors> {
9758 <UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_decode_raw(
9759 data,
9760 validate,
9761 )
9762 .map(StakeTableErrors::UUPSUnsupportedProxiableUUID)
9763 }
9764 UUPSUnsupportedProxiableUUID
9765 },
9766 {
9767 fn ERC1967NonPayable(
9768 data: &[u8],
9769 validate: bool,
9770 ) -> alloy_sol_types::Result<StakeTableErrors> {
9771 <ERC1967NonPayable as alloy_sol_types::SolError>::abi_decode_raw(
9772 data,
9773 validate,
9774 )
9775 .map(StakeTableErrors::ERC1967NonPayable)
9776 }
9777 ERC1967NonPayable
9778 },
9779 {
9780 fn NothingToWithdraw(
9781 data: &[u8],
9782 validate: bool,
9783 ) -> alloy_sol_types::Result<StakeTableErrors> {
9784 <NothingToWithdraw as alloy_sol_types::SolError>::abi_decode_raw(
9785 data,
9786 validate,
9787 )
9788 .map(StakeTableErrors::NothingToWithdraw)
9789 }
9790 NothingToWithdraw
9791 },
9792 {
9793 fn UndelegationAlreadyExists(
9794 data: &[u8],
9795 validate: bool,
9796 ) -> alloy_sol_types::Result<StakeTableErrors> {
9797 <UndelegationAlreadyExists as alloy_sol_types::SolError>::abi_decode_raw(
9798 data,
9799 validate,
9800 )
9801 .map(StakeTableErrors::UndelegationAlreadyExists)
9802 }
9803 UndelegationAlreadyExists
9804 },
9805 {
9806 fn NotInitializing(
9807 data: &[u8],
9808 validate: bool,
9809 ) -> alloy_sol_types::Result<StakeTableErrors> {
9810 <NotInitializing as alloy_sol_types::SolError>::abi_decode_raw(
9811 data,
9812 validate,
9813 )
9814 .map(StakeTableErrors::NotInitializing)
9815 }
9816 NotInitializing
9817 },
9818 {
9819 fn ZeroAddress(
9820 data: &[u8],
9821 validate: bool,
9822 ) -> alloy_sol_types::Result<StakeTableErrors> {
9823 <ZeroAddress as alloy_sol_types::SolError>::abi_decode_raw(
9824 data,
9825 validate,
9826 )
9827 .map(StakeTableErrors::ZeroAddress)
9828 }
9829 ZeroAddress
9830 },
9831 {
9832 fn InvalidCommission(
9833 data: &[u8],
9834 validate: bool,
9835 ) -> alloy_sol_types::Result<StakeTableErrors> {
9836 <InvalidCommission as alloy_sol_types::SolError>::abi_decode_raw(
9837 data,
9838 validate,
9839 )
9840 .map(StakeTableErrors::InvalidCommission)
9841 }
9842 InvalidCommission
9843 },
9844 {
9845 fn UUPSUnauthorizedCallContext(
9846 data: &[u8],
9847 validate: bool,
9848 ) -> alloy_sol_types::Result<StakeTableErrors> {
9849 <UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_decode_raw(
9850 data,
9851 validate,
9852 )
9853 .map(StakeTableErrors::UUPSUnauthorizedCallContext)
9854 }
9855 UUPSUnauthorizedCallContext
9856 },
9857 {
9858 fn ValidatorAlreadyExited(
9859 data: &[u8],
9860 validate: bool,
9861 ) -> alloy_sol_types::Result<StakeTableErrors> {
9862 <ValidatorAlreadyExited as alloy_sol_types::SolError>::abi_decode_raw(
9863 data,
9864 validate,
9865 )
9866 .map(StakeTableErrors::ValidatorAlreadyExited)
9867 }
9868 ValidatorAlreadyExited
9869 },
9870 {
9871 fn ValidatorNotExited(
9872 data: &[u8],
9873 validate: bool,
9874 ) -> alloy_sol_types::Result<StakeTableErrors> {
9875 <ValidatorNotExited as alloy_sol_types::SolError>::abi_decode_raw(
9876 data,
9877 validate,
9878 )
9879 .map(StakeTableErrors::ValidatorNotExited)
9880 }
9881 ValidatorNotExited
9882 },
9883 {
9884 fn InvalidInitialization(
9885 data: &[u8],
9886 validate: bool,
9887 ) -> alloy_sol_types::Result<StakeTableErrors> {
9888 <InvalidInitialization as alloy_sol_types::SolError>::abi_decode_raw(
9889 data,
9890 validate,
9891 )
9892 .map(StakeTableErrors::InvalidInitialization)
9893 }
9894 InvalidInitialization
9895 },
9896 ];
9897 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
9898 return Err(
9899 alloy_sol_types::Error::unknown_selector(
9900 <Self as alloy_sol_types::SolInterface>::NAME,
9901 selector,
9902 ),
9903 );
9904 };
9905 DECODE_SHIMS[idx](data, validate)
9906 }
9907 #[inline]
9908 fn abi_encoded_size(&self) -> usize {
9909 match self {
9910 Self::AddressEmptyCode(inner) => {
9911 <AddressEmptyCode as alloy_sol_types::SolError>::abi_encoded_size(
9912 inner,
9913 )
9914 }
9915 Self::BLSSigVerificationFailed(inner) => {
9916 <BLSSigVerificationFailed as alloy_sol_types::SolError>::abi_encoded_size(
9917 inner,
9918 )
9919 }
9920 Self::BlsKeyAlreadyUsed(inner) => {
9921 <BlsKeyAlreadyUsed as alloy_sol_types::SolError>::abi_encoded_size(
9922 inner,
9923 )
9924 }
9925 Self::ERC1967InvalidImplementation(inner) => {
9926 <ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_encoded_size(
9927 inner,
9928 )
9929 }
9930 Self::ERC1967NonPayable(inner) => {
9931 <ERC1967NonPayable as alloy_sol_types::SolError>::abi_encoded_size(
9932 inner,
9933 )
9934 }
9935 Self::FailedInnerCall(inner) => {
9936 <FailedInnerCall as alloy_sol_types::SolError>::abi_encoded_size(
9937 inner,
9938 )
9939 }
9940 Self::InsufficientAllowance(inner) => {
9941 <InsufficientAllowance as alloy_sol_types::SolError>::abi_encoded_size(
9942 inner,
9943 )
9944 }
9945 Self::InsufficientBalance(inner) => {
9946 <InsufficientBalance as alloy_sol_types::SolError>::abi_encoded_size(
9947 inner,
9948 )
9949 }
9950 Self::InvalidCommission(inner) => {
9951 <InvalidCommission as alloy_sol_types::SolError>::abi_encoded_size(
9952 inner,
9953 )
9954 }
9955 Self::InvalidInitialization(inner) => {
9956 <InvalidInitialization as alloy_sol_types::SolError>::abi_encoded_size(
9957 inner,
9958 )
9959 }
9960 Self::InvalidSchnorrVK(inner) => {
9961 <InvalidSchnorrVK as alloy_sol_types::SolError>::abi_encoded_size(
9962 inner,
9963 )
9964 }
9965 Self::NotInitializing(inner) => {
9966 <NotInitializing as alloy_sol_types::SolError>::abi_encoded_size(
9967 inner,
9968 )
9969 }
9970 Self::NothingToWithdraw(inner) => {
9971 <NothingToWithdraw as alloy_sol_types::SolError>::abi_encoded_size(
9972 inner,
9973 )
9974 }
9975 Self::OwnableInvalidOwner(inner) => {
9976 <OwnableInvalidOwner as alloy_sol_types::SolError>::abi_encoded_size(
9977 inner,
9978 )
9979 }
9980 Self::OwnableUnauthorizedAccount(inner) => {
9981 <OwnableUnauthorizedAccount as alloy_sol_types::SolError>::abi_encoded_size(
9982 inner,
9983 )
9984 }
9985 Self::PrematureWithdrawal(inner) => {
9986 <PrematureWithdrawal as alloy_sol_types::SolError>::abi_encoded_size(
9987 inner,
9988 )
9989 }
9990 Self::UUPSUnauthorizedCallContext(inner) => {
9991 <UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_encoded_size(
9992 inner,
9993 )
9994 }
9995 Self::UUPSUnsupportedProxiableUUID(inner) => {
9996 <UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_encoded_size(
9997 inner,
9998 )
9999 }
10000 Self::UndelegationAlreadyExists(inner) => {
10001 <UndelegationAlreadyExists as alloy_sol_types::SolError>::abi_encoded_size(
10002 inner,
10003 )
10004 }
10005 Self::ValidatorAlreadyExited(inner) => {
10006 <ValidatorAlreadyExited as alloy_sol_types::SolError>::abi_encoded_size(
10007 inner,
10008 )
10009 }
10010 Self::ValidatorAlreadyRegistered(inner) => {
10011 <ValidatorAlreadyRegistered as alloy_sol_types::SolError>::abi_encoded_size(
10012 inner,
10013 )
10014 }
10015 Self::ValidatorInactive(inner) => {
10016 <ValidatorInactive as alloy_sol_types::SolError>::abi_encoded_size(
10017 inner,
10018 )
10019 }
10020 Self::ValidatorNotExited(inner) => {
10021 <ValidatorNotExited as alloy_sol_types::SolError>::abi_encoded_size(
10022 inner,
10023 )
10024 }
10025 Self::ZeroAddress(inner) => {
10026 <ZeroAddress as alloy_sol_types::SolError>::abi_encoded_size(inner)
10027 }
10028 Self::ZeroAmount(inner) => {
10029 <ZeroAmount as alloy_sol_types::SolError>::abi_encoded_size(inner)
10030 }
10031 }
10032 }
10033 #[inline]
10034 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
10035 match self {
10036 Self::AddressEmptyCode(inner) => {
10037 <AddressEmptyCode as alloy_sol_types::SolError>::abi_encode_raw(
10038 inner,
10039 out,
10040 )
10041 }
10042 Self::BLSSigVerificationFailed(inner) => {
10043 <BLSSigVerificationFailed as alloy_sol_types::SolError>::abi_encode_raw(
10044 inner,
10045 out,
10046 )
10047 }
10048 Self::BlsKeyAlreadyUsed(inner) => {
10049 <BlsKeyAlreadyUsed as alloy_sol_types::SolError>::abi_encode_raw(
10050 inner,
10051 out,
10052 )
10053 }
10054 Self::ERC1967InvalidImplementation(inner) => {
10055 <ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_encode_raw(
10056 inner,
10057 out,
10058 )
10059 }
10060 Self::ERC1967NonPayable(inner) => {
10061 <ERC1967NonPayable as alloy_sol_types::SolError>::abi_encode_raw(
10062 inner,
10063 out,
10064 )
10065 }
10066 Self::FailedInnerCall(inner) => {
10067 <FailedInnerCall as alloy_sol_types::SolError>::abi_encode_raw(
10068 inner,
10069 out,
10070 )
10071 }
10072 Self::InsufficientAllowance(inner) => {
10073 <InsufficientAllowance as alloy_sol_types::SolError>::abi_encode_raw(
10074 inner,
10075 out,
10076 )
10077 }
10078 Self::InsufficientBalance(inner) => {
10079 <InsufficientBalance as alloy_sol_types::SolError>::abi_encode_raw(
10080 inner,
10081 out,
10082 )
10083 }
10084 Self::InvalidCommission(inner) => {
10085 <InvalidCommission as alloy_sol_types::SolError>::abi_encode_raw(
10086 inner,
10087 out,
10088 )
10089 }
10090 Self::InvalidInitialization(inner) => {
10091 <InvalidInitialization as alloy_sol_types::SolError>::abi_encode_raw(
10092 inner,
10093 out,
10094 )
10095 }
10096 Self::InvalidSchnorrVK(inner) => {
10097 <InvalidSchnorrVK as alloy_sol_types::SolError>::abi_encode_raw(
10098 inner,
10099 out,
10100 )
10101 }
10102 Self::NotInitializing(inner) => {
10103 <NotInitializing as alloy_sol_types::SolError>::abi_encode_raw(
10104 inner,
10105 out,
10106 )
10107 }
10108 Self::NothingToWithdraw(inner) => {
10109 <NothingToWithdraw as alloy_sol_types::SolError>::abi_encode_raw(
10110 inner,
10111 out,
10112 )
10113 }
10114 Self::OwnableInvalidOwner(inner) => {
10115 <OwnableInvalidOwner as alloy_sol_types::SolError>::abi_encode_raw(
10116 inner,
10117 out,
10118 )
10119 }
10120 Self::OwnableUnauthorizedAccount(inner) => {
10121 <OwnableUnauthorizedAccount as alloy_sol_types::SolError>::abi_encode_raw(
10122 inner,
10123 out,
10124 )
10125 }
10126 Self::PrematureWithdrawal(inner) => {
10127 <PrematureWithdrawal as alloy_sol_types::SolError>::abi_encode_raw(
10128 inner,
10129 out,
10130 )
10131 }
10132 Self::UUPSUnauthorizedCallContext(inner) => {
10133 <UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_encode_raw(
10134 inner,
10135 out,
10136 )
10137 }
10138 Self::UUPSUnsupportedProxiableUUID(inner) => {
10139 <UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_encode_raw(
10140 inner,
10141 out,
10142 )
10143 }
10144 Self::UndelegationAlreadyExists(inner) => {
10145 <UndelegationAlreadyExists as alloy_sol_types::SolError>::abi_encode_raw(
10146 inner,
10147 out,
10148 )
10149 }
10150 Self::ValidatorAlreadyExited(inner) => {
10151 <ValidatorAlreadyExited as alloy_sol_types::SolError>::abi_encode_raw(
10152 inner,
10153 out,
10154 )
10155 }
10156 Self::ValidatorAlreadyRegistered(inner) => {
10157 <ValidatorAlreadyRegistered as alloy_sol_types::SolError>::abi_encode_raw(
10158 inner,
10159 out,
10160 )
10161 }
10162 Self::ValidatorInactive(inner) => {
10163 <ValidatorInactive as alloy_sol_types::SolError>::abi_encode_raw(
10164 inner,
10165 out,
10166 )
10167 }
10168 Self::ValidatorNotExited(inner) => {
10169 <ValidatorNotExited as alloy_sol_types::SolError>::abi_encode_raw(
10170 inner,
10171 out,
10172 )
10173 }
10174 Self::ZeroAddress(inner) => {
10175 <ZeroAddress as alloy_sol_types::SolError>::abi_encode_raw(
10176 inner,
10177 out,
10178 )
10179 }
10180 Self::ZeroAmount(inner) => {
10181 <ZeroAmount as alloy_sol_types::SolError>::abi_encode_raw(inner, out)
10182 }
10183 }
10184 }
10185 }
10186 #[derive()]
10188 pub enum StakeTableEvents {
10189 #[allow(missing_docs)]
10190 ConsensusKeysUpdated(ConsensusKeysUpdated),
10191 #[allow(missing_docs)]
10192 Delegated(Delegated),
10193 #[allow(missing_docs)]
10194 Initialized(Initialized),
10195 #[allow(missing_docs)]
10196 OwnershipTransferred(OwnershipTransferred),
10197 #[allow(missing_docs)]
10198 Undelegated(Undelegated),
10199 #[allow(missing_docs)]
10200 Upgrade(Upgrade),
10201 #[allow(missing_docs)]
10202 Upgraded(Upgraded),
10203 #[allow(missing_docs)]
10204 ValidatorExit(ValidatorExit),
10205 #[allow(missing_docs)]
10206 ValidatorRegistered(ValidatorRegistered),
10207 #[allow(missing_docs)]
10208 Withdrawal(Withdrawal),
10209 }
10210 #[automatically_derived]
10211 impl StakeTableEvents {
10212 pub const SELECTORS: &'static [[u8; 32usize]] = &[
10219 [
10220 77u8, 16u8, 189u8, 4u8, 151u8, 117u8, 199u8, 123u8, 215u8, 242u8, 85u8,
10221 25u8, 90u8, 251u8, 165u8, 8u8, 128u8, 40u8, 236u8, 179u8, 199u8, 194u8,
10222 119u8, 211u8, 147u8, 204u8, 255u8, 121u8, 52u8, 242u8, 249u8, 44u8,
10223 ],
10224 [
10225 127u8, 207u8, 83u8, 44u8, 21u8, 240u8, 166u8, 219u8, 11u8, 214u8, 208u8,
10226 224u8, 56u8, 190u8, 167u8, 29u8, 48u8, 216u8, 8u8, 199u8, 217u8, 140u8,
10227 179u8, 191u8, 114u8, 104u8, 169u8, 91u8, 245u8, 8u8, 27u8, 101u8,
10228 ],
10229 [
10230 128u8, 216u8, 164u8, 161u8, 102u8, 51u8, 40u8, 169u8, 152u8, 212u8, 85u8,
10231 91u8, 162u8, 29u8, 139u8, 186u8, 110u8, 241u8, 87u8, 106u8, 140u8, 94u8,
10232 157u8, 39u8, 249u8, 197u8, 69u8, 241u8, 163u8, 213u8, 43u8, 29u8,
10233 ],
10234 [
10235 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
10236 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
10237 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
10238 ],
10239 [
10240 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
10241 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
10242 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
10243 ],
10244 [
10245 199u8, 245u8, 5u8, 178u8, 243u8, 113u8, 174u8, 33u8, 117u8, 238u8, 73u8,
10246 19u8, 244u8, 73u8, 158u8, 31u8, 38u8, 51u8, 167u8, 181u8, 147u8, 99u8,
10247 33u8, 238u8, 209u8, 205u8, 174u8, 182u8, 17u8, 81u8, 129u8, 210u8,
10248 ],
10249 [
10250 229u8, 84u8, 26u8, 107u8, 97u8, 3u8, 212u8, 250u8, 126u8, 2u8, 30u8,
10251 213u8, 79u8, 173u8, 57u8, 198u8, 111u8, 39u8, 167u8, 107u8, 209u8, 61u8,
10252 55u8, 76u8, 246u8, 36u8, 10u8, 230u8, 189u8, 11u8, 183u8, 43u8,
10253 ],
10254 [
10255 246u8, 232u8, 53u8, 156u8, 87u8, 82u8, 11u8, 70u8, 150u8, 52u8, 115u8,
10256 107u8, 252u8, 59u8, 183u8, 236u8, 92u8, 189u8, 26u8, 11u8, 210u8, 139u8,
10257 16u8, 168u8, 39u8, 87u8, 147u8, 187u8, 115u8, 11u8, 121u8, 127u8,
10258 ],
10259 [
10260 247u8, 135u8, 33u8, 34u8, 110u8, 254u8, 154u8, 27u8, 182u8, 120u8, 24u8,
10261 154u8, 22u8, 209u8, 85u8, 73u8, 40u8, 185u8, 242u8, 25u8, 46u8, 44u8,
10262 185u8, 62u8, 237u8, 168u8, 59u8, 121u8, 250u8, 64u8, 0u8, 125u8,
10263 ],
10264 [
10265 251u8, 36u8, 48u8, 83u8, 84u8, 200u8, 119u8, 98u8, 213u8, 87u8, 72u8,
10266 122u8, 228u8, 165u8, 100u8, 232u8, 208u8, 62u8, 203u8, 185u8, 169u8,
10267 125u8, 216u8, 175u8, 255u8, 142u8, 31u8, 111u8, 202u8, 240u8, 221u8, 22u8,
10268 ],
10269 ];
10270 }
10271 #[automatically_derived]
10272 impl alloy_sol_types::SolEventInterface for StakeTableEvents {
10273 const NAME: &'static str = "StakeTableEvents";
10274 const COUNT: usize = 10usize;
10275 fn decode_raw_log(
10276 topics: &[alloy_sol_types::Word],
10277 data: &[u8],
10278 validate: bool,
10279 ) -> alloy_sol_types::Result<Self> {
10280 match topics.first().copied() {
10281 Some(
10282 <ConsensusKeysUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
10283 ) => {
10284 <ConsensusKeysUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
10285 topics,
10286 data,
10287 validate,
10288 )
10289 .map(Self::ConsensusKeysUpdated)
10290 }
10291 Some(<Delegated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10292 <Delegated as alloy_sol_types::SolEvent>::decode_raw_log(
10293 topics,
10294 data,
10295 validate,
10296 )
10297 .map(Self::Delegated)
10298 }
10299 Some(<Initialized as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10300 <Initialized as alloy_sol_types::SolEvent>::decode_raw_log(
10301 topics,
10302 data,
10303 validate,
10304 )
10305 .map(Self::Initialized)
10306 }
10307 Some(
10308 <OwnershipTransferred as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
10309 ) => {
10310 <OwnershipTransferred as alloy_sol_types::SolEvent>::decode_raw_log(
10311 topics,
10312 data,
10313 validate,
10314 )
10315 .map(Self::OwnershipTransferred)
10316 }
10317 Some(<Undelegated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10318 <Undelegated as alloy_sol_types::SolEvent>::decode_raw_log(
10319 topics,
10320 data,
10321 validate,
10322 )
10323 .map(Self::Undelegated)
10324 }
10325 Some(<Upgrade as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10326 <Upgrade as alloy_sol_types::SolEvent>::decode_raw_log(
10327 topics,
10328 data,
10329 validate,
10330 )
10331 .map(Self::Upgrade)
10332 }
10333 Some(<Upgraded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10334 <Upgraded as alloy_sol_types::SolEvent>::decode_raw_log(
10335 topics,
10336 data,
10337 validate,
10338 )
10339 .map(Self::Upgraded)
10340 }
10341 Some(<ValidatorExit as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10342 <ValidatorExit as alloy_sol_types::SolEvent>::decode_raw_log(
10343 topics,
10344 data,
10345 validate,
10346 )
10347 .map(Self::ValidatorExit)
10348 }
10349 Some(
10350 <ValidatorRegistered as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
10351 ) => {
10352 <ValidatorRegistered as alloy_sol_types::SolEvent>::decode_raw_log(
10353 topics,
10354 data,
10355 validate,
10356 )
10357 .map(Self::ValidatorRegistered)
10358 }
10359 Some(<Withdrawal as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10360 <Withdrawal as alloy_sol_types::SolEvent>::decode_raw_log(
10361 topics,
10362 data,
10363 validate,
10364 )
10365 .map(Self::Withdrawal)
10366 }
10367 _ => {
10368 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
10369 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
10370 log: alloy_sol_types::private::Box::new(
10371 alloy_sol_types::private::LogData::new_unchecked(
10372 topics.to_vec(),
10373 data.to_vec().into(),
10374 ),
10375 ),
10376 })
10377 }
10378 }
10379 }
10380 }
10381 #[automatically_derived]
10382 impl alloy_sol_types::private::IntoLogData for StakeTableEvents {
10383 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
10384 match self {
10385 Self::ConsensusKeysUpdated(inner) => {
10386 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10387 }
10388 Self::Delegated(inner) => {
10389 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10390 }
10391 Self::Initialized(inner) => {
10392 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10393 }
10394 Self::OwnershipTransferred(inner) => {
10395 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10396 }
10397 Self::Undelegated(inner) => {
10398 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10399 }
10400 Self::Upgrade(inner) => {
10401 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10402 }
10403 Self::Upgraded(inner) => {
10404 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10405 }
10406 Self::ValidatorExit(inner) => {
10407 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10408 }
10409 Self::ValidatorRegistered(inner) => {
10410 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10411 }
10412 Self::Withdrawal(inner) => {
10413 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10414 }
10415 }
10416 }
10417 fn into_log_data(self) -> alloy_sol_types::private::LogData {
10418 match self {
10419 Self::ConsensusKeysUpdated(inner) => {
10420 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10421 }
10422 Self::Delegated(inner) => {
10423 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10424 }
10425 Self::Initialized(inner) => {
10426 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10427 }
10428 Self::OwnershipTransferred(inner) => {
10429 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10430 }
10431 Self::Undelegated(inner) => {
10432 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10433 }
10434 Self::Upgrade(inner) => {
10435 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10436 }
10437 Self::Upgraded(inner) => {
10438 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10439 }
10440 Self::ValidatorExit(inner) => {
10441 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10442 }
10443 Self::ValidatorRegistered(inner) => {
10444 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10445 }
10446 Self::Withdrawal(inner) => {
10447 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10448 }
10449 }
10450 }
10451 }
10452 use alloy::contract as alloy_contract;
10453 #[inline]
10457 pub const fn new<
10458 T: alloy_contract::private::Transport + ::core::clone::Clone,
10459 P: alloy_contract::private::Provider<T, N>,
10460 N: alloy_contract::private::Network,
10461 >(
10462 address: alloy_sol_types::private::Address,
10463 provider: P,
10464 ) -> StakeTableInstance<T, P, N> {
10465 StakeTableInstance::<T, P, N>::new(address, provider)
10466 }
10467 #[inline]
10473 pub fn deploy<
10474 T: alloy_contract::private::Transport + ::core::clone::Clone,
10475 P: alloy_contract::private::Provider<T, N>,
10476 N: alloy_contract::private::Network,
10477 >(
10478 provider: P,
10479 ) -> impl ::core::future::Future<
10480 Output = alloy_contract::Result<StakeTableInstance<T, P, N>>,
10481 > {
10482 StakeTableInstance::<T, P, N>::deploy(provider)
10483 }
10484 #[inline]
10490 pub fn deploy_builder<
10491 T: alloy_contract::private::Transport + ::core::clone::Clone,
10492 P: alloy_contract::private::Provider<T, N>,
10493 N: alloy_contract::private::Network,
10494 >(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
10495 StakeTableInstance::<T, P, N>::deploy_builder(provider)
10496 }
10497 #[derive(Clone)]
10509 pub struct StakeTableInstance<T, P, N = alloy_contract::private::Ethereum> {
10510 address: alloy_sol_types::private::Address,
10511 provider: P,
10512 _network_transport: ::core::marker::PhantomData<(N, T)>,
10513 }
10514 #[automatically_derived]
10515 impl<T, P, N> ::core::fmt::Debug for StakeTableInstance<T, P, N> {
10516 #[inline]
10517 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10518 f.debug_tuple("StakeTableInstance").field(&self.address).finish()
10519 }
10520 }
10521 #[automatically_derived]
10523 impl<
10524 T: alloy_contract::private::Transport + ::core::clone::Clone,
10525 P: alloy_contract::private::Provider<T, N>,
10526 N: alloy_contract::private::Network,
10527 > StakeTableInstance<T, P, N> {
10528 #[inline]
10532 pub const fn new(
10533 address: alloy_sol_types::private::Address,
10534 provider: P,
10535 ) -> Self {
10536 Self {
10537 address,
10538 provider,
10539 _network_transport: ::core::marker::PhantomData,
10540 }
10541 }
10542 #[inline]
10548 pub async fn deploy(
10549 provider: P,
10550 ) -> alloy_contract::Result<StakeTableInstance<T, P, N>> {
10551 let call_builder = Self::deploy_builder(provider);
10552 let contract_address = call_builder.deploy().await?;
10553 Ok(Self::new(contract_address, call_builder.provider))
10554 }
10555 #[inline]
10561 pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
10562 alloy_contract::RawCallBuilder::new_raw_deploy(
10563 provider,
10564 ::core::clone::Clone::clone(&BYTECODE),
10565 )
10566 }
10567 #[inline]
10569 pub const fn address(&self) -> &alloy_sol_types::private::Address {
10570 &self.address
10571 }
10572 #[inline]
10574 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
10575 self.address = address;
10576 }
10577 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
10579 self.set_address(address);
10580 self
10581 }
10582 #[inline]
10584 pub const fn provider(&self) -> &P {
10585 &self.provider
10586 }
10587 }
10588 impl<T, P: ::core::clone::Clone, N> StakeTableInstance<T, &P, N> {
10589 #[inline]
10591 pub fn with_cloned_provider(self) -> StakeTableInstance<T, P, N> {
10592 StakeTableInstance {
10593 address: self.address,
10594 provider: ::core::clone::Clone::clone(&self.provider),
10595 _network_transport: ::core::marker::PhantomData,
10596 }
10597 }
10598 }
10599 #[automatically_derived]
10601 impl<
10602 T: alloy_contract::private::Transport + ::core::clone::Clone,
10603 P: alloy_contract::private::Provider<T, N>,
10604 N: alloy_contract::private::Network,
10605 > StakeTableInstance<T, P, N> {
10606 pub fn call_builder<C: alloy_sol_types::SolCall>(
10611 &self,
10612 call: &C,
10613 ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
10614 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
10615 }
10616 pub fn UPGRADE_INTERFACE_VERSION(
10618 &self,
10619 ) -> alloy_contract::SolCallBuilder<T, &P, UPGRADE_INTERFACE_VERSIONCall, N> {
10620 self.call_builder(&UPGRADE_INTERFACE_VERSIONCall {})
10621 }
10622 pub fn _hashBlsKey(
10624 &self,
10625 blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
10626 ) -> alloy_contract::SolCallBuilder<T, &P, _hashBlsKeyCall, N> {
10627 self.call_builder(&_hashBlsKeyCall { blsVK })
10628 }
10629 pub fn blsKeys(
10631 &self,
10632 blsKeyHash: alloy::sol_types::private::FixedBytes<32>,
10633 ) -> alloy_contract::SolCallBuilder<T, &P, blsKeysCall, N> {
10634 self.call_builder(&blsKeysCall { blsKeyHash })
10635 }
10636 pub fn claimValidatorExit(
10638 &self,
10639 validator: alloy::sol_types::private::Address,
10640 ) -> alloy_contract::SolCallBuilder<T, &P, claimValidatorExitCall, N> {
10641 self.call_builder(
10642 &claimValidatorExitCall {
10643 validator,
10644 },
10645 )
10646 }
10647 pub fn claimWithdrawal(
10649 &self,
10650 validator: alloy::sol_types::private::Address,
10651 ) -> alloy_contract::SolCallBuilder<T, &P, claimWithdrawalCall, N> {
10652 self.call_builder(&claimWithdrawalCall { validator })
10653 }
10654 pub fn delegate(
10656 &self,
10657 validator: alloy::sol_types::private::Address,
10658 amount: alloy::sol_types::private::primitives::aliases::U256,
10659 ) -> alloy_contract::SolCallBuilder<T, &P, delegateCall, N> {
10660 self.call_builder(&delegateCall { validator, amount })
10661 }
10662 pub fn delegations(
10664 &self,
10665 validator: alloy::sol_types::private::Address,
10666 delegator: alloy::sol_types::private::Address,
10667 ) -> alloy_contract::SolCallBuilder<T, &P, delegationsCall, N> {
10668 self.call_builder(
10669 &delegationsCall {
10670 validator,
10671 delegator,
10672 },
10673 )
10674 }
10675 pub fn deregisterValidator(
10677 &self,
10678 ) -> alloy_contract::SolCallBuilder<T, &P, deregisterValidatorCall, N> {
10679 self.call_builder(&deregisterValidatorCall {})
10680 }
10681 pub fn exitEscrowPeriod(
10683 &self,
10684 ) -> alloy_contract::SolCallBuilder<T, &P, exitEscrowPeriodCall, N> {
10685 self.call_builder(&exitEscrowPeriodCall {})
10686 }
10687 pub fn getVersion(
10689 &self,
10690 ) -> alloy_contract::SolCallBuilder<T, &P, getVersionCall, N> {
10691 self.call_builder(&getVersionCall {})
10692 }
10693 pub fn initialize(
10695 &self,
10696 _tokenAddress: alloy::sol_types::private::Address,
10697 _lightClientAddress: alloy::sol_types::private::Address,
10698 _exitEscrowPeriod: alloy::sol_types::private::primitives::aliases::U256,
10699 _timelock: alloy::sol_types::private::Address,
10700 ) -> alloy_contract::SolCallBuilder<T, &P, initializeCall, N> {
10701 self.call_builder(
10702 &initializeCall {
10703 _tokenAddress,
10704 _lightClientAddress,
10705 _exitEscrowPeriod,
10706 _timelock,
10707 },
10708 )
10709 }
10710 pub fn initializedAtBlock(
10712 &self,
10713 ) -> alloy_contract::SolCallBuilder<T, &P, initializedAtBlockCall, N> {
10714 self.call_builder(&initializedAtBlockCall {})
10715 }
10716 pub fn lightClient(
10718 &self,
10719 ) -> alloy_contract::SolCallBuilder<T, &P, lightClientCall, N> {
10720 self.call_builder(&lightClientCall {})
10721 }
10722 pub fn owner(&self) -> alloy_contract::SolCallBuilder<T, &P, ownerCall, N> {
10724 self.call_builder(&ownerCall {})
10725 }
10726 pub fn proxiableUUID(
10728 &self,
10729 ) -> alloy_contract::SolCallBuilder<T, &P, proxiableUUIDCall, N> {
10730 self.call_builder(&proxiableUUIDCall {})
10731 }
10732 pub fn registerValidator(
10734 &self,
10735 blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
10736 schnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
10737 blsSig: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
10738 commission: u16,
10739 ) -> alloy_contract::SolCallBuilder<T, &P, registerValidatorCall, N> {
10740 self.call_builder(
10741 ®isterValidatorCall {
10742 blsVK,
10743 schnorrVK,
10744 blsSig,
10745 commission,
10746 },
10747 )
10748 }
10749 pub fn renounceOwnership(
10751 &self,
10752 ) -> alloy_contract::SolCallBuilder<T, &P, renounceOwnershipCall, N> {
10753 self.call_builder(&renounceOwnershipCall {})
10754 }
10755 pub fn token(&self) -> alloy_contract::SolCallBuilder<T, &P, tokenCall, N> {
10757 self.call_builder(&tokenCall {})
10758 }
10759 pub fn transferOwnership(
10761 &self,
10762 newOwner: alloy::sol_types::private::Address,
10763 ) -> alloy_contract::SolCallBuilder<T, &P, transferOwnershipCall, N> {
10764 self.call_builder(&transferOwnershipCall { newOwner })
10765 }
10766 pub fn undelegate(
10768 &self,
10769 validator: alloy::sol_types::private::Address,
10770 amount: alloy::sol_types::private::primitives::aliases::U256,
10771 ) -> alloy_contract::SolCallBuilder<T, &P, undelegateCall, N> {
10772 self.call_builder(
10773 &undelegateCall {
10774 validator,
10775 amount,
10776 },
10777 )
10778 }
10779 pub fn undelegations(
10781 &self,
10782 validator: alloy::sol_types::private::Address,
10783 delegator: alloy::sol_types::private::Address,
10784 ) -> alloy_contract::SolCallBuilder<T, &P, undelegationsCall, N> {
10785 self.call_builder(
10786 &undelegationsCall {
10787 validator,
10788 delegator,
10789 },
10790 )
10791 }
10792 pub fn updateConsensusKeys(
10794 &self,
10795 newBlsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
10796 newSchnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
10797 newBlsSig: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
10798 ) -> alloy_contract::SolCallBuilder<T, &P, updateConsensusKeysCall, N> {
10799 self.call_builder(
10800 &updateConsensusKeysCall {
10801 newBlsVK,
10802 newSchnorrVK,
10803 newBlsSig,
10804 },
10805 )
10806 }
10807 pub fn upgradeToAndCall(
10809 &self,
10810 newImplementation: alloy::sol_types::private::Address,
10811 data: alloy::sol_types::private::Bytes,
10812 ) -> alloy_contract::SolCallBuilder<T, &P, upgradeToAndCallCall, N> {
10813 self.call_builder(
10814 &upgradeToAndCallCall {
10815 newImplementation,
10816 data,
10817 },
10818 )
10819 }
10820 pub fn validatorExits(
10822 &self,
10823 validator: alloy::sol_types::private::Address,
10824 ) -> alloy_contract::SolCallBuilder<T, &P, validatorExitsCall, N> {
10825 self.call_builder(&validatorExitsCall { validator })
10826 }
10827 pub fn validators(
10829 &self,
10830 account: alloy::sol_types::private::Address,
10831 ) -> alloy_contract::SolCallBuilder<T, &P, validatorsCall, N> {
10832 self.call_builder(&validatorsCall { account })
10833 }
10834 }
10835 #[automatically_derived]
10837 impl<
10838 T: alloy_contract::private::Transport + ::core::clone::Clone,
10839 P: alloy_contract::private::Provider<T, N>,
10840 N: alloy_contract::private::Network,
10841 > StakeTableInstance<T, P, N> {
10842 pub fn event_filter<E: alloy_sol_types::SolEvent>(
10847 &self,
10848 ) -> alloy_contract::Event<T, &P, E, N> {
10849 alloy_contract::Event::new_sol(&self.provider, &self.address)
10850 }
10851 pub fn ConsensusKeysUpdated_filter(
10853 &self,
10854 ) -> alloy_contract::Event<T, &P, ConsensusKeysUpdated, N> {
10855 self.event_filter::<ConsensusKeysUpdated>()
10856 }
10857 pub fn Delegated_filter(&self) -> alloy_contract::Event<T, &P, Delegated, N> {
10859 self.event_filter::<Delegated>()
10860 }
10861 pub fn Initialized_filter(
10863 &self,
10864 ) -> alloy_contract::Event<T, &P, Initialized, N> {
10865 self.event_filter::<Initialized>()
10866 }
10867 pub fn OwnershipTransferred_filter(
10869 &self,
10870 ) -> alloy_contract::Event<T, &P, OwnershipTransferred, N> {
10871 self.event_filter::<OwnershipTransferred>()
10872 }
10873 pub fn Undelegated_filter(
10875 &self,
10876 ) -> alloy_contract::Event<T, &P, Undelegated, N> {
10877 self.event_filter::<Undelegated>()
10878 }
10879 pub fn Upgrade_filter(&self) -> alloy_contract::Event<T, &P, Upgrade, N> {
10881 self.event_filter::<Upgrade>()
10882 }
10883 pub fn Upgraded_filter(&self) -> alloy_contract::Event<T, &P, Upgraded, N> {
10885 self.event_filter::<Upgraded>()
10886 }
10887 pub fn ValidatorExit_filter(
10889 &self,
10890 ) -> alloy_contract::Event<T, &P, ValidatorExit, N> {
10891 self.event_filter::<ValidatorExit>()
10892 }
10893 pub fn ValidatorRegistered_filter(
10895 &self,
10896 ) -> alloy_contract::Event<T, &P, ValidatorRegistered, N> {
10897 self.event_filter::<ValidatorRegistered>()
10898 }
10899 pub fn Withdrawal_filter(&self) -> alloy_contract::Event<T, &P, Withdrawal, N> {
10901 self.event_filter::<Withdrawal>()
10902 }
10903 }
10904}