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(
2157 non_camel_case_types,
2158 non_snake_case,
2159 clippy::pub_underscore_fields,
2160 clippy::style,
2161 clippy::empty_structs_with_brackets
2162)]
2163pub mod StakeTable {
2164 use super::*;
2165 use alloy::sol_types as alloy_sol_types;
2166 #[rustfmt::skip]
2172 #[allow(clippy::all)]
2173 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
2174 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*\xC3a\x01\x01_9_\x81\x81a\x12\xCB\x01R\x81\x81a\x12\xF4\x01Ra\x148\x01Ra*\xC3_\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#\xC1V[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$\xE7V[a\x06\xD6V[4\x80\x15a\x01\xE0W__\xFD[Pa\x01\x84a\x01\xEF6`\x04a%EV[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#\xC1V[a\t\x8AV[a\x01\x84a\x02C6`\x04a%^V[a\x0B<V[4\x80\x15a\x02SW__\xFD[Pa\x02\x08a\x0B[V[4\x80\x15a\x02gW__\xFD[Pa\x01\x84a\x02v6`\x04a&\x03V[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&GV[a\x0C\xE0V[4\x80\x15a\x03\x1DW__\xFD[Pa\x02\x08`\x08T\x81V[4\x80\x15a\x032W__\xFD[Pa\x03da\x03A6`\x04a&aV[`\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%EV[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&\x92V[4\x80\x15a\x03\xE0W__\xFD[Pa\x04\x03a\x03\xEF6`\x04a&\xC7V[`\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%EV[`\x05` R_\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04hW__\xFD[Pa\x01\x84a\x04w6`\x04a&\xDEV[a\x0EJV[4\x80\x15a\x04\x87W__\xFD[Pa\x02\x08a\x04\x966`\x04a&aV[`\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%EV[a\x0FvV[4\x80\x15a\x04\xDCW__\xFD[Pa\x05\x06a\x04\xEB6`\x04a%EV[`\x03` R_\x90\x81R`@\x90 \x80T`\x01\x90\x91\x01T`\xFF\x16\x82V[`@Qa\x01\xAD\x92\x91\x90a'<V[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'lV[\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'\x97V[\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'\x97V[\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'(V[\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'(V[\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'\xAAV[\x92PP\x81\x90UP`@Q\x80`@\x01`@R\x80\x84\x81R` \x01`\x08TBa\n\x9D\x91\x90a'\x97V[\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'\xAAV[\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\x13lV[PPV[_a\x0Bda\x14-V[P_Q` a*\x97_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'\xBDV[`@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'\x97V[`\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\x14vV[a\x0C\xDE_a\x14\xD1V[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\x15AV[a\x0F\x12a\x15RV[a\x0F\x1Aa\x15ZV[a\x0F%\x89\x89\x89a\x16`V[\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\x14vV[`\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\x14\xD1V[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'(V[\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'(V[\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'(V[\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\tV[\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\x17,V[_`@Q\x80``\x01`@R\x80`$\x81R` \x01a*S`$\x919\x90P_\x84\x82`@Q` \x01a\x11\xD5\x92\x91\x90a(\x0EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P_a\x11\xF0\x82a\x17\xC2V[\x90Pa\x12\r\x81\x85a\x12\0\x88a\x18\xAFV[a\x12\x08a\x19&V[a\x19\xF3V[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*\x97_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\x0F\xB0a\x14vV[\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\x13\xC6WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x13\xC3\x91\x81\x01\x90a'lV[`\x01[a\x13\xEEW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x05\xF9V[_Q` a*\x97_9_Q\x90_R\x81\x14a\x14\x1EW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x05\xF9V[a\x14(\x83\x83a\x1A\xD1V[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\xA8\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\x15Ia\x1B&V[a\x0F\xB0\x81a\x1BoV[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\x9FWP\x82[\x90P_\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x15\xBBWP0;\x15[\x90P\x81\x15\x80\x15a\x15\xC9WP\x80\x15[\x15a\x15\xE7W`@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\x16\x11W\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\x87W`@Qc\xD9.#=`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x16\xAEW`@Qc\xD9.#=`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\x01`\x01`\xA0\x1B\x03\x19\x92\x83\x16\x17\x90\x92U`\x01\x80T\x92\x85\x16\x92\x90\x91\x16\x91\x90\x91\x17\x90U`Z\x80\x82\x10\x15a\x17\x01W`@Qc\xB5~!\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P`\x08UPPV[\x80Q\x82Q_\x91\x14\x80\x15a\x17#WP\x81` \x01Q\x83` \x01Q\x14[\x90P[\x92\x91PPV[\x80Q` \x82\x01Q_\x91_Q` a*w_9_Q\x90_R\x91\x15\x90\x15\x16\x15a\x17RWPPPV[\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\x14(W`@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\xDF\x83a\x1BwV[\x90P_Q` a*w_9_Q\x90_R`\x03_\x82\x84\x85\t\x90P\x82\x80a\x18\x06Wa\x18\x06a(*V[\x84\x82\t\x90P\x82\x80a\x18\x19Wa\x18\x19a(*V[\x82\x82\x08\x90P__a\x18)\x83a\x1D\x80V[\x92P\x90P[\x80a\x18\x92W\x84\x80a\x18AWa\x18Aa(*V[`\x01\x87\x08\x95P\x84\x80a\x18UWa\x18Ua(*V[\x86\x87\t\x92P\x84\x80a\x18hWa\x18ha(*V[\x86\x84\t\x92P\x84\x80a\x18{Wa\x18{a(*V[\x84\x84\x08\x92Pa\x18\x89\x83a\x1D\x80V[\x92P\x90Pa\x18.V[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\xD6WP\x90V[`@Q\x80`@\x01`@R\x80\x83_\x01Q\x81R` \x01_Q` a*w_9_Q\x90_R\x84` \x01Qa\x19\x07\x91\x90a(>V[a\x19\x1E\x90_Q` a*w_9_Q\x90_Ra'\xAAV[\x90R\x92\x91PPV[a\x19M`@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\xC5W`@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\xDA\x82a\x1EwV[`@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\x1B\x1EWa\x14(\x82\x82a\x1E\xDAV[a\x0BWa\x1FLV[\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\x82\x83a\x1FkV[\x80Q\x90\x91P`0\x81\x14a\x1B\x97Wa\x1B\x97a(]V[_\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\xB1Wa\x1B\xB1a#\xE9V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\xDBW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P_[\x82\x81\x10\x15a\x1CJW\x83`\x01a\x1B\xF5\x83\x86a'\xAAV[a\x1B\xFF\x91\x90a'\xAAV[\x81Q\x81\x10a\x1C\x0FWa\x1C\x0Fa(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x82\x82\x81Q\x81\x10a\x1C,Wa\x1C,a(qV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a\x1B\xE0V[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\xDAW\x83\x81a\x1C\x86\x85\x88a'\xAAV[a\x1C\x90\x91\x90a'\x97V[\x81Q\x81\x10a\x1C\xA0Wa\x1C\xA0a(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x82\x82\x81Q\x81\x10a\x1C\xC0Wa\x1C\xC0a(qV[`\xFF\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a\x1CrV[P_a\x1C\xE5\x82a\"\xB7V[\x90Pa\x01\0_Q` a*w_9_Q\x90_R_a\x1D\x03\x86\x89a'\xAAV[\x90P_[\x81\x81\x10\x15a\x1DpW_\x88`\x01a\x1D\x1D\x84\x86a'\xAAV[a\x1D'\x91\x90a'\xAAV[\x81Q\x81\x10a\x1D7Wa\x1D7a(qV[\x01` \x01Q`\xF8\x1C\x90P\x83\x80a\x1DOWa\x1DOa(*V[\x85\x87\t\x95P\x83\x80a\x1DbWa\x1Dba(*V[\x81\x87\x08\x95PP`\x01\x01a\x1D\x07V[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*w_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\x1E=W`@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\x1EVWa\x1ES\x83\x82a'\xAAV[\x92P[\x80\x80a\x1EdWa\x1Eda(*V[\x83\x84\t\x96\x90\x96\x14\x96\x91\x95P\x90\x93PPPPV[\x80`\x01`\x01`\xA0\x1B\x03\x16;_\x03a\x1E\xACW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x05\xF9V[_Q` a*\x97_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\x1E\xF6\x91\x90a(\x85V[_`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80_\x81\x14a\x1F.W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x1F3V[``\x91P[P\x91P\x91Pa\x1FC\x85\x83\x83a#\x1EV[\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\xAB\x92\x91\x90a(\x0EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80\x84`\xF8\x1B`@Q` \x01a\x1F\xD2\x92\x91\x90a(\x90V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80`@Q` \x01a\x1F\xF4\x91\x90a(\xBAV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90R\x91Pa\x01\x01`\xF0\x1B\x90a \x1E\x90\x83\x90\x83\x90` \x01a(\xD2V[`@\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 \x8EWa \x8Ea#\xE9V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a \xB8W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P_\x82`@Q` \x01a \xCF\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x90P_[\x81Q\x81\x10\x15a!9W\x81\x81\x81Q\x81\x10a \xFEWa \xFEa(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x83\x82\x81Q\x81\x10a!\x1BWa!\x1Ba(qV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a \xE3V[P_\x84`@Q` \x01a!N\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!\xE0W_\x83\x82\x81Q\x81\x10a!\x87Wa!\x87a(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x83\x83\x81Q\x81\x10a!\xA4Wa!\xA4a(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x18\x90P\x88\x81`@Q` \x01a!\xC5\x92\x91\x90a(\xF6V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x98PP`\x01\x01a!lV[P\x86\x88\x87`@Q` \x01a!\xF6\x93\x92\x91\x90a)\x1AV[`@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\"E\x8A`\xFF\x8D\x16a'\xAAV[\x81\x10\x15a\"\xA6W\x82\x81\x81Q\x81\x10a\"^Wa\"^a(qV[\x01` \x01Q`\x01`\x01`\xF8\x1B\x03\x19\x16\x84a\"x\x83\x8Da'\x97V[\x81Q\x81\x10a\"\x88Wa\"\x88a(qV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a\"8V[P\x91\x9B\x9APPPPPPPPPPPV[_\x80\x80[\x83Q\x81\x10\x15a#\x17W\x83\x81\x81Q\x81\x10a\"\xD6Wa\"\xD6a(qV[` \x02` \x01\x01Q`\xFF\x16\x81`\x08a\"\xEE\x91\x90a)MV[a\"\xF9\x90`\x02a*GV[a#\x03\x91\x90a)MV[a#\r\x90\x83a'\x97V[\x91P`\x01\x01a\"\xBBV[P\x92\x91PPV[``\x82a#3Wa#.\x82a#}V[a#vV[\x81Q\x15\x80\x15a#JWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a#sW`@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#\x8DW\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#\xBCW__\xFD[\x91\x90PV[__`@\x83\x85\x03\x12\x15a#\xD2W__\xFD[a#\xDB\x83a#\xA6V[\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$ Wa$ a#\xE9V[`@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$OWa$Oa#\xE9V[`@R\x91\x90PV[_`\x80\x82\x84\x03\x12\x15a$gW__\xFD[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$\x8AWa$\x8Aa#\xE9V[`@\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$\xC8W__\xFD[a$\xD0a#\xFDV[\x825\x81R` \x92\x83\x015\x92\x81\x01\x92\x90\x92RP\x91\x90PV[____a\x01 \x85\x87\x03\x12\x15a$\xFBW__\xFD[a%\x05\x86\x86a$WV[\x93Pa%\x14\x86`\x80\x87\x01a$\xB8V[\x92Pa%#\x86`\xC0\x87\x01a$\xB8V[\x91Pa\x01\0\x85\x015a\xFF\xFF\x81\x16\x81\x14a%:W__\xFD[\x93\x96\x92\x95P\x90\x93PPV[_` \x82\x84\x03\x12\x15a%UW__\xFD[a\x17#\x82a#\xA6V[__`@\x83\x85\x03\x12\x15a%oW__\xFD[a%x\x83a#\xA6V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x93W__\xFD[\x83\x01`\x1F\x81\x01\x85\x13a%\xA3W__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\xBDWa%\xBDa#\xE9V[a%\xD0`\x1F\x82\x01`\x1F\x19\x16` \x01a$&V[\x81\x81R\x86` \x83\x85\x01\x01\x11\x15a%\xE4W__\xFD[\x81` \x84\x01` \x83\x017_` \x83\x83\x01\x01R\x80\x93PPPP\x92P\x92\x90PV[___a\x01\0\x84\x86\x03\x12\x15a&\x16W__\xFD[a& \x85\x85a$WV[\x92Pa&/\x85`\x80\x86\x01a$\xB8V[\x91Pa&>\x85`\xC0\x86\x01a$\xB8V[\x90P\x92P\x92P\x92V[_`\x80\x82\x84\x03\x12\x15a&WW__\xFD[a\x17#\x83\x83a$WV[__`@\x83\x85\x03\x12\x15a&rW__\xFD[a&{\x83a#\xA6V[\x91Pa&\x89` \x84\x01a#\xA6V[\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&\xD7W__\xFD[P5\x91\x90PV[____`\x80\x85\x87\x03\x12\x15a&\xF1W__\xFD[a&\xFA\x85a#\xA6V[\x93Pa'\x08` \x86\x01a#\xA6V[\x92P`@\x85\x015\x91Pa'\x1D``\x86\x01a#\xA6V[\x90P\x92\x95\x91\x94P\x92PV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x82\x81R`@\x81\x01`\x03\x83\x10a'_WcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x82` \x83\x01R\x93\x92PPPV[_` \x82\x84\x03\x12\x15a'|W__\xFD[PQ\x91\x90PV[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x17&Wa\x17&a'\x83V[\x81\x81\x03\x81\x81\x11\x15a\x17&Wa\x17&a'\x83V[\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#vV[_\x81Q\x80` \x84\x01\x85^_\x93\x01\x92\x83RP\x90\x91\x90PV[_a(\"a(\x1C\x83\x86a'\xF7V[\x84a'\xF7V[\x94\x93PPPPV[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a(XWcNH{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'\xF7V[_a(\x9B\x82\x85a'\xF7V[_\x81R`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16`\x01\x84\x01RPP`\x02\x01\x91\x90PV[_a(\xC5\x82\x84a'\xF7V[_\x81R`\x01\x01\x93\x92PPPV[_a(\xDD\x82\x85a'\xF7V[`\x01`\x01`\xF0\x1B\x03\x19\x93\x90\x93\x16\x83RPP`\x02\x01\x91\x90PV[_a)\x01\x82\x85a'\xF7V[`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16\x83RPP`\x01\x01\x91\x90PV[_a)%\x82\x86a'\xF7V[`\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'\x83V[`\x01\x81[`\x01\x84\x11\x15a)\x9FW\x80\x85\x04\x81\x11\x15a)\x83Wa)\x83a'\x83V[`\x01\x84\x16\x15a)\x91W\x90\x81\x02\x90[`\x01\x93\x90\x93\x1C\x92\x80\x02a)hV[\x93P\x93\x91PPV[_\x82a)\xB5WP`\x01a\x17&V[\x81a)\xC1WP_a\x17&V[\x81`\x01\x81\x14a)\xD7W`\x02\x81\x14a)\xE1Wa)\xFDV[`\x01\x91PPa\x17&V[`\xFF\x84\x11\x15a)\xF2Wa)\xF2a'\x83V[PP`\x01\x82\x1Ba\x17&V[P` \x83\x10a\x013\x83\x10\x16`N\x84\x10`\x0B\x84\x10\x16\x17\x15a* WP\x81\x81\na\x17&V[a*,_\x19\x84\x84a)dV[\x80_\x19\x04\x82\x11\x15a*?Wa*?a'\x83V[\x02\x93\x92PPPV[_a\x17#\x83\x83a)\xA7V\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",
2175 );
2176 #[rustfmt::skip]
2182 #[allow(clippy::all)]
2183 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
2184 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#\xC1V[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$\xE7V[a\x06\xD6V[4\x80\x15a\x01\xE0W__\xFD[Pa\x01\x84a\x01\xEF6`\x04a%EV[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#\xC1V[a\t\x8AV[a\x01\x84a\x02C6`\x04a%^V[a\x0B<V[4\x80\x15a\x02SW__\xFD[Pa\x02\x08a\x0B[V[4\x80\x15a\x02gW__\xFD[Pa\x01\x84a\x02v6`\x04a&\x03V[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&GV[a\x0C\xE0V[4\x80\x15a\x03\x1DW__\xFD[Pa\x02\x08`\x08T\x81V[4\x80\x15a\x032W__\xFD[Pa\x03da\x03A6`\x04a&aV[`\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%EV[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&\x92V[4\x80\x15a\x03\xE0W__\xFD[Pa\x04\x03a\x03\xEF6`\x04a&\xC7V[`\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%EV[`\x05` R_\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04hW__\xFD[Pa\x01\x84a\x04w6`\x04a&\xDEV[a\x0EJV[4\x80\x15a\x04\x87W__\xFD[Pa\x02\x08a\x04\x966`\x04a&aV[`\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%EV[a\x0FvV[4\x80\x15a\x04\xDCW__\xFD[Pa\x05\x06a\x04\xEB6`\x04a%EV[`\x03` R_\x90\x81R`@\x90 \x80T`\x01\x90\x91\x01T`\xFF\x16\x82V[`@Qa\x01\xAD\x92\x91\x90a'<V[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'lV[\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'\x97V[\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'\x97V[\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'(V[\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'(V[\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'\xAAV[\x92PP\x81\x90UP`@Q\x80`@\x01`@R\x80\x84\x81R` \x01`\x08TBa\n\x9D\x91\x90a'\x97V[\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'\xAAV[\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\x13lV[PPV[_a\x0Bda\x14-V[P_Q` a*\x97_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'\xBDV[`@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'\x97V[`\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\x14vV[a\x0C\xDE_a\x14\xD1V[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\x15AV[a\x0F\x12a\x15RV[a\x0F\x1Aa\x15ZV[a\x0F%\x89\x89\x89a\x16`V[\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\x14vV[`\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\x14\xD1V[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'(V[\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'(V[\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'(V[\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\tV[\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\x17,V[_`@Q\x80``\x01`@R\x80`$\x81R` \x01a*S`$\x919\x90P_\x84\x82`@Q` \x01a\x11\xD5\x92\x91\x90a(\x0EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P_a\x11\xF0\x82a\x17\xC2V[\x90Pa\x12\r\x81\x85a\x12\0\x88a\x18\xAFV[a\x12\x08a\x19&V[a\x19\xF3V[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*\x97_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\x0F\xB0a\x14vV[\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\x13\xC6WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x13\xC3\x91\x81\x01\x90a'lV[`\x01[a\x13\xEEW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x05\xF9V[_Q` a*\x97_9_Q\x90_R\x81\x14a\x14\x1EW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x05\xF9V[a\x14(\x83\x83a\x1A\xD1V[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\xA8\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\x15Ia\x1B&V[a\x0F\xB0\x81a\x1BoV[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\x9FWP\x82[\x90P_\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x15\xBBWP0;\x15[\x90P\x81\x15\x80\x15a\x15\xC9WP\x80\x15[\x15a\x15\xE7W`@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\x16\x11W\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\x87W`@Qc\xD9.#=`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x16\xAEW`@Qc\xD9.#=`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\x01`\x01`\xA0\x1B\x03\x19\x92\x83\x16\x17\x90\x92U`\x01\x80T\x92\x85\x16\x92\x90\x91\x16\x91\x90\x91\x17\x90U`Z\x80\x82\x10\x15a\x17\x01W`@Qc\xB5~!\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P`\x08UPPV[\x80Q\x82Q_\x91\x14\x80\x15a\x17#WP\x81` \x01Q\x83` \x01Q\x14[\x90P[\x92\x91PPV[\x80Q` \x82\x01Q_\x91_Q` a*w_9_Q\x90_R\x91\x15\x90\x15\x16\x15a\x17RWPPPV[\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\x14(W`@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\xDF\x83a\x1BwV[\x90P_Q` a*w_9_Q\x90_R`\x03_\x82\x84\x85\t\x90P\x82\x80a\x18\x06Wa\x18\x06a(*V[\x84\x82\t\x90P\x82\x80a\x18\x19Wa\x18\x19a(*V[\x82\x82\x08\x90P__a\x18)\x83a\x1D\x80V[\x92P\x90P[\x80a\x18\x92W\x84\x80a\x18AWa\x18Aa(*V[`\x01\x87\x08\x95P\x84\x80a\x18UWa\x18Ua(*V[\x86\x87\t\x92P\x84\x80a\x18hWa\x18ha(*V[\x86\x84\t\x92P\x84\x80a\x18{Wa\x18{a(*V[\x84\x84\x08\x92Pa\x18\x89\x83a\x1D\x80V[\x92P\x90Pa\x18.V[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\xD6WP\x90V[`@Q\x80`@\x01`@R\x80\x83_\x01Q\x81R` \x01_Q` a*w_9_Q\x90_R\x84` \x01Qa\x19\x07\x91\x90a(>V[a\x19\x1E\x90_Q` a*w_9_Q\x90_Ra'\xAAV[\x90R\x92\x91PPV[a\x19M`@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\xC5W`@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\xDA\x82a\x1EwV[`@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\x1B\x1EWa\x14(\x82\x82a\x1E\xDAV[a\x0BWa\x1FLV[\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\x82\x83a\x1FkV[\x80Q\x90\x91P`0\x81\x14a\x1B\x97Wa\x1B\x97a(]V[_\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\xB1Wa\x1B\xB1a#\xE9V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\xDBW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P_[\x82\x81\x10\x15a\x1CJW\x83`\x01a\x1B\xF5\x83\x86a'\xAAV[a\x1B\xFF\x91\x90a'\xAAV[\x81Q\x81\x10a\x1C\x0FWa\x1C\x0Fa(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x82\x82\x81Q\x81\x10a\x1C,Wa\x1C,a(qV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a\x1B\xE0V[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\xDAW\x83\x81a\x1C\x86\x85\x88a'\xAAV[a\x1C\x90\x91\x90a'\x97V[\x81Q\x81\x10a\x1C\xA0Wa\x1C\xA0a(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x82\x82\x81Q\x81\x10a\x1C\xC0Wa\x1C\xC0a(qV[`\xFF\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a\x1CrV[P_a\x1C\xE5\x82a\"\xB7V[\x90Pa\x01\0_Q` a*w_9_Q\x90_R_a\x1D\x03\x86\x89a'\xAAV[\x90P_[\x81\x81\x10\x15a\x1DpW_\x88`\x01a\x1D\x1D\x84\x86a'\xAAV[a\x1D'\x91\x90a'\xAAV[\x81Q\x81\x10a\x1D7Wa\x1D7a(qV[\x01` \x01Q`\xF8\x1C\x90P\x83\x80a\x1DOWa\x1DOa(*V[\x85\x87\t\x95P\x83\x80a\x1DbWa\x1Dba(*V[\x81\x87\x08\x95PP`\x01\x01a\x1D\x07V[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*w_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\x1E=W`@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\x1EVWa\x1ES\x83\x82a'\xAAV[\x92P[\x80\x80a\x1EdWa\x1Eda(*V[\x83\x84\t\x96\x90\x96\x14\x96\x91\x95P\x90\x93PPPPV[\x80`\x01`\x01`\xA0\x1B\x03\x16;_\x03a\x1E\xACW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x05\xF9V[_Q` a*\x97_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\x1E\xF6\x91\x90a(\x85V[_`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80_\x81\x14a\x1F.W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x1F3V[``\x91P[P\x91P\x91Pa\x1FC\x85\x83\x83a#\x1EV[\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\xAB\x92\x91\x90a(\x0EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80\x84`\xF8\x1B`@Q` \x01a\x1F\xD2\x92\x91\x90a(\x90V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80`@Q` \x01a\x1F\xF4\x91\x90a(\xBAV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90R\x91Pa\x01\x01`\xF0\x1B\x90a \x1E\x90\x83\x90\x83\x90` \x01a(\xD2V[`@\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 \x8EWa \x8Ea#\xE9V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a \xB8W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P_\x82`@Q` \x01a \xCF\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x90P_[\x81Q\x81\x10\x15a!9W\x81\x81\x81Q\x81\x10a \xFEWa \xFEa(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x83\x82\x81Q\x81\x10a!\x1BWa!\x1Ba(qV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a \xE3V[P_\x84`@Q` \x01a!N\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!\xE0W_\x83\x82\x81Q\x81\x10a!\x87Wa!\x87a(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x83\x83\x81Q\x81\x10a!\xA4Wa!\xA4a(qV[` \x01\x01Q`\xF8\x1C`\xF8\x1B\x18\x90P\x88\x81`@Q` \x01a!\xC5\x92\x91\x90a(\xF6V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x98PP`\x01\x01a!lV[P\x86\x88\x87`@Q` \x01a!\xF6\x93\x92\x91\x90a)\x1AV[`@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\"E\x8A`\xFF\x8D\x16a'\xAAV[\x81\x10\x15a\"\xA6W\x82\x81\x81Q\x81\x10a\"^Wa\"^a(qV[\x01` \x01Q`\x01`\x01`\xF8\x1B\x03\x19\x16\x84a\"x\x83\x8Da'\x97V[\x81Q\x81\x10a\"\x88Wa\"\x88a(qV[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81_\x1A\x90SP`\x01\x01a\"8V[P\x91\x9B\x9APPPPPPPPPPPV[_\x80\x80[\x83Q\x81\x10\x15a#\x17W\x83\x81\x81Q\x81\x10a\"\xD6Wa\"\xD6a(qV[` \x02` \x01\x01Q`\xFF\x16\x81`\x08a\"\xEE\x91\x90a)MV[a\"\xF9\x90`\x02a*GV[a#\x03\x91\x90a)MV[a#\r\x90\x83a'\x97V[\x91P`\x01\x01a\"\xBBV[P\x92\x91PPV[``\x82a#3Wa#.\x82a#}V[a#vV[\x81Q\x15\x80\x15a#JWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a#sW`@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#\x8DW\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#\xBCW__\xFD[\x91\x90PV[__`@\x83\x85\x03\x12\x15a#\xD2W__\xFD[a#\xDB\x83a#\xA6V[\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$ Wa$ a#\xE9V[`@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$OWa$Oa#\xE9V[`@R\x91\x90PV[_`\x80\x82\x84\x03\x12\x15a$gW__\xFD[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$\x8AWa$\x8Aa#\xE9V[`@\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$\xC8W__\xFD[a$\xD0a#\xFDV[\x825\x81R` \x92\x83\x015\x92\x81\x01\x92\x90\x92RP\x91\x90PV[____a\x01 \x85\x87\x03\x12\x15a$\xFBW__\xFD[a%\x05\x86\x86a$WV[\x93Pa%\x14\x86`\x80\x87\x01a$\xB8V[\x92Pa%#\x86`\xC0\x87\x01a$\xB8V[\x91Pa\x01\0\x85\x015a\xFF\xFF\x81\x16\x81\x14a%:W__\xFD[\x93\x96\x92\x95P\x90\x93PPV[_` \x82\x84\x03\x12\x15a%UW__\xFD[a\x17#\x82a#\xA6V[__`@\x83\x85\x03\x12\x15a%oW__\xFD[a%x\x83a#\xA6V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x93W__\xFD[\x83\x01`\x1F\x81\x01\x85\x13a%\xA3W__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\xBDWa%\xBDa#\xE9V[a%\xD0`\x1F\x82\x01`\x1F\x19\x16` \x01a$&V[\x81\x81R\x86` \x83\x85\x01\x01\x11\x15a%\xE4W__\xFD[\x81` \x84\x01` \x83\x017_` \x83\x83\x01\x01R\x80\x93PPPP\x92P\x92\x90PV[___a\x01\0\x84\x86\x03\x12\x15a&\x16W__\xFD[a& \x85\x85a$WV[\x92Pa&/\x85`\x80\x86\x01a$\xB8V[\x91Pa&>\x85`\xC0\x86\x01a$\xB8V[\x90P\x92P\x92P\x92V[_`\x80\x82\x84\x03\x12\x15a&WW__\xFD[a\x17#\x83\x83a$WV[__`@\x83\x85\x03\x12\x15a&rW__\xFD[a&{\x83a#\xA6V[\x91Pa&\x89` \x84\x01a#\xA6V[\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&\xD7W__\xFD[P5\x91\x90PV[____`\x80\x85\x87\x03\x12\x15a&\xF1W__\xFD[a&\xFA\x85a#\xA6V[\x93Pa'\x08` \x86\x01a#\xA6V[\x92P`@\x85\x015\x91Pa'\x1D``\x86\x01a#\xA6V[\x90P\x92\x95\x91\x94P\x92PV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x82\x81R`@\x81\x01`\x03\x83\x10a'_WcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x82` \x83\x01R\x93\x92PPPV[_` \x82\x84\x03\x12\x15a'|W__\xFD[PQ\x91\x90PV[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x17&Wa\x17&a'\x83V[\x81\x81\x03\x81\x81\x11\x15a\x17&Wa\x17&a'\x83V[\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#vV[_\x81Q\x80` \x84\x01\x85^_\x93\x01\x92\x83RP\x90\x91\x90PV[_a(\"a(\x1C\x83\x86a'\xF7V[\x84a'\xF7V[\x94\x93PPPPV[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a(XWcNH{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'\xF7V[_a(\x9B\x82\x85a'\xF7V[_\x81R`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16`\x01\x84\x01RPP`\x02\x01\x91\x90PV[_a(\xC5\x82\x84a'\xF7V[_\x81R`\x01\x01\x93\x92PPPV[_a(\xDD\x82\x85a'\xF7V[`\x01`\x01`\xF0\x1B\x03\x19\x93\x90\x93\x16\x83RPP`\x02\x01\x91\x90PV[_a)\x01\x82\x85a'\xF7V[`\x01`\x01`\xF8\x1B\x03\x19\x93\x90\x93\x16\x83RPP`\x01\x01\x91\x90PV[_a)%\x82\x86a'\xF7V[`\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'\x83V[`\x01\x81[`\x01\x84\x11\x15a)\x9FW\x80\x85\x04\x81\x11\x15a)\x83Wa)\x83a'\x83V[`\x01\x84\x16\x15a)\x91W\x90\x81\x02\x90[`\x01\x93\x90\x93\x1C\x92\x80\x02a)hV[\x93P\x93\x91PPV[_\x82a)\xB5WP`\x01a\x17&V[\x81a)\xC1WP_a\x17&V[\x81`\x01\x81\x14a)\xD7W`\x02\x81\x14a)\xE1Wa)\xFDV[`\x01\x91PPa\x17&V[`\xFF\x84\x11\x15a)\xF2Wa)\xF2a'\x83V[PP`\x01\x82\x1Ba\x17&V[P` \x83\x10a\x013\x83\x10\x16`N\x84\x10`\x0B\x84\x10\x16\x17\x15a* WP\x81\x81\na\x17&V[a*,_\x19\x84\x84a)dV[\x80_\x19\x04\x82\x11\x15a*?Wa*?a'\x83V[\x02\x93\x92PPPV[_a\x17#\x83\x83a)\xA7V\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",
2185 );
2186 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2187 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2188 #[derive(Clone)]
2189 pub struct ValidatorStatus(u8);
2190 const _: () = {
2191 use alloy::sol_types as alloy_sol_types;
2192 #[automatically_derived]
2193 impl alloy_sol_types::private::SolTypeValue<ValidatorStatus> for u8 {
2194 #[inline]
2195 fn stv_to_tokens(
2196 &self,
2197 ) -> <alloy::sol_types::sol_data::Uint<
2198 8,
2199 > as alloy_sol_types::SolType>::Token<'_> {
2200 alloy_sol_types::private::SolTypeValue::<
2201 alloy::sol_types::sol_data::Uint<8>,
2202 >::stv_to_tokens(self)
2203 }
2204 #[inline]
2205 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2206 <alloy::sol_types::sol_data::Uint<
2207 8,
2208 > as alloy_sol_types::SolType>::tokenize(self)
2209 .0
2210 }
2211 #[inline]
2212 fn stv_abi_encode_packed_to(
2213 &self,
2214 out: &mut alloy_sol_types::private::Vec<u8>,
2215 ) {
2216 <alloy::sol_types::sol_data::Uint<
2217 8,
2218 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2219 }
2220 #[inline]
2221 fn stv_abi_packed_encoded_size(&self) -> usize {
2222 <alloy::sol_types::sol_data::Uint<
2223 8,
2224 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2225 }
2226 }
2227 #[automatically_derived]
2228 impl ValidatorStatus {
2229 pub const NAME: &'static str = stringify!(@ name);
2231 #[inline]
2233 pub const fn from(value: u8) -> Self {
2234 Self(value)
2235 }
2236 #[inline]
2238 pub const fn into(self) -> u8 {
2239 self.0
2240 }
2241 #[inline]
2244 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2245 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2246 }
2247 #[inline]
2250 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2251 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2252 }
2253 }
2254 #[automatically_derived]
2255 impl alloy_sol_types::SolType for ValidatorStatus {
2256 type RustType = u8;
2257 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2258 8,
2259 > as alloy_sol_types::SolType>::Token<'a>;
2260 const SOL_NAME: &'static str = Self::NAME;
2261 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2262 8,
2263 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2264 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2265 8,
2266 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2267 #[inline]
2268 fn valid_token(token: &Self::Token<'_>) -> bool {
2269 Self::type_check(token).is_ok()
2270 }
2271 #[inline]
2272 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2273 <alloy::sol_types::sol_data::Uint<
2274 8,
2275 > as alloy_sol_types::SolType>::type_check(token)
2276 }
2277 #[inline]
2278 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2279 <alloy::sol_types::sol_data::Uint<
2280 8,
2281 > as alloy_sol_types::SolType>::detokenize(token)
2282 }
2283 }
2284 #[automatically_derived]
2285 impl alloy_sol_types::EventTopic for ValidatorStatus {
2286 #[inline]
2287 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2288 <alloy::sol_types::sol_data::Uint<
2289 8,
2290 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2291 }
2292 #[inline]
2293 fn encode_topic_preimage(
2294 rust: &Self::RustType,
2295 out: &mut alloy_sol_types::private::Vec<u8>,
2296 ) {
2297 <alloy::sol_types::sol_data::Uint<
2298 8,
2299 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
2300 }
2301 #[inline]
2302 fn encode_topic(
2303 rust: &Self::RustType,
2304 ) -> alloy_sol_types::abi::token::WordToken {
2305 <alloy::sol_types::sol_data::Uint<
2306 8,
2307 > as alloy_sol_types::EventTopic>::encode_topic(rust)
2308 }
2309 }
2310 };
2311 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2312 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2317 #[derive(Clone)]
2318 pub struct AddressEmptyCode {
2319 #[allow(missing_docs)]
2320 pub target: alloy::sol_types::private::Address,
2321 }
2322 #[allow(
2323 non_camel_case_types,
2324 non_snake_case,
2325 clippy::pub_underscore_fields,
2326 clippy::style
2327 )]
2328 const _: () = {
2329 use alloy::sol_types as alloy_sol_types;
2330 #[doc(hidden)]
2331 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
2332 #[doc(hidden)]
2333 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
2334 #[cfg(test)]
2335 #[allow(dead_code, unreachable_patterns)]
2336 fn _type_assertion(
2337 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2338 ) {
2339 match _t {
2340 alloy_sol_types::private::AssertTypeEq::<
2341 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2342 >(_) => {}
2343 }
2344 }
2345 #[automatically_derived]
2346 #[doc(hidden)]
2347 impl ::core::convert::From<AddressEmptyCode> for UnderlyingRustTuple<'_> {
2348 fn from(value: AddressEmptyCode) -> Self {
2349 (value.target,)
2350 }
2351 }
2352 #[automatically_derived]
2353 #[doc(hidden)]
2354 impl ::core::convert::From<UnderlyingRustTuple<'_>> for AddressEmptyCode {
2355 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2356 Self { target: tuple.0 }
2357 }
2358 }
2359 #[automatically_derived]
2360 impl alloy_sol_types::SolError for AddressEmptyCode {
2361 type Parameters<'a> = UnderlyingSolTuple<'a>;
2362 type Token<'a> = <Self::Parameters<
2363 'a,
2364 > as alloy_sol_types::SolType>::Token<'a>;
2365 const SIGNATURE: &'static str = "AddressEmptyCode(address)";
2366 const SELECTOR: [u8; 4] = [153u8, 150u8, 179u8, 21u8];
2367 #[inline]
2368 fn new<'a>(
2369 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2370 ) -> Self {
2371 tuple.into()
2372 }
2373 #[inline]
2374 fn tokenize(&self) -> Self::Token<'_> {
2375 (
2376 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2377 &self.target,
2378 ),
2379 )
2380 }
2381 }
2382 };
2383 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2384 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2389 #[derive(Clone)]
2390 pub struct BLSSigVerificationFailed {}
2391 #[allow(
2392 non_camel_case_types,
2393 non_snake_case,
2394 clippy::pub_underscore_fields,
2395 clippy::style
2396 )]
2397 const _: () = {
2398 use alloy::sol_types as alloy_sol_types;
2399 #[doc(hidden)]
2400 type UnderlyingSolTuple<'a> = ();
2401 #[doc(hidden)]
2402 type UnderlyingRustTuple<'a> = ();
2403 #[cfg(test)]
2404 #[allow(dead_code, unreachable_patterns)]
2405 fn _type_assertion(
2406 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2407 ) {
2408 match _t {
2409 alloy_sol_types::private::AssertTypeEq::<
2410 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2411 >(_) => {}
2412 }
2413 }
2414 #[automatically_derived]
2415 #[doc(hidden)]
2416 impl ::core::convert::From<BLSSigVerificationFailed>
2417 for UnderlyingRustTuple<'_> {
2418 fn from(value: BLSSigVerificationFailed) -> Self {
2419 ()
2420 }
2421 }
2422 #[automatically_derived]
2423 #[doc(hidden)]
2424 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2425 for BLSSigVerificationFailed {
2426 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2427 Self {}
2428 }
2429 }
2430 #[automatically_derived]
2431 impl alloy_sol_types::SolError for BLSSigVerificationFailed {
2432 type Parameters<'a> = UnderlyingSolTuple<'a>;
2433 type Token<'a> = <Self::Parameters<
2434 'a,
2435 > as alloy_sol_types::SolType>::Token<'a>;
2436 const SIGNATURE: &'static str = "BLSSigVerificationFailed()";
2437 const SELECTOR: [u8; 4] = [12u8, 237u8, 62u8, 80u8];
2438 #[inline]
2439 fn new<'a>(
2440 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2441 ) -> Self {
2442 tuple.into()
2443 }
2444 #[inline]
2445 fn tokenize(&self) -> Self::Token<'_> {
2446 ()
2447 }
2448 }
2449 };
2450 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2451 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2456 #[derive(Clone)]
2457 pub struct BlsKeyAlreadyUsed {}
2458 #[allow(
2459 non_camel_case_types,
2460 non_snake_case,
2461 clippy::pub_underscore_fields,
2462 clippy::style
2463 )]
2464 const _: () = {
2465 use alloy::sol_types as alloy_sol_types;
2466 #[doc(hidden)]
2467 type UnderlyingSolTuple<'a> = ();
2468 #[doc(hidden)]
2469 type UnderlyingRustTuple<'a> = ();
2470 #[cfg(test)]
2471 #[allow(dead_code, unreachable_patterns)]
2472 fn _type_assertion(
2473 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2474 ) {
2475 match _t {
2476 alloy_sol_types::private::AssertTypeEq::<
2477 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2478 >(_) => {}
2479 }
2480 }
2481 #[automatically_derived]
2482 #[doc(hidden)]
2483 impl ::core::convert::From<BlsKeyAlreadyUsed> for UnderlyingRustTuple<'_> {
2484 fn from(value: BlsKeyAlreadyUsed) -> Self {
2485 ()
2486 }
2487 }
2488 #[automatically_derived]
2489 #[doc(hidden)]
2490 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BlsKeyAlreadyUsed {
2491 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2492 Self {}
2493 }
2494 }
2495 #[automatically_derived]
2496 impl alloy_sol_types::SolError for BlsKeyAlreadyUsed {
2497 type Parameters<'a> = UnderlyingSolTuple<'a>;
2498 type Token<'a> = <Self::Parameters<
2499 'a,
2500 > as alloy_sol_types::SolType>::Token<'a>;
2501 const SIGNATURE: &'static str = "BlsKeyAlreadyUsed()";
2502 const SELECTOR: [u8; 4] = [1u8, 181u8, 20u8, 174u8];
2503 #[inline]
2504 fn new<'a>(
2505 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2506 ) -> Self {
2507 tuple.into()
2508 }
2509 #[inline]
2510 fn tokenize(&self) -> Self::Token<'_> {
2511 ()
2512 }
2513 }
2514 };
2515 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2516 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2521 #[derive(Clone)]
2522 pub struct ERC1967InvalidImplementation {
2523 #[allow(missing_docs)]
2524 pub implementation: alloy::sol_types::private::Address,
2525 }
2526 #[allow(
2527 non_camel_case_types,
2528 non_snake_case,
2529 clippy::pub_underscore_fields,
2530 clippy::style
2531 )]
2532 const _: () = {
2533 use alloy::sol_types as alloy_sol_types;
2534 #[doc(hidden)]
2535 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
2536 #[doc(hidden)]
2537 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
2538 #[cfg(test)]
2539 #[allow(dead_code, unreachable_patterns)]
2540 fn _type_assertion(
2541 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2542 ) {
2543 match _t {
2544 alloy_sol_types::private::AssertTypeEq::<
2545 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2546 >(_) => {}
2547 }
2548 }
2549 #[automatically_derived]
2550 #[doc(hidden)]
2551 impl ::core::convert::From<ERC1967InvalidImplementation>
2552 for UnderlyingRustTuple<'_> {
2553 fn from(value: ERC1967InvalidImplementation) -> Self {
2554 (value.implementation,)
2555 }
2556 }
2557 #[automatically_derived]
2558 #[doc(hidden)]
2559 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2560 for ERC1967InvalidImplementation {
2561 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2562 Self { implementation: tuple.0 }
2563 }
2564 }
2565 #[automatically_derived]
2566 impl alloy_sol_types::SolError for ERC1967InvalidImplementation {
2567 type Parameters<'a> = UnderlyingSolTuple<'a>;
2568 type Token<'a> = <Self::Parameters<
2569 'a,
2570 > as alloy_sol_types::SolType>::Token<'a>;
2571 const SIGNATURE: &'static str = "ERC1967InvalidImplementation(address)";
2572 const SELECTOR: [u8; 4] = [76u8, 156u8, 140u8, 227u8];
2573 #[inline]
2574 fn new<'a>(
2575 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2576 ) -> Self {
2577 tuple.into()
2578 }
2579 #[inline]
2580 fn tokenize(&self) -> Self::Token<'_> {
2581 (
2582 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2583 &self.implementation,
2584 ),
2585 )
2586 }
2587 }
2588 };
2589 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2590 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2595 #[derive(Clone)]
2596 pub struct ERC1967NonPayable {}
2597 #[allow(
2598 non_camel_case_types,
2599 non_snake_case,
2600 clippy::pub_underscore_fields,
2601 clippy::style
2602 )]
2603 const _: () = {
2604 use alloy::sol_types as alloy_sol_types;
2605 #[doc(hidden)]
2606 type UnderlyingSolTuple<'a> = ();
2607 #[doc(hidden)]
2608 type UnderlyingRustTuple<'a> = ();
2609 #[cfg(test)]
2610 #[allow(dead_code, unreachable_patterns)]
2611 fn _type_assertion(
2612 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2613 ) {
2614 match _t {
2615 alloy_sol_types::private::AssertTypeEq::<
2616 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2617 >(_) => {}
2618 }
2619 }
2620 #[automatically_derived]
2621 #[doc(hidden)]
2622 impl ::core::convert::From<ERC1967NonPayable> for UnderlyingRustTuple<'_> {
2623 fn from(value: ERC1967NonPayable) -> Self {
2624 ()
2625 }
2626 }
2627 #[automatically_derived]
2628 #[doc(hidden)]
2629 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ERC1967NonPayable {
2630 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2631 Self {}
2632 }
2633 }
2634 #[automatically_derived]
2635 impl alloy_sol_types::SolError for ERC1967NonPayable {
2636 type Parameters<'a> = UnderlyingSolTuple<'a>;
2637 type Token<'a> = <Self::Parameters<
2638 'a,
2639 > as alloy_sol_types::SolType>::Token<'a>;
2640 const SIGNATURE: &'static str = "ERC1967NonPayable()";
2641 const SELECTOR: [u8; 4] = [179u8, 152u8, 151u8, 159u8];
2642 #[inline]
2643 fn new<'a>(
2644 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2645 ) -> Self {
2646 tuple.into()
2647 }
2648 #[inline]
2649 fn tokenize(&self) -> Self::Token<'_> {
2650 ()
2651 }
2652 }
2653 };
2654 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2655 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2660 #[derive(Clone)]
2661 pub struct ExitEscrowPeriodInvalid {}
2662 #[allow(
2663 non_camel_case_types,
2664 non_snake_case,
2665 clippy::pub_underscore_fields,
2666 clippy::style
2667 )]
2668 const _: () = {
2669 use alloy::sol_types as alloy_sol_types;
2670 #[doc(hidden)]
2671 type UnderlyingSolTuple<'a> = ();
2672 #[doc(hidden)]
2673 type UnderlyingRustTuple<'a> = ();
2674 #[cfg(test)]
2675 #[allow(dead_code, unreachable_patterns)]
2676 fn _type_assertion(
2677 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2678 ) {
2679 match _t {
2680 alloy_sol_types::private::AssertTypeEq::<
2681 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2682 >(_) => {}
2683 }
2684 }
2685 #[automatically_derived]
2686 #[doc(hidden)]
2687 impl ::core::convert::From<ExitEscrowPeriodInvalid> for UnderlyingRustTuple<'_> {
2688 fn from(value: ExitEscrowPeriodInvalid) -> Self {
2689 ()
2690 }
2691 }
2692 #[automatically_derived]
2693 #[doc(hidden)]
2694 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ExitEscrowPeriodInvalid {
2695 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2696 Self {}
2697 }
2698 }
2699 #[automatically_derived]
2700 impl alloy_sol_types::SolError for ExitEscrowPeriodInvalid {
2701 type Parameters<'a> = UnderlyingSolTuple<'a>;
2702 type Token<'a> = <Self::Parameters<
2703 'a,
2704 > as alloy_sol_types::SolType>::Token<'a>;
2705 const SIGNATURE: &'static str = "ExitEscrowPeriodInvalid()";
2706 const SELECTOR: [u8; 4] = [181u8, 126u8, 33u8, 223u8];
2707 #[inline]
2708 fn new<'a>(
2709 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2710 ) -> Self {
2711 tuple.into()
2712 }
2713 #[inline]
2714 fn tokenize(&self) -> Self::Token<'_> {
2715 ()
2716 }
2717 }
2718 };
2719 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2720 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2725 #[derive(Clone)]
2726 pub struct FailedInnerCall {}
2727 #[allow(
2728 non_camel_case_types,
2729 non_snake_case,
2730 clippy::pub_underscore_fields,
2731 clippy::style
2732 )]
2733 const _: () = {
2734 use alloy::sol_types as alloy_sol_types;
2735 #[doc(hidden)]
2736 type UnderlyingSolTuple<'a> = ();
2737 #[doc(hidden)]
2738 type UnderlyingRustTuple<'a> = ();
2739 #[cfg(test)]
2740 #[allow(dead_code, unreachable_patterns)]
2741 fn _type_assertion(
2742 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2743 ) {
2744 match _t {
2745 alloy_sol_types::private::AssertTypeEq::<
2746 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2747 >(_) => {}
2748 }
2749 }
2750 #[automatically_derived]
2751 #[doc(hidden)]
2752 impl ::core::convert::From<FailedInnerCall> for UnderlyingRustTuple<'_> {
2753 fn from(value: FailedInnerCall) -> Self {
2754 ()
2755 }
2756 }
2757 #[automatically_derived]
2758 #[doc(hidden)]
2759 impl ::core::convert::From<UnderlyingRustTuple<'_>> for FailedInnerCall {
2760 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2761 Self {}
2762 }
2763 }
2764 #[automatically_derived]
2765 impl alloy_sol_types::SolError for FailedInnerCall {
2766 type Parameters<'a> = UnderlyingSolTuple<'a>;
2767 type Token<'a> = <Self::Parameters<
2768 'a,
2769 > as alloy_sol_types::SolType>::Token<'a>;
2770 const SIGNATURE: &'static str = "FailedInnerCall()";
2771 const SELECTOR: [u8; 4] = [20u8, 37u8, 234u8, 66u8];
2772 #[inline]
2773 fn new<'a>(
2774 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2775 ) -> Self {
2776 tuple.into()
2777 }
2778 #[inline]
2779 fn tokenize(&self) -> Self::Token<'_> {
2780 ()
2781 }
2782 }
2783 };
2784 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2785 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2790 #[derive(Clone)]
2791 pub struct InsufficientAllowance {
2792 #[allow(missing_docs)]
2793 pub _0: alloy::sol_types::private::primitives::aliases::U256,
2794 #[allow(missing_docs)]
2795 pub _1: alloy::sol_types::private::primitives::aliases::U256,
2796 }
2797 #[allow(
2798 non_camel_case_types,
2799 non_snake_case,
2800 clippy::pub_underscore_fields,
2801 clippy::style
2802 )]
2803 const _: () = {
2804 use alloy::sol_types as alloy_sol_types;
2805 #[doc(hidden)]
2806 type UnderlyingSolTuple<'a> = (
2807 alloy::sol_types::sol_data::Uint<256>,
2808 alloy::sol_types::sol_data::Uint<256>,
2809 );
2810 #[doc(hidden)]
2811 type UnderlyingRustTuple<'a> = (
2812 alloy::sol_types::private::primitives::aliases::U256,
2813 alloy::sol_types::private::primitives::aliases::U256,
2814 );
2815 #[cfg(test)]
2816 #[allow(dead_code, unreachable_patterns)]
2817 fn _type_assertion(
2818 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2819 ) {
2820 match _t {
2821 alloy_sol_types::private::AssertTypeEq::<
2822 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2823 >(_) => {}
2824 }
2825 }
2826 #[automatically_derived]
2827 #[doc(hidden)]
2828 impl ::core::convert::From<InsufficientAllowance> for UnderlyingRustTuple<'_> {
2829 fn from(value: InsufficientAllowance) -> Self {
2830 (value._0, value._1)
2831 }
2832 }
2833 #[automatically_derived]
2834 #[doc(hidden)]
2835 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InsufficientAllowance {
2836 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2837 Self { _0: tuple.0, _1: tuple.1 }
2838 }
2839 }
2840 #[automatically_derived]
2841 impl alloy_sol_types::SolError for InsufficientAllowance {
2842 type Parameters<'a> = UnderlyingSolTuple<'a>;
2843 type Token<'a> = <Self::Parameters<
2844 'a,
2845 > as alloy_sol_types::SolType>::Token<'a>;
2846 const SIGNATURE: &'static str = "InsufficientAllowance(uint256,uint256)";
2847 const SELECTOR: [u8; 4] = [42u8, 27u8, 45u8, 216u8];
2848 #[inline]
2849 fn new<'a>(
2850 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2851 ) -> Self {
2852 tuple.into()
2853 }
2854 #[inline]
2855 fn tokenize(&self) -> Self::Token<'_> {
2856 (
2857 <alloy::sol_types::sol_data::Uint<
2858 256,
2859 > as alloy_sol_types::SolType>::tokenize(&self._0),
2860 <alloy::sol_types::sol_data::Uint<
2861 256,
2862 > as alloy_sol_types::SolType>::tokenize(&self._1),
2863 )
2864 }
2865 }
2866 };
2867 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2868 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2873 #[derive(Clone)]
2874 pub struct InsufficientBalance {
2875 #[allow(missing_docs)]
2876 pub _0: alloy::sol_types::private::primitives::aliases::U256,
2877 }
2878 #[allow(
2879 non_camel_case_types,
2880 non_snake_case,
2881 clippy::pub_underscore_fields,
2882 clippy::style
2883 )]
2884 const _: () = {
2885 use alloy::sol_types as alloy_sol_types;
2886 #[doc(hidden)]
2887 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2888 #[doc(hidden)]
2889 type UnderlyingRustTuple<'a> = (
2890 alloy::sol_types::private::primitives::aliases::U256,
2891 );
2892 #[cfg(test)]
2893 #[allow(dead_code, unreachable_patterns)]
2894 fn _type_assertion(
2895 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2896 ) {
2897 match _t {
2898 alloy_sol_types::private::AssertTypeEq::<
2899 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2900 >(_) => {}
2901 }
2902 }
2903 #[automatically_derived]
2904 #[doc(hidden)]
2905 impl ::core::convert::From<InsufficientBalance> for UnderlyingRustTuple<'_> {
2906 fn from(value: InsufficientBalance) -> Self {
2907 (value._0,)
2908 }
2909 }
2910 #[automatically_derived]
2911 #[doc(hidden)]
2912 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InsufficientBalance {
2913 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2914 Self { _0: tuple.0 }
2915 }
2916 }
2917 #[automatically_derived]
2918 impl alloy_sol_types::SolError for InsufficientBalance {
2919 type Parameters<'a> = UnderlyingSolTuple<'a>;
2920 type Token<'a> = <Self::Parameters<
2921 'a,
2922 > as alloy_sol_types::SolType>::Token<'a>;
2923 const SIGNATURE: &'static str = "InsufficientBalance(uint256)";
2924 const SELECTOR: [u8; 4] = [146u8, 102u8, 83u8, 81u8];
2925 #[inline]
2926 fn new<'a>(
2927 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2928 ) -> Self {
2929 tuple.into()
2930 }
2931 #[inline]
2932 fn tokenize(&self) -> Self::Token<'_> {
2933 (
2934 <alloy::sol_types::sol_data::Uint<
2935 256,
2936 > as alloy_sol_types::SolType>::tokenize(&self._0),
2937 )
2938 }
2939 }
2940 };
2941 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2942 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2947 #[derive(Clone)]
2948 pub struct InvalidCommission {}
2949 #[allow(
2950 non_camel_case_types,
2951 non_snake_case,
2952 clippy::pub_underscore_fields,
2953 clippy::style
2954 )]
2955 const _: () = {
2956 use alloy::sol_types as alloy_sol_types;
2957 #[doc(hidden)]
2958 type UnderlyingSolTuple<'a> = ();
2959 #[doc(hidden)]
2960 type UnderlyingRustTuple<'a> = ();
2961 #[cfg(test)]
2962 #[allow(dead_code, unreachable_patterns)]
2963 fn _type_assertion(
2964 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2965 ) {
2966 match _t {
2967 alloy_sol_types::private::AssertTypeEq::<
2968 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2969 >(_) => {}
2970 }
2971 }
2972 #[automatically_derived]
2973 #[doc(hidden)]
2974 impl ::core::convert::From<InvalidCommission> for UnderlyingRustTuple<'_> {
2975 fn from(value: InvalidCommission) -> Self {
2976 ()
2977 }
2978 }
2979 #[automatically_derived]
2980 #[doc(hidden)]
2981 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidCommission {
2982 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2983 Self {}
2984 }
2985 }
2986 #[automatically_derived]
2987 impl alloy_sol_types::SolError for InvalidCommission {
2988 type Parameters<'a> = UnderlyingSolTuple<'a>;
2989 type Token<'a> = <Self::Parameters<
2990 'a,
2991 > as alloy_sol_types::SolType>::Token<'a>;
2992 const SIGNATURE: &'static str = "InvalidCommission()";
2993 const SELECTOR: [u8; 4] = [220u8, 129u8, 219u8, 133u8];
2994 #[inline]
2995 fn new<'a>(
2996 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2997 ) -> Self {
2998 tuple.into()
2999 }
3000 #[inline]
3001 fn tokenize(&self) -> Self::Token<'_> {
3002 ()
3003 }
3004 }
3005 };
3006 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3007 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3012 #[derive(Clone)]
3013 pub struct InvalidInitialization {}
3014 #[allow(
3015 non_camel_case_types,
3016 non_snake_case,
3017 clippy::pub_underscore_fields,
3018 clippy::style
3019 )]
3020 const _: () = {
3021 use alloy::sol_types as alloy_sol_types;
3022 #[doc(hidden)]
3023 type UnderlyingSolTuple<'a> = ();
3024 #[doc(hidden)]
3025 type UnderlyingRustTuple<'a> = ();
3026 #[cfg(test)]
3027 #[allow(dead_code, unreachable_patterns)]
3028 fn _type_assertion(
3029 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3030 ) {
3031 match _t {
3032 alloy_sol_types::private::AssertTypeEq::<
3033 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3034 >(_) => {}
3035 }
3036 }
3037 #[automatically_derived]
3038 #[doc(hidden)]
3039 impl ::core::convert::From<InvalidInitialization> for UnderlyingRustTuple<'_> {
3040 fn from(value: InvalidInitialization) -> Self {
3041 ()
3042 }
3043 }
3044 #[automatically_derived]
3045 #[doc(hidden)]
3046 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidInitialization {
3047 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3048 Self {}
3049 }
3050 }
3051 #[automatically_derived]
3052 impl alloy_sol_types::SolError for InvalidInitialization {
3053 type Parameters<'a> = UnderlyingSolTuple<'a>;
3054 type Token<'a> = <Self::Parameters<
3055 'a,
3056 > as alloy_sol_types::SolType>::Token<'a>;
3057 const SIGNATURE: &'static str = "InvalidInitialization()";
3058 const SELECTOR: [u8; 4] = [249u8, 46u8, 232u8, 169u8];
3059 #[inline]
3060 fn new<'a>(
3061 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3062 ) -> Self {
3063 tuple.into()
3064 }
3065 #[inline]
3066 fn tokenize(&self) -> Self::Token<'_> {
3067 ()
3068 }
3069 }
3070 };
3071 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3072 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3077 #[derive(Clone)]
3078 pub struct InvalidSchnorrVK {}
3079 #[allow(
3080 non_camel_case_types,
3081 non_snake_case,
3082 clippy::pub_underscore_fields,
3083 clippy::style
3084 )]
3085 const _: () = {
3086 use alloy::sol_types as alloy_sol_types;
3087 #[doc(hidden)]
3088 type UnderlyingSolTuple<'a> = ();
3089 #[doc(hidden)]
3090 type UnderlyingRustTuple<'a> = ();
3091 #[cfg(test)]
3092 #[allow(dead_code, unreachable_patterns)]
3093 fn _type_assertion(
3094 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3095 ) {
3096 match _t {
3097 alloy_sol_types::private::AssertTypeEq::<
3098 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3099 >(_) => {}
3100 }
3101 }
3102 #[automatically_derived]
3103 #[doc(hidden)]
3104 impl ::core::convert::From<InvalidSchnorrVK> for UnderlyingRustTuple<'_> {
3105 fn from(value: InvalidSchnorrVK) -> Self {
3106 ()
3107 }
3108 }
3109 #[automatically_derived]
3110 #[doc(hidden)]
3111 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidSchnorrVK {
3112 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3113 Self {}
3114 }
3115 }
3116 #[automatically_derived]
3117 impl alloy_sol_types::SolError for InvalidSchnorrVK {
3118 type Parameters<'a> = UnderlyingSolTuple<'a>;
3119 type Token<'a> = <Self::Parameters<
3120 'a,
3121 > as alloy_sol_types::SolType>::Token<'a>;
3122 const SIGNATURE: &'static str = "InvalidSchnorrVK()";
3123 const SELECTOR: [u8; 4] = [6u8, 207u8, 67u8, 143u8];
3124 #[inline]
3125 fn new<'a>(
3126 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3127 ) -> Self {
3128 tuple.into()
3129 }
3130 #[inline]
3131 fn tokenize(&self) -> Self::Token<'_> {
3132 ()
3133 }
3134 }
3135 };
3136 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3137 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3142 #[derive(Clone)]
3143 pub struct NotInitializing {}
3144 #[allow(
3145 non_camel_case_types,
3146 non_snake_case,
3147 clippy::pub_underscore_fields,
3148 clippy::style
3149 )]
3150 const _: () = {
3151 use alloy::sol_types as alloy_sol_types;
3152 #[doc(hidden)]
3153 type UnderlyingSolTuple<'a> = ();
3154 #[doc(hidden)]
3155 type UnderlyingRustTuple<'a> = ();
3156 #[cfg(test)]
3157 #[allow(dead_code, unreachable_patterns)]
3158 fn _type_assertion(
3159 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3160 ) {
3161 match _t {
3162 alloy_sol_types::private::AssertTypeEq::<
3163 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3164 >(_) => {}
3165 }
3166 }
3167 #[automatically_derived]
3168 #[doc(hidden)]
3169 impl ::core::convert::From<NotInitializing> for UnderlyingRustTuple<'_> {
3170 fn from(value: NotInitializing) -> Self {
3171 ()
3172 }
3173 }
3174 #[automatically_derived]
3175 #[doc(hidden)]
3176 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NotInitializing {
3177 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3178 Self {}
3179 }
3180 }
3181 #[automatically_derived]
3182 impl alloy_sol_types::SolError for NotInitializing {
3183 type Parameters<'a> = UnderlyingSolTuple<'a>;
3184 type Token<'a> = <Self::Parameters<
3185 'a,
3186 > as alloy_sol_types::SolType>::Token<'a>;
3187 const SIGNATURE: &'static str = "NotInitializing()";
3188 const SELECTOR: [u8; 4] = [215u8, 230u8, 188u8, 248u8];
3189 #[inline]
3190 fn new<'a>(
3191 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3192 ) -> Self {
3193 tuple.into()
3194 }
3195 #[inline]
3196 fn tokenize(&self) -> Self::Token<'_> {
3197 ()
3198 }
3199 }
3200 };
3201 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3202 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3207 #[derive(Clone)]
3208 pub struct NothingToWithdraw {}
3209 #[allow(
3210 non_camel_case_types,
3211 non_snake_case,
3212 clippy::pub_underscore_fields,
3213 clippy::style
3214 )]
3215 const _: () = {
3216 use alloy::sol_types as alloy_sol_types;
3217 #[doc(hidden)]
3218 type UnderlyingSolTuple<'a> = ();
3219 #[doc(hidden)]
3220 type UnderlyingRustTuple<'a> = ();
3221 #[cfg(test)]
3222 #[allow(dead_code, unreachable_patterns)]
3223 fn _type_assertion(
3224 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3225 ) {
3226 match _t {
3227 alloy_sol_types::private::AssertTypeEq::<
3228 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3229 >(_) => {}
3230 }
3231 }
3232 #[automatically_derived]
3233 #[doc(hidden)]
3234 impl ::core::convert::From<NothingToWithdraw> for UnderlyingRustTuple<'_> {
3235 fn from(value: NothingToWithdraw) -> Self {
3236 ()
3237 }
3238 }
3239 #[automatically_derived]
3240 #[doc(hidden)]
3241 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NothingToWithdraw {
3242 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3243 Self {}
3244 }
3245 }
3246 #[automatically_derived]
3247 impl alloy_sol_types::SolError for NothingToWithdraw {
3248 type Parameters<'a> = UnderlyingSolTuple<'a>;
3249 type Token<'a> = <Self::Parameters<
3250 'a,
3251 > as alloy_sol_types::SolType>::Token<'a>;
3252 const SIGNATURE: &'static str = "NothingToWithdraw()";
3253 const SELECTOR: [u8; 4] = [208u8, 208u8, 79u8, 96u8];
3254 #[inline]
3255 fn new<'a>(
3256 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3257 ) -> Self {
3258 tuple.into()
3259 }
3260 #[inline]
3261 fn tokenize(&self) -> Self::Token<'_> {
3262 ()
3263 }
3264 }
3265 };
3266 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3267 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3272 #[derive(Clone)]
3273 pub struct OwnableInvalidOwner {
3274 #[allow(missing_docs)]
3275 pub owner: alloy::sol_types::private::Address,
3276 }
3277 #[allow(
3278 non_camel_case_types,
3279 non_snake_case,
3280 clippy::pub_underscore_fields,
3281 clippy::style
3282 )]
3283 const _: () = {
3284 use alloy::sol_types as alloy_sol_types;
3285 #[doc(hidden)]
3286 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
3287 #[doc(hidden)]
3288 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
3289 #[cfg(test)]
3290 #[allow(dead_code, unreachable_patterns)]
3291 fn _type_assertion(
3292 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3293 ) {
3294 match _t {
3295 alloy_sol_types::private::AssertTypeEq::<
3296 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3297 >(_) => {}
3298 }
3299 }
3300 #[automatically_derived]
3301 #[doc(hidden)]
3302 impl ::core::convert::From<OwnableInvalidOwner> for UnderlyingRustTuple<'_> {
3303 fn from(value: OwnableInvalidOwner) -> Self {
3304 (value.owner,)
3305 }
3306 }
3307 #[automatically_derived]
3308 #[doc(hidden)]
3309 impl ::core::convert::From<UnderlyingRustTuple<'_>> for OwnableInvalidOwner {
3310 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3311 Self { owner: tuple.0 }
3312 }
3313 }
3314 #[automatically_derived]
3315 impl alloy_sol_types::SolError for OwnableInvalidOwner {
3316 type Parameters<'a> = UnderlyingSolTuple<'a>;
3317 type Token<'a> = <Self::Parameters<
3318 'a,
3319 > as alloy_sol_types::SolType>::Token<'a>;
3320 const SIGNATURE: &'static str = "OwnableInvalidOwner(address)";
3321 const SELECTOR: [u8; 4] = [30u8, 79u8, 189u8, 247u8];
3322 #[inline]
3323 fn new<'a>(
3324 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3325 ) -> Self {
3326 tuple.into()
3327 }
3328 #[inline]
3329 fn tokenize(&self) -> Self::Token<'_> {
3330 (
3331 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3332 &self.owner,
3333 ),
3334 )
3335 }
3336 }
3337 };
3338 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3339 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3344 #[derive(Clone)]
3345 pub struct OwnableUnauthorizedAccount {
3346 #[allow(missing_docs)]
3347 pub account: alloy::sol_types::private::Address,
3348 }
3349 #[allow(
3350 non_camel_case_types,
3351 non_snake_case,
3352 clippy::pub_underscore_fields,
3353 clippy::style
3354 )]
3355 const _: () = {
3356 use alloy::sol_types as alloy_sol_types;
3357 #[doc(hidden)]
3358 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
3359 #[doc(hidden)]
3360 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
3361 #[cfg(test)]
3362 #[allow(dead_code, unreachable_patterns)]
3363 fn _type_assertion(
3364 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3365 ) {
3366 match _t {
3367 alloy_sol_types::private::AssertTypeEq::<
3368 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3369 >(_) => {}
3370 }
3371 }
3372 #[automatically_derived]
3373 #[doc(hidden)]
3374 impl ::core::convert::From<OwnableUnauthorizedAccount>
3375 for UnderlyingRustTuple<'_> {
3376 fn from(value: OwnableUnauthorizedAccount) -> Self {
3377 (value.account,)
3378 }
3379 }
3380 #[automatically_derived]
3381 #[doc(hidden)]
3382 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3383 for OwnableUnauthorizedAccount {
3384 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3385 Self { account: tuple.0 }
3386 }
3387 }
3388 #[automatically_derived]
3389 impl alloy_sol_types::SolError for OwnableUnauthorizedAccount {
3390 type Parameters<'a> = UnderlyingSolTuple<'a>;
3391 type Token<'a> = <Self::Parameters<
3392 'a,
3393 > as alloy_sol_types::SolType>::Token<'a>;
3394 const SIGNATURE: &'static str = "OwnableUnauthorizedAccount(address)";
3395 const SELECTOR: [u8; 4] = [17u8, 140u8, 218u8, 167u8];
3396 #[inline]
3397 fn new<'a>(
3398 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3399 ) -> Self {
3400 tuple.into()
3401 }
3402 #[inline]
3403 fn tokenize(&self) -> Self::Token<'_> {
3404 (
3405 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3406 &self.account,
3407 ),
3408 )
3409 }
3410 }
3411 };
3412 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3413 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3418 #[derive(Clone)]
3419 pub struct PrematureWithdrawal {}
3420 #[allow(
3421 non_camel_case_types,
3422 non_snake_case,
3423 clippy::pub_underscore_fields,
3424 clippy::style
3425 )]
3426 const _: () = {
3427 use alloy::sol_types as alloy_sol_types;
3428 #[doc(hidden)]
3429 type UnderlyingSolTuple<'a> = ();
3430 #[doc(hidden)]
3431 type UnderlyingRustTuple<'a> = ();
3432 #[cfg(test)]
3433 #[allow(dead_code, unreachable_patterns)]
3434 fn _type_assertion(
3435 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3436 ) {
3437 match _t {
3438 alloy_sol_types::private::AssertTypeEq::<
3439 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3440 >(_) => {}
3441 }
3442 }
3443 #[automatically_derived]
3444 #[doc(hidden)]
3445 impl ::core::convert::From<PrematureWithdrawal> for UnderlyingRustTuple<'_> {
3446 fn from(value: PrematureWithdrawal) -> Self {
3447 ()
3448 }
3449 }
3450 #[automatically_derived]
3451 #[doc(hidden)]
3452 impl ::core::convert::From<UnderlyingRustTuple<'_>> for PrematureWithdrawal {
3453 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3454 Self {}
3455 }
3456 }
3457 #[automatically_derived]
3458 impl alloy_sol_types::SolError for PrematureWithdrawal {
3459 type Parameters<'a> = UnderlyingSolTuple<'a>;
3460 type Token<'a> = <Self::Parameters<
3461 'a,
3462 > as alloy_sol_types::SolType>::Token<'a>;
3463 const SIGNATURE: &'static str = "PrematureWithdrawal()";
3464 const SELECTOR: [u8; 4] = [90u8, 119u8, 67u8, 87u8];
3465 #[inline]
3466 fn new<'a>(
3467 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3468 ) -> Self {
3469 tuple.into()
3470 }
3471 #[inline]
3472 fn tokenize(&self) -> Self::Token<'_> {
3473 ()
3474 }
3475 }
3476 };
3477 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3478 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3483 #[derive(Clone)]
3484 pub struct UUPSUnauthorizedCallContext {}
3485 #[allow(
3486 non_camel_case_types,
3487 non_snake_case,
3488 clippy::pub_underscore_fields,
3489 clippy::style
3490 )]
3491 const _: () = {
3492 use alloy::sol_types as alloy_sol_types;
3493 #[doc(hidden)]
3494 type UnderlyingSolTuple<'a> = ();
3495 #[doc(hidden)]
3496 type UnderlyingRustTuple<'a> = ();
3497 #[cfg(test)]
3498 #[allow(dead_code, unreachable_patterns)]
3499 fn _type_assertion(
3500 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3501 ) {
3502 match _t {
3503 alloy_sol_types::private::AssertTypeEq::<
3504 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3505 >(_) => {}
3506 }
3507 }
3508 #[automatically_derived]
3509 #[doc(hidden)]
3510 impl ::core::convert::From<UUPSUnauthorizedCallContext>
3511 for UnderlyingRustTuple<'_> {
3512 fn from(value: UUPSUnauthorizedCallContext) -> Self {
3513 ()
3514 }
3515 }
3516 #[automatically_derived]
3517 #[doc(hidden)]
3518 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3519 for UUPSUnauthorizedCallContext {
3520 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3521 Self {}
3522 }
3523 }
3524 #[automatically_derived]
3525 impl alloy_sol_types::SolError for UUPSUnauthorizedCallContext {
3526 type Parameters<'a> = UnderlyingSolTuple<'a>;
3527 type Token<'a> = <Self::Parameters<
3528 'a,
3529 > as alloy_sol_types::SolType>::Token<'a>;
3530 const SIGNATURE: &'static str = "UUPSUnauthorizedCallContext()";
3531 const SELECTOR: [u8; 4] = [224u8, 124u8, 141u8, 186u8];
3532 #[inline]
3533 fn new<'a>(
3534 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3535 ) -> Self {
3536 tuple.into()
3537 }
3538 #[inline]
3539 fn tokenize(&self) -> Self::Token<'_> {
3540 ()
3541 }
3542 }
3543 };
3544 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3545 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3550 #[derive(Clone)]
3551 pub struct UUPSUnsupportedProxiableUUID {
3552 #[allow(missing_docs)]
3553 pub slot: alloy::sol_types::private::FixedBytes<32>,
3554 }
3555 #[allow(
3556 non_camel_case_types,
3557 non_snake_case,
3558 clippy::pub_underscore_fields,
3559 clippy::style
3560 )]
3561 const _: () = {
3562 use alloy::sol_types as alloy_sol_types;
3563 #[doc(hidden)]
3564 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
3565 #[doc(hidden)]
3566 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
3567 #[cfg(test)]
3568 #[allow(dead_code, unreachable_patterns)]
3569 fn _type_assertion(
3570 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3571 ) {
3572 match _t {
3573 alloy_sol_types::private::AssertTypeEq::<
3574 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3575 >(_) => {}
3576 }
3577 }
3578 #[automatically_derived]
3579 #[doc(hidden)]
3580 impl ::core::convert::From<UUPSUnsupportedProxiableUUID>
3581 for UnderlyingRustTuple<'_> {
3582 fn from(value: UUPSUnsupportedProxiableUUID) -> Self {
3583 (value.slot,)
3584 }
3585 }
3586 #[automatically_derived]
3587 #[doc(hidden)]
3588 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3589 for UUPSUnsupportedProxiableUUID {
3590 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3591 Self { slot: tuple.0 }
3592 }
3593 }
3594 #[automatically_derived]
3595 impl alloy_sol_types::SolError for UUPSUnsupportedProxiableUUID {
3596 type Parameters<'a> = UnderlyingSolTuple<'a>;
3597 type Token<'a> = <Self::Parameters<
3598 'a,
3599 > as alloy_sol_types::SolType>::Token<'a>;
3600 const SIGNATURE: &'static str = "UUPSUnsupportedProxiableUUID(bytes32)";
3601 const SELECTOR: [u8; 4] = [170u8, 29u8, 73u8, 164u8];
3602 #[inline]
3603 fn new<'a>(
3604 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3605 ) -> Self {
3606 tuple.into()
3607 }
3608 #[inline]
3609 fn tokenize(&self) -> Self::Token<'_> {
3610 (
3611 <alloy::sol_types::sol_data::FixedBytes<
3612 32,
3613 > as alloy_sol_types::SolType>::tokenize(&self.slot),
3614 )
3615 }
3616 }
3617 };
3618 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3619 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3624 #[derive(Clone)]
3625 pub struct UndelegationAlreadyExists {}
3626 #[allow(
3627 non_camel_case_types,
3628 non_snake_case,
3629 clippy::pub_underscore_fields,
3630 clippy::style
3631 )]
3632 const _: () = {
3633 use alloy::sol_types as alloy_sol_types;
3634 #[doc(hidden)]
3635 type UnderlyingSolTuple<'a> = ();
3636 #[doc(hidden)]
3637 type UnderlyingRustTuple<'a> = ();
3638 #[cfg(test)]
3639 #[allow(dead_code, unreachable_patterns)]
3640 fn _type_assertion(
3641 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3642 ) {
3643 match _t {
3644 alloy_sol_types::private::AssertTypeEq::<
3645 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3646 >(_) => {}
3647 }
3648 }
3649 #[automatically_derived]
3650 #[doc(hidden)]
3651 impl ::core::convert::From<UndelegationAlreadyExists>
3652 for UnderlyingRustTuple<'_> {
3653 fn from(value: UndelegationAlreadyExists) -> Self {
3654 ()
3655 }
3656 }
3657 #[automatically_derived]
3658 #[doc(hidden)]
3659 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3660 for UndelegationAlreadyExists {
3661 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3662 Self {}
3663 }
3664 }
3665 #[automatically_derived]
3666 impl alloy_sol_types::SolError for UndelegationAlreadyExists {
3667 type Parameters<'a> = UnderlyingSolTuple<'a>;
3668 type Token<'a> = <Self::Parameters<
3669 'a,
3670 > as alloy_sol_types::SolType>::Token<'a>;
3671 const SIGNATURE: &'static str = "UndelegationAlreadyExists()";
3672 const SELECTOR: [u8; 4] = [212u8, 35u8, 164u8, 241u8];
3673 #[inline]
3674 fn new<'a>(
3675 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3676 ) -> Self {
3677 tuple.into()
3678 }
3679 #[inline]
3680 fn tokenize(&self) -> Self::Token<'_> {
3681 ()
3682 }
3683 }
3684 };
3685 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3686 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3691 #[derive(Clone)]
3692 pub struct ValidatorAlreadyExited {}
3693 #[allow(
3694 non_camel_case_types,
3695 non_snake_case,
3696 clippy::pub_underscore_fields,
3697 clippy::style
3698 )]
3699 const _: () = {
3700 use alloy::sol_types as alloy_sol_types;
3701 #[doc(hidden)]
3702 type UnderlyingSolTuple<'a> = ();
3703 #[doc(hidden)]
3704 type UnderlyingRustTuple<'a> = ();
3705 #[cfg(test)]
3706 #[allow(dead_code, unreachable_patterns)]
3707 fn _type_assertion(
3708 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3709 ) {
3710 match _t {
3711 alloy_sol_types::private::AssertTypeEq::<
3712 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3713 >(_) => {}
3714 }
3715 }
3716 #[automatically_derived]
3717 #[doc(hidden)]
3718 impl ::core::convert::From<ValidatorAlreadyExited> for UnderlyingRustTuple<'_> {
3719 fn from(value: ValidatorAlreadyExited) -> Self {
3720 ()
3721 }
3722 }
3723 #[automatically_derived]
3724 #[doc(hidden)]
3725 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorAlreadyExited {
3726 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3727 Self {}
3728 }
3729 }
3730 #[automatically_derived]
3731 impl alloy_sol_types::SolError for ValidatorAlreadyExited {
3732 type Parameters<'a> = UnderlyingSolTuple<'a>;
3733 type Token<'a> = <Self::Parameters<
3734 'a,
3735 > as alloy_sol_types::SolType>::Token<'a>;
3736 const SIGNATURE: &'static str = "ValidatorAlreadyExited()";
3737 const SELECTOR: [u8; 4] = [234u8, 180u8, 169u8, 99u8];
3738 #[inline]
3739 fn new<'a>(
3740 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3741 ) -> Self {
3742 tuple.into()
3743 }
3744 #[inline]
3745 fn tokenize(&self) -> Self::Token<'_> {
3746 ()
3747 }
3748 }
3749 };
3750 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3751 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3756 #[derive(Clone)]
3757 pub struct ValidatorAlreadyRegistered {}
3758 #[allow(
3759 non_camel_case_types,
3760 non_snake_case,
3761 clippy::pub_underscore_fields,
3762 clippy::style
3763 )]
3764 const _: () = {
3765 use alloy::sol_types as alloy_sol_types;
3766 #[doc(hidden)]
3767 type UnderlyingSolTuple<'a> = ();
3768 #[doc(hidden)]
3769 type UnderlyingRustTuple<'a> = ();
3770 #[cfg(test)]
3771 #[allow(dead_code, unreachable_patterns)]
3772 fn _type_assertion(
3773 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3774 ) {
3775 match _t {
3776 alloy_sol_types::private::AssertTypeEq::<
3777 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3778 >(_) => {}
3779 }
3780 }
3781 #[automatically_derived]
3782 #[doc(hidden)]
3783 impl ::core::convert::From<ValidatorAlreadyRegistered>
3784 for UnderlyingRustTuple<'_> {
3785 fn from(value: ValidatorAlreadyRegistered) -> Self {
3786 ()
3787 }
3788 }
3789 #[automatically_derived]
3790 #[doc(hidden)]
3791 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3792 for ValidatorAlreadyRegistered {
3793 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3794 Self {}
3795 }
3796 }
3797 #[automatically_derived]
3798 impl alloy_sol_types::SolError for ValidatorAlreadyRegistered {
3799 type Parameters<'a> = UnderlyingSolTuple<'a>;
3800 type Token<'a> = <Self::Parameters<
3801 'a,
3802 > as alloy_sol_types::SolType>::Token<'a>;
3803 const SIGNATURE: &'static str = "ValidatorAlreadyRegistered()";
3804 const SELECTOR: [u8; 4] = [153u8, 115u8, 247u8, 216u8];
3805 #[inline]
3806 fn new<'a>(
3807 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3808 ) -> Self {
3809 tuple.into()
3810 }
3811 #[inline]
3812 fn tokenize(&self) -> Self::Token<'_> {
3813 ()
3814 }
3815 }
3816 };
3817 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3818 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3823 #[derive(Clone)]
3824 pub struct ValidatorInactive {}
3825 #[allow(
3826 non_camel_case_types,
3827 non_snake_case,
3828 clippy::pub_underscore_fields,
3829 clippy::style
3830 )]
3831 const _: () = {
3832 use alloy::sol_types as alloy_sol_types;
3833 #[doc(hidden)]
3834 type UnderlyingSolTuple<'a> = ();
3835 #[doc(hidden)]
3836 type UnderlyingRustTuple<'a> = ();
3837 #[cfg(test)]
3838 #[allow(dead_code, unreachable_patterns)]
3839 fn _type_assertion(
3840 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3841 ) {
3842 match _t {
3843 alloy_sol_types::private::AssertTypeEq::<
3844 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3845 >(_) => {}
3846 }
3847 }
3848 #[automatically_derived]
3849 #[doc(hidden)]
3850 impl ::core::convert::From<ValidatorInactive> for UnderlyingRustTuple<'_> {
3851 fn from(value: ValidatorInactive) -> Self {
3852 ()
3853 }
3854 }
3855 #[automatically_derived]
3856 #[doc(hidden)]
3857 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorInactive {
3858 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3859 Self {}
3860 }
3861 }
3862 #[automatically_derived]
3863 impl alloy_sol_types::SolError for ValidatorInactive {
3864 type Parameters<'a> = UnderlyingSolTuple<'a>;
3865 type Token<'a> = <Self::Parameters<
3866 'a,
3867 > as alloy_sol_types::SolType>::Token<'a>;
3868 const SIGNATURE: &'static str = "ValidatorInactive()";
3869 const SELECTOR: [u8; 4] = [80u8, 138u8, 121u8, 63u8];
3870 #[inline]
3871 fn new<'a>(
3872 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3873 ) -> Self {
3874 tuple.into()
3875 }
3876 #[inline]
3877 fn tokenize(&self) -> Self::Token<'_> {
3878 ()
3879 }
3880 }
3881 };
3882 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3883 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3888 #[derive(Clone)]
3889 pub struct ValidatorNotExited {}
3890 #[allow(
3891 non_camel_case_types,
3892 non_snake_case,
3893 clippy::pub_underscore_fields,
3894 clippy::style
3895 )]
3896 const _: () = {
3897 use alloy::sol_types as alloy_sol_types;
3898 #[doc(hidden)]
3899 type UnderlyingSolTuple<'a> = ();
3900 #[doc(hidden)]
3901 type UnderlyingRustTuple<'a> = ();
3902 #[cfg(test)]
3903 #[allow(dead_code, unreachable_patterns)]
3904 fn _type_assertion(
3905 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3906 ) {
3907 match _t {
3908 alloy_sol_types::private::AssertTypeEq::<
3909 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3910 >(_) => {}
3911 }
3912 }
3913 #[automatically_derived]
3914 #[doc(hidden)]
3915 impl ::core::convert::From<ValidatorNotExited> for UnderlyingRustTuple<'_> {
3916 fn from(value: ValidatorNotExited) -> Self {
3917 ()
3918 }
3919 }
3920 #[automatically_derived]
3921 #[doc(hidden)]
3922 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ValidatorNotExited {
3923 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3924 Self {}
3925 }
3926 }
3927 #[automatically_derived]
3928 impl alloy_sol_types::SolError for ValidatorNotExited {
3929 type Parameters<'a> = UnderlyingSolTuple<'a>;
3930 type Token<'a> = <Self::Parameters<
3931 'a,
3932 > as alloy_sol_types::SolType>::Token<'a>;
3933 const SIGNATURE: &'static str = "ValidatorNotExited()";
3934 const SELECTOR: [u8; 4] = [242u8, 83u8, 20u8, 166u8];
3935 #[inline]
3936 fn new<'a>(
3937 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3938 ) -> Self {
3939 tuple.into()
3940 }
3941 #[inline]
3942 fn tokenize(&self) -> Self::Token<'_> {
3943 ()
3944 }
3945 }
3946 };
3947 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3948 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3953 #[derive(Clone)]
3954 pub struct ZeroAddress {}
3955 #[allow(
3956 non_camel_case_types,
3957 non_snake_case,
3958 clippy::pub_underscore_fields,
3959 clippy::style
3960 )]
3961 const _: () = {
3962 use alloy::sol_types as alloy_sol_types;
3963 #[doc(hidden)]
3964 type UnderlyingSolTuple<'a> = ();
3965 #[doc(hidden)]
3966 type UnderlyingRustTuple<'a> = ();
3967 #[cfg(test)]
3968 #[allow(dead_code, unreachable_patterns)]
3969 fn _type_assertion(
3970 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3971 ) {
3972 match _t {
3973 alloy_sol_types::private::AssertTypeEq::<
3974 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3975 >(_) => {}
3976 }
3977 }
3978 #[automatically_derived]
3979 #[doc(hidden)]
3980 impl ::core::convert::From<ZeroAddress> for UnderlyingRustTuple<'_> {
3981 fn from(value: ZeroAddress) -> Self {
3982 ()
3983 }
3984 }
3985 #[automatically_derived]
3986 #[doc(hidden)]
3987 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ZeroAddress {
3988 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3989 Self {}
3990 }
3991 }
3992 #[automatically_derived]
3993 impl alloy_sol_types::SolError for ZeroAddress {
3994 type Parameters<'a> = UnderlyingSolTuple<'a>;
3995 type Token<'a> = <Self::Parameters<
3996 'a,
3997 > as alloy_sol_types::SolType>::Token<'a>;
3998 const SIGNATURE: &'static str = "ZeroAddress()";
3999 const SELECTOR: [u8; 4] = [217u8, 46u8, 35u8, 61u8];
4000 #[inline]
4001 fn new<'a>(
4002 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4003 ) -> Self {
4004 tuple.into()
4005 }
4006 #[inline]
4007 fn tokenize(&self) -> Self::Token<'_> {
4008 ()
4009 }
4010 }
4011 };
4012 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4013 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4018 #[derive(Clone)]
4019 pub struct ZeroAmount {}
4020 #[allow(
4021 non_camel_case_types,
4022 non_snake_case,
4023 clippy::pub_underscore_fields,
4024 clippy::style
4025 )]
4026 const _: () = {
4027 use alloy::sol_types as alloy_sol_types;
4028 #[doc(hidden)]
4029 type UnderlyingSolTuple<'a> = ();
4030 #[doc(hidden)]
4031 type UnderlyingRustTuple<'a> = ();
4032 #[cfg(test)]
4033 #[allow(dead_code, unreachable_patterns)]
4034 fn _type_assertion(
4035 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4036 ) {
4037 match _t {
4038 alloy_sol_types::private::AssertTypeEq::<
4039 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4040 >(_) => {}
4041 }
4042 }
4043 #[automatically_derived]
4044 #[doc(hidden)]
4045 impl ::core::convert::From<ZeroAmount> for UnderlyingRustTuple<'_> {
4046 fn from(value: ZeroAmount) -> Self {
4047 ()
4048 }
4049 }
4050 #[automatically_derived]
4051 #[doc(hidden)]
4052 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ZeroAmount {
4053 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4054 Self {}
4055 }
4056 }
4057 #[automatically_derived]
4058 impl alloy_sol_types::SolError for ZeroAmount {
4059 type Parameters<'a> = UnderlyingSolTuple<'a>;
4060 type Token<'a> = <Self::Parameters<
4061 'a,
4062 > as alloy_sol_types::SolType>::Token<'a>;
4063 const SIGNATURE: &'static str = "ZeroAmount()";
4064 const SELECTOR: [u8; 4] = [31u8, 42u8, 32u8, 5u8];
4065 #[inline]
4066 fn new<'a>(
4067 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4068 ) -> Self {
4069 tuple.into()
4070 }
4071 #[inline]
4072 fn tokenize(&self) -> Self::Token<'_> {
4073 ()
4074 }
4075 }
4076 };
4077 #[derive()]
4078 #[allow(
4083 non_camel_case_types,
4084 non_snake_case,
4085 clippy::pub_underscore_fields,
4086 clippy::style
4087 )]
4088 #[derive(Clone)]
4089 pub struct ConsensusKeysUpdated {
4090 #[allow(missing_docs)]
4091 pub account: alloy::sol_types::private::Address,
4092 #[allow(missing_docs)]
4093 pub blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
4094 #[allow(missing_docs)]
4095 pub schnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
4096 }
4097 #[allow(
4098 non_camel_case_types,
4099 non_snake_case,
4100 clippy::pub_underscore_fields,
4101 clippy::style
4102 )]
4103 const _: () = {
4104 use alloy::sol_types as alloy_sol_types;
4105 #[automatically_derived]
4106 impl alloy_sol_types::SolEvent for ConsensusKeysUpdated {
4107 type DataTuple<'a> = (BN254::G2Point, EdOnBN254::EdOnBN254Point);
4108 type DataToken<'a> = <Self::DataTuple<
4109 'a,
4110 > as alloy_sol_types::SolType>::Token<'a>;
4111 type TopicList = (
4112 alloy_sol_types::sol_data::FixedBytes<32>,
4113 alloy::sol_types::sol_data::Address,
4114 );
4115 const SIGNATURE: &'static str = "ConsensusKeysUpdated(address,(uint256,uint256,uint256,uint256),(uint256,uint256))";
4116 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4117 128u8, 216u8, 164u8, 161u8, 102u8, 51u8, 40u8, 169u8, 152u8, 212u8, 85u8,
4118 91u8, 162u8, 29u8, 139u8, 186u8, 110u8, 241u8, 87u8, 106u8, 140u8, 94u8,
4119 157u8, 39u8, 249u8, 197u8, 69u8, 241u8, 163u8, 213u8, 43u8, 29u8,
4120 ]);
4121 const ANONYMOUS: bool = false;
4122 #[allow(unused_variables)]
4123 #[inline]
4124 fn new(
4125 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4126 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4127 ) -> Self {
4128 Self {
4129 account: topics.1,
4130 blsVK: data.0,
4131 schnorrVK: data.1,
4132 }
4133 }
4134 #[inline]
4135 fn check_signature(
4136 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4137 ) -> alloy_sol_types::Result<()> {
4138 if topics.0 != Self::SIGNATURE_HASH {
4139 return Err(
4140 alloy_sol_types::Error::invalid_event_signature_hash(
4141 Self::SIGNATURE,
4142 topics.0,
4143 Self::SIGNATURE_HASH,
4144 ),
4145 );
4146 }
4147 Ok(())
4148 }
4149 #[inline]
4150 fn tokenize_body(&self) -> Self::DataToken<'_> {
4151 (
4152 <BN254::G2Point as alloy_sol_types::SolType>::tokenize(&self.blsVK),
4153 <EdOnBN254::EdOnBN254Point as alloy_sol_types::SolType>::tokenize(
4154 &self.schnorrVK,
4155 ),
4156 )
4157 }
4158 #[inline]
4159 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4160 (Self::SIGNATURE_HASH.into(), self.account.clone())
4161 }
4162 #[inline]
4163 fn encode_topics_raw(
4164 &self,
4165 out: &mut [alloy_sol_types::abi::token::WordToken],
4166 ) -> alloy_sol_types::Result<()> {
4167 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4168 return Err(alloy_sol_types::Error::Overrun);
4169 }
4170 out[0usize] = alloy_sol_types::abi::token::WordToken(
4171 Self::SIGNATURE_HASH,
4172 );
4173 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4174 &self.account,
4175 );
4176 Ok(())
4177 }
4178 }
4179 #[automatically_derived]
4180 impl alloy_sol_types::private::IntoLogData for ConsensusKeysUpdated {
4181 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4182 From::from(self)
4183 }
4184 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4185 From::from(&self)
4186 }
4187 }
4188 #[automatically_derived]
4189 impl From<&ConsensusKeysUpdated> for alloy_sol_types::private::LogData {
4190 #[inline]
4191 fn from(this: &ConsensusKeysUpdated) -> alloy_sol_types::private::LogData {
4192 alloy_sol_types::SolEvent::encode_log_data(this)
4193 }
4194 }
4195 };
4196 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4197 #[allow(
4202 non_camel_case_types,
4203 non_snake_case,
4204 clippy::pub_underscore_fields,
4205 clippy::style
4206 )]
4207 #[derive(Clone)]
4208 pub struct Delegated {
4209 #[allow(missing_docs)]
4210 pub delegator: alloy::sol_types::private::Address,
4211 #[allow(missing_docs)]
4212 pub validator: alloy::sol_types::private::Address,
4213 #[allow(missing_docs)]
4214 pub amount: alloy::sol_types::private::primitives::aliases::U256,
4215 }
4216 #[allow(
4217 non_camel_case_types,
4218 non_snake_case,
4219 clippy::pub_underscore_fields,
4220 clippy::style
4221 )]
4222 const _: () = {
4223 use alloy::sol_types as alloy_sol_types;
4224 #[automatically_derived]
4225 impl alloy_sol_types::SolEvent for Delegated {
4226 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4227 type DataToken<'a> = <Self::DataTuple<
4228 'a,
4229 > as alloy_sol_types::SolType>::Token<'a>;
4230 type TopicList = (
4231 alloy_sol_types::sol_data::FixedBytes<32>,
4232 alloy::sol_types::sol_data::Address,
4233 alloy::sol_types::sol_data::Address,
4234 );
4235 const SIGNATURE: &'static str = "Delegated(address,address,uint256)";
4236 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4237 229u8, 84u8, 26u8, 107u8, 97u8, 3u8, 212u8, 250u8, 126u8, 2u8, 30u8,
4238 213u8, 79u8, 173u8, 57u8, 198u8, 111u8, 39u8, 167u8, 107u8, 209u8, 61u8,
4239 55u8, 76u8, 246u8, 36u8, 10u8, 230u8, 189u8, 11u8, 183u8, 43u8,
4240 ]);
4241 const ANONYMOUS: bool = false;
4242 #[allow(unused_variables)]
4243 #[inline]
4244 fn new(
4245 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4246 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4247 ) -> Self {
4248 Self {
4249 delegator: topics.1,
4250 validator: topics.2,
4251 amount: data.0,
4252 }
4253 }
4254 #[inline]
4255 fn check_signature(
4256 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4257 ) -> alloy_sol_types::Result<()> {
4258 if topics.0 != Self::SIGNATURE_HASH {
4259 return Err(
4260 alloy_sol_types::Error::invalid_event_signature_hash(
4261 Self::SIGNATURE,
4262 topics.0,
4263 Self::SIGNATURE_HASH,
4264 ),
4265 );
4266 }
4267 Ok(())
4268 }
4269 #[inline]
4270 fn tokenize_body(&self) -> Self::DataToken<'_> {
4271 (
4272 <alloy::sol_types::sol_data::Uint<
4273 256,
4274 > as alloy_sol_types::SolType>::tokenize(&self.amount),
4275 )
4276 }
4277 #[inline]
4278 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4279 (
4280 Self::SIGNATURE_HASH.into(),
4281 self.delegator.clone(),
4282 self.validator.clone(),
4283 )
4284 }
4285 #[inline]
4286 fn encode_topics_raw(
4287 &self,
4288 out: &mut [alloy_sol_types::abi::token::WordToken],
4289 ) -> alloy_sol_types::Result<()> {
4290 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4291 return Err(alloy_sol_types::Error::Overrun);
4292 }
4293 out[0usize] = alloy_sol_types::abi::token::WordToken(
4294 Self::SIGNATURE_HASH,
4295 );
4296 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4297 &self.delegator,
4298 );
4299 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4300 &self.validator,
4301 );
4302 Ok(())
4303 }
4304 }
4305 #[automatically_derived]
4306 impl alloy_sol_types::private::IntoLogData for Delegated {
4307 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4308 From::from(self)
4309 }
4310 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4311 From::from(&self)
4312 }
4313 }
4314 #[automatically_derived]
4315 impl From<&Delegated> for alloy_sol_types::private::LogData {
4316 #[inline]
4317 fn from(this: &Delegated) -> alloy_sol_types::private::LogData {
4318 alloy_sol_types::SolEvent::encode_log_data(this)
4319 }
4320 }
4321 };
4322 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4323 #[allow(
4328 non_camel_case_types,
4329 non_snake_case,
4330 clippy::pub_underscore_fields,
4331 clippy::style
4332 )]
4333 #[derive(Clone)]
4334 pub struct Initialized {
4335 #[allow(missing_docs)]
4336 pub version: u64,
4337 }
4338 #[allow(
4339 non_camel_case_types,
4340 non_snake_case,
4341 clippy::pub_underscore_fields,
4342 clippy::style
4343 )]
4344 const _: () = {
4345 use alloy::sol_types as alloy_sol_types;
4346 #[automatically_derived]
4347 impl alloy_sol_types::SolEvent for Initialized {
4348 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
4349 type DataToken<'a> = <Self::DataTuple<
4350 'a,
4351 > as alloy_sol_types::SolType>::Token<'a>;
4352 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
4353 const SIGNATURE: &'static str = "Initialized(uint64)";
4354 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4355 199u8, 245u8, 5u8, 178u8, 243u8, 113u8, 174u8, 33u8, 117u8, 238u8, 73u8,
4356 19u8, 244u8, 73u8, 158u8, 31u8, 38u8, 51u8, 167u8, 181u8, 147u8, 99u8,
4357 33u8, 238u8, 209u8, 205u8, 174u8, 182u8, 17u8, 81u8, 129u8, 210u8,
4358 ]);
4359 const ANONYMOUS: bool = false;
4360 #[allow(unused_variables)]
4361 #[inline]
4362 fn new(
4363 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4364 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4365 ) -> Self {
4366 Self { version: data.0 }
4367 }
4368 #[inline]
4369 fn check_signature(
4370 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4371 ) -> alloy_sol_types::Result<()> {
4372 if topics.0 != Self::SIGNATURE_HASH {
4373 return Err(
4374 alloy_sol_types::Error::invalid_event_signature_hash(
4375 Self::SIGNATURE,
4376 topics.0,
4377 Self::SIGNATURE_HASH,
4378 ),
4379 );
4380 }
4381 Ok(())
4382 }
4383 #[inline]
4384 fn tokenize_body(&self) -> Self::DataToken<'_> {
4385 (
4386 <alloy::sol_types::sol_data::Uint<
4387 64,
4388 > as alloy_sol_types::SolType>::tokenize(&self.version),
4389 )
4390 }
4391 #[inline]
4392 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4393 (Self::SIGNATURE_HASH.into(),)
4394 }
4395 #[inline]
4396 fn encode_topics_raw(
4397 &self,
4398 out: &mut [alloy_sol_types::abi::token::WordToken],
4399 ) -> alloy_sol_types::Result<()> {
4400 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4401 return Err(alloy_sol_types::Error::Overrun);
4402 }
4403 out[0usize] = alloy_sol_types::abi::token::WordToken(
4404 Self::SIGNATURE_HASH,
4405 );
4406 Ok(())
4407 }
4408 }
4409 #[automatically_derived]
4410 impl alloy_sol_types::private::IntoLogData for Initialized {
4411 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4412 From::from(self)
4413 }
4414 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4415 From::from(&self)
4416 }
4417 }
4418 #[automatically_derived]
4419 impl From<&Initialized> for alloy_sol_types::private::LogData {
4420 #[inline]
4421 fn from(this: &Initialized) -> alloy_sol_types::private::LogData {
4422 alloy_sol_types::SolEvent::encode_log_data(this)
4423 }
4424 }
4425 };
4426 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4427 #[allow(
4432 non_camel_case_types,
4433 non_snake_case,
4434 clippy::pub_underscore_fields,
4435 clippy::style
4436 )]
4437 #[derive(Clone)]
4438 pub struct OwnershipTransferred {
4439 #[allow(missing_docs)]
4440 pub previousOwner: alloy::sol_types::private::Address,
4441 #[allow(missing_docs)]
4442 pub newOwner: alloy::sol_types::private::Address,
4443 }
4444 #[allow(
4445 non_camel_case_types,
4446 non_snake_case,
4447 clippy::pub_underscore_fields,
4448 clippy::style
4449 )]
4450 const _: () = {
4451 use alloy::sol_types as alloy_sol_types;
4452 #[automatically_derived]
4453 impl alloy_sol_types::SolEvent for OwnershipTransferred {
4454 type DataTuple<'a> = ();
4455 type DataToken<'a> = <Self::DataTuple<
4456 'a,
4457 > as alloy_sol_types::SolType>::Token<'a>;
4458 type TopicList = (
4459 alloy_sol_types::sol_data::FixedBytes<32>,
4460 alloy::sol_types::sol_data::Address,
4461 alloy::sol_types::sol_data::Address,
4462 );
4463 const SIGNATURE: &'static str = "OwnershipTransferred(address,address)";
4464 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4465 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
4466 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
4467 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
4468 ]);
4469 const ANONYMOUS: bool = false;
4470 #[allow(unused_variables)]
4471 #[inline]
4472 fn new(
4473 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4474 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4475 ) -> Self {
4476 Self {
4477 previousOwner: topics.1,
4478 newOwner: topics.2,
4479 }
4480 }
4481 #[inline]
4482 fn check_signature(
4483 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4484 ) -> alloy_sol_types::Result<()> {
4485 if topics.0 != Self::SIGNATURE_HASH {
4486 return Err(
4487 alloy_sol_types::Error::invalid_event_signature_hash(
4488 Self::SIGNATURE,
4489 topics.0,
4490 Self::SIGNATURE_HASH,
4491 ),
4492 );
4493 }
4494 Ok(())
4495 }
4496 #[inline]
4497 fn tokenize_body(&self) -> Self::DataToken<'_> {
4498 ()
4499 }
4500 #[inline]
4501 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4502 (
4503 Self::SIGNATURE_HASH.into(),
4504 self.previousOwner.clone(),
4505 self.newOwner.clone(),
4506 )
4507 }
4508 #[inline]
4509 fn encode_topics_raw(
4510 &self,
4511 out: &mut [alloy_sol_types::abi::token::WordToken],
4512 ) -> alloy_sol_types::Result<()> {
4513 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4514 return Err(alloy_sol_types::Error::Overrun);
4515 }
4516 out[0usize] = alloy_sol_types::abi::token::WordToken(
4517 Self::SIGNATURE_HASH,
4518 );
4519 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4520 &self.previousOwner,
4521 );
4522 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4523 &self.newOwner,
4524 );
4525 Ok(())
4526 }
4527 }
4528 #[automatically_derived]
4529 impl alloy_sol_types::private::IntoLogData for OwnershipTransferred {
4530 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4531 From::from(self)
4532 }
4533 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4534 From::from(&self)
4535 }
4536 }
4537 #[automatically_derived]
4538 impl From<&OwnershipTransferred> for alloy_sol_types::private::LogData {
4539 #[inline]
4540 fn from(this: &OwnershipTransferred) -> alloy_sol_types::private::LogData {
4541 alloy_sol_types::SolEvent::encode_log_data(this)
4542 }
4543 }
4544 };
4545 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4546 #[allow(
4551 non_camel_case_types,
4552 non_snake_case,
4553 clippy::pub_underscore_fields,
4554 clippy::style
4555 )]
4556 #[derive(Clone)]
4557 pub struct Undelegated {
4558 #[allow(missing_docs)]
4559 pub delegator: alloy::sol_types::private::Address,
4560 #[allow(missing_docs)]
4561 pub validator: alloy::sol_types::private::Address,
4562 #[allow(missing_docs)]
4563 pub amount: alloy::sol_types::private::primitives::aliases::U256,
4564 }
4565 #[allow(
4566 non_camel_case_types,
4567 non_snake_case,
4568 clippy::pub_underscore_fields,
4569 clippy::style
4570 )]
4571 const _: () = {
4572 use alloy::sol_types as alloy_sol_types;
4573 #[automatically_derived]
4574 impl alloy_sol_types::SolEvent for Undelegated {
4575 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4576 type DataToken<'a> = <Self::DataTuple<
4577 'a,
4578 > as alloy_sol_types::SolType>::Token<'a>;
4579 type TopicList = (
4580 alloy_sol_types::sol_data::FixedBytes<32>,
4581 alloy::sol_types::sol_data::Address,
4582 alloy::sol_types::sol_data::Address,
4583 );
4584 const SIGNATURE: &'static str = "Undelegated(address,address,uint256)";
4585 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4586 77u8, 16u8, 189u8, 4u8, 151u8, 117u8, 199u8, 123u8, 215u8, 242u8, 85u8,
4587 25u8, 90u8, 251u8, 165u8, 8u8, 128u8, 40u8, 236u8, 179u8, 199u8, 194u8,
4588 119u8, 211u8, 147u8, 204u8, 255u8, 121u8, 52u8, 242u8, 249u8, 44u8,
4589 ]);
4590 const ANONYMOUS: bool = false;
4591 #[allow(unused_variables)]
4592 #[inline]
4593 fn new(
4594 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4595 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4596 ) -> Self {
4597 Self {
4598 delegator: topics.1,
4599 validator: topics.2,
4600 amount: data.0,
4601 }
4602 }
4603 #[inline]
4604 fn check_signature(
4605 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4606 ) -> alloy_sol_types::Result<()> {
4607 if topics.0 != Self::SIGNATURE_HASH {
4608 return Err(
4609 alloy_sol_types::Error::invalid_event_signature_hash(
4610 Self::SIGNATURE,
4611 topics.0,
4612 Self::SIGNATURE_HASH,
4613 ),
4614 );
4615 }
4616 Ok(())
4617 }
4618 #[inline]
4619 fn tokenize_body(&self) -> Self::DataToken<'_> {
4620 (
4621 <alloy::sol_types::sol_data::Uint<
4622 256,
4623 > as alloy_sol_types::SolType>::tokenize(&self.amount),
4624 )
4625 }
4626 #[inline]
4627 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4628 (
4629 Self::SIGNATURE_HASH.into(),
4630 self.delegator.clone(),
4631 self.validator.clone(),
4632 )
4633 }
4634 #[inline]
4635 fn encode_topics_raw(
4636 &self,
4637 out: &mut [alloy_sol_types::abi::token::WordToken],
4638 ) -> alloy_sol_types::Result<()> {
4639 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4640 return Err(alloy_sol_types::Error::Overrun);
4641 }
4642 out[0usize] = alloy_sol_types::abi::token::WordToken(
4643 Self::SIGNATURE_HASH,
4644 );
4645 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4646 &self.delegator,
4647 );
4648 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4649 &self.validator,
4650 );
4651 Ok(())
4652 }
4653 }
4654 #[automatically_derived]
4655 impl alloy_sol_types::private::IntoLogData for Undelegated {
4656 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4657 From::from(self)
4658 }
4659 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4660 From::from(&self)
4661 }
4662 }
4663 #[automatically_derived]
4664 impl From<&Undelegated> for alloy_sol_types::private::LogData {
4665 #[inline]
4666 fn from(this: &Undelegated) -> alloy_sol_types::private::LogData {
4667 alloy_sol_types::SolEvent::encode_log_data(this)
4668 }
4669 }
4670 };
4671 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4672 #[allow(
4677 non_camel_case_types,
4678 non_snake_case,
4679 clippy::pub_underscore_fields,
4680 clippy::style
4681 )]
4682 #[derive(Clone)]
4683 pub struct Upgraded {
4684 #[allow(missing_docs)]
4685 pub implementation: alloy::sol_types::private::Address,
4686 }
4687 #[allow(
4688 non_camel_case_types,
4689 non_snake_case,
4690 clippy::pub_underscore_fields,
4691 clippy::style
4692 )]
4693 const _: () = {
4694 use alloy::sol_types as alloy_sol_types;
4695 #[automatically_derived]
4696 impl alloy_sol_types::SolEvent for Upgraded {
4697 type DataTuple<'a> = ();
4698 type DataToken<'a> = <Self::DataTuple<
4699 'a,
4700 > as alloy_sol_types::SolType>::Token<'a>;
4701 type TopicList = (
4702 alloy_sol_types::sol_data::FixedBytes<32>,
4703 alloy::sol_types::sol_data::Address,
4704 );
4705 const SIGNATURE: &'static str = "Upgraded(address)";
4706 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4707 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
4708 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
4709 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
4710 ]);
4711 const ANONYMOUS: bool = false;
4712 #[allow(unused_variables)]
4713 #[inline]
4714 fn new(
4715 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4716 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4717 ) -> Self {
4718 Self { implementation: topics.1 }
4719 }
4720 #[inline]
4721 fn check_signature(
4722 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4723 ) -> alloy_sol_types::Result<()> {
4724 if topics.0 != Self::SIGNATURE_HASH {
4725 return Err(
4726 alloy_sol_types::Error::invalid_event_signature_hash(
4727 Self::SIGNATURE,
4728 topics.0,
4729 Self::SIGNATURE_HASH,
4730 ),
4731 );
4732 }
4733 Ok(())
4734 }
4735 #[inline]
4736 fn tokenize_body(&self) -> Self::DataToken<'_> {
4737 ()
4738 }
4739 #[inline]
4740 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4741 (Self::SIGNATURE_HASH.into(), self.implementation.clone())
4742 }
4743 #[inline]
4744 fn encode_topics_raw(
4745 &self,
4746 out: &mut [alloy_sol_types::abi::token::WordToken],
4747 ) -> alloy_sol_types::Result<()> {
4748 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4749 return Err(alloy_sol_types::Error::Overrun);
4750 }
4751 out[0usize] = alloy_sol_types::abi::token::WordToken(
4752 Self::SIGNATURE_HASH,
4753 );
4754 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4755 &self.implementation,
4756 );
4757 Ok(())
4758 }
4759 }
4760 #[automatically_derived]
4761 impl alloy_sol_types::private::IntoLogData for Upgraded {
4762 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4763 From::from(self)
4764 }
4765 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4766 From::from(&self)
4767 }
4768 }
4769 #[automatically_derived]
4770 impl From<&Upgraded> for alloy_sol_types::private::LogData {
4771 #[inline]
4772 fn from(this: &Upgraded) -> alloy_sol_types::private::LogData {
4773 alloy_sol_types::SolEvent::encode_log_data(this)
4774 }
4775 }
4776 };
4777 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4778 #[allow(
4783 non_camel_case_types,
4784 non_snake_case,
4785 clippy::pub_underscore_fields,
4786 clippy::style
4787 )]
4788 #[derive(Clone)]
4789 pub struct ValidatorExit {
4790 #[allow(missing_docs)]
4791 pub validator: alloy::sol_types::private::Address,
4792 }
4793 #[allow(
4794 non_camel_case_types,
4795 non_snake_case,
4796 clippy::pub_underscore_fields,
4797 clippy::style
4798 )]
4799 const _: () = {
4800 use alloy::sol_types as alloy_sol_types;
4801 #[automatically_derived]
4802 impl alloy_sol_types::SolEvent for ValidatorExit {
4803 type DataTuple<'a> = ();
4804 type DataToken<'a> = <Self::DataTuple<
4805 'a,
4806 > as alloy_sol_types::SolType>::Token<'a>;
4807 type TopicList = (
4808 alloy_sol_types::sol_data::FixedBytes<32>,
4809 alloy::sol_types::sol_data::Address,
4810 );
4811 const SIGNATURE: &'static str = "ValidatorExit(address)";
4812 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4813 251u8, 36u8, 48u8, 83u8, 84u8, 200u8, 119u8, 98u8, 213u8, 87u8, 72u8,
4814 122u8, 228u8, 165u8, 100u8, 232u8, 208u8, 62u8, 203u8, 185u8, 169u8,
4815 125u8, 216u8, 175u8, 255u8, 142u8, 31u8, 111u8, 202u8, 240u8, 221u8, 22u8,
4816 ]);
4817 const ANONYMOUS: bool = false;
4818 #[allow(unused_variables)]
4819 #[inline]
4820 fn new(
4821 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4822 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4823 ) -> Self {
4824 Self { validator: topics.1 }
4825 }
4826 #[inline]
4827 fn check_signature(
4828 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4829 ) -> alloy_sol_types::Result<()> {
4830 if topics.0 != Self::SIGNATURE_HASH {
4831 return Err(
4832 alloy_sol_types::Error::invalid_event_signature_hash(
4833 Self::SIGNATURE,
4834 topics.0,
4835 Self::SIGNATURE_HASH,
4836 ),
4837 );
4838 }
4839 Ok(())
4840 }
4841 #[inline]
4842 fn tokenize_body(&self) -> Self::DataToken<'_> {
4843 ()
4844 }
4845 #[inline]
4846 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4847 (Self::SIGNATURE_HASH.into(), self.validator.clone())
4848 }
4849 #[inline]
4850 fn encode_topics_raw(
4851 &self,
4852 out: &mut [alloy_sol_types::abi::token::WordToken],
4853 ) -> alloy_sol_types::Result<()> {
4854 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4855 return Err(alloy_sol_types::Error::Overrun);
4856 }
4857 out[0usize] = alloy_sol_types::abi::token::WordToken(
4858 Self::SIGNATURE_HASH,
4859 );
4860 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4861 &self.validator,
4862 );
4863 Ok(())
4864 }
4865 }
4866 #[automatically_derived]
4867 impl alloy_sol_types::private::IntoLogData for ValidatorExit {
4868 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4869 From::from(self)
4870 }
4871 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4872 From::from(&self)
4873 }
4874 }
4875 #[automatically_derived]
4876 impl From<&ValidatorExit> for alloy_sol_types::private::LogData {
4877 #[inline]
4878 fn from(this: &ValidatorExit) -> alloy_sol_types::private::LogData {
4879 alloy_sol_types::SolEvent::encode_log_data(this)
4880 }
4881 }
4882 };
4883 #[derive()]
4884 #[allow(
4889 non_camel_case_types,
4890 non_snake_case,
4891 clippy::pub_underscore_fields,
4892 clippy::style
4893 )]
4894 #[derive(Clone)]
4895 pub struct ValidatorRegistered {
4896 #[allow(missing_docs)]
4897 pub account: alloy::sol_types::private::Address,
4898 #[allow(missing_docs)]
4899 pub blsVk: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
4900 #[allow(missing_docs)]
4901 pub schnorrVk: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
4902 #[allow(missing_docs)]
4903 pub commission: u16,
4904 }
4905 #[allow(
4906 non_camel_case_types,
4907 non_snake_case,
4908 clippy::pub_underscore_fields,
4909 clippy::style
4910 )]
4911 const _: () = {
4912 use alloy::sol_types as alloy_sol_types;
4913 #[automatically_derived]
4914 impl alloy_sol_types::SolEvent for ValidatorRegistered {
4915 type DataTuple<'a> = (
4916 BN254::G2Point,
4917 EdOnBN254::EdOnBN254Point,
4918 alloy::sol_types::sol_data::Uint<16>,
4919 );
4920 type DataToken<'a> = <Self::DataTuple<
4921 'a,
4922 > as alloy_sol_types::SolType>::Token<'a>;
4923 type TopicList = (
4924 alloy_sol_types::sol_data::FixedBytes<32>,
4925 alloy::sol_types::sol_data::Address,
4926 );
4927 const SIGNATURE: &'static str = "ValidatorRegistered(address,(uint256,uint256,uint256,uint256),(uint256,uint256),uint16)";
4928 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4929 246u8, 232u8, 53u8, 156u8, 87u8, 82u8, 11u8, 70u8, 150u8, 52u8, 115u8,
4930 107u8, 252u8, 59u8, 183u8, 236u8, 92u8, 189u8, 26u8, 11u8, 210u8, 139u8,
4931 16u8, 168u8, 39u8, 87u8, 147u8, 187u8, 115u8, 11u8, 121u8, 127u8,
4932 ]);
4933 const ANONYMOUS: bool = false;
4934 #[allow(unused_variables)]
4935 #[inline]
4936 fn new(
4937 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4938 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4939 ) -> Self {
4940 Self {
4941 account: topics.1,
4942 blsVk: data.0,
4943 schnorrVk: data.1,
4944 commission: data.2,
4945 }
4946 }
4947 #[inline]
4948 fn check_signature(
4949 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4950 ) -> alloy_sol_types::Result<()> {
4951 if topics.0 != Self::SIGNATURE_HASH {
4952 return Err(
4953 alloy_sol_types::Error::invalid_event_signature_hash(
4954 Self::SIGNATURE,
4955 topics.0,
4956 Self::SIGNATURE_HASH,
4957 ),
4958 );
4959 }
4960 Ok(())
4961 }
4962 #[inline]
4963 fn tokenize_body(&self) -> Self::DataToken<'_> {
4964 (
4965 <BN254::G2Point as alloy_sol_types::SolType>::tokenize(&self.blsVk),
4966 <EdOnBN254::EdOnBN254Point as alloy_sol_types::SolType>::tokenize(
4967 &self.schnorrVk,
4968 ),
4969 <alloy::sol_types::sol_data::Uint<
4970 16,
4971 > as alloy_sol_types::SolType>::tokenize(&self.commission),
4972 )
4973 }
4974 #[inline]
4975 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4976 (Self::SIGNATURE_HASH.into(), self.account.clone())
4977 }
4978 #[inline]
4979 fn encode_topics_raw(
4980 &self,
4981 out: &mut [alloy_sol_types::abi::token::WordToken],
4982 ) -> alloy_sol_types::Result<()> {
4983 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4984 return Err(alloy_sol_types::Error::Overrun);
4985 }
4986 out[0usize] = alloy_sol_types::abi::token::WordToken(
4987 Self::SIGNATURE_HASH,
4988 );
4989 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4990 &self.account,
4991 );
4992 Ok(())
4993 }
4994 }
4995 #[automatically_derived]
4996 impl alloy_sol_types::private::IntoLogData for ValidatorRegistered {
4997 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4998 From::from(self)
4999 }
5000 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5001 From::from(&self)
5002 }
5003 }
5004 #[automatically_derived]
5005 impl From<&ValidatorRegistered> for alloy_sol_types::private::LogData {
5006 #[inline]
5007 fn from(this: &ValidatorRegistered) -> alloy_sol_types::private::LogData {
5008 alloy_sol_types::SolEvent::encode_log_data(this)
5009 }
5010 }
5011 };
5012 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5013 #[allow(
5018 non_camel_case_types,
5019 non_snake_case,
5020 clippy::pub_underscore_fields,
5021 clippy::style
5022 )]
5023 #[derive(Clone)]
5024 pub struct Withdrawal {
5025 #[allow(missing_docs)]
5026 pub account: alloy::sol_types::private::Address,
5027 #[allow(missing_docs)]
5028 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5029 }
5030 #[allow(
5031 non_camel_case_types,
5032 non_snake_case,
5033 clippy::pub_underscore_fields,
5034 clippy::style
5035 )]
5036 const _: () = {
5037 use alloy::sol_types as alloy_sol_types;
5038 #[automatically_derived]
5039 impl alloy_sol_types::SolEvent for Withdrawal {
5040 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5041 type DataToken<'a> = <Self::DataTuple<
5042 'a,
5043 > as alloy_sol_types::SolType>::Token<'a>;
5044 type TopicList = (
5045 alloy_sol_types::sol_data::FixedBytes<32>,
5046 alloy::sol_types::sol_data::Address,
5047 );
5048 const SIGNATURE: &'static str = "Withdrawal(address,uint256)";
5049 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5050 127u8, 207u8, 83u8, 44u8, 21u8, 240u8, 166u8, 219u8, 11u8, 214u8, 208u8,
5051 224u8, 56u8, 190u8, 167u8, 29u8, 48u8, 216u8, 8u8, 199u8, 217u8, 140u8,
5052 179u8, 191u8, 114u8, 104u8, 169u8, 91u8, 245u8, 8u8, 27u8, 101u8,
5053 ]);
5054 const ANONYMOUS: bool = false;
5055 #[allow(unused_variables)]
5056 #[inline]
5057 fn new(
5058 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5059 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5060 ) -> Self {
5061 Self {
5062 account: topics.1,
5063 amount: data.0,
5064 }
5065 }
5066 #[inline]
5067 fn check_signature(
5068 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5069 ) -> alloy_sol_types::Result<()> {
5070 if topics.0 != Self::SIGNATURE_HASH {
5071 return Err(
5072 alloy_sol_types::Error::invalid_event_signature_hash(
5073 Self::SIGNATURE,
5074 topics.0,
5075 Self::SIGNATURE_HASH,
5076 ),
5077 );
5078 }
5079 Ok(())
5080 }
5081 #[inline]
5082 fn tokenize_body(&self) -> Self::DataToken<'_> {
5083 (
5084 <alloy::sol_types::sol_data::Uint<
5085 256,
5086 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5087 )
5088 }
5089 #[inline]
5090 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5091 (Self::SIGNATURE_HASH.into(), self.account.clone())
5092 }
5093 #[inline]
5094 fn encode_topics_raw(
5095 &self,
5096 out: &mut [alloy_sol_types::abi::token::WordToken],
5097 ) -> alloy_sol_types::Result<()> {
5098 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5099 return Err(alloy_sol_types::Error::Overrun);
5100 }
5101 out[0usize] = alloy_sol_types::abi::token::WordToken(
5102 Self::SIGNATURE_HASH,
5103 );
5104 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5105 &self.account,
5106 );
5107 Ok(())
5108 }
5109 }
5110 #[automatically_derived]
5111 impl alloy_sol_types::private::IntoLogData for Withdrawal {
5112 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5113 From::from(self)
5114 }
5115 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5116 From::from(&self)
5117 }
5118 }
5119 #[automatically_derived]
5120 impl From<&Withdrawal> for alloy_sol_types::private::LogData {
5121 #[inline]
5122 fn from(this: &Withdrawal) -> alloy_sol_types::private::LogData {
5123 alloy_sol_types::SolEvent::encode_log_data(this)
5124 }
5125 }
5126 };
5127 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5132 #[derive(Clone)]
5133 pub struct constructorCall {}
5134 const _: () = {
5135 use alloy::sol_types as alloy_sol_types;
5136 {
5137 #[doc(hidden)]
5138 type UnderlyingSolTuple<'a> = ();
5139 #[doc(hidden)]
5140 type UnderlyingRustTuple<'a> = ();
5141 #[cfg(test)]
5142 #[allow(dead_code, unreachable_patterns)]
5143 fn _type_assertion(
5144 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5145 ) {
5146 match _t {
5147 alloy_sol_types::private::AssertTypeEq::<
5148 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5149 >(_) => {}
5150 }
5151 }
5152 #[automatically_derived]
5153 #[doc(hidden)]
5154 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
5155 fn from(value: constructorCall) -> Self {
5156 ()
5157 }
5158 }
5159 #[automatically_derived]
5160 #[doc(hidden)]
5161 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
5162 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5163 Self {}
5164 }
5165 }
5166 }
5167 #[automatically_derived]
5168 impl alloy_sol_types::SolConstructor for constructorCall {
5169 type Parameters<'a> = ();
5170 type Token<'a> = <Self::Parameters<
5171 'a,
5172 > as alloy_sol_types::SolType>::Token<'a>;
5173 #[inline]
5174 fn new<'a>(
5175 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5176 ) -> Self {
5177 tuple.into()
5178 }
5179 #[inline]
5180 fn tokenize(&self) -> Self::Token<'_> {
5181 ()
5182 }
5183 }
5184 };
5185 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5186 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5191 #[derive(Clone)]
5192 pub struct UPGRADE_INTERFACE_VERSIONCall {}
5193 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5194 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5196 #[derive(Clone)]
5197 pub struct UPGRADE_INTERFACE_VERSIONReturn {
5198 #[allow(missing_docs)]
5199 pub _0: alloy::sol_types::private::String,
5200 }
5201 #[allow(
5202 non_camel_case_types,
5203 non_snake_case,
5204 clippy::pub_underscore_fields,
5205 clippy::style
5206 )]
5207 const _: () = {
5208 use alloy::sol_types as alloy_sol_types;
5209 {
5210 #[doc(hidden)]
5211 type UnderlyingSolTuple<'a> = ();
5212 #[doc(hidden)]
5213 type UnderlyingRustTuple<'a> = ();
5214 #[cfg(test)]
5215 #[allow(dead_code, unreachable_patterns)]
5216 fn _type_assertion(
5217 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5218 ) {
5219 match _t {
5220 alloy_sol_types::private::AssertTypeEq::<
5221 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5222 >(_) => {}
5223 }
5224 }
5225 #[automatically_derived]
5226 #[doc(hidden)]
5227 impl ::core::convert::From<UPGRADE_INTERFACE_VERSIONCall>
5228 for UnderlyingRustTuple<'_> {
5229 fn from(value: UPGRADE_INTERFACE_VERSIONCall) -> Self {
5230 ()
5231 }
5232 }
5233 #[automatically_derived]
5234 #[doc(hidden)]
5235 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5236 for UPGRADE_INTERFACE_VERSIONCall {
5237 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5238 Self {}
5239 }
5240 }
5241 }
5242 {
5243 #[doc(hidden)]
5244 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
5245 #[doc(hidden)]
5246 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
5247 #[cfg(test)]
5248 #[allow(dead_code, unreachable_patterns)]
5249 fn _type_assertion(
5250 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5251 ) {
5252 match _t {
5253 alloy_sol_types::private::AssertTypeEq::<
5254 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5255 >(_) => {}
5256 }
5257 }
5258 #[automatically_derived]
5259 #[doc(hidden)]
5260 impl ::core::convert::From<UPGRADE_INTERFACE_VERSIONReturn>
5261 for UnderlyingRustTuple<'_> {
5262 fn from(value: UPGRADE_INTERFACE_VERSIONReturn) -> Self {
5263 (value._0,)
5264 }
5265 }
5266 #[automatically_derived]
5267 #[doc(hidden)]
5268 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5269 for UPGRADE_INTERFACE_VERSIONReturn {
5270 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5271 Self { _0: tuple.0 }
5272 }
5273 }
5274 }
5275 #[automatically_derived]
5276 impl alloy_sol_types::SolCall for UPGRADE_INTERFACE_VERSIONCall {
5277 type Parameters<'a> = ();
5278 type Token<'a> = <Self::Parameters<
5279 'a,
5280 > as alloy_sol_types::SolType>::Token<'a>;
5281 type Return = UPGRADE_INTERFACE_VERSIONReturn;
5282 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
5283 type ReturnToken<'a> = <Self::ReturnTuple<
5284 'a,
5285 > as alloy_sol_types::SolType>::Token<'a>;
5286 const SIGNATURE: &'static str = "UPGRADE_INTERFACE_VERSION()";
5287 const SELECTOR: [u8; 4] = [173u8, 60u8, 177u8, 204u8];
5288 #[inline]
5289 fn new<'a>(
5290 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5291 ) -> Self {
5292 tuple.into()
5293 }
5294 #[inline]
5295 fn tokenize(&self) -> Self::Token<'_> {
5296 ()
5297 }
5298 #[inline]
5299 fn abi_decode_returns(
5300 data: &[u8],
5301 validate: bool,
5302 ) -> alloy_sol_types::Result<Self::Return> {
5303 <Self::ReturnTuple<
5304 '_,
5305 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5306 .map(Into::into)
5307 }
5308 }
5309 };
5310 #[derive()]
5311 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5316 #[derive(Clone)]
5317 pub struct _hashBlsKeyCall {
5318 #[allow(missing_docs)]
5319 pub blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
5320 }
5321 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5322 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5324 #[derive(Clone)]
5325 pub struct _hashBlsKeyReturn {
5326 #[allow(missing_docs)]
5327 pub _0: alloy::sol_types::private::FixedBytes<32>,
5328 }
5329 #[allow(
5330 non_camel_case_types,
5331 non_snake_case,
5332 clippy::pub_underscore_fields,
5333 clippy::style
5334 )]
5335 const _: () = {
5336 use alloy::sol_types as alloy_sol_types;
5337 {
5338 #[doc(hidden)]
5339 type UnderlyingSolTuple<'a> = (BN254::G2Point,);
5340 #[doc(hidden)]
5341 type UnderlyingRustTuple<'a> = (
5342 <BN254::G2Point as alloy::sol_types::SolType>::RustType,
5343 );
5344 #[cfg(test)]
5345 #[allow(dead_code, unreachable_patterns)]
5346 fn _type_assertion(
5347 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5348 ) {
5349 match _t {
5350 alloy_sol_types::private::AssertTypeEq::<
5351 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5352 >(_) => {}
5353 }
5354 }
5355 #[automatically_derived]
5356 #[doc(hidden)]
5357 impl ::core::convert::From<_hashBlsKeyCall> for UnderlyingRustTuple<'_> {
5358 fn from(value: _hashBlsKeyCall) -> Self {
5359 (value.blsVK,)
5360 }
5361 }
5362 #[automatically_derived]
5363 #[doc(hidden)]
5364 impl ::core::convert::From<UnderlyingRustTuple<'_>> for _hashBlsKeyCall {
5365 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5366 Self { blsVK: tuple.0 }
5367 }
5368 }
5369 }
5370 {
5371 #[doc(hidden)]
5372 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
5373 #[doc(hidden)]
5374 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
5375 #[cfg(test)]
5376 #[allow(dead_code, unreachable_patterns)]
5377 fn _type_assertion(
5378 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5379 ) {
5380 match _t {
5381 alloy_sol_types::private::AssertTypeEq::<
5382 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5383 >(_) => {}
5384 }
5385 }
5386 #[automatically_derived]
5387 #[doc(hidden)]
5388 impl ::core::convert::From<_hashBlsKeyReturn> for UnderlyingRustTuple<'_> {
5389 fn from(value: _hashBlsKeyReturn) -> Self {
5390 (value._0,)
5391 }
5392 }
5393 #[automatically_derived]
5394 #[doc(hidden)]
5395 impl ::core::convert::From<UnderlyingRustTuple<'_>> for _hashBlsKeyReturn {
5396 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5397 Self { _0: tuple.0 }
5398 }
5399 }
5400 }
5401 #[automatically_derived]
5402 impl alloy_sol_types::SolCall for _hashBlsKeyCall {
5403 type Parameters<'a> = (BN254::G2Point,);
5404 type Token<'a> = <Self::Parameters<
5405 'a,
5406 > as alloy_sol_types::SolType>::Token<'a>;
5407 type Return = _hashBlsKeyReturn;
5408 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
5409 type ReturnToken<'a> = <Self::ReturnTuple<
5410 'a,
5411 > as alloy_sol_types::SolType>::Token<'a>;
5412 const SIGNATURE: &'static str = "_hashBlsKey((uint256,uint256,uint256,uint256))";
5413 const SELECTOR: [u8; 4] = [155u8, 48u8, 165u8, 230u8];
5414 #[inline]
5415 fn new<'a>(
5416 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5417 ) -> Self {
5418 tuple.into()
5419 }
5420 #[inline]
5421 fn tokenize(&self) -> Self::Token<'_> {
5422 (<BN254::G2Point as alloy_sol_types::SolType>::tokenize(&self.blsVK),)
5423 }
5424 #[inline]
5425 fn abi_decode_returns(
5426 data: &[u8],
5427 validate: bool,
5428 ) -> alloy_sol_types::Result<Self::Return> {
5429 <Self::ReturnTuple<
5430 '_,
5431 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5432 .map(Into::into)
5433 }
5434 }
5435 };
5436 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5437 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5442 #[derive(Clone)]
5443 pub struct blsKeysCall {
5444 #[allow(missing_docs)]
5445 pub blsKeyHash: alloy::sol_types::private::FixedBytes<32>,
5446 }
5447 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5448 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5450 #[derive(Clone)]
5451 pub struct blsKeysReturn {
5452 #[allow(missing_docs)]
5453 pub used: bool,
5454 }
5455 #[allow(
5456 non_camel_case_types,
5457 non_snake_case,
5458 clippy::pub_underscore_fields,
5459 clippy::style
5460 )]
5461 const _: () = {
5462 use alloy::sol_types as alloy_sol_types;
5463 {
5464 #[doc(hidden)]
5465 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
5466 #[doc(hidden)]
5467 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
5468 #[cfg(test)]
5469 #[allow(dead_code, unreachable_patterns)]
5470 fn _type_assertion(
5471 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5472 ) {
5473 match _t {
5474 alloy_sol_types::private::AssertTypeEq::<
5475 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5476 >(_) => {}
5477 }
5478 }
5479 #[automatically_derived]
5480 #[doc(hidden)]
5481 impl ::core::convert::From<blsKeysCall> for UnderlyingRustTuple<'_> {
5482 fn from(value: blsKeysCall) -> Self {
5483 (value.blsKeyHash,)
5484 }
5485 }
5486 #[automatically_derived]
5487 #[doc(hidden)]
5488 impl ::core::convert::From<UnderlyingRustTuple<'_>> for blsKeysCall {
5489 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5490 Self { blsKeyHash: tuple.0 }
5491 }
5492 }
5493 }
5494 {
5495 #[doc(hidden)]
5496 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5497 #[doc(hidden)]
5498 type UnderlyingRustTuple<'a> = (bool,);
5499 #[cfg(test)]
5500 #[allow(dead_code, unreachable_patterns)]
5501 fn _type_assertion(
5502 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5503 ) {
5504 match _t {
5505 alloy_sol_types::private::AssertTypeEq::<
5506 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5507 >(_) => {}
5508 }
5509 }
5510 #[automatically_derived]
5511 #[doc(hidden)]
5512 impl ::core::convert::From<blsKeysReturn> for UnderlyingRustTuple<'_> {
5513 fn from(value: blsKeysReturn) -> Self {
5514 (value.used,)
5515 }
5516 }
5517 #[automatically_derived]
5518 #[doc(hidden)]
5519 impl ::core::convert::From<UnderlyingRustTuple<'_>> for blsKeysReturn {
5520 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5521 Self { used: tuple.0 }
5522 }
5523 }
5524 }
5525 #[automatically_derived]
5526 impl alloy_sol_types::SolCall for blsKeysCall {
5527 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
5528 type Token<'a> = <Self::Parameters<
5529 'a,
5530 > as alloy_sol_types::SolType>::Token<'a>;
5531 type Return = blsKeysReturn;
5532 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5533 type ReturnToken<'a> = <Self::ReturnTuple<
5534 'a,
5535 > as alloy_sol_types::SolType>::Token<'a>;
5536 const SIGNATURE: &'static str = "blsKeys(bytes32)";
5537 const SELECTOR: [u8; 4] = [179u8, 230u8, 235u8, 213u8];
5538 #[inline]
5539 fn new<'a>(
5540 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5541 ) -> Self {
5542 tuple.into()
5543 }
5544 #[inline]
5545 fn tokenize(&self) -> Self::Token<'_> {
5546 (
5547 <alloy::sol_types::sol_data::FixedBytes<
5548 32,
5549 > as alloy_sol_types::SolType>::tokenize(&self.blsKeyHash),
5550 )
5551 }
5552 #[inline]
5553 fn abi_decode_returns(
5554 data: &[u8],
5555 validate: bool,
5556 ) -> alloy_sol_types::Result<Self::Return> {
5557 <Self::ReturnTuple<
5558 '_,
5559 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5560 .map(Into::into)
5561 }
5562 }
5563 };
5564 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5565 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5570 #[derive(Clone)]
5571 pub struct claimValidatorExitCall {
5572 #[allow(missing_docs)]
5573 pub validator: alloy::sol_types::private::Address,
5574 }
5575 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5577 #[derive(Clone)]
5578 pub struct claimValidatorExitReturn {}
5579 #[allow(
5580 non_camel_case_types,
5581 non_snake_case,
5582 clippy::pub_underscore_fields,
5583 clippy::style
5584 )]
5585 const _: () = {
5586 use alloy::sol_types as alloy_sol_types;
5587 {
5588 #[doc(hidden)]
5589 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
5590 #[doc(hidden)]
5591 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
5592 #[cfg(test)]
5593 #[allow(dead_code, unreachable_patterns)]
5594 fn _type_assertion(
5595 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5596 ) {
5597 match _t {
5598 alloy_sol_types::private::AssertTypeEq::<
5599 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5600 >(_) => {}
5601 }
5602 }
5603 #[automatically_derived]
5604 #[doc(hidden)]
5605 impl ::core::convert::From<claimValidatorExitCall>
5606 for UnderlyingRustTuple<'_> {
5607 fn from(value: claimValidatorExitCall) -> Self {
5608 (value.validator,)
5609 }
5610 }
5611 #[automatically_derived]
5612 #[doc(hidden)]
5613 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5614 for claimValidatorExitCall {
5615 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5616 Self { validator: tuple.0 }
5617 }
5618 }
5619 }
5620 {
5621 #[doc(hidden)]
5622 type UnderlyingSolTuple<'a> = ();
5623 #[doc(hidden)]
5624 type UnderlyingRustTuple<'a> = ();
5625 #[cfg(test)]
5626 #[allow(dead_code, unreachable_patterns)]
5627 fn _type_assertion(
5628 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5629 ) {
5630 match _t {
5631 alloy_sol_types::private::AssertTypeEq::<
5632 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5633 >(_) => {}
5634 }
5635 }
5636 #[automatically_derived]
5637 #[doc(hidden)]
5638 impl ::core::convert::From<claimValidatorExitReturn>
5639 for UnderlyingRustTuple<'_> {
5640 fn from(value: claimValidatorExitReturn) -> Self {
5641 ()
5642 }
5643 }
5644 #[automatically_derived]
5645 #[doc(hidden)]
5646 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5647 for claimValidatorExitReturn {
5648 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5649 Self {}
5650 }
5651 }
5652 }
5653 #[automatically_derived]
5654 impl alloy_sol_types::SolCall for claimValidatorExitCall {
5655 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
5656 type Token<'a> = <Self::Parameters<
5657 'a,
5658 > as alloy_sol_types::SolType>::Token<'a>;
5659 type Return = claimValidatorExitReturn;
5660 type ReturnTuple<'a> = ();
5661 type ReturnToken<'a> = <Self::ReturnTuple<
5662 'a,
5663 > as alloy_sol_types::SolType>::Token<'a>;
5664 const SIGNATURE: &'static str = "claimValidatorExit(address)";
5665 const SELECTOR: [u8; 4] = [33u8, 64u8, 254u8, 205u8];
5666 #[inline]
5667 fn new<'a>(
5668 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5669 ) -> Self {
5670 tuple.into()
5671 }
5672 #[inline]
5673 fn tokenize(&self) -> Self::Token<'_> {
5674 (
5675 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5676 &self.validator,
5677 ),
5678 )
5679 }
5680 #[inline]
5681 fn abi_decode_returns(
5682 data: &[u8],
5683 validate: bool,
5684 ) -> alloy_sol_types::Result<Self::Return> {
5685 <Self::ReturnTuple<
5686 '_,
5687 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5688 .map(Into::into)
5689 }
5690 }
5691 };
5692 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5693 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5698 #[derive(Clone)]
5699 pub struct claimWithdrawalCall {
5700 #[allow(missing_docs)]
5701 pub validator: alloy::sol_types::private::Address,
5702 }
5703 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5705 #[derive(Clone)]
5706 pub struct claimWithdrawalReturn {}
5707 #[allow(
5708 non_camel_case_types,
5709 non_snake_case,
5710 clippy::pub_underscore_fields,
5711 clippy::style
5712 )]
5713 const _: () = {
5714 use alloy::sol_types as alloy_sol_types;
5715 {
5716 #[doc(hidden)]
5717 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
5718 #[doc(hidden)]
5719 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
5720 #[cfg(test)]
5721 #[allow(dead_code, unreachable_patterns)]
5722 fn _type_assertion(
5723 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5724 ) {
5725 match _t {
5726 alloy_sol_types::private::AssertTypeEq::<
5727 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5728 >(_) => {}
5729 }
5730 }
5731 #[automatically_derived]
5732 #[doc(hidden)]
5733 impl ::core::convert::From<claimWithdrawalCall> for UnderlyingRustTuple<'_> {
5734 fn from(value: claimWithdrawalCall) -> Self {
5735 (value.validator,)
5736 }
5737 }
5738 #[automatically_derived]
5739 #[doc(hidden)]
5740 impl ::core::convert::From<UnderlyingRustTuple<'_>> for claimWithdrawalCall {
5741 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5742 Self { validator: tuple.0 }
5743 }
5744 }
5745 }
5746 {
5747 #[doc(hidden)]
5748 type UnderlyingSolTuple<'a> = ();
5749 #[doc(hidden)]
5750 type UnderlyingRustTuple<'a> = ();
5751 #[cfg(test)]
5752 #[allow(dead_code, unreachable_patterns)]
5753 fn _type_assertion(
5754 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5755 ) {
5756 match _t {
5757 alloy_sol_types::private::AssertTypeEq::<
5758 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5759 >(_) => {}
5760 }
5761 }
5762 #[automatically_derived]
5763 #[doc(hidden)]
5764 impl ::core::convert::From<claimWithdrawalReturn>
5765 for UnderlyingRustTuple<'_> {
5766 fn from(value: claimWithdrawalReturn) -> Self {
5767 ()
5768 }
5769 }
5770 #[automatically_derived]
5771 #[doc(hidden)]
5772 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5773 for claimWithdrawalReturn {
5774 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5775 Self {}
5776 }
5777 }
5778 }
5779 #[automatically_derived]
5780 impl alloy_sol_types::SolCall for claimWithdrawalCall {
5781 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
5782 type Token<'a> = <Self::Parameters<
5783 'a,
5784 > as alloy_sol_types::SolType>::Token<'a>;
5785 type Return = claimWithdrawalReturn;
5786 type ReturnTuple<'a> = ();
5787 type ReturnToken<'a> = <Self::ReturnTuple<
5788 'a,
5789 > as alloy_sol_types::SolType>::Token<'a>;
5790 const SIGNATURE: &'static str = "claimWithdrawal(address)";
5791 const SELECTOR: [u8; 4] = [163u8, 6u8, 106u8, 171u8];
5792 #[inline]
5793 fn new<'a>(
5794 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5795 ) -> Self {
5796 tuple.into()
5797 }
5798 #[inline]
5799 fn tokenize(&self) -> Self::Token<'_> {
5800 (
5801 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5802 &self.validator,
5803 ),
5804 )
5805 }
5806 #[inline]
5807 fn abi_decode_returns(
5808 data: &[u8],
5809 validate: bool,
5810 ) -> alloy_sol_types::Result<Self::Return> {
5811 <Self::ReturnTuple<
5812 '_,
5813 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5814 .map(Into::into)
5815 }
5816 }
5817 };
5818 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5819 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5824 #[derive(Clone)]
5825 pub struct delegateCall {
5826 #[allow(missing_docs)]
5827 pub validator: alloy::sol_types::private::Address,
5828 #[allow(missing_docs)]
5829 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5830 }
5831 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5833 #[derive(Clone)]
5834 pub struct delegateReturn {}
5835 #[allow(
5836 non_camel_case_types,
5837 non_snake_case,
5838 clippy::pub_underscore_fields,
5839 clippy::style
5840 )]
5841 const _: () = {
5842 use alloy::sol_types as alloy_sol_types;
5843 {
5844 #[doc(hidden)]
5845 type UnderlyingSolTuple<'a> = (
5846 alloy::sol_types::sol_data::Address,
5847 alloy::sol_types::sol_data::Uint<256>,
5848 );
5849 #[doc(hidden)]
5850 type UnderlyingRustTuple<'a> = (
5851 alloy::sol_types::private::Address,
5852 alloy::sol_types::private::primitives::aliases::U256,
5853 );
5854 #[cfg(test)]
5855 #[allow(dead_code, unreachable_patterns)]
5856 fn _type_assertion(
5857 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5858 ) {
5859 match _t {
5860 alloy_sol_types::private::AssertTypeEq::<
5861 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5862 >(_) => {}
5863 }
5864 }
5865 #[automatically_derived]
5866 #[doc(hidden)]
5867 impl ::core::convert::From<delegateCall> for UnderlyingRustTuple<'_> {
5868 fn from(value: delegateCall) -> Self {
5869 (value.validator, value.amount)
5870 }
5871 }
5872 #[automatically_derived]
5873 #[doc(hidden)]
5874 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegateCall {
5875 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5876 Self {
5877 validator: tuple.0,
5878 amount: tuple.1,
5879 }
5880 }
5881 }
5882 }
5883 {
5884 #[doc(hidden)]
5885 type UnderlyingSolTuple<'a> = ();
5886 #[doc(hidden)]
5887 type UnderlyingRustTuple<'a> = ();
5888 #[cfg(test)]
5889 #[allow(dead_code, unreachable_patterns)]
5890 fn _type_assertion(
5891 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5892 ) {
5893 match _t {
5894 alloy_sol_types::private::AssertTypeEq::<
5895 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5896 >(_) => {}
5897 }
5898 }
5899 #[automatically_derived]
5900 #[doc(hidden)]
5901 impl ::core::convert::From<delegateReturn> for UnderlyingRustTuple<'_> {
5902 fn from(value: delegateReturn) -> Self {
5903 ()
5904 }
5905 }
5906 #[automatically_derived]
5907 #[doc(hidden)]
5908 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegateReturn {
5909 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5910 Self {}
5911 }
5912 }
5913 }
5914 #[automatically_derived]
5915 impl alloy_sol_types::SolCall for delegateCall {
5916 type Parameters<'a> = (
5917 alloy::sol_types::sol_data::Address,
5918 alloy::sol_types::sol_data::Uint<256>,
5919 );
5920 type Token<'a> = <Self::Parameters<
5921 'a,
5922 > as alloy_sol_types::SolType>::Token<'a>;
5923 type Return = delegateReturn;
5924 type ReturnTuple<'a> = ();
5925 type ReturnToken<'a> = <Self::ReturnTuple<
5926 'a,
5927 > as alloy_sol_types::SolType>::Token<'a>;
5928 const SIGNATURE: &'static str = "delegate(address,uint256)";
5929 const SELECTOR: [u8; 4] = [2u8, 110u8, 64u8, 43u8];
5930 #[inline]
5931 fn new<'a>(
5932 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5933 ) -> Self {
5934 tuple.into()
5935 }
5936 #[inline]
5937 fn tokenize(&self) -> Self::Token<'_> {
5938 (
5939 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5940 &self.validator,
5941 ),
5942 <alloy::sol_types::sol_data::Uint<
5943 256,
5944 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5945 )
5946 }
5947 #[inline]
5948 fn abi_decode_returns(
5949 data: &[u8],
5950 validate: bool,
5951 ) -> alloy_sol_types::Result<Self::Return> {
5952 <Self::ReturnTuple<
5953 '_,
5954 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
5955 .map(Into::into)
5956 }
5957 }
5958 };
5959 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5960 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5965 #[derive(Clone)]
5966 pub struct delegationsCall {
5967 #[allow(missing_docs)]
5968 pub validator: alloy::sol_types::private::Address,
5969 #[allow(missing_docs)]
5970 pub delegator: alloy::sol_types::private::Address,
5971 }
5972 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5973 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5975 #[derive(Clone)]
5976 pub struct delegationsReturn {
5977 #[allow(missing_docs)]
5978 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5979 }
5980 #[allow(
5981 non_camel_case_types,
5982 non_snake_case,
5983 clippy::pub_underscore_fields,
5984 clippy::style
5985 )]
5986 const _: () = {
5987 use alloy::sol_types as alloy_sol_types;
5988 {
5989 #[doc(hidden)]
5990 type UnderlyingSolTuple<'a> = (
5991 alloy::sol_types::sol_data::Address,
5992 alloy::sol_types::sol_data::Address,
5993 );
5994 #[doc(hidden)]
5995 type UnderlyingRustTuple<'a> = (
5996 alloy::sol_types::private::Address,
5997 alloy::sol_types::private::Address,
5998 );
5999 #[cfg(test)]
6000 #[allow(dead_code, unreachable_patterns)]
6001 fn _type_assertion(
6002 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6003 ) {
6004 match _t {
6005 alloy_sol_types::private::AssertTypeEq::<
6006 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6007 >(_) => {}
6008 }
6009 }
6010 #[automatically_derived]
6011 #[doc(hidden)]
6012 impl ::core::convert::From<delegationsCall> for UnderlyingRustTuple<'_> {
6013 fn from(value: delegationsCall) -> Self {
6014 (value.validator, value.delegator)
6015 }
6016 }
6017 #[automatically_derived]
6018 #[doc(hidden)]
6019 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegationsCall {
6020 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6021 Self {
6022 validator: tuple.0,
6023 delegator: tuple.1,
6024 }
6025 }
6026 }
6027 }
6028 {
6029 #[doc(hidden)]
6030 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6031 #[doc(hidden)]
6032 type UnderlyingRustTuple<'a> = (
6033 alloy::sol_types::private::primitives::aliases::U256,
6034 );
6035 #[cfg(test)]
6036 #[allow(dead_code, unreachable_patterns)]
6037 fn _type_assertion(
6038 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6039 ) {
6040 match _t {
6041 alloy_sol_types::private::AssertTypeEq::<
6042 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6043 >(_) => {}
6044 }
6045 }
6046 #[automatically_derived]
6047 #[doc(hidden)]
6048 impl ::core::convert::From<delegationsReturn> for UnderlyingRustTuple<'_> {
6049 fn from(value: delegationsReturn) -> Self {
6050 (value.amount,)
6051 }
6052 }
6053 #[automatically_derived]
6054 #[doc(hidden)]
6055 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegationsReturn {
6056 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6057 Self { amount: tuple.0 }
6058 }
6059 }
6060 }
6061 #[automatically_derived]
6062 impl alloy_sol_types::SolCall for delegationsCall {
6063 type Parameters<'a> = (
6064 alloy::sol_types::sol_data::Address,
6065 alloy::sol_types::sol_data::Address,
6066 );
6067 type Token<'a> = <Self::Parameters<
6068 'a,
6069 > as alloy_sol_types::SolType>::Token<'a>;
6070 type Return = delegationsReturn;
6071 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6072 type ReturnToken<'a> = <Self::ReturnTuple<
6073 'a,
6074 > as alloy_sol_types::SolType>::Token<'a>;
6075 const SIGNATURE: &'static str = "delegations(address,address)";
6076 const SELECTOR: [u8; 4] = [198u8, 72u8, 20u8, 221u8];
6077 #[inline]
6078 fn new<'a>(
6079 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6080 ) -> Self {
6081 tuple.into()
6082 }
6083 #[inline]
6084 fn tokenize(&self) -> Self::Token<'_> {
6085 (
6086 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6087 &self.validator,
6088 ),
6089 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6090 &self.delegator,
6091 ),
6092 )
6093 }
6094 #[inline]
6095 fn abi_decode_returns(
6096 data: &[u8],
6097 validate: bool,
6098 ) -> alloy_sol_types::Result<Self::Return> {
6099 <Self::ReturnTuple<
6100 '_,
6101 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6102 .map(Into::into)
6103 }
6104 }
6105 };
6106 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6107 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6112 #[derive(Clone)]
6113 pub struct deregisterValidatorCall {}
6114 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6116 #[derive(Clone)]
6117 pub struct deregisterValidatorReturn {}
6118 #[allow(
6119 non_camel_case_types,
6120 non_snake_case,
6121 clippy::pub_underscore_fields,
6122 clippy::style
6123 )]
6124 const _: () = {
6125 use alloy::sol_types as alloy_sol_types;
6126 {
6127 #[doc(hidden)]
6128 type UnderlyingSolTuple<'a> = ();
6129 #[doc(hidden)]
6130 type UnderlyingRustTuple<'a> = ();
6131 #[cfg(test)]
6132 #[allow(dead_code, unreachable_patterns)]
6133 fn _type_assertion(
6134 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6135 ) {
6136 match _t {
6137 alloy_sol_types::private::AssertTypeEq::<
6138 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6139 >(_) => {}
6140 }
6141 }
6142 #[automatically_derived]
6143 #[doc(hidden)]
6144 impl ::core::convert::From<deregisterValidatorCall>
6145 for UnderlyingRustTuple<'_> {
6146 fn from(value: deregisterValidatorCall) -> Self {
6147 ()
6148 }
6149 }
6150 #[automatically_derived]
6151 #[doc(hidden)]
6152 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6153 for deregisterValidatorCall {
6154 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6155 Self {}
6156 }
6157 }
6158 }
6159 {
6160 #[doc(hidden)]
6161 type UnderlyingSolTuple<'a> = ();
6162 #[doc(hidden)]
6163 type UnderlyingRustTuple<'a> = ();
6164 #[cfg(test)]
6165 #[allow(dead_code, unreachable_patterns)]
6166 fn _type_assertion(
6167 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6168 ) {
6169 match _t {
6170 alloy_sol_types::private::AssertTypeEq::<
6171 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6172 >(_) => {}
6173 }
6174 }
6175 #[automatically_derived]
6176 #[doc(hidden)]
6177 impl ::core::convert::From<deregisterValidatorReturn>
6178 for UnderlyingRustTuple<'_> {
6179 fn from(value: deregisterValidatorReturn) -> Self {
6180 ()
6181 }
6182 }
6183 #[automatically_derived]
6184 #[doc(hidden)]
6185 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6186 for deregisterValidatorReturn {
6187 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6188 Self {}
6189 }
6190 }
6191 }
6192 #[automatically_derived]
6193 impl alloy_sol_types::SolCall for deregisterValidatorCall {
6194 type Parameters<'a> = ();
6195 type Token<'a> = <Self::Parameters<
6196 'a,
6197 > as alloy_sol_types::SolType>::Token<'a>;
6198 type Return = deregisterValidatorReturn;
6199 type ReturnTuple<'a> = ();
6200 type ReturnToken<'a> = <Self::ReturnTuple<
6201 'a,
6202 > as alloy_sol_types::SolType>::Token<'a>;
6203 const SIGNATURE: &'static str = "deregisterValidator()";
6204 const SELECTOR: [u8; 4] = [106u8, 145u8, 28u8, 207u8];
6205 #[inline]
6206 fn new<'a>(
6207 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6208 ) -> Self {
6209 tuple.into()
6210 }
6211 #[inline]
6212 fn tokenize(&self) -> Self::Token<'_> {
6213 ()
6214 }
6215 #[inline]
6216 fn abi_decode_returns(
6217 data: &[u8],
6218 validate: bool,
6219 ) -> alloy_sol_types::Result<Self::Return> {
6220 <Self::ReturnTuple<
6221 '_,
6222 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6223 .map(Into::into)
6224 }
6225 }
6226 };
6227 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6228 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6233 #[derive(Clone)]
6234 pub struct exitEscrowPeriodCall {}
6235 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6236 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6238 #[derive(Clone)]
6239 pub struct exitEscrowPeriodReturn {
6240 #[allow(missing_docs)]
6241 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6242 }
6243 #[allow(
6244 non_camel_case_types,
6245 non_snake_case,
6246 clippy::pub_underscore_fields,
6247 clippy::style
6248 )]
6249 const _: () = {
6250 use alloy::sol_types as alloy_sol_types;
6251 {
6252 #[doc(hidden)]
6253 type UnderlyingSolTuple<'a> = ();
6254 #[doc(hidden)]
6255 type UnderlyingRustTuple<'a> = ();
6256 #[cfg(test)]
6257 #[allow(dead_code, unreachable_patterns)]
6258 fn _type_assertion(
6259 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6260 ) {
6261 match _t {
6262 alloy_sol_types::private::AssertTypeEq::<
6263 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6264 >(_) => {}
6265 }
6266 }
6267 #[automatically_derived]
6268 #[doc(hidden)]
6269 impl ::core::convert::From<exitEscrowPeriodCall>
6270 for UnderlyingRustTuple<'_> {
6271 fn from(value: exitEscrowPeriodCall) -> Self {
6272 ()
6273 }
6274 }
6275 #[automatically_derived]
6276 #[doc(hidden)]
6277 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6278 for exitEscrowPeriodCall {
6279 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6280 Self {}
6281 }
6282 }
6283 }
6284 {
6285 #[doc(hidden)]
6286 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6287 #[doc(hidden)]
6288 type UnderlyingRustTuple<'a> = (
6289 alloy::sol_types::private::primitives::aliases::U256,
6290 );
6291 #[cfg(test)]
6292 #[allow(dead_code, unreachable_patterns)]
6293 fn _type_assertion(
6294 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6295 ) {
6296 match _t {
6297 alloy_sol_types::private::AssertTypeEq::<
6298 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6299 >(_) => {}
6300 }
6301 }
6302 #[automatically_derived]
6303 #[doc(hidden)]
6304 impl ::core::convert::From<exitEscrowPeriodReturn>
6305 for UnderlyingRustTuple<'_> {
6306 fn from(value: exitEscrowPeriodReturn) -> Self {
6307 (value._0,)
6308 }
6309 }
6310 #[automatically_derived]
6311 #[doc(hidden)]
6312 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6313 for exitEscrowPeriodReturn {
6314 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6315 Self { _0: tuple.0 }
6316 }
6317 }
6318 }
6319 #[automatically_derived]
6320 impl alloy_sol_types::SolCall for exitEscrowPeriodCall {
6321 type Parameters<'a> = ();
6322 type Token<'a> = <Self::Parameters<
6323 'a,
6324 > as alloy_sol_types::SolType>::Token<'a>;
6325 type Return = exitEscrowPeriodReturn;
6326 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6327 type ReturnToken<'a> = <Self::ReturnTuple<
6328 'a,
6329 > as alloy_sol_types::SolType>::Token<'a>;
6330 const SIGNATURE: &'static str = "exitEscrowPeriod()";
6331 const SELECTOR: [u8; 4] = [158u8, 154u8, 143u8, 49u8];
6332 #[inline]
6333 fn new<'a>(
6334 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6335 ) -> Self {
6336 tuple.into()
6337 }
6338 #[inline]
6339 fn tokenize(&self) -> Self::Token<'_> {
6340 ()
6341 }
6342 #[inline]
6343 fn abi_decode_returns(
6344 data: &[u8],
6345 validate: bool,
6346 ) -> alloy_sol_types::Result<Self::Return> {
6347 <Self::ReturnTuple<
6348 '_,
6349 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6350 .map(Into::into)
6351 }
6352 }
6353 };
6354 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6355 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6360 #[derive(Clone)]
6361 pub struct getVersionCall {}
6362 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6363 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6365 #[derive(Clone)]
6366 pub struct getVersionReturn {
6367 #[allow(missing_docs)]
6368 pub majorVersion: u8,
6369 #[allow(missing_docs)]
6370 pub minorVersion: u8,
6371 #[allow(missing_docs)]
6372 pub patchVersion: u8,
6373 }
6374 #[allow(
6375 non_camel_case_types,
6376 non_snake_case,
6377 clippy::pub_underscore_fields,
6378 clippy::style
6379 )]
6380 const _: () = {
6381 use alloy::sol_types as alloy_sol_types;
6382 {
6383 #[doc(hidden)]
6384 type UnderlyingSolTuple<'a> = ();
6385 #[doc(hidden)]
6386 type UnderlyingRustTuple<'a> = ();
6387 #[cfg(test)]
6388 #[allow(dead_code, unreachable_patterns)]
6389 fn _type_assertion(
6390 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6391 ) {
6392 match _t {
6393 alloy_sol_types::private::AssertTypeEq::<
6394 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6395 >(_) => {}
6396 }
6397 }
6398 #[automatically_derived]
6399 #[doc(hidden)]
6400 impl ::core::convert::From<getVersionCall> for UnderlyingRustTuple<'_> {
6401 fn from(value: getVersionCall) -> Self {
6402 ()
6403 }
6404 }
6405 #[automatically_derived]
6406 #[doc(hidden)]
6407 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getVersionCall {
6408 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6409 Self {}
6410 }
6411 }
6412 }
6413 {
6414 #[doc(hidden)]
6415 type UnderlyingSolTuple<'a> = (
6416 alloy::sol_types::sol_data::Uint<8>,
6417 alloy::sol_types::sol_data::Uint<8>,
6418 alloy::sol_types::sol_data::Uint<8>,
6419 );
6420 #[doc(hidden)]
6421 type UnderlyingRustTuple<'a> = (u8, u8, u8);
6422 #[cfg(test)]
6423 #[allow(dead_code, unreachable_patterns)]
6424 fn _type_assertion(
6425 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6426 ) {
6427 match _t {
6428 alloy_sol_types::private::AssertTypeEq::<
6429 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6430 >(_) => {}
6431 }
6432 }
6433 #[automatically_derived]
6434 #[doc(hidden)]
6435 impl ::core::convert::From<getVersionReturn> for UnderlyingRustTuple<'_> {
6436 fn from(value: getVersionReturn) -> Self {
6437 (value.majorVersion, value.minorVersion, value.patchVersion)
6438 }
6439 }
6440 #[automatically_derived]
6441 #[doc(hidden)]
6442 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getVersionReturn {
6443 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6444 Self {
6445 majorVersion: tuple.0,
6446 minorVersion: tuple.1,
6447 patchVersion: tuple.2,
6448 }
6449 }
6450 }
6451 }
6452 #[automatically_derived]
6453 impl alloy_sol_types::SolCall for getVersionCall {
6454 type Parameters<'a> = ();
6455 type Token<'a> = <Self::Parameters<
6456 'a,
6457 > as alloy_sol_types::SolType>::Token<'a>;
6458 type Return = getVersionReturn;
6459 type ReturnTuple<'a> = (
6460 alloy::sol_types::sol_data::Uint<8>,
6461 alloy::sol_types::sol_data::Uint<8>,
6462 alloy::sol_types::sol_data::Uint<8>,
6463 );
6464 type ReturnToken<'a> = <Self::ReturnTuple<
6465 'a,
6466 > as alloy_sol_types::SolType>::Token<'a>;
6467 const SIGNATURE: &'static str = "getVersion()";
6468 const SELECTOR: [u8; 4] = [13u8, 142u8, 110u8, 44u8];
6469 #[inline]
6470 fn new<'a>(
6471 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6472 ) -> Self {
6473 tuple.into()
6474 }
6475 #[inline]
6476 fn tokenize(&self) -> Self::Token<'_> {
6477 ()
6478 }
6479 #[inline]
6480 fn abi_decode_returns(
6481 data: &[u8],
6482 validate: bool,
6483 ) -> alloy_sol_types::Result<Self::Return> {
6484 <Self::ReturnTuple<
6485 '_,
6486 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6487 .map(Into::into)
6488 }
6489 }
6490 };
6491 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6492 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6497 #[derive(Clone)]
6498 pub struct initializeCall {
6499 #[allow(missing_docs)]
6500 pub _tokenAddress: alloy::sol_types::private::Address,
6501 #[allow(missing_docs)]
6502 pub _lightClientAddress: alloy::sol_types::private::Address,
6503 #[allow(missing_docs)]
6504 pub _exitEscrowPeriod: alloy::sol_types::private::primitives::aliases::U256,
6505 #[allow(missing_docs)]
6506 pub _timelock: alloy::sol_types::private::Address,
6507 }
6508 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6510 #[derive(Clone)]
6511 pub struct initializeReturn {}
6512 #[allow(
6513 non_camel_case_types,
6514 non_snake_case,
6515 clippy::pub_underscore_fields,
6516 clippy::style
6517 )]
6518 const _: () = {
6519 use alloy::sol_types as alloy_sol_types;
6520 {
6521 #[doc(hidden)]
6522 type UnderlyingSolTuple<'a> = (
6523 alloy::sol_types::sol_data::Address,
6524 alloy::sol_types::sol_data::Address,
6525 alloy::sol_types::sol_data::Uint<256>,
6526 alloy::sol_types::sol_data::Address,
6527 );
6528 #[doc(hidden)]
6529 type UnderlyingRustTuple<'a> = (
6530 alloy::sol_types::private::Address,
6531 alloy::sol_types::private::Address,
6532 alloy::sol_types::private::primitives::aliases::U256,
6533 alloy::sol_types::private::Address,
6534 );
6535 #[cfg(test)]
6536 #[allow(dead_code, unreachable_patterns)]
6537 fn _type_assertion(
6538 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6539 ) {
6540 match _t {
6541 alloy_sol_types::private::AssertTypeEq::<
6542 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6543 >(_) => {}
6544 }
6545 }
6546 #[automatically_derived]
6547 #[doc(hidden)]
6548 impl ::core::convert::From<initializeCall> for UnderlyingRustTuple<'_> {
6549 fn from(value: initializeCall) -> Self {
6550 (
6551 value._tokenAddress,
6552 value._lightClientAddress,
6553 value._exitEscrowPeriod,
6554 value._timelock,
6555 )
6556 }
6557 }
6558 #[automatically_derived]
6559 #[doc(hidden)]
6560 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeCall {
6561 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6562 Self {
6563 _tokenAddress: tuple.0,
6564 _lightClientAddress: tuple.1,
6565 _exitEscrowPeriod: tuple.2,
6566 _timelock: tuple.3,
6567 }
6568 }
6569 }
6570 }
6571 {
6572 #[doc(hidden)]
6573 type UnderlyingSolTuple<'a> = ();
6574 #[doc(hidden)]
6575 type UnderlyingRustTuple<'a> = ();
6576 #[cfg(test)]
6577 #[allow(dead_code, unreachable_patterns)]
6578 fn _type_assertion(
6579 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6580 ) {
6581 match _t {
6582 alloy_sol_types::private::AssertTypeEq::<
6583 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6584 >(_) => {}
6585 }
6586 }
6587 #[automatically_derived]
6588 #[doc(hidden)]
6589 impl ::core::convert::From<initializeReturn> for UnderlyingRustTuple<'_> {
6590 fn from(value: initializeReturn) -> Self {
6591 ()
6592 }
6593 }
6594 #[automatically_derived]
6595 #[doc(hidden)]
6596 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeReturn {
6597 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6598 Self {}
6599 }
6600 }
6601 }
6602 #[automatically_derived]
6603 impl alloy_sol_types::SolCall for initializeCall {
6604 type Parameters<'a> = (
6605 alloy::sol_types::sol_data::Address,
6606 alloy::sol_types::sol_data::Address,
6607 alloy::sol_types::sol_data::Uint<256>,
6608 alloy::sol_types::sol_data::Address,
6609 );
6610 type Token<'a> = <Self::Parameters<
6611 'a,
6612 > as alloy_sol_types::SolType>::Token<'a>;
6613 type Return = initializeReturn;
6614 type ReturnTuple<'a> = ();
6615 type ReturnToken<'a> = <Self::ReturnTuple<
6616 'a,
6617 > as alloy_sol_types::SolType>::Token<'a>;
6618 const SIGNATURE: &'static str = "initialize(address,address,uint256,address)";
6619 const SELECTOR: [u8; 4] = [190u8, 32u8, 48u8, 148u8];
6620 #[inline]
6621 fn new<'a>(
6622 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6623 ) -> Self {
6624 tuple.into()
6625 }
6626 #[inline]
6627 fn tokenize(&self) -> Self::Token<'_> {
6628 (
6629 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6630 &self._tokenAddress,
6631 ),
6632 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6633 &self._lightClientAddress,
6634 ),
6635 <alloy::sol_types::sol_data::Uint<
6636 256,
6637 > as alloy_sol_types::SolType>::tokenize(&self._exitEscrowPeriod),
6638 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6639 &self._timelock,
6640 ),
6641 )
6642 }
6643 #[inline]
6644 fn abi_decode_returns(
6645 data: &[u8],
6646 validate: bool,
6647 ) -> alloy_sol_types::Result<Self::Return> {
6648 <Self::ReturnTuple<
6649 '_,
6650 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6651 .map(Into::into)
6652 }
6653 }
6654 };
6655 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6656 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6661 #[derive(Clone)]
6662 pub struct initializedAtBlockCall {}
6663 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6664 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6666 #[derive(Clone)]
6667 pub struct initializedAtBlockReturn {
6668 #[allow(missing_docs)]
6669 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6670 }
6671 #[allow(
6672 non_camel_case_types,
6673 non_snake_case,
6674 clippy::pub_underscore_fields,
6675 clippy::style
6676 )]
6677 const _: () = {
6678 use alloy::sol_types as alloy_sol_types;
6679 {
6680 #[doc(hidden)]
6681 type UnderlyingSolTuple<'a> = ();
6682 #[doc(hidden)]
6683 type UnderlyingRustTuple<'a> = ();
6684 #[cfg(test)]
6685 #[allow(dead_code, unreachable_patterns)]
6686 fn _type_assertion(
6687 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6688 ) {
6689 match _t {
6690 alloy_sol_types::private::AssertTypeEq::<
6691 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6692 >(_) => {}
6693 }
6694 }
6695 #[automatically_derived]
6696 #[doc(hidden)]
6697 impl ::core::convert::From<initializedAtBlockCall>
6698 for UnderlyingRustTuple<'_> {
6699 fn from(value: initializedAtBlockCall) -> Self {
6700 ()
6701 }
6702 }
6703 #[automatically_derived]
6704 #[doc(hidden)]
6705 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6706 for initializedAtBlockCall {
6707 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6708 Self {}
6709 }
6710 }
6711 }
6712 {
6713 #[doc(hidden)]
6714 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6715 #[doc(hidden)]
6716 type UnderlyingRustTuple<'a> = (
6717 alloy::sol_types::private::primitives::aliases::U256,
6718 );
6719 #[cfg(test)]
6720 #[allow(dead_code, unreachable_patterns)]
6721 fn _type_assertion(
6722 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6723 ) {
6724 match _t {
6725 alloy_sol_types::private::AssertTypeEq::<
6726 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6727 >(_) => {}
6728 }
6729 }
6730 #[automatically_derived]
6731 #[doc(hidden)]
6732 impl ::core::convert::From<initializedAtBlockReturn>
6733 for UnderlyingRustTuple<'_> {
6734 fn from(value: initializedAtBlockReturn) -> Self {
6735 (value._0,)
6736 }
6737 }
6738 #[automatically_derived]
6739 #[doc(hidden)]
6740 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6741 for initializedAtBlockReturn {
6742 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6743 Self { _0: tuple.0 }
6744 }
6745 }
6746 }
6747 #[automatically_derived]
6748 impl alloy_sol_types::SolCall for initializedAtBlockCall {
6749 type Parameters<'a> = ();
6750 type Token<'a> = <Self::Parameters<
6751 'a,
6752 > as alloy_sol_types::SolType>::Token<'a>;
6753 type Return = initializedAtBlockReturn;
6754 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6755 type ReturnToken<'a> = <Self::ReturnTuple<
6756 'a,
6757 > as alloy_sol_types::SolType>::Token<'a>;
6758 const SIGNATURE: &'static str = "initializedAtBlock()";
6759 const SELECTOR: [u8; 4] = [62u8, 157u8, 249u8, 181u8];
6760 #[inline]
6761 fn new<'a>(
6762 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6763 ) -> Self {
6764 tuple.into()
6765 }
6766 #[inline]
6767 fn tokenize(&self) -> Self::Token<'_> {
6768 ()
6769 }
6770 #[inline]
6771 fn abi_decode_returns(
6772 data: &[u8],
6773 validate: bool,
6774 ) -> alloy_sol_types::Result<Self::Return> {
6775 <Self::ReturnTuple<
6776 '_,
6777 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6778 .map(Into::into)
6779 }
6780 }
6781 };
6782 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6783 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6788 #[derive(Clone)]
6789 pub struct lightClientCall {}
6790 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6791 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6793 #[derive(Clone)]
6794 pub struct lightClientReturn {
6795 #[allow(missing_docs)]
6796 pub _0: alloy::sol_types::private::Address,
6797 }
6798 #[allow(
6799 non_camel_case_types,
6800 non_snake_case,
6801 clippy::pub_underscore_fields,
6802 clippy::style
6803 )]
6804 const _: () = {
6805 use alloy::sol_types as alloy_sol_types;
6806 {
6807 #[doc(hidden)]
6808 type UnderlyingSolTuple<'a> = ();
6809 #[doc(hidden)]
6810 type UnderlyingRustTuple<'a> = ();
6811 #[cfg(test)]
6812 #[allow(dead_code, unreachable_patterns)]
6813 fn _type_assertion(
6814 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6815 ) {
6816 match _t {
6817 alloy_sol_types::private::AssertTypeEq::<
6818 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6819 >(_) => {}
6820 }
6821 }
6822 #[automatically_derived]
6823 #[doc(hidden)]
6824 impl ::core::convert::From<lightClientCall> for UnderlyingRustTuple<'_> {
6825 fn from(value: lightClientCall) -> Self {
6826 ()
6827 }
6828 }
6829 #[automatically_derived]
6830 #[doc(hidden)]
6831 impl ::core::convert::From<UnderlyingRustTuple<'_>> for lightClientCall {
6832 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6833 Self {}
6834 }
6835 }
6836 }
6837 {
6838 #[doc(hidden)]
6839 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6840 #[doc(hidden)]
6841 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6842 #[cfg(test)]
6843 #[allow(dead_code, unreachable_patterns)]
6844 fn _type_assertion(
6845 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6846 ) {
6847 match _t {
6848 alloy_sol_types::private::AssertTypeEq::<
6849 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6850 >(_) => {}
6851 }
6852 }
6853 #[automatically_derived]
6854 #[doc(hidden)]
6855 impl ::core::convert::From<lightClientReturn> for UnderlyingRustTuple<'_> {
6856 fn from(value: lightClientReturn) -> Self {
6857 (value._0,)
6858 }
6859 }
6860 #[automatically_derived]
6861 #[doc(hidden)]
6862 impl ::core::convert::From<UnderlyingRustTuple<'_>> for lightClientReturn {
6863 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6864 Self { _0: tuple.0 }
6865 }
6866 }
6867 }
6868 #[automatically_derived]
6869 impl alloy_sol_types::SolCall for lightClientCall {
6870 type Parameters<'a> = ();
6871 type Token<'a> = <Self::Parameters<
6872 'a,
6873 > as alloy_sol_types::SolType>::Token<'a>;
6874 type Return = lightClientReturn;
6875 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
6876 type ReturnToken<'a> = <Self::ReturnTuple<
6877 'a,
6878 > as alloy_sol_types::SolType>::Token<'a>;
6879 const SIGNATURE: &'static str = "lightClient()";
6880 const SELECTOR: [u8; 4] = [181u8, 112u8, 14u8, 104u8];
6881 #[inline]
6882 fn new<'a>(
6883 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6884 ) -> Self {
6885 tuple.into()
6886 }
6887 #[inline]
6888 fn tokenize(&self) -> Self::Token<'_> {
6889 ()
6890 }
6891 #[inline]
6892 fn abi_decode_returns(
6893 data: &[u8],
6894 validate: bool,
6895 ) -> alloy_sol_types::Result<Self::Return> {
6896 <Self::ReturnTuple<
6897 '_,
6898 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6899 .map(Into::into)
6900 }
6901 }
6902 };
6903 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6904 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6909 #[derive(Clone)]
6910 pub struct ownerCall {}
6911 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6912 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6914 #[derive(Clone)]
6915 pub struct ownerReturn {
6916 #[allow(missing_docs)]
6917 pub _0: alloy::sol_types::private::Address,
6918 }
6919 #[allow(
6920 non_camel_case_types,
6921 non_snake_case,
6922 clippy::pub_underscore_fields,
6923 clippy::style
6924 )]
6925 const _: () = {
6926 use alloy::sol_types as alloy_sol_types;
6927 {
6928 #[doc(hidden)]
6929 type UnderlyingSolTuple<'a> = ();
6930 #[doc(hidden)]
6931 type UnderlyingRustTuple<'a> = ();
6932 #[cfg(test)]
6933 #[allow(dead_code, unreachable_patterns)]
6934 fn _type_assertion(
6935 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6936 ) {
6937 match _t {
6938 alloy_sol_types::private::AssertTypeEq::<
6939 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6940 >(_) => {}
6941 }
6942 }
6943 #[automatically_derived]
6944 #[doc(hidden)]
6945 impl ::core::convert::From<ownerCall> for UnderlyingRustTuple<'_> {
6946 fn from(value: ownerCall) -> Self {
6947 ()
6948 }
6949 }
6950 #[automatically_derived]
6951 #[doc(hidden)]
6952 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerCall {
6953 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6954 Self {}
6955 }
6956 }
6957 }
6958 {
6959 #[doc(hidden)]
6960 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6961 #[doc(hidden)]
6962 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6963 #[cfg(test)]
6964 #[allow(dead_code, unreachable_patterns)]
6965 fn _type_assertion(
6966 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6967 ) {
6968 match _t {
6969 alloy_sol_types::private::AssertTypeEq::<
6970 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6971 >(_) => {}
6972 }
6973 }
6974 #[automatically_derived]
6975 #[doc(hidden)]
6976 impl ::core::convert::From<ownerReturn> for UnderlyingRustTuple<'_> {
6977 fn from(value: ownerReturn) -> Self {
6978 (value._0,)
6979 }
6980 }
6981 #[automatically_derived]
6982 #[doc(hidden)]
6983 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerReturn {
6984 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6985 Self { _0: tuple.0 }
6986 }
6987 }
6988 }
6989 #[automatically_derived]
6990 impl alloy_sol_types::SolCall for ownerCall {
6991 type Parameters<'a> = ();
6992 type Token<'a> = <Self::Parameters<
6993 'a,
6994 > as alloy_sol_types::SolType>::Token<'a>;
6995 type Return = ownerReturn;
6996 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
6997 type ReturnToken<'a> = <Self::ReturnTuple<
6998 'a,
6999 > as alloy_sol_types::SolType>::Token<'a>;
7000 const SIGNATURE: &'static str = "owner()";
7001 const SELECTOR: [u8; 4] = [141u8, 165u8, 203u8, 91u8];
7002 #[inline]
7003 fn new<'a>(
7004 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7005 ) -> Self {
7006 tuple.into()
7007 }
7008 #[inline]
7009 fn tokenize(&self) -> Self::Token<'_> {
7010 ()
7011 }
7012 #[inline]
7013 fn abi_decode_returns(
7014 data: &[u8],
7015 validate: bool,
7016 ) -> alloy_sol_types::Result<Self::Return> {
7017 <Self::ReturnTuple<
7018 '_,
7019 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7020 .map(Into::into)
7021 }
7022 }
7023 };
7024 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7025 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7030 #[derive(Clone)]
7031 pub struct proxiableUUIDCall {}
7032 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7033 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7035 #[derive(Clone)]
7036 pub struct proxiableUUIDReturn {
7037 #[allow(missing_docs)]
7038 pub _0: alloy::sol_types::private::FixedBytes<32>,
7039 }
7040 #[allow(
7041 non_camel_case_types,
7042 non_snake_case,
7043 clippy::pub_underscore_fields,
7044 clippy::style
7045 )]
7046 const _: () = {
7047 use alloy::sol_types as alloy_sol_types;
7048 {
7049 #[doc(hidden)]
7050 type UnderlyingSolTuple<'a> = ();
7051 #[doc(hidden)]
7052 type UnderlyingRustTuple<'a> = ();
7053 #[cfg(test)]
7054 #[allow(dead_code, unreachable_patterns)]
7055 fn _type_assertion(
7056 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7057 ) {
7058 match _t {
7059 alloy_sol_types::private::AssertTypeEq::<
7060 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7061 >(_) => {}
7062 }
7063 }
7064 #[automatically_derived]
7065 #[doc(hidden)]
7066 impl ::core::convert::From<proxiableUUIDCall> for UnderlyingRustTuple<'_> {
7067 fn from(value: proxiableUUIDCall) -> Self {
7068 ()
7069 }
7070 }
7071 #[automatically_derived]
7072 #[doc(hidden)]
7073 impl ::core::convert::From<UnderlyingRustTuple<'_>> for proxiableUUIDCall {
7074 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7075 Self {}
7076 }
7077 }
7078 }
7079 {
7080 #[doc(hidden)]
7081 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7082 #[doc(hidden)]
7083 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
7084 #[cfg(test)]
7085 #[allow(dead_code, unreachable_patterns)]
7086 fn _type_assertion(
7087 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7088 ) {
7089 match _t {
7090 alloy_sol_types::private::AssertTypeEq::<
7091 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7092 >(_) => {}
7093 }
7094 }
7095 #[automatically_derived]
7096 #[doc(hidden)]
7097 impl ::core::convert::From<proxiableUUIDReturn> for UnderlyingRustTuple<'_> {
7098 fn from(value: proxiableUUIDReturn) -> Self {
7099 (value._0,)
7100 }
7101 }
7102 #[automatically_derived]
7103 #[doc(hidden)]
7104 impl ::core::convert::From<UnderlyingRustTuple<'_>> for proxiableUUIDReturn {
7105 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7106 Self { _0: tuple.0 }
7107 }
7108 }
7109 }
7110 #[automatically_derived]
7111 impl alloy_sol_types::SolCall for proxiableUUIDCall {
7112 type Parameters<'a> = ();
7113 type Token<'a> = <Self::Parameters<
7114 'a,
7115 > as alloy_sol_types::SolType>::Token<'a>;
7116 type Return = proxiableUUIDReturn;
7117 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7118 type ReturnToken<'a> = <Self::ReturnTuple<
7119 'a,
7120 > as alloy_sol_types::SolType>::Token<'a>;
7121 const SIGNATURE: &'static str = "proxiableUUID()";
7122 const SELECTOR: [u8; 4] = [82u8, 209u8, 144u8, 45u8];
7123 #[inline]
7124 fn new<'a>(
7125 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7126 ) -> Self {
7127 tuple.into()
7128 }
7129 #[inline]
7130 fn tokenize(&self) -> Self::Token<'_> {
7131 ()
7132 }
7133 #[inline]
7134 fn abi_decode_returns(
7135 data: &[u8],
7136 validate: bool,
7137 ) -> alloy_sol_types::Result<Self::Return> {
7138 <Self::ReturnTuple<
7139 '_,
7140 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7141 .map(Into::into)
7142 }
7143 }
7144 };
7145 #[derive()]
7146 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7151 #[derive(Clone)]
7152 pub struct registerValidatorCall {
7153 #[allow(missing_docs)]
7154 pub blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
7155 #[allow(missing_docs)]
7156 pub schnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
7157 #[allow(missing_docs)]
7158 pub blsSig: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
7159 #[allow(missing_docs)]
7160 pub commission: u16,
7161 }
7162 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7164 #[derive(Clone)]
7165 pub struct registerValidatorReturn {}
7166 #[allow(
7167 non_camel_case_types,
7168 non_snake_case,
7169 clippy::pub_underscore_fields,
7170 clippy::style
7171 )]
7172 const _: () = {
7173 use alloy::sol_types as alloy_sol_types;
7174 {
7175 #[doc(hidden)]
7176 type UnderlyingSolTuple<'a> = (
7177 BN254::G2Point,
7178 EdOnBN254::EdOnBN254Point,
7179 BN254::G1Point,
7180 alloy::sol_types::sol_data::Uint<16>,
7181 );
7182 #[doc(hidden)]
7183 type UnderlyingRustTuple<'a> = (
7184 <BN254::G2Point as alloy::sol_types::SolType>::RustType,
7185 <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
7186 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
7187 u16,
7188 );
7189 #[cfg(test)]
7190 #[allow(dead_code, unreachable_patterns)]
7191 fn _type_assertion(
7192 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7193 ) {
7194 match _t {
7195 alloy_sol_types::private::AssertTypeEq::<
7196 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7197 >(_) => {}
7198 }
7199 }
7200 #[automatically_derived]
7201 #[doc(hidden)]
7202 impl ::core::convert::From<registerValidatorCall>
7203 for UnderlyingRustTuple<'_> {
7204 fn from(value: registerValidatorCall) -> Self {
7205 (value.blsVK, value.schnorrVK, value.blsSig, value.commission)
7206 }
7207 }
7208 #[automatically_derived]
7209 #[doc(hidden)]
7210 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7211 for registerValidatorCall {
7212 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7213 Self {
7214 blsVK: tuple.0,
7215 schnorrVK: tuple.1,
7216 blsSig: tuple.2,
7217 commission: tuple.3,
7218 }
7219 }
7220 }
7221 }
7222 {
7223 #[doc(hidden)]
7224 type UnderlyingSolTuple<'a> = ();
7225 #[doc(hidden)]
7226 type UnderlyingRustTuple<'a> = ();
7227 #[cfg(test)]
7228 #[allow(dead_code, unreachable_patterns)]
7229 fn _type_assertion(
7230 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7231 ) {
7232 match _t {
7233 alloy_sol_types::private::AssertTypeEq::<
7234 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7235 >(_) => {}
7236 }
7237 }
7238 #[automatically_derived]
7239 #[doc(hidden)]
7240 impl ::core::convert::From<registerValidatorReturn>
7241 for UnderlyingRustTuple<'_> {
7242 fn from(value: registerValidatorReturn) -> Self {
7243 ()
7244 }
7245 }
7246 #[automatically_derived]
7247 #[doc(hidden)]
7248 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7249 for registerValidatorReturn {
7250 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7251 Self {}
7252 }
7253 }
7254 }
7255 #[automatically_derived]
7256 impl alloy_sol_types::SolCall for registerValidatorCall {
7257 type Parameters<'a> = (
7258 BN254::G2Point,
7259 EdOnBN254::EdOnBN254Point,
7260 BN254::G1Point,
7261 alloy::sol_types::sol_data::Uint<16>,
7262 );
7263 type Token<'a> = <Self::Parameters<
7264 'a,
7265 > as alloy_sol_types::SolType>::Token<'a>;
7266 type Return = registerValidatorReturn;
7267 type ReturnTuple<'a> = ();
7268 type ReturnToken<'a> = <Self::ReturnTuple<
7269 'a,
7270 > as alloy_sol_types::SolType>::Token<'a>;
7271 const SIGNATURE: &'static str = "registerValidator((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),uint16)";
7272 const SELECTOR: [u8; 4] = [19u8, 185u8, 5u8, 122u8];
7273 #[inline]
7274 fn new<'a>(
7275 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7276 ) -> Self {
7277 tuple.into()
7278 }
7279 #[inline]
7280 fn tokenize(&self) -> Self::Token<'_> {
7281 (
7282 <BN254::G2Point as alloy_sol_types::SolType>::tokenize(&self.blsVK),
7283 <EdOnBN254::EdOnBN254Point as alloy_sol_types::SolType>::tokenize(
7284 &self.schnorrVK,
7285 ),
7286 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.blsSig),
7287 <alloy::sol_types::sol_data::Uint<
7288 16,
7289 > as alloy_sol_types::SolType>::tokenize(&self.commission),
7290 )
7291 }
7292 #[inline]
7293 fn abi_decode_returns(
7294 data: &[u8],
7295 validate: bool,
7296 ) -> alloy_sol_types::Result<Self::Return> {
7297 <Self::ReturnTuple<
7298 '_,
7299 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7300 .map(Into::into)
7301 }
7302 }
7303 };
7304 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7305 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7310 #[derive(Clone)]
7311 pub struct renounceOwnershipCall {}
7312 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7314 #[derive(Clone)]
7315 pub struct renounceOwnershipReturn {}
7316 #[allow(
7317 non_camel_case_types,
7318 non_snake_case,
7319 clippy::pub_underscore_fields,
7320 clippy::style
7321 )]
7322 const _: () = {
7323 use alloy::sol_types as alloy_sol_types;
7324 {
7325 #[doc(hidden)]
7326 type UnderlyingSolTuple<'a> = ();
7327 #[doc(hidden)]
7328 type UnderlyingRustTuple<'a> = ();
7329 #[cfg(test)]
7330 #[allow(dead_code, unreachable_patterns)]
7331 fn _type_assertion(
7332 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7333 ) {
7334 match _t {
7335 alloy_sol_types::private::AssertTypeEq::<
7336 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7337 >(_) => {}
7338 }
7339 }
7340 #[automatically_derived]
7341 #[doc(hidden)]
7342 impl ::core::convert::From<renounceOwnershipCall>
7343 for UnderlyingRustTuple<'_> {
7344 fn from(value: renounceOwnershipCall) -> Self {
7345 ()
7346 }
7347 }
7348 #[automatically_derived]
7349 #[doc(hidden)]
7350 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7351 for renounceOwnershipCall {
7352 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7353 Self {}
7354 }
7355 }
7356 }
7357 {
7358 #[doc(hidden)]
7359 type UnderlyingSolTuple<'a> = ();
7360 #[doc(hidden)]
7361 type UnderlyingRustTuple<'a> = ();
7362 #[cfg(test)]
7363 #[allow(dead_code, unreachable_patterns)]
7364 fn _type_assertion(
7365 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7366 ) {
7367 match _t {
7368 alloy_sol_types::private::AssertTypeEq::<
7369 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7370 >(_) => {}
7371 }
7372 }
7373 #[automatically_derived]
7374 #[doc(hidden)]
7375 impl ::core::convert::From<renounceOwnershipReturn>
7376 for UnderlyingRustTuple<'_> {
7377 fn from(value: renounceOwnershipReturn) -> Self {
7378 ()
7379 }
7380 }
7381 #[automatically_derived]
7382 #[doc(hidden)]
7383 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7384 for renounceOwnershipReturn {
7385 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7386 Self {}
7387 }
7388 }
7389 }
7390 #[automatically_derived]
7391 impl alloy_sol_types::SolCall for renounceOwnershipCall {
7392 type Parameters<'a> = ();
7393 type Token<'a> = <Self::Parameters<
7394 'a,
7395 > as alloy_sol_types::SolType>::Token<'a>;
7396 type Return = renounceOwnershipReturn;
7397 type ReturnTuple<'a> = ();
7398 type ReturnToken<'a> = <Self::ReturnTuple<
7399 'a,
7400 > as alloy_sol_types::SolType>::Token<'a>;
7401 const SIGNATURE: &'static str = "renounceOwnership()";
7402 const SELECTOR: [u8; 4] = [113u8, 80u8, 24u8, 166u8];
7403 #[inline]
7404 fn new<'a>(
7405 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7406 ) -> Self {
7407 tuple.into()
7408 }
7409 #[inline]
7410 fn tokenize(&self) -> Self::Token<'_> {
7411 ()
7412 }
7413 #[inline]
7414 fn abi_decode_returns(
7415 data: &[u8],
7416 validate: bool,
7417 ) -> alloy_sol_types::Result<Self::Return> {
7418 <Self::ReturnTuple<
7419 '_,
7420 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7421 .map(Into::into)
7422 }
7423 }
7424 };
7425 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7426 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7431 #[derive(Clone)]
7432 pub struct tokenCall {}
7433 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7434 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7436 #[derive(Clone)]
7437 pub struct tokenReturn {
7438 #[allow(missing_docs)]
7439 pub _0: alloy::sol_types::private::Address,
7440 }
7441 #[allow(
7442 non_camel_case_types,
7443 non_snake_case,
7444 clippy::pub_underscore_fields,
7445 clippy::style
7446 )]
7447 const _: () = {
7448 use alloy::sol_types as alloy_sol_types;
7449 {
7450 #[doc(hidden)]
7451 type UnderlyingSolTuple<'a> = ();
7452 #[doc(hidden)]
7453 type UnderlyingRustTuple<'a> = ();
7454 #[cfg(test)]
7455 #[allow(dead_code, unreachable_patterns)]
7456 fn _type_assertion(
7457 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7458 ) {
7459 match _t {
7460 alloy_sol_types::private::AssertTypeEq::<
7461 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7462 >(_) => {}
7463 }
7464 }
7465 #[automatically_derived]
7466 #[doc(hidden)]
7467 impl ::core::convert::From<tokenCall> for UnderlyingRustTuple<'_> {
7468 fn from(value: tokenCall) -> Self {
7469 ()
7470 }
7471 }
7472 #[automatically_derived]
7473 #[doc(hidden)]
7474 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tokenCall {
7475 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7476 Self {}
7477 }
7478 }
7479 }
7480 {
7481 #[doc(hidden)]
7482 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7483 #[doc(hidden)]
7484 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7485 #[cfg(test)]
7486 #[allow(dead_code, unreachable_patterns)]
7487 fn _type_assertion(
7488 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7489 ) {
7490 match _t {
7491 alloy_sol_types::private::AssertTypeEq::<
7492 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7493 >(_) => {}
7494 }
7495 }
7496 #[automatically_derived]
7497 #[doc(hidden)]
7498 impl ::core::convert::From<tokenReturn> for UnderlyingRustTuple<'_> {
7499 fn from(value: tokenReturn) -> Self {
7500 (value._0,)
7501 }
7502 }
7503 #[automatically_derived]
7504 #[doc(hidden)]
7505 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tokenReturn {
7506 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7507 Self { _0: tuple.0 }
7508 }
7509 }
7510 }
7511 #[automatically_derived]
7512 impl alloy_sol_types::SolCall for tokenCall {
7513 type Parameters<'a> = ();
7514 type Token<'a> = <Self::Parameters<
7515 'a,
7516 > as alloy_sol_types::SolType>::Token<'a>;
7517 type Return = tokenReturn;
7518 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7519 type ReturnToken<'a> = <Self::ReturnTuple<
7520 'a,
7521 > as alloy_sol_types::SolType>::Token<'a>;
7522 const SIGNATURE: &'static str = "token()";
7523 const SELECTOR: [u8; 4] = [252u8, 12u8, 84u8, 106u8];
7524 #[inline]
7525 fn new<'a>(
7526 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7527 ) -> Self {
7528 tuple.into()
7529 }
7530 #[inline]
7531 fn tokenize(&self) -> Self::Token<'_> {
7532 ()
7533 }
7534 #[inline]
7535 fn abi_decode_returns(
7536 data: &[u8],
7537 validate: bool,
7538 ) -> alloy_sol_types::Result<Self::Return> {
7539 <Self::ReturnTuple<
7540 '_,
7541 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7542 .map(Into::into)
7543 }
7544 }
7545 };
7546 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7547 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7552 #[derive(Clone)]
7553 pub struct transferOwnershipCall {
7554 #[allow(missing_docs)]
7555 pub newOwner: alloy::sol_types::private::Address,
7556 }
7557 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7559 #[derive(Clone)]
7560 pub struct transferOwnershipReturn {}
7561 #[allow(
7562 non_camel_case_types,
7563 non_snake_case,
7564 clippy::pub_underscore_fields,
7565 clippy::style
7566 )]
7567 const _: () = {
7568 use alloy::sol_types as alloy_sol_types;
7569 {
7570 #[doc(hidden)]
7571 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7572 #[doc(hidden)]
7573 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7574 #[cfg(test)]
7575 #[allow(dead_code, unreachable_patterns)]
7576 fn _type_assertion(
7577 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7578 ) {
7579 match _t {
7580 alloy_sol_types::private::AssertTypeEq::<
7581 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7582 >(_) => {}
7583 }
7584 }
7585 #[automatically_derived]
7586 #[doc(hidden)]
7587 impl ::core::convert::From<transferOwnershipCall>
7588 for UnderlyingRustTuple<'_> {
7589 fn from(value: transferOwnershipCall) -> Self {
7590 (value.newOwner,)
7591 }
7592 }
7593 #[automatically_derived]
7594 #[doc(hidden)]
7595 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7596 for transferOwnershipCall {
7597 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7598 Self { newOwner: tuple.0 }
7599 }
7600 }
7601 }
7602 {
7603 #[doc(hidden)]
7604 type UnderlyingSolTuple<'a> = ();
7605 #[doc(hidden)]
7606 type UnderlyingRustTuple<'a> = ();
7607 #[cfg(test)]
7608 #[allow(dead_code, unreachable_patterns)]
7609 fn _type_assertion(
7610 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7611 ) {
7612 match _t {
7613 alloy_sol_types::private::AssertTypeEq::<
7614 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7615 >(_) => {}
7616 }
7617 }
7618 #[automatically_derived]
7619 #[doc(hidden)]
7620 impl ::core::convert::From<transferOwnershipReturn>
7621 for UnderlyingRustTuple<'_> {
7622 fn from(value: transferOwnershipReturn) -> Self {
7623 ()
7624 }
7625 }
7626 #[automatically_derived]
7627 #[doc(hidden)]
7628 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7629 for transferOwnershipReturn {
7630 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7631 Self {}
7632 }
7633 }
7634 }
7635 #[automatically_derived]
7636 impl alloy_sol_types::SolCall for transferOwnershipCall {
7637 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
7638 type Token<'a> = <Self::Parameters<
7639 'a,
7640 > as alloy_sol_types::SolType>::Token<'a>;
7641 type Return = transferOwnershipReturn;
7642 type ReturnTuple<'a> = ();
7643 type ReturnToken<'a> = <Self::ReturnTuple<
7644 'a,
7645 > as alloy_sol_types::SolType>::Token<'a>;
7646 const SIGNATURE: &'static str = "transferOwnership(address)";
7647 const SELECTOR: [u8; 4] = [242u8, 253u8, 227u8, 139u8];
7648 #[inline]
7649 fn new<'a>(
7650 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7651 ) -> Self {
7652 tuple.into()
7653 }
7654 #[inline]
7655 fn tokenize(&self) -> Self::Token<'_> {
7656 (
7657 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7658 &self.newOwner,
7659 ),
7660 )
7661 }
7662 #[inline]
7663 fn abi_decode_returns(
7664 data: &[u8],
7665 validate: bool,
7666 ) -> alloy_sol_types::Result<Self::Return> {
7667 <Self::ReturnTuple<
7668 '_,
7669 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7670 .map(Into::into)
7671 }
7672 }
7673 };
7674 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7675 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7680 #[derive(Clone)]
7681 pub struct undelegateCall {
7682 #[allow(missing_docs)]
7683 pub validator: alloy::sol_types::private::Address,
7684 #[allow(missing_docs)]
7685 pub amount: alloy::sol_types::private::primitives::aliases::U256,
7686 }
7687 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7689 #[derive(Clone)]
7690 pub struct undelegateReturn {}
7691 #[allow(
7692 non_camel_case_types,
7693 non_snake_case,
7694 clippy::pub_underscore_fields,
7695 clippy::style
7696 )]
7697 const _: () = {
7698 use alloy::sol_types as alloy_sol_types;
7699 {
7700 #[doc(hidden)]
7701 type UnderlyingSolTuple<'a> = (
7702 alloy::sol_types::sol_data::Address,
7703 alloy::sol_types::sol_data::Uint<256>,
7704 );
7705 #[doc(hidden)]
7706 type UnderlyingRustTuple<'a> = (
7707 alloy::sol_types::private::Address,
7708 alloy::sol_types::private::primitives::aliases::U256,
7709 );
7710 #[cfg(test)]
7711 #[allow(dead_code, unreachable_patterns)]
7712 fn _type_assertion(
7713 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7714 ) {
7715 match _t {
7716 alloy_sol_types::private::AssertTypeEq::<
7717 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7718 >(_) => {}
7719 }
7720 }
7721 #[automatically_derived]
7722 #[doc(hidden)]
7723 impl ::core::convert::From<undelegateCall> for UnderlyingRustTuple<'_> {
7724 fn from(value: undelegateCall) -> Self {
7725 (value.validator, value.amount)
7726 }
7727 }
7728 #[automatically_derived]
7729 #[doc(hidden)]
7730 impl ::core::convert::From<UnderlyingRustTuple<'_>> for undelegateCall {
7731 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7732 Self {
7733 validator: tuple.0,
7734 amount: tuple.1,
7735 }
7736 }
7737 }
7738 }
7739 {
7740 #[doc(hidden)]
7741 type UnderlyingSolTuple<'a> = ();
7742 #[doc(hidden)]
7743 type UnderlyingRustTuple<'a> = ();
7744 #[cfg(test)]
7745 #[allow(dead_code, unreachable_patterns)]
7746 fn _type_assertion(
7747 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7748 ) {
7749 match _t {
7750 alloy_sol_types::private::AssertTypeEq::<
7751 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7752 >(_) => {}
7753 }
7754 }
7755 #[automatically_derived]
7756 #[doc(hidden)]
7757 impl ::core::convert::From<undelegateReturn> for UnderlyingRustTuple<'_> {
7758 fn from(value: undelegateReturn) -> Self {
7759 ()
7760 }
7761 }
7762 #[automatically_derived]
7763 #[doc(hidden)]
7764 impl ::core::convert::From<UnderlyingRustTuple<'_>> for undelegateReturn {
7765 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7766 Self {}
7767 }
7768 }
7769 }
7770 #[automatically_derived]
7771 impl alloy_sol_types::SolCall for undelegateCall {
7772 type Parameters<'a> = (
7773 alloy::sol_types::sol_data::Address,
7774 alloy::sol_types::sol_data::Uint<256>,
7775 );
7776 type Token<'a> = <Self::Parameters<
7777 'a,
7778 > as alloy_sol_types::SolType>::Token<'a>;
7779 type Return = undelegateReturn;
7780 type ReturnTuple<'a> = ();
7781 type ReturnToken<'a> = <Self::ReturnTuple<
7782 'a,
7783 > as alloy_sol_types::SolType>::Token<'a>;
7784 const SIGNATURE: &'static str = "undelegate(address,uint256)";
7785 const SELECTOR: [u8; 4] = [77u8, 153u8, 221u8, 22u8];
7786 #[inline]
7787 fn new<'a>(
7788 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7789 ) -> Self {
7790 tuple.into()
7791 }
7792 #[inline]
7793 fn tokenize(&self) -> Self::Token<'_> {
7794 (
7795 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7796 &self.validator,
7797 ),
7798 <alloy::sol_types::sol_data::Uint<
7799 256,
7800 > as alloy_sol_types::SolType>::tokenize(&self.amount),
7801 )
7802 }
7803 #[inline]
7804 fn abi_decode_returns(
7805 data: &[u8],
7806 validate: bool,
7807 ) -> alloy_sol_types::Result<Self::Return> {
7808 <Self::ReturnTuple<
7809 '_,
7810 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7811 .map(Into::into)
7812 }
7813 }
7814 };
7815 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7816 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7821 #[derive(Clone)]
7822 pub struct undelegationsCall {
7823 #[allow(missing_docs)]
7824 pub validator: alloy::sol_types::private::Address,
7825 #[allow(missing_docs)]
7826 pub delegator: alloy::sol_types::private::Address,
7827 }
7828 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7829 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7831 #[derive(Clone)]
7832 pub struct undelegationsReturn {
7833 #[allow(missing_docs)]
7834 pub amount: alloy::sol_types::private::primitives::aliases::U256,
7835 #[allow(missing_docs)]
7836 pub unlocksAt: alloy::sol_types::private::primitives::aliases::U256,
7837 }
7838 #[allow(
7839 non_camel_case_types,
7840 non_snake_case,
7841 clippy::pub_underscore_fields,
7842 clippy::style
7843 )]
7844 const _: () = {
7845 use alloy::sol_types as alloy_sol_types;
7846 {
7847 #[doc(hidden)]
7848 type UnderlyingSolTuple<'a> = (
7849 alloy::sol_types::sol_data::Address,
7850 alloy::sol_types::sol_data::Address,
7851 );
7852 #[doc(hidden)]
7853 type UnderlyingRustTuple<'a> = (
7854 alloy::sol_types::private::Address,
7855 alloy::sol_types::private::Address,
7856 );
7857 #[cfg(test)]
7858 #[allow(dead_code, unreachable_patterns)]
7859 fn _type_assertion(
7860 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7861 ) {
7862 match _t {
7863 alloy_sol_types::private::AssertTypeEq::<
7864 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7865 >(_) => {}
7866 }
7867 }
7868 #[automatically_derived]
7869 #[doc(hidden)]
7870 impl ::core::convert::From<undelegationsCall> for UnderlyingRustTuple<'_> {
7871 fn from(value: undelegationsCall) -> Self {
7872 (value.validator, value.delegator)
7873 }
7874 }
7875 #[automatically_derived]
7876 #[doc(hidden)]
7877 impl ::core::convert::From<UnderlyingRustTuple<'_>> for undelegationsCall {
7878 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7879 Self {
7880 validator: tuple.0,
7881 delegator: tuple.1,
7882 }
7883 }
7884 }
7885 }
7886 {
7887 #[doc(hidden)]
7888 type UnderlyingSolTuple<'a> = (
7889 alloy::sol_types::sol_data::Uint<256>,
7890 alloy::sol_types::sol_data::Uint<256>,
7891 );
7892 #[doc(hidden)]
7893 type UnderlyingRustTuple<'a> = (
7894 alloy::sol_types::private::primitives::aliases::U256,
7895 alloy::sol_types::private::primitives::aliases::U256,
7896 );
7897 #[cfg(test)]
7898 #[allow(dead_code, unreachable_patterns)]
7899 fn _type_assertion(
7900 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7901 ) {
7902 match _t {
7903 alloy_sol_types::private::AssertTypeEq::<
7904 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7905 >(_) => {}
7906 }
7907 }
7908 #[automatically_derived]
7909 #[doc(hidden)]
7910 impl ::core::convert::From<undelegationsReturn> for UnderlyingRustTuple<'_> {
7911 fn from(value: undelegationsReturn) -> Self {
7912 (value.amount, value.unlocksAt)
7913 }
7914 }
7915 #[automatically_derived]
7916 #[doc(hidden)]
7917 impl ::core::convert::From<UnderlyingRustTuple<'_>> for undelegationsReturn {
7918 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7919 Self {
7920 amount: tuple.0,
7921 unlocksAt: tuple.1,
7922 }
7923 }
7924 }
7925 }
7926 #[automatically_derived]
7927 impl alloy_sol_types::SolCall for undelegationsCall {
7928 type Parameters<'a> = (
7929 alloy::sol_types::sol_data::Address,
7930 alloy::sol_types::sol_data::Address,
7931 );
7932 type Token<'a> = <Self::Parameters<
7933 'a,
7934 > as alloy_sol_types::SolType>::Token<'a>;
7935 type Return = undelegationsReturn;
7936 type ReturnTuple<'a> = (
7937 alloy::sol_types::sol_data::Uint<256>,
7938 alloy::sol_types::sol_data::Uint<256>,
7939 );
7940 type ReturnToken<'a> = <Self::ReturnTuple<
7941 'a,
7942 > as alloy_sol_types::SolType>::Token<'a>;
7943 const SIGNATURE: &'static str = "undelegations(address,address)";
7944 const SELECTOR: [u8; 4] = [162u8, 215u8, 141u8, 213u8];
7945 #[inline]
7946 fn new<'a>(
7947 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7948 ) -> Self {
7949 tuple.into()
7950 }
7951 #[inline]
7952 fn tokenize(&self) -> Self::Token<'_> {
7953 (
7954 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7955 &self.validator,
7956 ),
7957 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7958 &self.delegator,
7959 ),
7960 )
7961 }
7962 #[inline]
7963 fn abi_decode_returns(
7964 data: &[u8],
7965 validate: bool,
7966 ) -> alloy_sol_types::Result<Self::Return> {
7967 <Self::ReturnTuple<
7968 '_,
7969 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7970 .map(Into::into)
7971 }
7972 }
7973 };
7974 #[derive()]
7975 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7980 #[derive(Clone)]
7981 pub struct updateConsensusKeysCall {
7982 #[allow(missing_docs)]
7983 pub newBlsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
7984 #[allow(missing_docs)]
7985 pub newSchnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
7986 #[allow(missing_docs)]
7987 pub newBlsSig: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
7988 }
7989 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7991 #[derive(Clone)]
7992 pub struct updateConsensusKeysReturn {}
7993 #[allow(
7994 non_camel_case_types,
7995 non_snake_case,
7996 clippy::pub_underscore_fields,
7997 clippy::style
7998 )]
7999 const _: () = {
8000 use alloy::sol_types as alloy_sol_types;
8001 {
8002 #[doc(hidden)]
8003 type UnderlyingSolTuple<'a> = (
8004 BN254::G2Point,
8005 EdOnBN254::EdOnBN254Point,
8006 BN254::G1Point,
8007 );
8008 #[doc(hidden)]
8009 type UnderlyingRustTuple<'a> = (
8010 <BN254::G2Point as alloy::sol_types::SolType>::RustType,
8011 <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
8012 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
8013 );
8014 #[cfg(test)]
8015 #[allow(dead_code, unreachable_patterns)]
8016 fn _type_assertion(
8017 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8018 ) {
8019 match _t {
8020 alloy_sol_types::private::AssertTypeEq::<
8021 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8022 >(_) => {}
8023 }
8024 }
8025 #[automatically_derived]
8026 #[doc(hidden)]
8027 impl ::core::convert::From<updateConsensusKeysCall>
8028 for UnderlyingRustTuple<'_> {
8029 fn from(value: updateConsensusKeysCall) -> Self {
8030 (value.newBlsVK, value.newSchnorrVK, value.newBlsSig)
8031 }
8032 }
8033 #[automatically_derived]
8034 #[doc(hidden)]
8035 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8036 for updateConsensusKeysCall {
8037 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8038 Self {
8039 newBlsVK: tuple.0,
8040 newSchnorrVK: tuple.1,
8041 newBlsSig: tuple.2,
8042 }
8043 }
8044 }
8045 }
8046 {
8047 #[doc(hidden)]
8048 type UnderlyingSolTuple<'a> = ();
8049 #[doc(hidden)]
8050 type UnderlyingRustTuple<'a> = ();
8051 #[cfg(test)]
8052 #[allow(dead_code, unreachable_patterns)]
8053 fn _type_assertion(
8054 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8055 ) {
8056 match _t {
8057 alloy_sol_types::private::AssertTypeEq::<
8058 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8059 >(_) => {}
8060 }
8061 }
8062 #[automatically_derived]
8063 #[doc(hidden)]
8064 impl ::core::convert::From<updateConsensusKeysReturn>
8065 for UnderlyingRustTuple<'_> {
8066 fn from(value: updateConsensusKeysReturn) -> Self {
8067 ()
8068 }
8069 }
8070 #[automatically_derived]
8071 #[doc(hidden)]
8072 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8073 for updateConsensusKeysReturn {
8074 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8075 Self {}
8076 }
8077 }
8078 }
8079 #[automatically_derived]
8080 impl alloy_sol_types::SolCall for updateConsensusKeysCall {
8081 type Parameters<'a> = (
8082 BN254::G2Point,
8083 EdOnBN254::EdOnBN254Point,
8084 BN254::G1Point,
8085 );
8086 type Token<'a> = <Self::Parameters<
8087 'a,
8088 > as alloy_sol_types::SolType>::Token<'a>;
8089 type Return = updateConsensusKeysReturn;
8090 type ReturnTuple<'a> = ();
8091 type ReturnToken<'a> = <Self::ReturnTuple<
8092 'a,
8093 > as alloy_sol_types::SolType>::Token<'a>;
8094 const SIGNATURE: &'static str = "updateConsensusKeys((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256))";
8095 const SELECTOR: [u8; 4] = [85u8, 68u8, 194u8, 241u8];
8096 #[inline]
8097 fn new<'a>(
8098 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8099 ) -> Self {
8100 tuple.into()
8101 }
8102 #[inline]
8103 fn tokenize(&self) -> Self::Token<'_> {
8104 (
8105 <BN254::G2Point as alloy_sol_types::SolType>::tokenize(
8106 &self.newBlsVK,
8107 ),
8108 <EdOnBN254::EdOnBN254Point as alloy_sol_types::SolType>::tokenize(
8109 &self.newSchnorrVK,
8110 ),
8111 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(
8112 &self.newBlsSig,
8113 ),
8114 )
8115 }
8116 #[inline]
8117 fn abi_decode_returns(
8118 data: &[u8],
8119 validate: bool,
8120 ) -> alloy_sol_types::Result<Self::Return> {
8121 <Self::ReturnTuple<
8122 '_,
8123 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8124 .map(Into::into)
8125 }
8126 }
8127 };
8128 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8129 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8134 #[derive(Clone)]
8135 pub struct upgradeToAndCallCall {
8136 #[allow(missing_docs)]
8137 pub newImplementation: alloy::sol_types::private::Address,
8138 #[allow(missing_docs)]
8139 pub data: alloy::sol_types::private::Bytes,
8140 }
8141 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8143 #[derive(Clone)]
8144 pub struct upgradeToAndCallReturn {}
8145 #[allow(
8146 non_camel_case_types,
8147 non_snake_case,
8148 clippy::pub_underscore_fields,
8149 clippy::style
8150 )]
8151 const _: () = {
8152 use alloy::sol_types as alloy_sol_types;
8153 {
8154 #[doc(hidden)]
8155 type UnderlyingSolTuple<'a> = (
8156 alloy::sol_types::sol_data::Address,
8157 alloy::sol_types::sol_data::Bytes,
8158 );
8159 #[doc(hidden)]
8160 type UnderlyingRustTuple<'a> = (
8161 alloy::sol_types::private::Address,
8162 alloy::sol_types::private::Bytes,
8163 );
8164 #[cfg(test)]
8165 #[allow(dead_code, unreachable_patterns)]
8166 fn _type_assertion(
8167 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8168 ) {
8169 match _t {
8170 alloy_sol_types::private::AssertTypeEq::<
8171 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8172 >(_) => {}
8173 }
8174 }
8175 #[automatically_derived]
8176 #[doc(hidden)]
8177 impl ::core::convert::From<upgradeToAndCallCall>
8178 for UnderlyingRustTuple<'_> {
8179 fn from(value: upgradeToAndCallCall) -> Self {
8180 (value.newImplementation, value.data)
8181 }
8182 }
8183 #[automatically_derived]
8184 #[doc(hidden)]
8185 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8186 for upgradeToAndCallCall {
8187 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8188 Self {
8189 newImplementation: tuple.0,
8190 data: tuple.1,
8191 }
8192 }
8193 }
8194 }
8195 {
8196 #[doc(hidden)]
8197 type UnderlyingSolTuple<'a> = ();
8198 #[doc(hidden)]
8199 type UnderlyingRustTuple<'a> = ();
8200 #[cfg(test)]
8201 #[allow(dead_code, unreachable_patterns)]
8202 fn _type_assertion(
8203 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8204 ) {
8205 match _t {
8206 alloy_sol_types::private::AssertTypeEq::<
8207 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8208 >(_) => {}
8209 }
8210 }
8211 #[automatically_derived]
8212 #[doc(hidden)]
8213 impl ::core::convert::From<upgradeToAndCallReturn>
8214 for UnderlyingRustTuple<'_> {
8215 fn from(value: upgradeToAndCallReturn) -> Self {
8216 ()
8217 }
8218 }
8219 #[automatically_derived]
8220 #[doc(hidden)]
8221 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8222 for upgradeToAndCallReturn {
8223 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8224 Self {}
8225 }
8226 }
8227 }
8228 #[automatically_derived]
8229 impl alloy_sol_types::SolCall for upgradeToAndCallCall {
8230 type Parameters<'a> = (
8231 alloy::sol_types::sol_data::Address,
8232 alloy::sol_types::sol_data::Bytes,
8233 );
8234 type Token<'a> = <Self::Parameters<
8235 'a,
8236 > as alloy_sol_types::SolType>::Token<'a>;
8237 type Return = upgradeToAndCallReturn;
8238 type ReturnTuple<'a> = ();
8239 type ReturnToken<'a> = <Self::ReturnTuple<
8240 'a,
8241 > as alloy_sol_types::SolType>::Token<'a>;
8242 const SIGNATURE: &'static str = "upgradeToAndCall(address,bytes)";
8243 const SELECTOR: [u8; 4] = [79u8, 30u8, 242u8, 134u8];
8244 #[inline]
8245 fn new<'a>(
8246 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8247 ) -> Self {
8248 tuple.into()
8249 }
8250 #[inline]
8251 fn tokenize(&self) -> Self::Token<'_> {
8252 (
8253 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8254 &self.newImplementation,
8255 ),
8256 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8257 &self.data,
8258 ),
8259 )
8260 }
8261 #[inline]
8262 fn abi_decode_returns(
8263 data: &[u8],
8264 validate: bool,
8265 ) -> alloy_sol_types::Result<Self::Return> {
8266 <Self::ReturnTuple<
8267 '_,
8268 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8269 .map(Into::into)
8270 }
8271 }
8272 };
8273 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8274 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8279 #[derive(Clone)]
8280 pub struct validatorExitsCall {
8281 #[allow(missing_docs)]
8282 pub validator: alloy::sol_types::private::Address,
8283 }
8284 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8285 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8287 #[derive(Clone)]
8288 pub struct validatorExitsReturn {
8289 #[allow(missing_docs)]
8290 pub unlocksAt: alloy::sol_types::private::primitives::aliases::U256,
8291 }
8292 #[allow(
8293 non_camel_case_types,
8294 non_snake_case,
8295 clippy::pub_underscore_fields,
8296 clippy::style
8297 )]
8298 const _: () = {
8299 use alloy::sol_types as alloy_sol_types;
8300 {
8301 #[doc(hidden)]
8302 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8303 #[doc(hidden)]
8304 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8305 #[cfg(test)]
8306 #[allow(dead_code, unreachable_patterns)]
8307 fn _type_assertion(
8308 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8309 ) {
8310 match _t {
8311 alloy_sol_types::private::AssertTypeEq::<
8312 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8313 >(_) => {}
8314 }
8315 }
8316 #[automatically_derived]
8317 #[doc(hidden)]
8318 impl ::core::convert::From<validatorExitsCall> for UnderlyingRustTuple<'_> {
8319 fn from(value: validatorExitsCall) -> Self {
8320 (value.validator,)
8321 }
8322 }
8323 #[automatically_derived]
8324 #[doc(hidden)]
8325 impl ::core::convert::From<UnderlyingRustTuple<'_>> for validatorExitsCall {
8326 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8327 Self { validator: tuple.0 }
8328 }
8329 }
8330 }
8331 {
8332 #[doc(hidden)]
8333 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
8334 #[doc(hidden)]
8335 type UnderlyingRustTuple<'a> = (
8336 alloy::sol_types::private::primitives::aliases::U256,
8337 );
8338 #[cfg(test)]
8339 #[allow(dead_code, unreachable_patterns)]
8340 fn _type_assertion(
8341 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8342 ) {
8343 match _t {
8344 alloy_sol_types::private::AssertTypeEq::<
8345 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8346 >(_) => {}
8347 }
8348 }
8349 #[automatically_derived]
8350 #[doc(hidden)]
8351 impl ::core::convert::From<validatorExitsReturn>
8352 for UnderlyingRustTuple<'_> {
8353 fn from(value: validatorExitsReturn) -> Self {
8354 (value.unlocksAt,)
8355 }
8356 }
8357 #[automatically_derived]
8358 #[doc(hidden)]
8359 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8360 for validatorExitsReturn {
8361 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8362 Self { unlocksAt: tuple.0 }
8363 }
8364 }
8365 }
8366 #[automatically_derived]
8367 impl alloy_sol_types::SolCall for validatorExitsCall {
8368 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8369 type Token<'a> = <Self::Parameters<
8370 'a,
8371 > as alloy_sol_types::SolType>::Token<'a>;
8372 type Return = validatorExitsReturn;
8373 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
8374 type ReturnToken<'a> = <Self::ReturnTuple<
8375 'a,
8376 > as alloy_sol_types::SolType>::Token<'a>;
8377 const SIGNATURE: &'static str = "validatorExits(address)";
8378 const SELECTOR: [u8; 4] = [181u8, 236u8, 179u8, 68u8];
8379 #[inline]
8380 fn new<'a>(
8381 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8382 ) -> Self {
8383 tuple.into()
8384 }
8385 #[inline]
8386 fn tokenize(&self) -> Self::Token<'_> {
8387 (
8388 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8389 &self.validator,
8390 ),
8391 )
8392 }
8393 #[inline]
8394 fn abi_decode_returns(
8395 data: &[u8],
8396 validate: bool,
8397 ) -> alloy_sol_types::Result<Self::Return> {
8398 <Self::ReturnTuple<
8399 '_,
8400 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8401 .map(Into::into)
8402 }
8403 }
8404 };
8405 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8406 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8411 #[derive(Clone)]
8412 pub struct validatorsCall {
8413 #[allow(missing_docs)]
8414 pub account: alloy::sol_types::private::Address,
8415 }
8416 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8417 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8419 #[derive(Clone)]
8420 pub struct validatorsReturn {
8421 #[allow(missing_docs)]
8422 pub delegatedAmount: alloy::sol_types::private::primitives::aliases::U256,
8423 #[allow(missing_docs)]
8424 pub status: <ValidatorStatus as alloy::sol_types::SolType>::RustType,
8425 }
8426 #[allow(
8427 non_camel_case_types,
8428 non_snake_case,
8429 clippy::pub_underscore_fields,
8430 clippy::style
8431 )]
8432 const _: () = {
8433 use alloy::sol_types as alloy_sol_types;
8434 {
8435 #[doc(hidden)]
8436 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8437 #[doc(hidden)]
8438 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8439 #[cfg(test)]
8440 #[allow(dead_code, unreachable_patterns)]
8441 fn _type_assertion(
8442 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8443 ) {
8444 match _t {
8445 alloy_sol_types::private::AssertTypeEq::<
8446 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8447 >(_) => {}
8448 }
8449 }
8450 #[automatically_derived]
8451 #[doc(hidden)]
8452 impl ::core::convert::From<validatorsCall> for UnderlyingRustTuple<'_> {
8453 fn from(value: validatorsCall) -> Self {
8454 (value.account,)
8455 }
8456 }
8457 #[automatically_derived]
8458 #[doc(hidden)]
8459 impl ::core::convert::From<UnderlyingRustTuple<'_>> for validatorsCall {
8460 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8461 Self { account: tuple.0 }
8462 }
8463 }
8464 }
8465 {
8466 #[doc(hidden)]
8467 type UnderlyingSolTuple<'a> = (
8468 alloy::sol_types::sol_data::Uint<256>,
8469 ValidatorStatus,
8470 );
8471 #[doc(hidden)]
8472 type UnderlyingRustTuple<'a> = (
8473 alloy::sol_types::private::primitives::aliases::U256,
8474 <ValidatorStatus as alloy::sol_types::SolType>::RustType,
8475 );
8476 #[cfg(test)]
8477 #[allow(dead_code, unreachable_patterns)]
8478 fn _type_assertion(
8479 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8480 ) {
8481 match _t {
8482 alloy_sol_types::private::AssertTypeEq::<
8483 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8484 >(_) => {}
8485 }
8486 }
8487 #[automatically_derived]
8488 #[doc(hidden)]
8489 impl ::core::convert::From<validatorsReturn> for UnderlyingRustTuple<'_> {
8490 fn from(value: validatorsReturn) -> Self {
8491 (value.delegatedAmount, value.status)
8492 }
8493 }
8494 #[automatically_derived]
8495 #[doc(hidden)]
8496 impl ::core::convert::From<UnderlyingRustTuple<'_>> for validatorsReturn {
8497 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8498 Self {
8499 delegatedAmount: tuple.0,
8500 status: tuple.1,
8501 }
8502 }
8503 }
8504 }
8505 #[automatically_derived]
8506 impl alloy_sol_types::SolCall for validatorsCall {
8507 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8508 type Token<'a> = <Self::Parameters<
8509 'a,
8510 > as alloy_sol_types::SolType>::Token<'a>;
8511 type Return = validatorsReturn;
8512 type ReturnTuple<'a> = (
8513 alloy::sol_types::sol_data::Uint<256>,
8514 ValidatorStatus,
8515 );
8516 type ReturnToken<'a> = <Self::ReturnTuple<
8517 'a,
8518 > as alloy_sol_types::SolType>::Token<'a>;
8519 const SIGNATURE: &'static str = "validators(address)";
8520 const SELECTOR: [u8; 4] = [250u8, 82u8, 199u8, 216u8];
8521 #[inline]
8522 fn new<'a>(
8523 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8524 ) -> Self {
8525 tuple.into()
8526 }
8527 #[inline]
8528 fn tokenize(&self) -> Self::Token<'_> {
8529 (
8530 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8531 &self.account,
8532 ),
8533 )
8534 }
8535 #[inline]
8536 fn abi_decode_returns(
8537 data: &[u8],
8538 validate: bool,
8539 ) -> alloy_sol_types::Result<Self::Return> {
8540 <Self::ReturnTuple<
8541 '_,
8542 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8543 .map(Into::into)
8544 }
8545 }
8546 };
8547 #[derive()]
8549 pub enum StakeTableCalls {
8550 #[allow(missing_docs)]
8551 UPGRADE_INTERFACE_VERSION(UPGRADE_INTERFACE_VERSIONCall),
8552 #[allow(missing_docs)]
8553 _hashBlsKey(_hashBlsKeyCall),
8554 #[allow(missing_docs)]
8555 blsKeys(blsKeysCall),
8556 #[allow(missing_docs)]
8557 claimValidatorExit(claimValidatorExitCall),
8558 #[allow(missing_docs)]
8559 claimWithdrawal(claimWithdrawalCall),
8560 #[allow(missing_docs)]
8561 delegate(delegateCall),
8562 #[allow(missing_docs)]
8563 delegations(delegationsCall),
8564 #[allow(missing_docs)]
8565 deregisterValidator(deregisterValidatorCall),
8566 #[allow(missing_docs)]
8567 exitEscrowPeriod(exitEscrowPeriodCall),
8568 #[allow(missing_docs)]
8569 getVersion(getVersionCall),
8570 #[allow(missing_docs)]
8571 initialize(initializeCall),
8572 #[allow(missing_docs)]
8573 initializedAtBlock(initializedAtBlockCall),
8574 #[allow(missing_docs)]
8575 lightClient(lightClientCall),
8576 #[allow(missing_docs)]
8577 owner(ownerCall),
8578 #[allow(missing_docs)]
8579 proxiableUUID(proxiableUUIDCall),
8580 #[allow(missing_docs)]
8581 registerValidator(registerValidatorCall),
8582 #[allow(missing_docs)]
8583 renounceOwnership(renounceOwnershipCall),
8584 #[allow(missing_docs)]
8585 token(tokenCall),
8586 #[allow(missing_docs)]
8587 transferOwnership(transferOwnershipCall),
8588 #[allow(missing_docs)]
8589 undelegate(undelegateCall),
8590 #[allow(missing_docs)]
8591 undelegations(undelegationsCall),
8592 #[allow(missing_docs)]
8593 updateConsensusKeys(updateConsensusKeysCall),
8594 #[allow(missing_docs)]
8595 upgradeToAndCall(upgradeToAndCallCall),
8596 #[allow(missing_docs)]
8597 validatorExits(validatorExitsCall),
8598 #[allow(missing_docs)]
8599 validators(validatorsCall),
8600 }
8601 #[automatically_derived]
8602 impl StakeTableCalls {
8603 pub const SELECTORS: &'static [[u8; 4usize]] = &[
8610 [2u8, 110u8, 64u8, 43u8],
8611 [13u8, 142u8, 110u8, 44u8],
8612 [19u8, 185u8, 5u8, 122u8],
8613 [33u8, 64u8, 254u8, 205u8],
8614 [62u8, 157u8, 249u8, 181u8],
8615 [77u8, 153u8, 221u8, 22u8],
8616 [79u8, 30u8, 242u8, 134u8],
8617 [82u8, 209u8, 144u8, 45u8],
8618 [85u8, 68u8, 194u8, 241u8],
8619 [106u8, 145u8, 28u8, 207u8],
8620 [113u8, 80u8, 24u8, 166u8],
8621 [141u8, 165u8, 203u8, 91u8],
8622 [155u8, 48u8, 165u8, 230u8],
8623 [158u8, 154u8, 143u8, 49u8],
8624 [162u8, 215u8, 141u8, 213u8],
8625 [163u8, 6u8, 106u8, 171u8],
8626 [173u8, 60u8, 177u8, 204u8],
8627 [179u8, 230u8, 235u8, 213u8],
8628 [181u8, 112u8, 14u8, 104u8],
8629 [181u8, 236u8, 179u8, 68u8],
8630 [190u8, 32u8, 48u8, 148u8],
8631 [198u8, 72u8, 20u8, 221u8],
8632 [242u8, 253u8, 227u8, 139u8],
8633 [250u8, 82u8, 199u8, 216u8],
8634 [252u8, 12u8, 84u8, 106u8],
8635 ];
8636 }
8637 #[automatically_derived]
8638 impl alloy_sol_types::SolInterface for StakeTableCalls {
8639 const NAME: &'static str = "StakeTableCalls";
8640 const MIN_DATA_LENGTH: usize = 0usize;
8641 const COUNT: usize = 25usize;
8642 #[inline]
8643 fn selector(&self) -> [u8; 4] {
8644 match self {
8645 Self::UPGRADE_INTERFACE_VERSION(_) => {
8646 <UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::SELECTOR
8647 }
8648 Self::_hashBlsKey(_) => {
8649 <_hashBlsKeyCall as alloy_sol_types::SolCall>::SELECTOR
8650 }
8651 Self::blsKeys(_) => <blsKeysCall as alloy_sol_types::SolCall>::SELECTOR,
8652 Self::claimValidatorExit(_) => {
8653 <claimValidatorExitCall as alloy_sol_types::SolCall>::SELECTOR
8654 }
8655 Self::claimWithdrawal(_) => {
8656 <claimWithdrawalCall as alloy_sol_types::SolCall>::SELECTOR
8657 }
8658 Self::delegate(_) => <delegateCall as alloy_sol_types::SolCall>::SELECTOR,
8659 Self::delegations(_) => {
8660 <delegationsCall as alloy_sol_types::SolCall>::SELECTOR
8661 }
8662 Self::deregisterValidator(_) => {
8663 <deregisterValidatorCall as alloy_sol_types::SolCall>::SELECTOR
8664 }
8665 Self::exitEscrowPeriod(_) => {
8666 <exitEscrowPeriodCall as alloy_sol_types::SolCall>::SELECTOR
8667 }
8668 Self::getVersion(_) => {
8669 <getVersionCall as alloy_sol_types::SolCall>::SELECTOR
8670 }
8671 Self::initialize(_) => {
8672 <initializeCall as alloy_sol_types::SolCall>::SELECTOR
8673 }
8674 Self::initializedAtBlock(_) => {
8675 <initializedAtBlockCall as alloy_sol_types::SolCall>::SELECTOR
8676 }
8677 Self::lightClient(_) => {
8678 <lightClientCall as alloy_sol_types::SolCall>::SELECTOR
8679 }
8680 Self::owner(_) => <ownerCall as alloy_sol_types::SolCall>::SELECTOR,
8681 Self::proxiableUUID(_) => {
8682 <proxiableUUIDCall as alloy_sol_types::SolCall>::SELECTOR
8683 }
8684 Self::registerValidator(_) => {
8685 <registerValidatorCall as alloy_sol_types::SolCall>::SELECTOR
8686 }
8687 Self::renounceOwnership(_) => {
8688 <renounceOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
8689 }
8690 Self::token(_) => <tokenCall as alloy_sol_types::SolCall>::SELECTOR,
8691 Self::transferOwnership(_) => {
8692 <transferOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
8693 }
8694 Self::undelegate(_) => {
8695 <undelegateCall as alloy_sol_types::SolCall>::SELECTOR
8696 }
8697 Self::undelegations(_) => {
8698 <undelegationsCall as alloy_sol_types::SolCall>::SELECTOR
8699 }
8700 Self::updateConsensusKeys(_) => {
8701 <updateConsensusKeysCall as alloy_sol_types::SolCall>::SELECTOR
8702 }
8703 Self::upgradeToAndCall(_) => {
8704 <upgradeToAndCallCall as alloy_sol_types::SolCall>::SELECTOR
8705 }
8706 Self::validatorExits(_) => {
8707 <validatorExitsCall as alloy_sol_types::SolCall>::SELECTOR
8708 }
8709 Self::validators(_) => {
8710 <validatorsCall as alloy_sol_types::SolCall>::SELECTOR
8711 }
8712 }
8713 }
8714 #[inline]
8715 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
8716 Self::SELECTORS.get(i).copied()
8717 }
8718 #[inline]
8719 fn valid_selector(selector: [u8; 4]) -> bool {
8720 Self::SELECTORS.binary_search(&selector).is_ok()
8721 }
8722 #[inline]
8723 #[allow(non_snake_case)]
8724 fn abi_decode_raw(
8725 selector: [u8; 4],
8726 data: &[u8],
8727 validate: bool,
8728 ) -> alloy_sol_types::Result<Self> {
8729 static DECODE_SHIMS: &[fn(
8730 &[u8],
8731 bool,
8732 ) -> alloy_sol_types::Result<StakeTableCalls>] = &[
8733 {
8734 fn delegate(
8735 data: &[u8],
8736 validate: bool,
8737 ) -> alloy_sol_types::Result<StakeTableCalls> {
8738 <delegateCall as alloy_sol_types::SolCall>::abi_decode_raw(
8739 data,
8740 validate,
8741 )
8742 .map(StakeTableCalls::delegate)
8743 }
8744 delegate
8745 },
8746 {
8747 fn getVersion(
8748 data: &[u8],
8749 validate: bool,
8750 ) -> alloy_sol_types::Result<StakeTableCalls> {
8751 <getVersionCall as alloy_sol_types::SolCall>::abi_decode_raw(
8752 data,
8753 validate,
8754 )
8755 .map(StakeTableCalls::getVersion)
8756 }
8757 getVersion
8758 },
8759 {
8760 fn registerValidator(
8761 data: &[u8],
8762 validate: bool,
8763 ) -> alloy_sol_types::Result<StakeTableCalls> {
8764 <registerValidatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
8765 data,
8766 validate,
8767 )
8768 .map(StakeTableCalls::registerValidator)
8769 }
8770 registerValidator
8771 },
8772 {
8773 fn claimValidatorExit(
8774 data: &[u8],
8775 validate: bool,
8776 ) -> alloy_sol_types::Result<StakeTableCalls> {
8777 <claimValidatorExitCall as alloy_sol_types::SolCall>::abi_decode_raw(
8778 data,
8779 validate,
8780 )
8781 .map(StakeTableCalls::claimValidatorExit)
8782 }
8783 claimValidatorExit
8784 },
8785 {
8786 fn initializedAtBlock(
8787 data: &[u8],
8788 validate: bool,
8789 ) -> alloy_sol_types::Result<StakeTableCalls> {
8790 <initializedAtBlockCall as alloy_sol_types::SolCall>::abi_decode_raw(
8791 data,
8792 validate,
8793 )
8794 .map(StakeTableCalls::initializedAtBlock)
8795 }
8796 initializedAtBlock
8797 },
8798 {
8799 fn undelegate(
8800 data: &[u8],
8801 validate: bool,
8802 ) -> alloy_sol_types::Result<StakeTableCalls> {
8803 <undelegateCall as alloy_sol_types::SolCall>::abi_decode_raw(
8804 data,
8805 validate,
8806 )
8807 .map(StakeTableCalls::undelegate)
8808 }
8809 undelegate
8810 },
8811 {
8812 fn upgradeToAndCall(
8813 data: &[u8],
8814 validate: bool,
8815 ) -> alloy_sol_types::Result<StakeTableCalls> {
8816 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_decode_raw(
8817 data,
8818 validate,
8819 )
8820 .map(StakeTableCalls::upgradeToAndCall)
8821 }
8822 upgradeToAndCall
8823 },
8824 {
8825 fn proxiableUUID(
8826 data: &[u8],
8827 validate: bool,
8828 ) -> alloy_sol_types::Result<StakeTableCalls> {
8829 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_decode_raw(
8830 data,
8831 validate,
8832 )
8833 .map(StakeTableCalls::proxiableUUID)
8834 }
8835 proxiableUUID
8836 },
8837 {
8838 fn updateConsensusKeys(
8839 data: &[u8],
8840 validate: bool,
8841 ) -> alloy_sol_types::Result<StakeTableCalls> {
8842 <updateConsensusKeysCall as alloy_sol_types::SolCall>::abi_decode_raw(
8843 data,
8844 validate,
8845 )
8846 .map(StakeTableCalls::updateConsensusKeys)
8847 }
8848 updateConsensusKeys
8849 },
8850 {
8851 fn deregisterValidator(
8852 data: &[u8],
8853 validate: bool,
8854 ) -> alloy_sol_types::Result<StakeTableCalls> {
8855 <deregisterValidatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
8856 data,
8857 validate,
8858 )
8859 .map(StakeTableCalls::deregisterValidator)
8860 }
8861 deregisterValidator
8862 },
8863 {
8864 fn renounceOwnership(
8865 data: &[u8],
8866 validate: bool,
8867 ) -> alloy_sol_types::Result<StakeTableCalls> {
8868 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
8869 data,
8870 validate,
8871 )
8872 .map(StakeTableCalls::renounceOwnership)
8873 }
8874 renounceOwnership
8875 },
8876 {
8877 fn owner(
8878 data: &[u8],
8879 validate: bool,
8880 ) -> alloy_sol_types::Result<StakeTableCalls> {
8881 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw(
8882 data,
8883 validate,
8884 )
8885 .map(StakeTableCalls::owner)
8886 }
8887 owner
8888 },
8889 {
8890 fn _hashBlsKey(
8891 data: &[u8],
8892 validate: bool,
8893 ) -> alloy_sol_types::Result<StakeTableCalls> {
8894 <_hashBlsKeyCall as alloy_sol_types::SolCall>::abi_decode_raw(
8895 data,
8896 validate,
8897 )
8898 .map(StakeTableCalls::_hashBlsKey)
8899 }
8900 _hashBlsKey
8901 },
8902 {
8903 fn exitEscrowPeriod(
8904 data: &[u8],
8905 validate: bool,
8906 ) -> alloy_sol_types::Result<StakeTableCalls> {
8907 <exitEscrowPeriodCall as alloy_sol_types::SolCall>::abi_decode_raw(
8908 data,
8909 validate,
8910 )
8911 .map(StakeTableCalls::exitEscrowPeriod)
8912 }
8913 exitEscrowPeriod
8914 },
8915 {
8916 fn undelegations(
8917 data: &[u8],
8918 validate: bool,
8919 ) -> alloy_sol_types::Result<StakeTableCalls> {
8920 <undelegationsCall as alloy_sol_types::SolCall>::abi_decode_raw(
8921 data,
8922 validate,
8923 )
8924 .map(StakeTableCalls::undelegations)
8925 }
8926 undelegations
8927 },
8928 {
8929 fn claimWithdrawal(
8930 data: &[u8],
8931 validate: bool,
8932 ) -> alloy_sol_types::Result<StakeTableCalls> {
8933 <claimWithdrawalCall as alloy_sol_types::SolCall>::abi_decode_raw(
8934 data,
8935 validate,
8936 )
8937 .map(StakeTableCalls::claimWithdrawal)
8938 }
8939 claimWithdrawal
8940 },
8941 {
8942 fn UPGRADE_INTERFACE_VERSION(
8943 data: &[u8],
8944 validate: bool,
8945 ) -> alloy_sol_types::Result<StakeTableCalls> {
8946 <UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_decode_raw(
8947 data,
8948 validate,
8949 )
8950 .map(StakeTableCalls::UPGRADE_INTERFACE_VERSION)
8951 }
8952 UPGRADE_INTERFACE_VERSION
8953 },
8954 {
8955 fn blsKeys(
8956 data: &[u8],
8957 validate: bool,
8958 ) -> alloy_sol_types::Result<StakeTableCalls> {
8959 <blsKeysCall as alloy_sol_types::SolCall>::abi_decode_raw(
8960 data,
8961 validate,
8962 )
8963 .map(StakeTableCalls::blsKeys)
8964 }
8965 blsKeys
8966 },
8967 {
8968 fn lightClient(
8969 data: &[u8],
8970 validate: bool,
8971 ) -> alloy_sol_types::Result<StakeTableCalls> {
8972 <lightClientCall as alloy_sol_types::SolCall>::abi_decode_raw(
8973 data,
8974 validate,
8975 )
8976 .map(StakeTableCalls::lightClient)
8977 }
8978 lightClient
8979 },
8980 {
8981 fn validatorExits(
8982 data: &[u8],
8983 validate: bool,
8984 ) -> alloy_sol_types::Result<StakeTableCalls> {
8985 <validatorExitsCall as alloy_sol_types::SolCall>::abi_decode_raw(
8986 data,
8987 validate,
8988 )
8989 .map(StakeTableCalls::validatorExits)
8990 }
8991 validatorExits
8992 },
8993 {
8994 fn initialize(
8995 data: &[u8],
8996 validate: bool,
8997 ) -> alloy_sol_types::Result<StakeTableCalls> {
8998 <initializeCall as alloy_sol_types::SolCall>::abi_decode_raw(
8999 data,
9000 validate,
9001 )
9002 .map(StakeTableCalls::initialize)
9003 }
9004 initialize
9005 },
9006 {
9007 fn delegations(
9008 data: &[u8],
9009 validate: bool,
9010 ) -> alloy_sol_types::Result<StakeTableCalls> {
9011 <delegationsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9012 data,
9013 validate,
9014 )
9015 .map(StakeTableCalls::delegations)
9016 }
9017 delegations
9018 },
9019 {
9020 fn transferOwnership(
9021 data: &[u8],
9022 validate: bool,
9023 ) -> alloy_sol_types::Result<StakeTableCalls> {
9024 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
9025 data,
9026 validate,
9027 )
9028 .map(StakeTableCalls::transferOwnership)
9029 }
9030 transferOwnership
9031 },
9032 {
9033 fn validators(
9034 data: &[u8],
9035 validate: bool,
9036 ) -> alloy_sol_types::Result<StakeTableCalls> {
9037 <validatorsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9038 data,
9039 validate,
9040 )
9041 .map(StakeTableCalls::validators)
9042 }
9043 validators
9044 },
9045 {
9046 fn token(
9047 data: &[u8],
9048 validate: bool,
9049 ) -> alloy_sol_types::Result<StakeTableCalls> {
9050 <tokenCall as alloy_sol_types::SolCall>::abi_decode_raw(
9051 data,
9052 validate,
9053 )
9054 .map(StakeTableCalls::token)
9055 }
9056 token
9057 },
9058 ];
9059 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
9060 return Err(
9061 alloy_sol_types::Error::unknown_selector(
9062 <Self as alloy_sol_types::SolInterface>::NAME,
9063 selector,
9064 ),
9065 );
9066 };
9067 DECODE_SHIMS[idx](data, validate)
9068 }
9069 #[inline]
9070 fn abi_encoded_size(&self) -> usize {
9071 match self {
9072 Self::UPGRADE_INTERFACE_VERSION(inner) => {
9073 <UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_encoded_size(
9074 inner,
9075 )
9076 }
9077 Self::_hashBlsKey(inner) => {
9078 <_hashBlsKeyCall as alloy_sol_types::SolCall>::abi_encoded_size(
9079 inner,
9080 )
9081 }
9082 Self::blsKeys(inner) => {
9083 <blsKeysCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9084 }
9085 Self::claimValidatorExit(inner) => {
9086 <claimValidatorExitCall as alloy_sol_types::SolCall>::abi_encoded_size(
9087 inner,
9088 )
9089 }
9090 Self::claimWithdrawal(inner) => {
9091 <claimWithdrawalCall as alloy_sol_types::SolCall>::abi_encoded_size(
9092 inner,
9093 )
9094 }
9095 Self::delegate(inner) => {
9096 <delegateCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9097 }
9098 Self::delegations(inner) => {
9099 <delegationsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9100 inner,
9101 )
9102 }
9103 Self::deregisterValidator(inner) => {
9104 <deregisterValidatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
9105 inner,
9106 )
9107 }
9108 Self::exitEscrowPeriod(inner) => {
9109 <exitEscrowPeriodCall as alloy_sol_types::SolCall>::abi_encoded_size(
9110 inner,
9111 )
9112 }
9113 Self::getVersion(inner) => {
9114 <getVersionCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9115 }
9116 Self::initialize(inner) => {
9117 <initializeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9118 }
9119 Self::initializedAtBlock(inner) => {
9120 <initializedAtBlockCall as alloy_sol_types::SolCall>::abi_encoded_size(
9121 inner,
9122 )
9123 }
9124 Self::lightClient(inner) => {
9125 <lightClientCall as alloy_sol_types::SolCall>::abi_encoded_size(
9126 inner,
9127 )
9128 }
9129 Self::owner(inner) => {
9130 <ownerCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9131 }
9132 Self::proxiableUUID(inner) => {
9133 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_encoded_size(
9134 inner,
9135 )
9136 }
9137 Self::registerValidator(inner) => {
9138 <registerValidatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
9139 inner,
9140 )
9141 }
9142 Self::renounceOwnership(inner) => {
9143 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
9144 inner,
9145 )
9146 }
9147 Self::token(inner) => {
9148 <tokenCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9149 }
9150 Self::transferOwnership(inner) => {
9151 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
9152 inner,
9153 )
9154 }
9155 Self::undelegate(inner) => {
9156 <undelegateCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9157 }
9158 Self::undelegations(inner) => {
9159 <undelegationsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9160 inner,
9161 )
9162 }
9163 Self::updateConsensusKeys(inner) => {
9164 <updateConsensusKeysCall as alloy_sol_types::SolCall>::abi_encoded_size(
9165 inner,
9166 )
9167 }
9168 Self::upgradeToAndCall(inner) => {
9169 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_encoded_size(
9170 inner,
9171 )
9172 }
9173 Self::validatorExits(inner) => {
9174 <validatorExitsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9175 inner,
9176 )
9177 }
9178 Self::validators(inner) => {
9179 <validatorsCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9180 }
9181 }
9182 }
9183 #[inline]
9184 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
9185 match self {
9186 Self::UPGRADE_INTERFACE_VERSION(inner) => {
9187 <UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_encode_raw(
9188 inner,
9189 out,
9190 )
9191 }
9192 Self::_hashBlsKey(inner) => {
9193 <_hashBlsKeyCall as alloy_sol_types::SolCall>::abi_encode_raw(
9194 inner,
9195 out,
9196 )
9197 }
9198 Self::blsKeys(inner) => {
9199 <blsKeysCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
9200 }
9201 Self::claimValidatorExit(inner) => {
9202 <claimValidatorExitCall as alloy_sol_types::SolCall>::abi_encode_raw(
9203 inner,
9204 out,
9205 )
9206 }
9207 Self::claimWithdrawal(inner) => {
9208 <claimWithdrawalCall as alloy_sol_types::SolCall>::abi_encode_raw(
9209 inner,
9210 out,
9211 )
9212 }
9213 Self::delegate(inner) => {
9214 <delegateCall as alloy_sol_types::SolCall>::abi_encode_raw(
9215 inner,
9216 out,
9217 )
9218 }
9219 Self::delegations(inner) => {
9220 <delegationsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9221 inner,
9222 out,
9223 )
9224 }
9225 Self::deregisterValidator(inner) => {
9226 <deregisterValidatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
9227 inner,
9228 out,
9229 )
9230 }
9231 Self::exitEscrowPeriod(inner) => {
9232 <exitEscrowPeriodCall as alloy_sol_types::SolCall>::abi_encode_raw(
9233 inner,
9234 out,
9235 )
9236 }
9237 Self::getVersion(inner) => {
9238 <getVersionCall as alloy_sol_types::SolCall>::abi_encode_raw(
9239 inner,
9240 out,
9241 )
9242 }
9243 Self::initialize(inner) => {
9244 <initializeCall as alloy_sol_types::SolCall>::abi_encode_raw(
9245 inner,
9246 out,
9247 )
9248 }
9249 Self::initializedAtBlock(inner) => {
9250 <initializedAtBlockCall as alloy_sol_types::SolCall>::abi_encode_raw(
9251 inner,
9252 out,
9253 )
9254 }
9255 Self::lightClient(inner) => {
9256 <lightClientCall as alloy_sol_types::SolCall>::abi_encode_raw(
9257 inner,
9258 out,
9259 )
9260 }
9261 Self::owner(inner) => {
9262 <ownerCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
9263 }
9264 Self::proxiableUUID(inner) => {
9265 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_encode_raw(
9266 inner,
9267 out,
9268 )
9269 }
9270 Self::registerValidator(inner) => {
9271 <registerValidatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
9272 inner,
9273 out,
9274 )
9275 }
9276 Self::renounceOwnership(inner) => {
9277 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
9278 inner,
9279 out,
9280 )
9281 }
9282 Self::token(inner) => {
9283 <tokenCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
9284 }
9285 Self::transferOwnership(inner) => {
9286 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
9287 inner,
9288 out,
9289 )
9290 }
9291 Self::undelegate(inner) => {
9292 <undelegateCall as alloy_sol_types::SolCall>::abi_encode_raw(
9293 inner,
9294 out,
9295 )
9296 }
9297 Self::undelegations(inner) => {
9298 <undelegationsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9299 inner,
9300 out,
9301 )
9302 }
9303 Self::updateConsensusKeys(inner) => {
9304 <updateConsensusKeysCall as alloy_sol_types::SolCall>::abi_encode_raw(
9305 inner,
9306 out,
9307 )
9308 }
9309 Self::upgradeToAndCall(inner) => {
9310 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_encode_raw(
9311 inner,
9312 out,
9313 )
9314 }
9315 Self::validatorExits(inner) => {
9316 <validatorExitsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9317 inner,
9318 out,
9319 )
9320 }
9321 Self::validators(inner) => {
9322 <validatorsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9323 inner,
9324 out,
9325 )
9326 }
9327 }
9328 }
9329 }
9330 #[derive(Debug, PartialEq, Eq, Hash)]
9332 pub enum StakeTableErrors {
9333 #[allow(missing_docs)]
9334 AddressEmptyCode(AddressEmptyCode),
9335 #[allow(missing_docs)]
9336 BLSSigVerificationFailed(BLSSigVerificationFailed),
9337 #[allow(missing_docs)]
9338 BlsKeyAlreadyUsed(BlsKeyAlreadyUsed),
9339 #[allow(missing_docs)]
9340 ERC1967InvalidImplementation(ERC1967InvalidImplementation),
9341 #[allow(missing_docs)]
9342 ERC1967NonPayable(ERC1967NonPayable),
9343 #[allow(missing_docs)]
9344 ExitEscrowPeriodInvalid(ExitEscrowPeriodInvalid),
9345 #[allow(missing_docs)]
9346 FailedInnerCall(FailedInnerCall),
9347 #[allow(missing_docs)]
9348 InsufficientAllowance(InsufficientAllowance),
9349 #[allow(missing_docs)]
9350 InsufficientBalance(InsufficientBalance),
9351 #[allow(missing_docs)]
9352 InvalidCommission(InvalidCommission),
9353 #[allow(missing_docs)]
9354 InvalidInitialization(InvalidInitialization),
9355 #[allow(missing_docs)]
9356 InvalidSchnorrVK(InvalidSchnorrVK),
9357 #[allow(missing_docs)]
9358 NotInitializing(NotInitializing),
9359 #[allow(missing_docs)]
9360 NothingToWithdraw(NothingToWithdraw),
9361 #[allow(missing_docs)]
9362 OwnableInvalidOwner(OwnableInvalidOwner),
9363 #[allow(missing_docs)]
9364 OwnableUnauthorizedAccount(OwnableUnauthorizedAccount),
9365 #[allow(missing_docs)]
9366 PrematureWithdrawal(PrematureWithdrawal),
9367 #[allow(missing_docs)]
9368 UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext),
9369 #[allow(missing_docs)]
9370 UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID),
9371 #[allow(missing_docs)]
9372 UndelegationAlreadyExists(UndelegationAlreadyExists),
9373 #[allow(missing_docs)]
9374 ValidatorAlreadyExited(ValidatorAlreadyExited),
9375 #[allow(missing_docs)]
9376 ValidatorAlreadyRegistered(ValidatorAlreadyRegistered),
9377 #[allow(missing_docs)]
9378 ValidatorInactive(ValidatorInactive),
9379 #[allow(missing_docs)]
9380 ValidatorNotExited(ValidatorNotExited),
9381 #[allow(missing_docs)]
9382 ZeroAddress(ZeroAddress),
9383 #[allow(missing_docs)]
9384 ZeroAmount(ZeroAmount),
9385 }
9386 #[automatically_derived]
9387 impl StakeTableErrors {
9388 pub const SELECTORS: &'static [[u8; 4usize]] = &[
9395 [1u8, 181u8, 20u8, 174u8],
9396 [6u8, 207u8, 67u8, 143u8],
9397 [12u8, 237u8, 62u8, 80u8],
9398 [17u8, 140u8, 218u8, 167u8],
9399 [20u8, 37u8, 234u8, 66u8],
9400 [30u8, 79u8, 189u8, 247u8],
9401 [31u8, 42u8, 32u8, 5u8],
9402 [42u8, 27u8, 45u8, 216u8],
9403 [76u8, 156u8, 140u8, 227u8],
9404 [80u8, 138u8, 121u8, 63u8],
9405 [90u8, 119u8, 67u8, 87u8],
9406 [146u8, 102u8, 83u8, 81u8],
9407 [153u8, 115u8, 247u8, 216u8],
9408 [153u8, 150u8, 179u8, 21u8],
9409 [170u8, 29u8, 73u8, 164u8],
9410 [179u8, 152u8, 151u8, 159u8],
9411 [181u8, 126u8, 33u8, 223u8],
9412 [208u8, 208u8, 79u8, 96u8],
9413 [212u8, 35u8, 164u8, 241u8],
9414 [215u8, 230u8, 188u8, 248u8],
9415 [217u8, 46u8, 35u8, 61u8],
9416 [220u8, 129u8, 219u8, 133u8],
9417 [224u8, 124u8, 141u8, 186u8],
9418 [234u8, 180u8, 169u8, 99u8],
9419 [242u8, 83u8, 20u8, 166u8],
9420 [249u8, 46u8, 232u8, 169u8],
9421 ];
9422 }
9423 #[automatically_derived]
9424 impl alloy_sol_types::SolInterface for StakeTableErrors {
9425 const NAME: &'static str = "StakeTableErrors";
9426 const MIN_DATA_LENGTH: usize = 0usize;
9427 const COUNT: usize = 26usize;
9428 #[inline]
9429 fn selector(&self) -> [u8; 4] {
9430 match self {
9431 Self::AddressEmptyCode(_) => {
9432 <AddressEmptyCode as alloy_sol_types::SolError>::SELECTOR
9433 }
9434 Self::BLSSigVerificationFailed(_) => {
9435 <BLSSigVerificationFailed as alloy_sol_types::SolError>::SELECTOR
9436 }
9437 Self::BlsKeyAlreadyUsed(_) => {
9438 <BlsKeyAlreadyUsed as alloy_sol_types::SolError>::SELECTOR
9439 }
9440 Self::ERC1967InvalidImplementation(_) => {
9441 <ERC1967InvalidImplementation as alloy_sol_types::SolError>::SELECTOR
9442 }
9443 Self::ERC1967NonPayable(_) => {
9444 <ERC1967NonPayable as alloy_sol_types::SolError>::SELECTOR
9445 }
9446 Self::ExitEscrowPeriodInvalid(_) => {
9447 <ExitEscrowPeriodInvalid as alloy_sol_types::SolError>::SELECTOR
9448 }
9449 Self::FailedInnerCall(_) => {
9450 <FailedInnerCall as alloy_sol_types::SolError>::SELECTOR
9451 }
9452 Self::InsufficientAllowance(_) => {
9453 <InsufficientAllowance as alloy_sol_types::SolError>::SELECTOR
9454 }
9455 Self::InsufficientBalance(_) => {
9456 <InsufficientBalance as alloy_sol_types::SolError>::SELECTOR
9457 }
9458 Self::InvalidCommission(_) => {
9459 <InvalidCommission as alloy_sol_types::SolError>::SELECTOR
9460 }
9461 Self::InvalidInitialization(_) => {
9462 <InvalidInitialization as alloy_sol_types::SolError>::SELECTOR
9463 }
9464 Self::InvalidSchnorrVK(_) => {
9465 <InvalidSchnorrVK as alloy_sol_types::SolError>::SELECTOR
9466 }
9467 Self::NotInitializing(_) => {
9468 <NotInitializing as alloy_sol_types::SolError>::SELECTOR
9469 }
9470 Self::NothingToWithdraw(_) => {
9471 <NothingToWithdraw as alloy_sol_types::SolError>::SELECTOR
9472 }
9473 Self::OwnableInvalidOwner(_) => {
9474 <OwnableInvalidOwner as alloy_sol_types::SolError>::SELECTOR
9475 }
9476 Self::OwnableUnauthorizedAccount(_) => {
9477 <OwnableUnauthorizedAccount as alloy_sol_types::SolError>::SELECTOR
9478 }
9479 Self::PrematureWithdrawal(_) => {
9480 <PrematureWithdrawal as alloy_sol_types::SolError>::SELECTOR
9481 }
9482 Self::UUPSUnauthorizedCallContext(_) => {
9483 <UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::SELECTOR
9484 }
9485 Self::UUPSUnsupportedProxiableUUID(_) => {
9486 <UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::SELECTOR
9487 }
9488 Self::UndelegationAlreadyExists(_) => {
9489 <UndelegationAlreadyExists as alloy_sol_types::SolError>::SELECTOR
9490 }
9491 Self::ValidatorAlreadyExited(_) => {
9492 <ValidatorAlreadyExited as alloy_sol_types::SolError>::SELECTOR
9493 }
9494 Self::ValidatorAlreadyRegistered(_) => {
9495 <ValidatorAlreadyRegistered as alloy_sol_types::SolError>::SELECTOR
9496 }
9497 Self::ValidatorInactive(_) => {
9498 <ValidatorInactive as alloy_sol_types::SolError>::SELECTOR
9499 }
9500 Self::ValidatorNotExited(_) => {
9501 <ValidatorNotExited as alloy_sol_types::SolError>::SELECTOR
9502 }
9503 Self::ZeroAddress(_) => {
9504 <ZeroAddress as alloy_sol_types::SolError>::SELECTOR
9505 }
9506 Self::ZeroAmount(_) => {
9507 <ZeroAmount as alloy_sol_types::SolError>::SELECTOR
9508 }
9509 }
9510 }
9511 #[inline]
9512 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
9513 Self::SELECTORS.get(i).copied()
9514 }
9515 #[inline]
9516 fn valid_selector(selector: [u8; 4]) -> bool {
9517 Self::SELECTORS.binary_search(&selector).is_ok()
9518 }
9519 #[inline]
9520 #[allow(non_snake_case)]
9521 fn abi_decode_raw(
9522 selector: [u8; 4],
9523 data: &[u8],
9524 validate: bool,
9525 ) -> alloy_sol_types::Result<Self> {
9526 static DECODE_SHIMS: &[fn(
9527 &[u8],
9528 bool,
9529 ) -> alloy_sol_types::Result<StakeTableErrors>] = &[
9530 {
9531 fn BlsKeyAlreadyUsed(
9532 data: &[u8],
9533 validate: bool,
9534 ) -> alloy_sol_types::Result<StakeTableErrors> {
9535 <BlsKeyAlreadyUsed as alloy_sol_types::SolError>::abi_decode_raw(
9536 data,
9537 validate,
9538 )
9539 .map(StakeTableErrors::BlsKeyAlreadyUsed)
9540 }
9541 BlsKeyAlreadyUsed
9542 },
9543 {
9544 fn InvalidSchnorrVK(
9545 data: &[u8],
9546 validate: bool,
9547 ) -> alloy_sol_types::Result<StakeTableErrors> {
9548 <InvalidSchnorrVK as alloy_sol_types::SolError>::abi_decode_raw(
9549 data,
9550 validate,
9551 )
9552 .map(StakeTableErrors::InvalidSchnorrVK)
9553 }
9554 InvalidSchnorrVK
9555 },
9556 {
9557 fn BLSSigVerificationFailed(
9558 data: &[u8],
9559 validate: bool,
9560 ) -> alloy_sol_types::Result<StakeTableErrors> {
9561 <BLSSigVerificationFailed as alloy_sol_types::SolError>::abi_decode_raw(
9562 data,
9563 validate,
9564 )
9565 .map(StakeTableErrors::BLSSigVerificationFailed)
9566 }
9567 BLSSigVerificationFailed
9568 },
9569 {
9570 fn OwnableUnauthorizedAccount(
9571 data: &[u8],
9572 validate: bool,
9573 ) -> alloy_sol_types::Result<StakeTableErrors> {
9574 <OwnableUnauthorizedAccount as alloy_sol_types::SolError>::abi_decode_raw(
9575 data,
9576 validate,
9577 )
9578 .map(StakeTableErrors::OwnableUnauthorizedAccount)
9579 }
9580 OwnableUnauthorizedAccount
9581 },
9582 {
9583 fn FailedInnerCall(
9584 data: &[u8],
9585 validate: bool,
9586 ) -> alloy_sol_types::Result<StakeTableErrors> {
9587 <FailedInnerCall as alloy_sol_types::SolError>::abi_decode_raw(
9588 data,
9589 validate,
9590 )
9591 .map(StakeTableErrors::FailedInnerCall)
9592 }
9593 FailedInnerCall
9594 },
9595 {
9596 fn OwnableInvalidOwner(
9597 data: &[u8],
9598 validate: bool,
9599 ) -> alloy_sol_types::Result<StakeTableErrors> {
9600 <OwnableInvalidOwner as alloy_sol_types::SolError>::abi_decode_raw(
9601 data,
9602 validate,
9603 )
9604 .map(StakeTableErrors::OwnableInvalidOwner)
9605 }
9606 OwnableInvalidOwner
9607 },
9608 {
9609 fn ZeroAmount(
9610 data: &[u8],
9611 validate: bool,
9612 ) -> alloy_sol_types::Result<StakeTableErrors> {
9613 <ZeroAmount as alloy_sol_types::SolError>::abi_decode_raw(
9614 data,
9615 validate,
9616 )
9617 .map(StakeTableErrors::ZeroAmount)
9618 }
9619 ZeroAmount
9620 },
9621 {
9622 fn InsufficientAllowance(
9623 data: &[u8],
9624 validate: bool,
9625 ) -> alloy_sol_types::Result<StakeTableErrors> {
9626 <InsufficientAllowance as alloy_sol_types::SolError>::abi_decode_raw(
9627 data,
9628 validate,
9629 )
9630 .map(StakeTableErrors::InsufficientAllowance)
9631 }
9632 InsufficientAllowance
9633 },
9634 {
9635 fn ERC1967InvalidImplementation(
9636 data: &[u8],
9637 validate: bool,
9638 ) -> alloy_sol_types::Result<StakeTableErrors> {
9639 <ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_decode_raw(
9640 data,
9641 validate,
9642 )
9643 .map(StakeTableErrors::ERC1967InvalidImplementation)
9644 }
9645 ERC1967InvalidImplementation
9646 },
9647 {
9648 fn ValidatorInactive(
9649 data: &[u8],
9650 validate: bool,
9651 ) -> alloy_sol_types::Result<StakeTableErrors> {
9652 <ValidatorInactive as alloy_sol_types::SolError>::abi_decode_raw(
9653 data,
9654 validate,
9655 )
9656 .map(StakeTableErrors::ValidatorInactive)
9657 }
9658 ValidatorInactive
9659 },
9660 {
9661 fn PrematureWithdrawal(
9662 data: &[u8],
9663 validate: bool,
9664 ) -> alloy_sol_types::Result<StakeTableErrors> {
9665 <PrematureWithdrawal as alloy_sol_types::SolError>::abi_decode_raw(
9666 data,
9667 validate,
9668 )
9669 .map(StakeTableErrors::PrematureWithdrawal)
9670 }
9671 PrematureWithdrawal
9672 },
9673 {
9674 fn InsufficientBalance(
9675 data: &[u8],
9676 validate: bool,
9677 ) -> alloy_sol_types::Result<StakeTableErrors> {
9678 <InsufficientBalance as alloy_sol_types::SolError>::abi_decode_raw(
9679 data,
9680 validate,
9681 )
9682 .map(StakeTableErrors::InsufficientBalance)
9683 }
9684 InsufficientBalance
9685 },
9686 {
9687 fn ValidatorAlreadyRegistered(
9688 data: &[u8],
9689 validate: bool,
9690 ) -> alloy_sol_types::Result<StakeTableErrors> {
9691 <ValidatorAlreadyRegistered as alloy_sol_types::SolError>::abi_decode_raw(
9692 data,
9693 validate,
9694 )
9695 .map(StakeTableErrors::ValidatorAlreadyRegistered)
9696 }
9697 ValidatorAlreadyRegistered
9698 },
9699 {
9700 fn AddressEmptyCode(
9701 data: &[u8],
9702 validate: bool,
9703 ) -> alloy_sol_types::Result<StakeTableErrors> {
9704 <AddressEmptyCode as alloy_sol_types::SolError>::abi_decode_raw(
9705 data,
9706 validate,
9707 )
9708 .map(StakeTableErrors::AddressEmptyCode)
9709 }
9710 AddressEmptyCode
9711 },
9712 {
9713 fn UUPSUnsupportedProxiableUUID(
9714 data: &[u8],
9715 validate: bool,
9716 ) -> alloy_sol_types::Result<StakeTableErrors> {
9717 <UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_decode_raw(
9718 data,
9719 validate,
9720 )
9721 .map(StakeTableErrors::UUPSUnsupportedProxiableUUID)
9722 }
9723 UUPSUnsupportedProxiableUUID
9724 },
9725 {
9726 fn ERC1967NonPayable(
9727 data: &[u8],
9728 validate: bool,
9729 ) -> alloy_sol_types::Result<StakeTableErrors> {
9730 <ERC1967NonPayable as alloy_sol_types::SolError>::abi_decode_raw(
9731 data,
9732 validate,
9733 )
9734 .map(StakeTableErrors::ERC1967NonPayable)
9735 }
9736 ERC1967NonPayable
9737 },
9738 {
9739 fn ExitEscrowPeriodInvalid(
9740 data: &[u8],
9741 validate: bool,
9742 ) -> alloy_sol_types::Result<StakeTableErrors> {
9743 <ExitEscrowPeriodInvalid as alloy_sol_types::SolError>::abi_decode_raw(
9744 data,
9745 validate,
9746 )
9747 .map(StakeTableErrors::ExitEscrowPeriodInvalid)
9748 }
9749 ExitEscrowPeriodInvalid
9750 },
9751 {
9752 fn NothingToWithdraw(
9753 data: &[u8],
9754 validate: bool,
9755 ) -> alloy_sol_types::Result<StakeTableErrors> {
9756 <NothingToWithdraw as alloy_sol_types::SolError>::abi_decode_raw(
9757 data,
9758 validate,
9759 )
9760 .map(StakeTableErrors::NothingToWithdraw)
9761 }
9762 NothingToWithdraw
9763 },
9764 {
9765 fn UndelegationAlreadyExists(
9766 data: &[u8],
9767 validate: bool,
9768 ) -> alloy_sol_types::Result<StakeTableErrors> {
9769 <UndelegationAlreadyExists as alloy_sol_types::SolError>::abi_decode_raw(
9770 data,
9771 validate,
9772 )
9773 .map(StakeTableErrors::UndelegationAlreadyExists)
9774 }
9775 UndelegationAlreadyExists
9776 },
9777 {
9778 fn NotInitializing(
9779 data: &[u8],
9780 validate: bool,
9781 ) -> alloy_sol_types::Result<StakeTableErrors> {
9782 <NotInitializing as alloy_sol_types::SolError>::abi_decode_raw(
9783 data,
9784 validate,
9785 )
9786 .map(StakeTableErrors::NotInitializing)
9787 }
9788 NotInitializing
9789 },
9790 {
9791 fn ZeroAddress(
9792 data: &[u8],
9793 validate: bool,
9794 ) -> alloy_sol_types::Result<StakeTableErrors> {
9795 <ZeroAddress as alloy_sol_types::SolError>::abi_decode_raw(
9796 data,
9797 validate,
9798 )
9799 .map(StakeTableErrors::ZeroAddress)
9800 }
9801 ZeroAddress
9802 },
9803 {
9804 fn InvalidCommission(
9805 data: &[u8],
9806 validate: bool,
9807 ) -> alloy_sol_types::Result<StakeTableErrors> {
9808 <InvalidCommission as alloy_sol_types::SolError>::abi_decode_raw(
9809 data,
9810 validate,
9811 )
9812 .map(StakeTableErrors::InvalidCommission)
9813 }
9814 InvalidCommission
9815 },
9816 {
9817 fn UUPSUnauthorizedCallContext(
9818 data: &[u8],
9819 validate: bool,
9820 ) -> alloy_sol_types::Result<StakeTableErrors> {
9821 <UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_decode_raw(
9822 data,
9823 validate,
9824 )
9825 .map(StakeTableErrors::UUPSUnauthorizedCallContext)
9826 }
9827 UUPSUnauthorizedCallContext
9828 },
9829 {
9830 fn ValidatorAlreadyExited(
9831 data: &[u8],
9832 validate: bool,
9833 ) -> alloy_sol_types::Result<StakeTableErrors> {
9834 <ValidatorAlreadyExited as alloy_sol_types::SolError>::abi_decode_raw(
9835 data,
9836 validate,
9837 )
9838 .map(StakeTableErrors::ValidatorAlreadyExited)
9839 }
9840 ValidatorAlreadyExited
9841 },
9842 {
9843 fn ValidatorNotExited(
9844 data: &[u8],
9845 validate: bool,
9846 ) -> alloy_sol_types::Result<StakeTableErrors> {
9847 <ValidatorNotExited as alloy_sol_types::SolError>::abi_decode_raw(
9848 data,
9849 validate,
9850 )
9851 .map(StakeTableErrors::ValidatorNotExited)
9852 }
9853 ValidatorNotExited
9854 },
9855 {
9856 fn InvalidInitialization(
9857 data: &[u8],
9858 validate: bool,
9859 ) -> alloy_sol_types::Result<StakeTableErrors> {
9860 <InvalidInitialization as alloy_sol_types::SolError>::abi_decode_raw(
9861 data,
9862 validate,
9863 )
9864 .map(StakeTableErrors::InvalidInitialization)
9865 }
9866 InvalidInitialization
9867 },
9868 ];
9869 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
9870 return Err(
9871 alloy_sol_types::Error::unknown_selector(
9872 <Self as alloy_sol_types::SolInterface>::NAME,
9873 selector,
9874 ),
9875 );
9876 };
9877 DECODE_SHIMS[idx](data, validate)
9878 }
9879 #[inline]
9880 fn abi_encoded_size(&self) -> usize {
9881 match self {
9882 Self::AddressEmptyCode(inner) => {
9883 <AddressEmptyCode as alloy_sol_types::SolError>::abi_encoded_size(
9884 inner,
9885 )
9886 }
9887 Self::BLSSigVerificationFailed(inner) => {
9888 <BLSSigVerificationFailed as alloy_sol_types::SolError>::abi_encoded_size(
9889 inner,
9890 )
9891 }
9892 Self::BlsKeyAlreadyUsed(inner) => {
9893 <BlsKeyAlreadyUsed as alloy_sol_types::SolError>::abi_encoded_size(
9894 inner,
9895 )
9896 }
9897 Self::ERC1967InvalidImplementation(inner) => {
9898 <ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_encoded_size(
9899 inner,
9900 )
9901 }
9902 Self::ERC1967NonPayable(inner) => {
9903 <ERC1967NonPayable as alloy_sol_types::SolError>::abi_encoded_size(
9904 inner,
9905 )
9906 }
9907 Self::ExitEscrowPeriodInvalid(inner) => {
9908 <ExitEscrowPeriodInvalid as alloy_sol_types::SolError>::abi_encoded_size(
9909 inner,
9910 )
9911 }
9912 Self::FailedInnerCall(inner) => {
9913 <FailedInnerCall as alloy_sol_types::SolError>::abi_encoded_size(
9914 inner,
9915 )
9916 }
9917 Self::InsufficientAllowance(inner) => {
9918 <InsufficientAllowance as alloy_sol_types::SolError>::abi_encoded_size(
9919 inner,
9920 )
9921 }
9922 Self::InsufficientBalance(inner) => {
9923 <InsufficientBalance as alloy_sol_types::SolError>::abi_encoded_size(
9924 inner,
9925 )
9926 }
9927 Self::InvalidCommission(inner) => {
9928 <InvalidCommission as alloy_sol_types::SolError>::abi_encoded_size(
9929 inner,
9930 )
9931 }
9932 Self::InvalidInitialization(inner) => {
9933 <InvalidInitialization as alloy_sol_types::SolError>::abi_encoded_size(
9934 inner,
9935 )
9936 }
9937 Self::InvalidSchnorrVK(inner) => {
9938 <InvalidSchnorrVK as alloy_sol_types::SolError>::abi_encoded_size(
9939 inner,
9940 )
9941 }
9942 Self::NotInitializing(inner) => {
9943 <NotInitializing as alloy_sol_types::SolError>::abi_encoded_size(
9944 inner,
9945 )
9946 }
9947 Self::NothingToWithdraw(inner) => {
9948 <NothingToWithdraw as alloy_sol_types::SolError>::abi_encoded_size(
9949 inner,
9950 )
9951 }
9952 Self::OwnableInvalidOwner(inner) => {
9953 <OwnableInvalidOwner as alloy_sol_types::SolError>::abi_encoded_size(
9954 inner,
9955 )
9956 }
9957 Self::OwnableUnauthorizedAccount(inner) => {
9958 <OwnableUnauthorizedAccount as alloy_sol_types::SolError>::abi_encoded_size(
9959 inner,
9960 )
9961 }
9962 Self::PrematureWithdrawal(inner) => {
9963 <PrematureWithdrawal as alloy_sol_types::SolError>::abi_encoded_size(
9964 inner,
9965 )
9966 }
9967 Self::UUPSUnauthorizedCallContext(inner) => {
9968 <UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_encoded_size(
9969 inner,
9970 )
9971 }
9972 Self::UUPSUnsupportedProxiableUUID(inner) => {
9973 <UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_encoded_size(
9974 inner,
9975 )
9976 }
9977 Self::UndelegationAlreadyExists(inner) => {
9978 <UndelegationAlreadyExists as alloy_sol_types::SolError>::abi_encoded_size(
9979 inner,
9980 )
9981 }
9982 Self::ValidatorAlreadyExited(inner) => {
9983 <ValidatorAlreadyExited as alloy_sol_types::SolError>::abi_encoded_size(
9984 inner,
9985 )
9986 }
9987 Self::ValidatorAlreadyRegistered(inner) => {
9988 <ValidatorAlreadyRegistered as alloy_sol_types::SolError>::abi_encoded_size(
9989 inner,
9990 )
9991 }
9992 Self::ValidatorInactive(inner) => {
9993 <ValidatorInactive as alloy_sol_types::SolError>::abi_encoded_size(
9994 inner,
9995 )
9996 }
9997 Self::ValidatorNotExited(inner) => {
9998 <ValidatorNotExited as alloy_sol_types::SolError>::abi_encoded_size(
9999 inner,
10000 )
10001 }
10002 Self::ZeroAddress(inner) => {
10003 <ZeroAddress as alloy_sol_types::SolError>::abi_encoded_size(inner)
10004 }
10005 Self::ZeroAmount(inner) => {
10006 <ZeroAmount as alloy_sol_types::SolError>::abi_encoded_size(inner)
10007 }
10008 }
10009 }
10010 #[inline]
10011 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
10012 match self {
10013 Self::AddressEmptyCode(inner) => {
10014 <AddressEmptyCode as alloy_sol_types::SolError>::abi_encode_raw(
10015 inner,
10016 out,
10017 )
10018 }
10019 Self::BLSSigVerificationFailed(inner) => {
10020 <BLSSigVerificationFailed as alloy_sol_types::SolError>::abi_encode_raw(
10021 inner,
10022 out,
10023 )
10024 }
10025 Self::BlsKeyAlreadyUsed(inner) => {
10026 <BlsKeyAlreadyUsed as alloy_sol_types::SolError>::abi_encode_raw(
10027 inner,
10028 out,
10029 )
10030 }
10031 Self::ERC1967InvalidImplementation(inner) => {
10032 <ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_encode_raw(
10033 inner,
10034 out,
10035 )
10036 }
10037 Self::ERC1967NonPayable(inner) => {
10038 <ERC1967NonPayable as alloy_sol_types::SolError>::abi_encode_raw(
10039 inner,
10040 out,
10041 )
10042 }
10043 Self::ExitEscrowPeriodInvalid(inner) => {
10044 <ExitEscrowPeriodInvalid as alloy_sol_types::SolError>::abi_encode_raw(
10045 inner,
10046 out,
10047 )
10048 }
10049 Self::FailedInnerCall(inner) => {
10050 <FailedInnerCall as alloy_sol_types::SolError>::abi_encode_raw(
10051 inner,
10052 out,
10053 )
10054 }
10055 Self::InsufficientAllowance(inner) => {
10056 <InsufficientAllowance as alloy_sol_types::SolError>::abi_encode_raw(
10057 inner,
10058 out,
10059 )
10060 }
10061 Self::InsufficientBalance(inner) => {
10062 <InsufficientBalance as alloy_sol_types::SolError>::abi_encode_raw(
10063 inner,
10064 out,
10065 )
10066 }
10067 Self::InvalidCommission(inner) => {
10068 <InvalidCommission as alloy_sol_types::SolError>::abi_encode_raw(
10069 inner,
10070 out,
10071 )
10072 }
10073 Self::InvalidInitialization(inner) => {
10074 <InvalidInitialization as alloy_sol_types::SolError>::abi_encode_raw(
10075 inner,
10076 out,
10077 )
10078 }
10079 Self::InvalidSchnorrVK(inner) => {
10080 <InvalidSchnorrVK as alloy_sol_types::SolError>::abi_encode_raw(
10081 inner,
10082 out,
10083 )
10084 }
10085 Self::NotInitializing(inner) => {
10086 <NotInitializing as alloy_sol_types::SolError>::abi_encode_raw(
10087 inner,
10088 out,
10089 )
10090 }
10091 Self::NothingToWithdraw(inner) => {
10092 <NothingToWithdraw as alloy_sol_types::SolError>::abi_encode_raw(
10093 inner,
10094 out,
10095 )
10096 }
10097 Self::OwnableInvalidOwner(inner) => {
10098 <OwnableInvalidOwner as alloy_sol_types::SolError>::abi_encode_raw(
10099 inner,
10100 out,
10101 )
10102 }
10103 Self::OwnableUnauthorizedAccount(inner) => {
10104 <OwnableUnauthorizedAccount as alloy_sol_types::SolError>::abi_encode_raw(
10105 inner,
10106 out,
10107 )
10108 }
10109 Self::PrematureWithdrawal(inner) => {
10110 <PrematureWithdrawal as alloy_sol_types::SolError>::abi_encode_raw(
10111 inner,
10112 out,
10113 )
10114 }
10115 Self::UUPSUnauthorizedCallContext(inner) => {
10116 <UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_encode_raw(
10117 inner,
10118 out,
10119 )
10120 }
10121 Self::UUPSUnsupportedProxiableUUID(inner) => {
10122 <UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_encode_raw(
10123 inner,
10124 out,
10125 )
10126 }
10127 Self::UndelegationAlreadyExists(inner) => {
10128 <UndelegationAlreadyExists as alloy_sol_types::SolError>::abi_encode_raw(
10129 inner,
10130 out,
10131 )
10132 }
10133 Self::ValidatorAlreadyExited(inner) => {
10134 <ValidatorAlreadyExited as alloy_sol_types::SolError>::abi_encode_raw(
10135 inner,
10136 out,
10137 )
10138 }
10139 Self::ValidatorAlreadyRegistered(inner) => {
10140 <ValidatorAlreadyRegistered as alloy_sol_types::SolError>::abi_encode_raw(
10141 inner,
10142 out,
10143 )
10144 }
10145 Self::ValidatorInactive(inner) => {
10146 <ValidatorInactive as alloy_sol_types::SolError>::abi_encode_raw(
10147 inner,
10148 out,
10149 )
10150 }
10151 Self::ValidatorNotExited(inner) => {
10152 <ValidatorNotExited as alloy_sol_types::SolError>::abi_encode_raw(
10153 inner,
10154 out,
10155 )
10156 }
10157 Self::ZeroAddress(inner) => {
10158 <ZeroAddress as alloy_sol_types::SolError>::abi_encode_raw(
10159 inner,
10160 out,
10161 )
10162 }
10163 Self::ZeroAmount(inner) => {
10164 <ZeroAmount as alloy_sol_types::SolError>::abi_encode_raw(inner, out)
10165 }
10166 }
10167 }
10168 }
10169 #[derive()]
10171 pub enum StakeTableEvents {
10172 #[allow(missing_docs)]
10173 ConsensusKeysUpdated(ConsensusKeysUpdated),
10174 #[allow(missing_docs)]
10175 Delegated(Delegated),
10176 #[allow(missing_docs)]
10177 Initialized(Initialized),
10178 #[allow(missing_docs)]
10179 OwnershipTransferred(OwnershipTransferred),
10180 #[allow(missing_docs)]
10181 Undelegated(Undelegated),
10182 #[allow(missing_docs)]
10183 Upgraded(Upgraded),
10184 #[allow(missing_docs)]
10185 ValidatorExit(ValidatorExit),
10186 #[allow(missing_docs)]
10187 ValidatorRegistered(ValidatorRegistered),
10188 #[allow(missing_docs)]
10189 Withdrawal(Withdrawal),
10190 }
10191 #[automatically_derived]
10192 impl StakeTableEvents {
10193 pub const SELECTORS: &'static [[u8; 32usize]] = &[
10200 [
10201 77u8, 16u8, 189u8, 4u8, 151u8, 117u8, 199u8, 123u8, 215u8, 242u8, 85u8,
10202 25u8, 90u8, 251u8, 165u8, 8u8, 128u8, 40u8, 236u8, 179u8, 199u8, 194u8,
10203 119u8, 211u8, 147u8, 204u8, 255u8, 121u8, 52u8, 242u8, 249u8, 44u8,
10204 ],
10205 [
10206 127u8, 207u8, 83u8, 44u8, 21u8, 240u8, 166u8, 219u8, 11u8, 214u8, 208u8,
10207 224u8, 56u8, 190u8, 167u8, 29u8, 48u8, 216u8, 8u8, 199u8, 217u8, 140u8,
10208 179u8, 191u8, 114u8, 104u8, 169u8, 91u8, 245u8, 8u8, 27u8, 101u8,
10209 ],
10210 [
10211 128u8, 216u8, 164u8, 161u8, 102u8, 51u8, 40u8, 169u8, 152u8, 212u8, 85u8,
10212 91u8, 162u8, 29u8, 139u8, 186u8, 110u8, 241u8, 87u8, 106u8, 140u8, 94u8,
10213 157u8, 39u8, 249u8, 197u8, 69u8, 241u8, 163u8, 213u8, 43u8, 29u8,
10214 ],
10215 [
10216 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
10217 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
10218 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
10219 ],
10220 [
10221 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
10222 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
10223 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
10224 ],
10225 [
10226 199u8, 245u8, 5u8, 178u8, 243u8, 113u8, 174u8, 33u8, 117u8, 238u8, 73u8,
10227 19u8, 244u8, 73u8, 158u8, 31u8, 38u8, 51u8, 167u8, 181u8, 147u8, 99u8,
10228 33u8, 238u8, 209u8, 205u8, 174u8, 182u8, 17u8, 81u8, 129u8, 210u8,
10229 ],
10230 [
10231 229u8, 84u8, 26u8, 107u8, 97u8, 3u8, 212u8, 250u8, 126u8, 2u8, 30u8,
10232 213u8, 79u8, 173u8, 57u8, 198u8, 111u8, 39u8, 167u8, 107u8, 209u8, 61u8,
10233 55u8, 76u8, 246u8, 36u8, 10u8, 230u8, 189u8, 11u8, 183u8, 43u8,
10234 ],
10235 [
10236 246u8, 232u8, 53u8, 156u8, 87u8, 82u8, 11u8, 70u8, 150u8, 52u8, 115u8,
10237 107u8, 252u8, 59u8, 183u8, 236u8, 92u8, 189u8, 26u8, 11u8, 210u8, 139u8,
10238 16u8, 168u8, 39u8, 87u8, 147u8, 187u8, 115u8, 11u8, 121u8, 127u8,
10239 ],
10240 [
10241 251u8, 36u8, 48u8, 83u8, 84u8, 200u8, 119u8, 98u8, 213u8, 87u8, 72u8,
10242 122u8, 228u8, 165u8, 100u8, 232u8, 208u8, 62u8, 203u8, 185u8, 169u8,
10243 125u8, 216u8, 175u8, 255u8, 142u8, 31u8, 111u8, 202u8, 240u8, 221u8, 22u8,
10244 ],
10245 ];
10246 }
10247 #[automatically_derived]
10248 impl alloy_sol_types::SolEventInterface for StakeTableEvents {
10249 const NAME: &'static str = "StakeTableEvents";
10250 const COUNT: usize = 9usize;
10251 fn decode_raw_log(
10252 topics: &[alloy_sol_types::Word],
10253 data: &[u8],
10254 validate: bool,
10255 ) -> alloy_sol_types::Result<Self> {
10256 match topics.first().copied() {
10257 Some(
10258 <ConsensusKeysUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
10259 ) => {
10260 <ConsensusKeysUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
10261 topics,
10262 data,
10263 validate,
10264 )
10265 .map(Self::ConsensusKeysUpdated)
10266 }
10267 Some(<Delegated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10268 <Delegated as alloy_sol_types::SolEvent>::decode_raw_log(
10269 topics,
10270 data,
10271 validate,
10272 )
10273 .map(Self::Delegated)
10274 }
10275 Some(<Initialized as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10276 <Initialized as alloy_sol_types::SolEvent>::decode_raw_log(
10277 topics,
10278 data,
10279 validate,
10280 )
10281 .map(Self::Initialized)
10282 }
10283 Some(
10284 <OwnershipTransferred as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
10285 ) => {
10286 <OwnershipTransferred as alloy_sol_types::SolEvent>::decode_raw_log(
10287 topics,
10288 data,
10289 validate,
10290 )
10291 .map(Self::OwnershipTransferred)
10292 }
10293 Some(<Undelegated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10294 <Undelegated as alloy_sol_types::SolEvent>::decode_raw_log(
10295 topics,
10296 data,
10297 validate,
10298 )
10299 .map(Self::Undelegated)
10300 }
10301 Some(<Upgraded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10302 <Upgraded as alloy_sol_types::SolEvent>::decode_raw_log(
10303 topics,
10304 data,
10305 validate,
10306 )
10307 .map(Self::Upgraded)
10308 }
10309 Some(<ValidatorExit as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10310 <ValidatorExit as alloy_sol_types::SolEvent>::decode_raw_log(
10311 topics,
10312 data,
10313 validate,
10314 )
10315 .map(Self::ValidatorExit)
10316 }
10317 Some(
10318 <ValidatorRegistered as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
10319 ) => {
10320 <ValidatorRegistered as alloy_sol_types::SolEvent>::decode_raw_log(
10321 topics,
10322 data,
10323 validate,
10324 )
10325 .map(Self::ValidatorRegistered)
10326 }
10327 Some(<Withdrawal as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
10328 <Withdrawal as alloy_sol_types::SolEvent>::decode_raw_log(
10329 topics,
10330 data,
10331 validate,
10332 )
10333 .map(Self::Withdrawal)
10334 }
10335 _ => {
10336 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
10337 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
10338 log: alloy_sol_types::private::Box::new(
10339 alloy_sol_types::private::LogData::new_unchecked(
10340 topics.to_vec(),
10341 data.to_vec().into(),
10342 ),
10343 ),
10344 })
10345 }
10346 }
10347 }
10348 }
10349 #[automatically_derived]
10350 impl alloy_sol_types::private::IntoLogData for StakeTableEvents {
10351 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
10352 match self {
10353 Self::ConsensusKeysUpdated(inner) => {
10354 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10355 }
10356 Self::Delegated(inner) => {
10357 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10358 }
10359 Self::Initialized(inner) => {
10360 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10361 }
10362 Self::OwnershipTransferred(inner) => {
10363 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10364 }
10365 Self::Undelegated(inner) => {
10366 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10367 }
10368 Self::Upgraded(inner) => {
10369 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10370 }
10371 Self::ValidatorExit(inner) => {
10372 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10373 }
10374 Self::ValidatorRegistered(inner) => {
10375 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10376 }
10377 Self::Withdrawal(inner) => {
10378 alloy_sol_types::private::IntoLogData::to_log_data(inner)
10379 }
10380 }
10381 }
10382 fn into_log_data(self) -> alloy_sol_types::private::LogData {
10383 match self {
10384 Self::ConsensusKeysUpdated(inner) => {
10385 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10386 }
10387 Self::Delegated(inner) => {
10388 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10389 }
10390 Self::Initialized(inner) => {
10391 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10392 }
10393 Self::OwnershipTransferred(inner) => {
10394 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10395 }
10396 Self::Undelegated(inner) => {
10397 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10398 }
10399 Self::Upgraded(inner) => {
10400 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10401 }
10402 Self::ValidatorExit(inner) => {
10403 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10404 }
10405 Self::ValidatorRegistered(inner) => {
10406 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10407 }
10408 Self::Withdrawal(inner) => {
10409 alloy_sol_types::private::IntoLogData::into_log_data(inner)
10410 }
10411 }
10412 }
10413 }
10414 use alloy::contract as alloy_contract;
10415 #[inline]
10419 pub const fn new<
10420 T: alloy_contract::private::Transport + ::core::clone::Clone,
10421 P: alloy_contract::private::Provider<T, N>,
10422 N: alloy_contract::private::Network,
10423 >(
10424 address: alloy_sol_types::private::Address,
10425 provider: P,
10426 ) -> StakeTableInstance<T, P, N> {
10427 StakeTableInstance::<T, P, N>::new(address, provider)
10428 }
10429 #[inline]
10435 pub fn deploy<
10436 T: alloy_contract::private::Transport + ::core::clone::Clone,
10437 P: alloy_contract::private::Provider<T, N>,
10438 N: alloy_contract::private::Network,
10439 >(
10440 provider: P,
10441 ) -> impl ::core::future::Future<
10442 Output = alloy_contract::Result<StakeTableInstance<T, P, N>>,
10443 > {
10444 StakeTableInstance::<T, P, N>::deploy(provider)
10445 }
10446 #[inline]
10452 pub fn deploy_builder<
10453 T: alloy_contract::private::Transport + ::core::clone::Clone,
10454 P: alloy_contract::private::Provider<T, N>,
10455 N: alloy_contract::private::Network,
10456 >(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
10457 StakeTableInstance::<T, P, N>::deploy_builder(provider)
10458 }
10459 #[derive(Clone)]
10471 pub struct StakeTableInstance<T, P, N = alloy_contract::private::Ethereum> {
10472 address: alloy_sol_types::private::Address,
10473 provider: P,
10474 _network_transport: ::core::marker::PhantomData<(N, T)>,
10475 }
10476 #[automatically_derived]
10477 impl<T, P, N> ::core::fmt::Debug for StakeTableInstance<T, P, N> {
10478 #[inline]
10479 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10480 f.debug_tuple("StakeTableInstance").field(&self.address).finish()
10481 }
10482 }
10483 #[automatically_derived]
10485 impl<
10486 T: alloy_contract::private::Transport + ::core::clone::Clone,
10487 P: alloy_contract::private::Provider<T, N>,
10488 N: alloy_contract::private::Network,
10489 > StakeTableInstance<T, P, N> {
10490 #[inline]
10494 pub const fn new(
10495 address: alloy_sol_types::private::Address,
10496 provider: P,
10497 ) -> Self {
10498 Self {
10499 address,
10500 provider,
10501 _network_transport: ::core::marker::PhantomData,
10502 }
10503 }
10504 #[inline]
10510 pub async fn deploy(
10511 provider: P,
10512 ) -> alloy_contract::Result<StakeTableInstance<T, P, N>> {
10513 let call_builder = Self::deploy_builder(provider);
10514 let contract_address = call_builder.deploy().await?;
10515 Ok(Self::new(contract_address, call_builder.provider))
10516 }
10517 #[inline]
10523 pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
10524 alloy_contract::RawCallBuilder::new_raw_deploy(
10525 provider,
10526 ::core::clone::Clone::clone(&BYTECODE),
10527 )
10528 }
10529 #[inline]
10531 pub const fn address(&self) -> &alloy_sol_types::private::Address {
10532 &self.address
10533 }
10534 #[inline]
10536 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
10537 self.address = address;
10538 }
10539 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
10541 self.set_address(address);
10542 self
10543 }
10544 #[inline]
10546 pub const fn provider(&self) -> &P {
10547 &self.provider
10548 }
10549 }
10550 impl<T, P: ::core::clone::Clone, N> StakeTableInstance<T, &P, N> {
10551 #[inline]
10553 pub fn with_cloned_provider(self) -> StakeTableInstance<T, P, N> {
10554 StakeTableInstance {
10555 address: self.address,
10556 provider: ::core::clone::Clone::clone(&self.provider),
10557 _network_transport: ::core::marker::PhantomData,
10558 }
10559 }
10560 }
10561 #[automatically_derived]
10563 impl<
10564 T: alloy_contract::private::Transport + ::core::clone::Clone,
10565 P: alloy_contract::private::Provider<T, N>,
10566 N: alloy_contract::private::Network,
10567 > StakeTableInstance<T, P, N> {
10568 pub fn call_builder<C: alloy_sol_types::SolCall>(
10573 &self,
10574 call: &C,
10575 ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
10576 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
10577 }
10578 pub fn UPGRADE_INTERFACE_VERSION(
10580 &self,
10581 ) -> alloy_contract::SolCallBuilder<T, &P, UPGRADE_INTERFACE_VERSIONCall, N> {
10582 self.call_builder(&UPGRADE_INTERFACE_VERSIONCall {})
10583 }
10584 pub fn _hashBlsKey(
10586 &self,
10587 blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
10588 ) -> alloy_contract::SolCallBuilder<T, &P, _hashBlsKeyCall, N> {
10589 self.call_builder(&_hashBlsKeyCall { blsVK })
10590 }
10591 pub fn blsKeys(
10593 &self,
10594 blsKeyHash: alloy::sol_types::private::FixedBytes<32>,
10595 ) -> alloy_contract::SolCallBuilder<T, &P, blsKeysCall, N> {
10596 self.call_builder(&blsKeysCall { blsKeyHash })
10597 }
10598 pub fn claimValidatorExit(
10600 &self,
10601 validator: alloy::sol_types::private::Address,
10602 ) -> alloy_contract::SolCallBuilder<T, &P, claimValidatorExitCall, N> {
10603 self.call_builder(
10604 &claimValidatorExitCall {
10605 validator,
10606 },
10607 )
10608 }
10609 pub fn claimWithdrawal(
10611 &self,
10612 validator: alloy::sol_types::private::Address,
10613 ) -> alloy_contract::SolCallBuilder<T, &P, claimWithdrawalCall, N> {
10614 self.call_builder(&claimWithdrawalCall { validator })
10615 }
10616 pub fn delegate(
10618 &self,
10619 validator: alloy::sol_types::private::Address,
10620 amount: alloy::sol_types::private::primitives::aliases::U256,
10621 ) -> alloy_contract::SolCallBuilder<T, &P, delegateCall, N> {
10622 self.call_builder(&delegateCall { validator, amount })
10623 }
10624 pub fn delegations(
10626 &self,
10627 validator: alloy::sol_types::private::Address,
10628 delegator: alloy::sol_types::private::Address,
10629 ) -> alloy_contract::SolCallBuilder<T, &P, delegationsCall, N> {
10630 self.call_builder(
10631 &delegationsCall {
10632 validator,
10633 delegator,
10634 },
10635 )
10636 }
10637 pub fn deregisterValidator(
10639 &self,
10640 ) -> alloy_contract::SolCallBuilder<T, &P, deregisterValidatorCall, N> {
10641 self.call_builder(&deregisterValidatorCall {})
10642 }
10643 pub fn exitEscrowPeriod(
10645 &self,
10646 ) -> alloy_contract::SolCallBuilder<T, &P, exitEscrowPeriodCall, N> {
10647 self.call_builder(&exitEscrowPeriodCall {})
10648 }
10649 pub fn getVersion(
10651 &self,
10652 ) -> alloy_contract::SolCallBuilder<T, &P, getVersionCall, N> {
10653 self.call_builder(&getVersionCall {})
10654 }
10655 pub fn initialize(
10657 &self,
10658 _tokenAddress: alloy::sol_types::private::Address,
10659 _lightClientAddress: alloy::sol_types::private::Address,
10660 _exitEscrowPeriod: alloy::sol_types::private::primitives::aliases::U256,
10661 _timelock: alloy::sol_types::private::Address,
10662 ) -> alloy_contract::SolCallBuilder<T, &P, initializeCall, N> {
10663 self.call_builder(
10664 &initializeCall {
10665 _tokenAddress,
10666 _lightClientAddress,
10667 _exitEscrowPeriod,
10668 _timelock,
10669 },
10670 )
10671 }
10672 pub fn initializedAtBlock(
10674 &self,
10675 ) -> alloy_contract::SolCallBuilder<T, &P, initializedAtBlockCall, N> {
10676 self.call_builder(&initializedAtBlockCall {})
10677 }
10678 pub fn lightClient(
10680 &self,
10681 ) -> alloy_contract::SolCallBuilder<T, &P, lightClientCall, N> {
10682 self.call_builder(&lightClientCall {})
10683 }
10684 pub fn owner(&self) -> alloy_contract::SolCallBuilder<T, &P, ownerCall, N> {
10686 self.call_builder(&ownerCall {})
10687 }
10688 pub fn proxiableUUID(
10690 &self,
10691 ) -> alloy_contract::SolCallBuilder<T, &P, proxiableUUIDCall, N> {
10692 self.call_builder(&proxiableUUIDCall {})
10693 }
10694 pub fn registerValidator(
10696 &self,
10697 blsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
10698 schnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
10699 blsSig: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
10700 commission: u16,
10701 ) -> alloy_contract::SolCallBuilder<T, &P, registerValidatorCall, N> {
10702 self.call_builder(
10703 ®isterValidatorCall {
10704 blsVK,
10705 schnorrVK,
10706 blsSig,
10707 commission,
10708 },
10709 )
10710 }
10711 pub fn renounceOwnership(
10713 &self,
10714 ) -> alloy_contract::SolCallBuilder<T, &P, renounceOwnershipCall, N> {
10715 self.call_builder(&renounceOwnershipCall {})
10716 }
10717 pub fn token(&self) -> alloy_contract::SolCallBuilder<T, &P, tokenCall, N> {
10719 self.call_builder(&tokenCall {})
10720 }
10721 pub fn transferOwnership(
10723 &self,
10724 newOwner: alloy::sol_types::private::Address,
10725 ) -> alloy_contract::SolCallBuilder<T, &P, transferOwnershipCall, N> {
10726 self.call_builder(&transferOwnershipCall { newOwner })
10727 }
10728 pub fn undelegate(
10730 &self,
10731 validator: alloy::sol_types::private::Address,
10732 amount: alloy::sol_types::private::primitives::aliases::U256,
10733 ) -> alloy_contract::SolCallBuilder<T, &P, undelegateCall, N> {
10734 self.call_builder(
10735 &undelegateCall {
10736 validator,
10737 amount,
10738 },
10739 )
10740 }
10741 pub fn undelegations(
10743 &self,
10744 validator: alloy::sol_types::private::Address,
10745 delegator: alloy::sol_types::private::Address,
10746 ) -> alloy_contract::SolCallBuilder<T, &P, undelegationsCall, N> {
10747 self.call_builder(
10748 &undelegationsCall {
10749 validator,
10750 delegator,
10751 },
10752 )
10753 }
10754 pub fn updateConsensusKeys(
10756 &self,
10757 newBlsVK: <BN254::G2Point as alloy::sol_types::SolType>::RustType,
10758 newSchnorrVK: <EdOnBN254::EdOnBN254Point as alloy::sol_types::SolType>::RustType,
10759 newBlsSig: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
10760 ) -> alloy_contract::SolCallBuilder<T, &P, updateConsensusKeysCall, N> {
10761 self.call_builder(
10762 &updateConsensusKeysCall {
10763 newBlsVK,
10764 newSchnorrVK,
10765 newBlsSig,
10766 },
10767 )
10768 }
10769 pub fn upgradeToAndCall(
10771 &self,
10772 newImplementation: alloy::sol_types::private::Address,
10773 data: alloy::sol_types::private::Bytes,
10774 ) -> alloy_contract::SolCallBuilder<T, &P, upgradeToAndCallCall, N> {
10775 self.call_builder(
10776 &upgradeToAndCallCall {
10777 newImplementation,
10778 data,
10779 },
10780 )
10781 }
10782 pub fn validatorExits(
10784 &self,
10785 validator: alloy::sol_types::private::Address,
10786 ) -> alloy_contract::SolCallBuilder<T, &P, validatorExitsCall, N> {
10787 self.call_builder(&validatorExitsCall { validator })
10788 }
10789 pub fn validators(
10791 &self,
10792 account: alloy::sol_types::private::Address,
10793 ) -> alloy_contract::SolCallBuilder<T, &P, validatorsCall, N> {
10794 self.call_builder(&validatorsCall { account })
10795 }
10796 }
10797 #[automatically_derived]
10799 impl<
10800 T: alloy_contract::private::Transport + ::core::clone::Clone,
10801 P: alloy_contract::private::Provider<T, N>,
10802 N: alloy_contract::private::Network,
10803 > StakeTableInstance<T, P, N> {
10804 pub fn event_filter<E: alloy_sol_types::SolEvent>(
10809 &self,
10810 ) -> alloy_contract::Event<T, &P, E, N> {
10811 alloy_contract::Event::new_sol(&self.provider, &self.address)
10812 }
10813 pub fn ConsensusKeysUpdated_filter(
10815 &self,
10816 ) -> alloy_contract::Event<T, &P, ConsensusKeysUpdated, N> {
10817 self.event_filter::<ConsensusKeysUpdated>()
10818 }
10819 pub fn Delegated_filter(&self) -> alloy_contract::Event<T, &P, Delegated, N> {
10821 self.event_filter::<Delegated>()
10822 }
10823 pub fn Initialized_filter(
10825 &self,
10826 ) -> alloy_contract::Event<T, &P, Initialized, N> {
10827 self.event_filter::<Initialized>()
10828 }
10829 pub fn OwnershipTransferred_filter(
10831 &self,
10832 ) -> alloy_contract::Event<T, &P, OwnershipTransferred, N> {
10833 self.event_filter::<OwnershipTransferred>()
10834 }
10835 pub fn Undelegated_filter(
10837 &self,
10838 ) -> alloy_contract::Event<T, &P, Undelegated, N> {
10839 self.event_filter::<Undelegated>()
10840 }
10841 pub fn Upgraded_filter(&self) -> alloy_contract::Event<T, &P, Upgraded, N> {
10843 self.event_filter::<Upgraded>()
10844 }
10845 pub fn ValidatorExit_filter(
10847 &self,
10848 ) -> alloy_contract::Event<T, &P, ValidatorExit, N> {
10849 self.event_filter::<ValidatorExit>()
10850 }
10851 pub fn ValidatorRegistered_filter(
10853 &self,
10854 ) -> alloy_contract::Event<T, &P, ValidatorRegistered, N> {
10855 self.event_filter::<ValidatorRegistered>()
10856 }
10857 pub fn Withdrawal_filter(&self) -> alloy_contract::Event<T, &P, Withdrawal, N> {
10859 self.event_filter::<Withdrawal>()
10860 }
10861 }
10862}