1#![allow(clippy::all, clippy::pedantic, clippy::nursery, warnings, unknown_lints, rustdoc::all, elided_lifetimes_in_paths)]
2use StakeRegistry::*;
3
4#[allow(
15 non_camel_case_types,
16 non_snake_case,
17 clippy::pub_underscore_fields,
18 clippy::style,
19 clippy::empty_structs_with_brackets
20)]
21pub mod IStakeRegistryTypes {
22 use super::*;
23 use alloy::sol_types as alloy_sol_types;
24 #[derive(serde::Serialize, serde::Deserialize)]
25 #[derive(Default, Debug, PartialEq, Eq, Hash)]
26 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
27 #[derive(Clone)]
28 pub struct StakeType(u8);
29 const _: () = {
30 use alloy::sol_types as alloy_sol_types;
31 #[automatically_derived]
32 impl alloy_sol_types::private::SolTypeValue<StakeType> for u8 {
33 #[inline]
34 fn stv_to_tokens(
35 &self,
36 ) -> <alloy::sol_types::sol_data::Uint<
37 8,
38 > as alloy_sol_types::SolType>::Token<'_> {
39 alloy_sol_types::private::SolTypeValue::<
40 alloy::sol_types::sol_data::Uint<8>,
41 >::stv_to_tokens(self)
42 }
43 #[inline]
44 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
45 <alloy::sol_types::sol_data::Uint<
46 8,
47 > as alloy_sol_types::SolType>::tokenize(self)
48 .0
49 }
50 #[inline]
51 fn stv_abi_encode_packed_to(
52 &self,
53 out: &mut alloy_sol_types::private::Vec<u8>,
54 ) {
55 <alloy::sol_types::sol_data::Uint<
56 8,
57 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
58 }
59 #[inline]
60 fn stv_abi_packed_encoded_size(&self) -> usize {
61 <alloy::sol_types::sol_data::Uint<
62 8,
63 > as alloy_sol_types::SolType>::abi_encoded_size(self)
64 }
65 }
66 #[automatically_derived]
67 impl StakeType {
68 pub const NAME: &'static str = stringify!(@ name);
70 #[inline]
72 pub const fn from_underlying(value: u8) -> Self {
73 Self(value)
74 }
75 #[inline]
77 pub const fn into_underlying(self) -> u8 {
78 self.0
79 }
80 #[inline]
83 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
84 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
85 }
86 #[inline]
89 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
90 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
91 }
92 }
93 #[automatically_derived]
94 impl From<u8> for StakeType {
95 fn from(value: u8) -> Self {
96 Self::from_underlying(value)
97 }
98 }
99 #[automatically_derived]
100 impl From<StakeType> for u8 {
101 fn from(value: StakeType) -> Self {
102 value.into_underlying()
103 }
104 }
105 #[automatically_derived]
106 impl alloy_sol_types::SolType for StakeType {
107 type RustType = u8;
108 type Token<'a> = <alloy::sol_types::sol_data::Uint<
109 8,
110 > as alloy_sol_types::SolType>::Token<'a>;
111 const SOL_NAME: &'static str = Self::NAME;
112 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
113 8,
114 > as alloy_sol_types::SolType>::ENCODED_SIZE;
115 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
116 8,
117 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
118 #[inline]
119 fn valid_token(token: &Self::Token<'_>) -> bool {
120 Self::type_check(token).is_ok()
121 }
122 #[inline]
123 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
124 <alloy::sol_types::sol_data::Uint<
125 8,
126 > as alloy_sol_types::SolType>::type_check(token)
127 }
128 #[inline]
129 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
130 <alloy::sol_types::sol_data::Uint<
131 8,
132 > as alloy_sol_types::SolType>::detokenize(token)
133 }
134 }
135 #[automatically_derived]
136 impl alloy_sol_types::EventTopic for StakeType {
137 #[inline]
138 fn topic_preimage_length(rust: &Self::RustType) -> usize {
139 <alloy::sol_types::sol_data::Uint<
140 8,
141 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
142 }
143 #[inline]
144 fn encode_topic_preimage(
145 rust: &Self::RustType,
146 out: &mut alloy_sol_types::private::Vec<u8>,
147 ) {
148 <alloy::sol_types::sol_data::Uint<
149 8,
150 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
151 }
152 #[inline]
153 fn encode_topic(
154 rust: &Self::RustType,
155 ) -> alloy_sol_types::abi::token::WordToken {
156 <alloy::sol_types::sol_data::Uint<
157 8,
158 > as alloy_sol_types::EventTopic>::encode_topic(rust)
159 }
160 }
161 };
162 #[derive(serde::Serialize, serde::Deserialize)]
163 #[derive(Default, Debug, PartialEq, Eq, Hash)]
164 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
168 #[derive(Clone)]
169 pub struct StakeUpdate {
170 #[allow(missing_docs)]
171 pub updateBlockNumber: u32,
172 #[allow(missing_docs)]
173 pub nextUpdateBlockNumber: u32,
174 #[allow(missing_docs)]
175 pub stake: alloy::sol_types::private::primitives::aliases::U96,
176 }
177 #[allow(
178 non_camel_case_types,
179 non_snake_case,
180 clippy::pub_underscore_fields,
181 clippy::style
182 )]
183 const _: () = {
184 use alloy::sol_types as alloy_sol_types;
185 #[doc(hidden)]
186 type UnderlyingSolTuple<'a> = (
187 alloy::sol_types::sol_data::Uint<32>,
188 alloy::sol_types::sol_data::Uint<32>,
189 alloy::sol_types::sol_data::Uint<96>,
190 );
191 #[doc(hidden)]
192 type UnderlyingRustTuple<'a> = (
193 u32,
194 u32,
195 alloy::sol_types::private::primitives::aliases::U96,
196 );
197 #[cfg(test)]
198 #[allow(dead_code, unreachable_patterns)]
199 fn _type_assertion(
200 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
201 ) {
202 match _t {
203 alloy_sol_types::private::AssertTypeEq::<
204 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
205 >(_) => {}
206 }
207 }
208 #[automatically_derived]
209 #[doc(hidden)]
210 impl ::core::convert::From<StakeUpdate> for UnderlyingRustTuple<'_> {
211 fn from(value: StakeUpdate) -> Self {
212 (value.updateBlockNumber, value.nextUpdateBlockNumber, value.stake)
213 }
214 }
215 #[automatically_derived]
216 #[doc(hidden)]
217 impl ::core::convert::From<UnderlyingRustTuple<'_>> for StakeUpdate {
218 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
219 Self {
220 updateBlockNumber: tuple.0,
221 nextUpdateBlockNumber: tuple.1,
222 stake: tuple.2,
223 }
224 }
225 }
226 #[automatically_derived]
227 impl alloy_sol_types::SolValue for StakeUpdate {
228 type SolType = Self;
229 }
230 #[automatically_derived]
231 impl alloy_sol_types::private::SolTypeValue<Self> for StakeUpdate {
232 #[inline]
233 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
234 (
235 <alloy::sol_types::sol_data::Uint<
236 32,
237 > as alloy_sol_types::SolType>::tokenize(&self.updateBlockNumber),
238 <alloy::sol_types::sol_data::Uint<
239 32,
240 > as alloy_sol_types::SolType>::tokenize(
241 &self.nextUpdateBlockNumber,
242 ),
243 <alloy::sol_types::sol_data::Uint<
244 96,
245 > as alloy_sol_types::SolType>::tokenize(&self.stake),
246 )
247 }
248 #[inline]
249 fn stv_abi_encoded_size(&self) -> usize {
250 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
251 return size;
252 }
253 let tuple = <UnderlyingRustTuple<
254 '_,
255 > as ::core::convert::From<Self>>::from(self.clone());
256 <UnderlyingSolTuple<
257 '_,
258 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
259 }
260 #[inline]
261 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
262 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
263 }
264 #[inline]
265 fn stv_abi_encode_packed_to(
266 &self,
267 out: &mut alloy_sol_types::private::Vec<u8>,
268 ) {
269 let tuple = <UnderlyingRustTuple<
270 '_,
271 > as ::core::convert::From<Self>>::from(self.clone());
272 <UnderlyingSolTuple<
273 '_,
274 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
275 }
276 #[inline]
277 fn stv_abi_packed_encoded_size(&self) -> usize {
278 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
279 return size;
280 }
281 let tuple = <UnderlyingRustTuple<
282 '_,
283 > as ::core::convert::From<Self>>::from(self.clone());
284 <UnderlyingSolTuple<
285 '_,
286 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
287 }
288 }
289 #[automatically_derived]
290 impl alloy_sol_types::SolType for StakeUpdate {
291 type RustType = Self;
292 type Token<'a> = <UnderlyingSolTuple<
293 'a,
294 > as alloy_sol_types::SolType>::Token<'a>;
295 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
296 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
297 '_,
298 > as alloy_sol_types::SolType>::ENCODED_SIZE;
299 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
300 '_,
301 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
302 #[inline]
303 fn valid_token(token: &Self::Token<'_>) -> bool {
304 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
305 }
306 #[inline]
307 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
308 let tuple = <UnderlyingSolTuple<
309 '_,
310 > as alloy_sol_types::SolType>::detokenize(token);
311 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
312 }
313 }
314 #[automatically_derived]
315 impl alloy_sol_types::SolStruct for StakeUpdate {
316 const NAME: &'static str = "StakeUpdate";
317 #[inline]
318 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
319 alloy_sol_types::private::Cow::Borrowed(
320 "StakeUpdate(uint32 updateBlockNumber,uint32 nextUpdateBlockNumber,uint96 stake)",
321 )
322 }
323 #[inline]
324 fn eip712_components() -> alloy_sol_types::private::Vec<
325 alloy_sol_types::private::Cow<'static, str>,
326 > {
327 alloy_sol_types::private::Vec::new()
328 }
329 #[inline]
330 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
331 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
332 }
333 #[inline]
334 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
335 [
336 <alloy::sol_types::sol_data::Uint<
337 32,
338 > as alloy_sol_types::SolType>::eip712_data_word(
339 &self.updateBlockNumber,
340 )
341 .0,
342 <alloy::sol_types::sol_data::Uint<
343 32,
344 > as alloy_sol_types::SolType>::eip712_data_word(
345 &self.nextUpdateBlockNumber,
346 )
347 .0,
348 <alloy::sol_types::sol_data::Uint<
349 96,
350 > as alloy_sol_types::SolType>::eip712_data_word(&self.stake)
351 .0,
352 ]
353 .concat()
354 }
355 }
356 #[automatically_derived]
357 impl alloy_sol_types::EventTopic for StakeUpdate {
358 #[inline]
359 fn topic_preimage_length(rust: &Self::RustType) -> usize {
360 0usize
361 + <alloy::sol_types::sol_data::Uint<
362 32,
363 > as alloy_sol_types::EventTopic>::topic_preimage_length(
364 &rust.updateBlockNumber,
365 )
366 + <alloy::sol_types::sol_data::Uint<
367 32,
368 > as alloy_sol_types::EventTopic>::topic_preimage_length(
369 &rust.nextUpdateBlockNumber,
370 )
371 + <alloy::sol_types::sol_data::Uint<
372 96,
373 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.stake)
374 }
375 #[inline]
376 fn encode_topic_preimage(
377 rust: &Self::RustType,
378 out: &mut alloy_sol_types::private::Vec<u8>,
379 ) {
380 out.reserve(
381 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
382 );
383 <alloy::sol_types::sol_data::Uint<
384 32,
385 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
386 &rust.updateBlockNumber,
387 out,
388 );
389 <alloy::sol_types::sol_data::Uint<
390 32,
391 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
392 &rust.nextUpdateBlockNumber,
393 out,
394 );
395 <alloy::sol_types::sol_data::Uint<
396 96,
397 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
398 &rust.stake,
399 out,
400 );
401 }
402 #[inline]
403 fn encode_topic(
404 rust: &Self::RustType,
405 ) -> alloy_sol_types::abi::token::WordToken {
406 let mut out = alloy_sol_types::private::Vec::new();
407 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
408 rust,
409 &mut out,
410 );
411 alloy_sol_types::abi::token::WordToken(
412 alloy_sol_types::private::keccak256(out),
413 )
414 }
415 }
416 };
417 #[derive(serde::Serialize, serde::Deserialize)]
418 #[derive(Default, Debug, PartialEq, Eq, Hash)]
419 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
423 #[derive(Clone)]
424 pub struct StrategyParams {
425 #[allow(missing_docs)]
426 pub strategy: alloy::sol_types::private::Address,
427 #[allow(missing_docs)]
428 pub multiplier: alloy::sol_types::private::primitives::aliases::U96,
429 }
430 #[allow(
431 non_camel_case_types,
432 non_snake_case,
433 clippy::pub_underscore_fields,
434 clippy::style
435 )]
436 const _: () = {
437 use alloy::sol_types as alloy_sol_types;
438 #[doc(hidden)]
439 type UnderlyingSolTuple<'a> = (
440 alloy::sol_types::sol_data::Address,
441 alloy::sol_types::sol_data::Uint<96>,
442 );
443 #[doc(hidden)]
444 type UnderlyingRustTuple<'a> = (
445 alloy::sol_types::private::Address,
446 alloy::sol_types::private::primitives::aliases::U96,
447 );
448 #[cfg(test)]
449 #[allow(dead_code, unreachable_patterns)]
450 fn _type_assertion(
451 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
452 ) {
453 match _t {
454 alloy_sol_types::private::AssertTypeEq::<
455 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
456 >(_) => {}
457 }
458 }
459 #[automatically_derived]
460 #[doc(hidden)]
461 impl ::core::convert::From<StrategyParams> for UnderlyingRustTuple<'_> {
462 fn from(value: StrategyParams) -> Self {
463 (value.strategy, value.multiplier)
464 }
465 }
466 #[automatically_derived]
467 #[doc(hidden)]
468 impl ::core::convert::From<UnderlyingRustTuple<'_>> for StrategyParams {
469 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
470 Self {
471 strategy: tuple.0,
472 multiplier: tuple.1,
473 }
474 }
475 }
476 #[automatically_derived]
477 impl alloy_sol_types::SolValue for StrategyParams {
478 type SolType = Self;
479 }
480 #[automatically_derived]
481 impl alloy_sol_types::private::SolTypeValue<Self> for StrategyParams {
482 #[inline]
483 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
484 (
485 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
486 &self.strategy,
487 ),
488 <alloy::sol_types::sol_data::Uint<
489 96,
490 > as alloy_sol_types::SolType>::tokenize(&self.multiplier),
491 )
492 }
493 #[inline]
494 fn stv_abi_encoded_size(&self) -> usize {
495 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
496 return size;
497 }
498 let tuple = <UnderlyingRustTuple<
499 '_,
500 > as ::core::convert::From<Self>>::from(self.clone());
501 <UnderlyingSolTuple<
502 '_,
503 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
504 }
505 #[inline]
506 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
507 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
508 }
509 #[inline]
510 fn stv_abi_encode_packed_to(
511 &self,
512 out: &mut alloy_sol_types::private::Vec<u8>,
513 ) {
514 let tuple = <UnderlyingRustTuple<
515 '_,
516 > as ::core::convert::From<Self>>::from(self.clone());
517 <UnderlyingSolTuple<
518 '_,
519 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
520 }
521 #[inline]
522 fn stv_abi_packed_encoded_size(&self) -> usize {
523 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
524 return size;
525 }
526 let tuple = <UnderlyingRustTuple<
527 '_,
528 > as ::core::convert::From<Self>>::from(self.clone());
529 <UnderlyingSolTuple<
530 '_,
531 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
532 }
533 }
534 #[automatically_derived]
535 impl alloy_sol_types::SolType for StrategyParams {
536 type RustType = Self;
537 type Token<'a> = <UnderlyingSolTuple<
538 'a,
539 > as alloy_sol_types::SolType>::Token<'a>;
540 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
541 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
542 '_,
543 > as alloy_sol_types::SolType>::ENCODED_SIZE;
544 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
545 '_,
546 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
547 #[inline]
548 fn valid_token(token: &Self::Token<'_>) -> bool {
549 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
550 }
551 #[inline]
552 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
553 let tuple = <UnderlyingSolTuple<
554 '_,
555 > as alloy_sol_types::SolType>::detokenize(token);
556 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
557 }
558 }
559 #[automatically_derived]
560 impl alloy_sol_types::SolStruct for StrategyParams {
561 const NAME: &'static str = "StrategyParams";
562 #[inline]
563 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
564 alloy_sol_types::private::Cow::Borrowed(
565 "StrategyParams(address strategy,uint96 multiplier)",
566 )
567 }
568 #[inline]
569 fn eip712_components() -> alloy_sol_types::private::Vec<
570 alloy_sol_types::private::Cow<'static, str>,
571 > {
572 alloy_sol_types::private::Vec::new()
573 }
574 #[inline]
575 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
576 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
577 }
578 #[inline]
579 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
580 [
581 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::eip712_data_word(
582 &self.strategy,
583 )
584 .0,
585 <alloy::sol_types::sol_data::Uint<
586 96,
587 > as alloy_sol_types::SolType>::eip712_data_word(&self.multiplier)
588 .0,
589 ]
590 .concat()
591 }
592 }
593 #[automatically_derived]
594 impl alloy_sol_types::EventTopic for StrategyParams {
595 #[inline]
596 fn topic_preimage_length(rust: &Self::RustType) -> usize {
597 0usize
598 + <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::topic_preimage_length(
599 &rust.strategy,
600 )
601 + <alloy::sol_types::sol_data::Uint<
602 96,
603 > as alloy_sol_types::EventTopic>::topic_preimage_length(
604 &rust.multiplier,
605 )
606 }
607 #[inline]
608 fn encode_topic_preimage(
609 rust: &Self::RustType,
610 out: &mut alloy_sol_types::private::Vec<u8>,
611 ) {
612 out.reserve(
613 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
614 );
615 <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic_preimage(
616 &rust.strategy,
617 out,
618 );
619 <alloy::sol_types::sol_data::Uint<
620 96,
621 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
622 &rust.multiplier,
623 out,
624 );
625 }
626 #[inline]
627 fn encode_topic(
628 rust: &Self::RustType,
629 ) -> alloy_sol_types::abi::token::WordToken {
630 let mut out = alloy_sol_types::private::Vec::new();
631 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
632 rust,
633 &mut out,
634 );
635 alloy_sol_types::abi::token::WordToken(
636 alloy_sol_types::private::keccak256(out),
637 )
638 }
639 }
640 };
641 use alloy::contract as alloy_contract;
642 #[inline]
646 pub const fn new<
647 P: alloy_contract::private::Provider<N>,
648 N: alloy_contract::private::Network,
649 >(
650 address: alloy_sol_types::private::Address,
651 provider: P,
652 ) -> IStakeRegistryTypesInstance<P, N> {
653 IStakeRegistryTypesInstance::<P, N>::new(address, provider)
654 }
655 #[derive(Clone)]
667 pub struct IStakeRegistryTypesInstance<P, N = alloy_contract::private::Ethereum> {
668 address: alloy_sol_types::private::Address,
669 provider: P,
670 _network: ::core::marker::PhantomData<N>,
671 }
672 #[automatically_derived]
673 impl<P, N> ::core::fmt::Debug for IStakeRegistryTypesInstance<P, N> {
674 #[inline]
675 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
676 f.debug_tuple("IStakeRegistryTypesInstance").field(&self.address).finish()
677 }
678 }
679 #[automatically_derived]
681 impl<
682 P: alloy_contract::private::Provider<N>,
683 N: alloy_contract::private::Network,
684 > IStakeRegistryTypesInstance<P, N> {
685 #[inline]
689 pub const fn new(
690 address: alloy_sol_types::private::Address,
691 provider: P,
692 ) -> Self {
693 Self {
694 address,
695 provider,
696 _network: ::core::marker::PhantomData,
697 }
698 }
699 #[inline]
701 pub const fn address(&self) -> &alloy_sol_types::private::Address {
702 &self.address
703 }
704 #[inline]
706 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
707 self.address = address;
708 }
709 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
711 self.set_address(address);
712 self
713 }
714 #[inline]
716 pub const fn provider(&self) -> &P {
717 &self.provider
718 }
719 }
720 impl<P: ::core::clone::Clone, N> IStakeRegistryTypesInstance<&P, N> {
721 #[inline]
723 pub fn with_cloned_provider(self) -> IStakeRegistryTypesInstance<P, N> {
724 IStakeRegistryTypesInstance {
725 address: self.address,
726 provider: ::core::clone::Clone::clone(&self.provider),
727 _network: ::core::marker::PhantomData,
728 }
729 }
730 }
731 #[automatically_derived]
733 impl<
734 P: alloy_contract::private::Provider<N>,
735 N: alloy_contract::private::Network,
736 > IStakeRegistryTypesInstance<P, N> {
737 pub fn call_builder<C: alloy_sol_types::SolCall>(
742 &self,
743 call: &C,
744 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
745 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
746 }
747 }
748 #[automatically_derived]
750 impl<
751 P: alloy_contract::private::Provider<N>,
752 N: alloy_contract::private::Network,
753 > IStakeRegistryTypesInstance<P, N> {
754 pub fn event_filter<E: alloy_sol_types::SolEvent>(
759 &self,
760 ) -> alloy_contract::Event<&P, E, N> {
761 alloy_contract::Event::new_sol(&self.provider, &self.address)
762 }
763 }
764}
765#[allow(
2027 non_camel_case_types,
2028 non_snake_case,
2029 clippy::pub_underscore_fields,
2030 clippy::style,
2031 clippy::empty_structs_with_brackets
2032)]
2033pub mod StakeRegistry {
2034 use super::*;
2035 use alloy::sol_types as alloy_sol_types;
2036 #[rustfmt::skip]
2042 #[allow(clippy::all)]
2043 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
2044 b"a\x01\0`@R4\x80\x15a\0\x10W__\xFD[P`@Qa>X8\x03\x80a>X\x839\x81\x01`@\x81\x90Ra\0/\x91a\0hV[`\x01`\x01`\xA0\x1B\x03\x93\x84\x16`\xE0R\x91\x83\x16`\x80R\x82\x16`\xA0R\x16`\xC0Ra\0\xC4V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0eW__\xFD[PV[____`\x80\x85\x87\x03\x12\x15a\0{W__\xFD[\x84Qa\0\x86\x81a\0QV[` \x86\x01Q\x90\x94Pa\0\x97\x81a\0QV[`@\x86\x01Q\x90\x93Pa\0\xA8\x81a\0QV[``\x86\x01Q\x90\x92Pa\0\xB9\x81a\0QV[\x93\x96\x92\x95P\x90\x93PPV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa=\ra\x01K_9_\x81\x81a\x04\x12\x01R\x81\x81a\x0EY\x01R\x81\x81a\x16e\x01R\x81\x81a\x1D_\x01R\x81\x81a\x1E\x1B\x01Ra-\x93\x01R_\x81\x81a\x05\xBA\x01R\x81\x81a\x0F\x07\x01R\x81\x81a\x0F\x97\x01R\x81\x81a\x17\x13\x01R\x81\x81a\x18B\x01R\x81\x81a*m\x01Ra-Y\x01R_a\x03\xB3\x01R_\x81\x81a\x06\x1A\x01Ra#\xEB\x01Ra=\r_\xF3\xFE`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\x02\x1EW_5`\xE0\x1C\x80c\x9A\xB4\xD6\xFF\x11a\x01*W\x80c\xC8)LV\x11a\0\xB4W\x80c\xDF\\\xF7#\x11a\0yW\x80c\xDF\\\xF7#\x14a\x06\x15W\x80c\xE0\x86\xAD\xB3\x14a\x06<W\x80c\xF2\xBE\x94\xAE\x14a\x06OW\x80c\xF8Q\xE1\x98\x14a\x06bW\x80c\xFA(\xC6'\x14a\x06uW__\xFD[\x80c\xC8)LV\x14a\x05\xA2W\x80c\xCA\x8A\xA7\xC7\x14a\x05\xB5W\x80c\xCCZ| \x14a\x05\xDCW\x80c\xD5\xEC\xCC\x05\x14a\x05\xEFW\x80c\xDD\x98F\xB9\x14a\x06\x02W__\xFD[\x80c\xB6\x90Kx\x11a\0\xFAW\x80c\xB6\x90Kx\x14a\x05.W\x80c\xBC\x9A@\xC3\x14a\x05AW\x80c\xBD)\xB8\xCD\x14a\x05TW\x80c\xC4gx\xA5\x14a\x05gW\x80c\xC6\x01R}\x14a\x05\x8FW__\xFD[\x80c\x9A\xB4\xD6\xFF\x14a\x04\x81W\x80c\x9F<\xCFe\x14a\x04\xBBW\x80c\xACk\xFB\x03\x14a\x04\xCEW\x80c\xAD\xC8\x04\xDA\x14a\x04\xEEW__\xFD[\x80c^Zgu\x11a\x01\xABW\x80cl?\xB4\xBF\x11a\x01{W\x80cl?\xB4\xBF\x14a\x03\xEDW\x80cm\x14\xA9\x87\x14a\x04\rW\x80cu\xD4\x17:\x14a\x044W\x80c|\x17#G\x14a\x04GW\x80c\x81\xC0u\x02\x14a\x04aW__\xFD[\x80c^Zgu\x14a\x03]W\x80c_\x1F-w\x14a\x03lW\x80ci\x7F\xBD\x93\x14a\x03\x7FW\x80ck:\xA7.\x14a\x03\xAEW__\xFD[\x80c%PGw\x11a\x01\xF1W\x80c%PGw\x14a\x02\xB8W\x80c,\xD9Y@\x14a\x02\xD9W\x80c<\xA5\xA5\xF5\x14a\x02\xF9W\x80cK\xD2n\t\x14a\x03\x1BW\x80cT\x01\xED'\x14a\x03JW__\xFD[\x80c\x04\x91\xB4\x1C\x14a\x02\"W\x80c\x08s$a\x14a\x02WW\x80c\x1F\x9Bt\xE0\x14a\x02xW\x80c \xB6b\x98\x14a\x02\xA3W[__\xFD[a\x02Da\x0206`\x04a.\xB1V[`\xFF\x16_\x90\x81R`\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x02ja\x02e6`\x04a.\xCAV[a\x06\x88V[`@Qa\x02N\x92\x91\x90a.\xF2V[a\x02\x8Ba\x02\x866`\x04a/(V[a\x06\xCDV[`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R` \x01a\x02NV[a\x02\xB6a\x02\xB16`\x04a/\x9DV[a\x06\xEFV[\0[a\x02\xCBa\x02\xC66`\x04a0XV[a\x08\x8DV[`@Qa\x02N\x92\x91\x90a0\xF2V[a\x02\xECa\x02\xE76`\x04a1\x16V[a\n\x15V[`@Qa\x02N\x91\x90a1@V[a\x02Da\x03\x076`\x04a.\xB1V[`\xFF\x16_\x90\x81R`\x03` R`@\x90 T\x90V[a\x02Da\x03)6`\x04a1\x16V[_\x91\x82R`\x02` \x90\x81R`@\x80\x84 `\xFF\x93\x90\x93\x16\x84R\x91\x90R\x90 T\x90V[a\x02\x8Ba\x03X6`\x04a1\x16V[a\n\xB2V[a\x02Dg\r\xE0\xB6\xB3\xA7d\0\0\x81V[a\x02\xB6a\x03z6`\x04a2GV[a\n\xCAV[a\x03\xA1a\x03\x8D6`\x04a.\xB1V[`\x05` R_\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Qa\x02N\x91\x90a3\x03V[a\x03\xD5\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02NV[a\x04\0a\x03\xFB6`\x04a3\x8EV[a\x10\x08V[`@Qa\x02N\x91\x90a4`V[a\x03\xD5\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x02\xB6a\x04B6`\x04a5DV[a\x11cV[a\x04O` \x81V[`@Q`\xFF\x90\x91\x16\x81R` \x01a\x02NV[a\x04ta\x04o6`\x04a5\xAEV[a\x12IV[`@Qa\x02N\x91\x90a5\xFEV[a\x04\xA6a\x04\x8F6`\x04a.\xB1V[`\x06` R_\x90\x81R`@\x90 Tc\xFF\xFF\xFF\xFF\x16\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x02NV[a\x03\xD5a\x04\xC96`\x04a.\xCAV[a\x13\xEFV[a\x04\xE1a\x04\xDC6`\x04a6;V[a\x14#V[`@Qa\x02N\x91\x90a6kV[a\x05\x01a\x04\xFC6`\x04a.\xCAV[a\x14\xB9V[`@\x80Q\x82Q`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x92\x83\x01Q`\x01`\x01``\x1B\x03\x16\x92\x81\x01\x92\x90\x92R\x01a\x02NV[a\x04\xE1a\x05<6`\x04a.\xCAV[a\x150V[a\x02\xB6a\x05O6`\x04a6\xA5V[a\x15\xBDV[a\x02\xB6a\x05b6`\x04a6\xCDV[a\x15\xDEV[a\x02\x8Ba\x05u6`\x04a.\xB1V[_` \x81\x90R\x90\x81R`@\x90 T`\x01`\x01``\x1B\x03\x16\x81V[a\x02\xB6a\x05\x9D6`\x04a6\xFBV[a\x16AV[a\x02\x8Ba\x05\xB06`\x04a7EV[a\x18\xB1V[a\x03\xD5\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x02\xB6a\x05\xEA6`\x04a7\x81V[a\x19-V[a\x02\x8Ba\x05\xFD6`\x04a.\xB1V[a\x1A\x1FV[a\x04\xA6a\x06\x106`\x04a7\xEDV[a\x1ApV[a\x03\xD5\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x02\xB6a\x06J6`\x04a8*V[a\x1A\x84V[a\x02\x8Ba\x06]6`\x04a8TV[a\x1A\xA0V[a\x04\xE1a\x06p6`\x04a1\x16V[a\x1B3V[a\x02\x8Ba\x06\x836`\x04a7\xEDV[a\x1C!V[`\x03` R\x81_R`@_ \x81\x81T\x81\x10a\x06\xA1W_\x80\xFD[_\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x81\x16\x92P`\x01`\xA0\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x90P\x82V[_\x82a\x06\xD8\x81a\x1C\x80V[_a\x06\xE3\x85\x85a\x1C\xB2V[P\x92PP[P\x92\x91PPV[a\x06\xF7a\x1D]V[\x84a\x07\x01\x81a\x1C\x80V[\x83\x80a\x07 W`@Qcyl\xC5%`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82\x81\x14a\x07@W`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x87\x16_\x90\x81R`\x03` R`@\x81 \x90[\x82\x81\x10\x15a\x08\x82W\x85\x85\x82\x81\x81\x10a\x07mWa\x07ma8\x95V[\x90P` \x02\x01` \x81\x01\x90a\x07\x82\x91\x90a8\xA9V[\x82\x89\x89\x84\x81\x81\x10a\x07\x95Wa\x07\x95a8\x95V[\x90P` \x02\x015\x81T\x81\x10a\x07\xACWa\x07\xACa8\x95V[\x90_R` _ \x01_\x01`\x14a\x01\0\n\x81T\x81`\x01`\x01``\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01``\x1B\x03\x16\x02\x17\x90UP\x88`\xFF\x16\x7F\x11\xA5d\x13\"\xDA\x1D\xFFV\xA4\xB6n\xAA\xC3\x1F\xFAFR\x95\xEC\xE9\x07\xCD\x1647y;M\0\x9Au\x83\x8A\x8A\x85\x81\x81\x10a\x08\x12Wa\x08\x12a8\x95V[\x90P` \x02\x015\x81T\x81\x10a\x08)Wa\x08)a8\x95V[_\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x88\x88\x85\x81\x81\x10a\x08OWa\x08Oa8\x95V[\x90P` \x02\x01` \x81\x01\x90a\x08d\x91\x90a8\xA9V[`@Qa\x08r\x92\x91\x90a.\xF2V[`@Q\x80\x91\x03\x90\xA2`\x01\x01a\x07SV[PPPPPPPPPV[``\x80a\x08\x98a\x1E\x10V[_\x83`\x01`\x01`@\x1B\x03\x81\x11\x15a\x08\xB1Wa\x08\xB1a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x08\xDAW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_\x84`\x01`\x01`@\x1B\x03\x81\x11\x15a\x08\xF6Wa\x08\xF6a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\t\x1FW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x85\x81\x10\x15a\n\x07W_\x87\x87\x83\x81\x81\x10a\t?Wa\t?a8\x95V[\x91\x90\x91\x015`\xF8\x1C\x91Pa\tT\x90P\x81a\x1C\x80V[__a\t`\x83\x8Da\x1C\xB2V[\x91P\x91P\x80a\t\x82W`@Qc \x7F\x13\xE3`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\t\x8E\x8C\x85\x85a\x1EYV[\x90P\x82\x87\x86\x81Q\x81\x10a\t\xA3Wa\t\xA3a8\x95V[` \x02` \x01\x01\x90`\x01`\x01``\x1B\x03\x16\x90\x81`\x01`\x01``\x1B\x03\x16\x81RPPa\t\xCD\x84\x82a \xD2V[\x86\x86\x81Q\x81\x10a\t\xDFWa\t\xDFa8\x95V[`\x01`\x01``\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01RPP`\x01\x90\x92\x01\x91Pa\t$\x90PV[P\x90\x97\x90\x96P\x94PPPPPV[_\x82\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x85\x16\x84R\x82R\x80\x83 \x80T\x82Q\x81\x85\x02\x81\x01\x85\x01\x90\x93R\x80\x83R``\x94\x92\x93\x91\x92\x90\x91\x84\x01[\x82\x82\x10\x15a\n\xA5W_\x84\x81R` \x90\x81\x90 `@\x80Q``\x81\x01\x82R\x91\x85\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x84R`\x01` \x1B\x82\x04\x16\x83\x85\x01R`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x90\x82\x01R\x82R`\x01\x90\x92\x01\x91\x01a\nMV[PPPP\x90P[\x92\x91PPV[__a\n\xBE\x84\x84a\x1B3V[`@\x01Q\x94\x93PPPPV[a\n\xD2a\x1D]V[\x81a\n\xDC\x81a\x1C\x80V[\x81Q\x80a\n\xFCW`@Qcyl\xC5%`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x84\x16_\x90\x81R`\x03` \x90\x81R`@\x80\x83 `\x04\x90\x92R\x82 \x90\x91\x83`\x01`\x01`@\x1B\x03\x81\x11\x15a\x0B1Wa\x0B1a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0BZW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x84\x81\x10\x15a\x0EUW\x83\x87\x82\x81Q\x81\x10a\x0BzWa\x0Bza8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\x0B\x92Wa\x0B\x92a8\x95V[_\x91\x82R` \x90\x91 \x01T\x82Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90\x83\x90\x83\x90\x81\x10a\x0B\xBDWa\x0B\xBDa8\x95V[` \x02` \x01\x01\x90`\x01`\x01`\xA0\x1B\x03\x16\x90\x81`\x01`\x01`\xA0\x1B\x03\x16\x81RPP\x87`\xFF\x16\x7F1\xFA.,\xD2\x80\xC97^\x13\xFF\xCF=\x81\xE27\x81\0\x18n@X\xF8\xD3\xDD\xB6\x90\xB8-\xCD1\xF7\x85\x89\x84\x81Q\x81\x10a\x0C\x15Wa\x0C\x15a8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\x0C-Wa\x0C-a8\x95V[_\x91\x82R` \x91\x82\x90 \x01T`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R\x01`@Q\x80\x91\x03\x90\xA2\x87`\xFF\x16\x7F\x11\xA5d\x13\"\xDA\x1D\xFFV\xA4\xB6n\xAA\xC3\x1F\xFAFR\x95\xEC\xE9\x07\xCD\x1647y;M\0\x9Au\x85\x89\x84\x81Q\x81\x10a\x0C\x8AWa\x0C\x8Aa8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\x0C\xA2Wa\x0C\xA2a8\x95V[_\x91\x82R` \x80\x83 \x91\x90\x91\x01T`@\x80Q`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x82R\x91\x81\x01\x92\x90\x92R\x01`@Q\x80\x91\x03\x90\xA2\x83T\x84\x90a\x0C\xE1\x90`\x01\x90a8\xD6V[\x81T\x81\x10a\x0C\xF1Wa\x0C\xF1a8\x95V[\x90_R` _ \x01\x84\x88\x83\x81Q\x81\x10a\r\x0CWa\r\x0Ca8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\r$Wa\r$a8\x95V[_\x91\x82R` \x90\x91 \x82T\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x82\x17\x81U\x91T`\x01`\x01``\x1B\x03`\x01`\xA0\x1B\x91\x82\x90\x04\x16\x02\x17\x90U\x83T\x84\x90\x80a\rvWa\rva8\xE9V[_\x82\x81R` \x81 \x82\x01_\x19\x90\x81\x01\x91\x90\x91U\x01\x90U\x82T\x83\x90a\r\x9C\x90`\x01\x90a8\xD6V[\x81T\x81\x10a\r\xACWa\r\xACa8\x95V[\x90_R` _ \x01_\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16\x83\x88\x83\x81Q\x81\x10a\r\xDAWa\r\xDAa8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\r\xF2Wa\r\xF2a8\x95V[\x90_R` _ \x01_a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP\x82\x80T\x80a\x0E-Wa\x0E-a8\xE9V[_\x82\x81R` \x90 \x81\x01_\x19\x90\x81\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90U\x01\x90U`\x01\x01a\x0B_V[P_\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xDE\x11d\xBB`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\xB3W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E\xD7\x91\x90a8\xFDV[`@\x80Q\x80\x82\x01\x82R`\x01`\x01`\xA0\x1B\x03\x83\x81\x16\x82R`\xFF\x8C\x16` \x83\x01R\x91Qc\x04\xC1\xB8\xEB`\xE3\x1B\x81R\x92\x93P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x91c&\r\xC7X\x91a\x0F<\x91`\x04\x01a9\x18V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0FWW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0F{\x91\x90a9>V[\x15a\x0F\xFEW`@Qc\xB6k\xD9\x89`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xB6k\xD9\x89\x90a\x0F\xD0\x90\x84\x90\x8C\x90\x87\x90`\x04\x01a9]V[_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x0F\xE7W__\xFD[PZ\xF1\x15\x80\x15a\x0F\xF9W=__>=_\xFD[PPPP[PPPPPPPPV[``a\x10\x12a\x1E\x10V[_\x84Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\x10,Wa\x10,a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x10UW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90Pa\x10a\x83a\x1C\x80V[__a\x10m\x85\x88a\"CV[\x90\x92P\x90P_\x80[\x88Q\x81\x10\x15a\x11IW\x82\x81\x81Q\x81\x10a\x10\x90Wa\x10\x90a8\x95V[` \x02` \x01\x01Qa\x10\xF4W_\x84\x82\x81Q\x81\x10a\x10\xAFWa\x10\xAFa8\x95V[` \x02` \x01\x01\x90`\x01`\x01``\x1B\x03\x16\x90\x81`\x01`\x01``\x1B\x03\x16\x81RPP`\x01\x85\x82\x81Q\x81\x10a\x10\xE3Wa\x10\xE3a8\x95V[\x91\x15\x15` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R[_a\x112\x89\x83\x81Q\x81\x10a\x11\nWa\x11\na8\x95V[` \x02` \x01\x01Q\x89\x87\x85\x81Q\x81\x10a\x11%Wa\x11%a8\x95V[` \x02` \x01\x01Qa\x1EYV[\x90Pa\x11>\x81\x84a9\xC7V[\x92PP`\x01\x01a\x10uV[Pa\x11T\x86\x82a \xD2V[P\x92\x93PPPP[\x93\x92PPPV[a\x11ka\x1E\x10V[`\xFF\x83\x16_\x90\x81R`\x01` R`@\x90 T\x15a\x11\x9BW`@Qc\x10\xCD\xA5\x17`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x11\xA5\x83\x82a%\xE9V[a\x11\xAF\x83\x83a(\xDAV[a\x11\xB9\x83_a)BV[PP`\xFF\x16_\x90\x81R`\x01` \x81\x81R`@\x80\x84 \x81Q``\x81\x01\x83Rc\xFF\xFF\xFF\xFFC\x81\x16\x82R\x81\x85\x01\x87\x81R\x93\x82\x01\x87\x81R\x83T\x96\x87\x01\x84U\x92\x87R\x93\x90\x95 \x94Q\x94\x90\x93\x01\x80T\x91Q\x93Q`\x01`\x01``\x1B\x03\x16`\x01`@\x1B\x02`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x94\x84\x16`\x01` \x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x93\x16\x95\x90\x93\x16\x94\x90\x94\x17\x17\x91\x90\x91\x16\x17\x90UV[``_\x82`\x01`\x01`@\x1B\x03\x81\x11\x15a\x12dWa\x12da1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x12\x8DW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x83\x81\x10\x15a\x13\xE6W_\x85\x85\x83\x81\x81\x10a\x12\xADWa\x12\xADa8\x95V[\x91\x90\x91\x015`\xF8\x1C\x91Pa\x12\xC2\x90P\x81a\x1C\x80V[`\xFF\x81\x16_\x90\x81R`\x01` R`@\x81 \x80Tc\xFF\xFF\xFF\xFF\x8A\x16\x92\x90a\x12\xEAWa\x12\xEAa8\x95V[_\x91\x82R` \x90\x91 \x01Tc\xFF\xFF\xFF\xFF\x16\x11\x15a\x13\x1AW`@Qc\xCCdes`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x81\x16_\x90\x81R`\x01` R`@\x81 T\x90[\x81\x81\x10\x15a\x13\xDBW`\xFF\x83\x16_\x90\x81R`\x01` \x81\x90R`@\x90\x91 c\xFF\xFF\xFF\xFF\x8B\x16\x91a\x13\\\x84\x86a8\xD6V[a\x13f\x91\x90a8\xD6V[\x81T\x81\x10a\x13vWa\x13va8\x95V[_\x91\x82R` \x90\x91 \x01Tc\xFF\xFF\xFF\xFF\x16\x11a\x13\xD3W`\x01a\x13\x98\x82\x84a8\xD6V[a\x13\xA2\x91\x90a8\xD6V[\x85\x85\x81Q\x81\x10a\x13\xB4Wa\x13\xB4a8\x95V[` \x02` \x01\x01\x90c\xFF\xFF\xFF\xFF\x16\x90\x81c\xFF\xFF\xFF\xFF\x16\x81RPPa\x13\xDBV[`\x01\x01a\x13.V[PPP`\x01\x01a\x12\x92V[P\x94\x93PPPPV[`\x04` R\x81_R`@_ \x81\x81T\x81\x10a\x14\x08W_\x80\xFD[_\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x91P\x82\x90PV[`@\x80Q``\x81\x01\x82R_\x80\x82R` \x80\x83\x01\x82\x90R\x82\x84\x01\x82\x90R\x85\x82R`\x02\x81R\x83\x82 `\xFF\x88\x16\x83R\x90R\x91\x90\x91 \x80T\x83\x90\x81\x10a\x14gWa\x14ga8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x92\x90\x91\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x84R`\x01` \x1B\x82\x04\x16\x93\x83\x01\x93\x90\x93R`\x01`@\x1B\x90\x92\x04`\x01`\x01``\x1B\x03\x16\x91\x81\x01\x91\x90\x91R\x94\x93PPPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R`\xFF\x83\x16_\x90\x81R`\x03` R`@\x90 \x80T\x83\x90\x81\x10a\x14\xEFWa\x14\xEFa8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q\x80\x82\x01\x90\x91R\x91\x01T`\x01`\x01`\xA0\x1B\x03\x81\x16\x82R`\x01`\xA0\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x91\x81\x01\x91\x90\x91R\x93\x92PPPV[`@\x80Q``\x81\x01\x82R_\x80\x82R` \x80\x83\x01\x82\x90R\x82\x84\x01\x82\x90R`\xFF\x86\x16\x82R`\x01\x90R\x91\x90\x91 \x80T\x83\x90\x81\x10a\x15lWa\x15la8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x92\x90\x91\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x84R`\x01` \x1B\x82\x04\x16\x93\x83\x01\x93\x90\x93R`\x01`@\x1B\x90\x92\x04`\x01`\x01``\x1B\x03\x16\x91\x81\x01\x91\x90\x91R\x93\x92PPPV[a\x15\xC5a\x1D]V[\x81a\x15\xCF\x81a\x1C\x80V[a\x15\xD9\x83\x83a(\xDAV[PPPV[a\x15\xE6a\x1E\x10V[_[\x81\x81\x10\x15a\x16;W_\x83\x83\x83\x81\x81\x10a\x16\x03Wa\x16\x03a8\x95V[\x91\x90\x91\x015`\xF8\x1C\x91Pa\x16\x18\x90P\x81a\x1C\x80V[_a\x16$\x86\x83_a\x1EYV[\x90Pa\x160\x82\x82a \xD2V[PPP`\x01\x01a\x15\xE8V[PPPPV[a\x16Ia\x1D]V[\x81a\x16S\x81a\x1C\x80V[a\x16]\x83\x83a%\xE9V[_\x82Q\x90P_\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xDE\x11d\xBB`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x16\xBFW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16\xE3\x91\x90a8\xFDV[`@\x80Q\x80\x82\x01\x82R`\x01`\x01`\xA0\x1B\x03\x83\x81\x16\x82R`\xFF\x89\x16` \x83\x01R\x91Qc\x04\xC1\xB8\xEB`\xE3\x1B\x81R\x92\x93P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x91c&\r\xC7X\x91a\x17H\x91`\x04\x01a9\x18V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17cW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17\x87\x91\x90a9>V[\x15a\x18\xAAW_\x82`\x01`\x01`@\x1B\x03\x81\x11\x15a\x17\xA5Wa\x17\xA5a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x17\xCEW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x83\x81\x10\x15a\x18*W\x85\x81\x81Q\x81\x10a\x17\xEDWa\x17\xEDa8\x95V[` \x02` \x01\x01Q_\x01Q\x82\x82\x81Q\x81\x10a\x18\nWa\x18\na8\x95V[`\x01`\x01`\xA0\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a\x17\xD3V[P`@Qc\x02\x87\xF7Q`\xE5\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cP\xFE\xEA \x90a\x18{\x90\x85\x90\x8A\x90\x86\x90`\x04\x01a9]V[_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x18\x92W__\xFD[PZ\xF1\x15\x80\x15a\x18\xA4W=__>=_\xFD[PPPPP[PPPPPV[`\xFF\x83\x16_\x90\x81R`\x01` R`@\x81 \x80T\x82\x91\x90\x84\x90\x81\x10a\x18\xD7Wa\x18\xD7a8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x91\x90\x92\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x83R`\x01` \x1B\x82\x04\x16\x93\x82\x01\x93\x90\x93R`\x01`\x01``\x1B\x03`\x01`@\x1B\x90\x93\x04\x92\x90\x92\x16\x90\x82\x01R\x90Pa\n\xBE\x81\x85a)\xAFV[a\x195a\x1E\x10V[`\xFF\x84\x16_\x90\x81R`\x01` R`@\x90 T\x15a\x19eW`@Qc\x10\xCD\xA5\x17`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x19o\x84\x82a%\xE9V[a\x19y\x84\x84a(\xDAV[a\x19\x84\x84`\x01a)BV[a\x19\x8E\x84\x83a*&V[PPP`\xFF\x16_\x90\x81R`\x01` \x81\x81R`@\x80\x84 \x81Q``\x81\x01\x83Rc\xFF\xFF\xFF\xFFC\x81\x16\x82R\x81\x85\x01\x87\x81R\x93\x82\x01\x87\x81R\x83T\x96\x87\x01\x84U\x92\x87R\x93\x90\x95 \x94Q\x94\x90\x93\x01\x80T\x91Q\x93Q`\x01`\x01``\x1B\x03\x16`\x01`@\x1B\x02`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x94\x84\x16`\x01` \x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x93\x16\x95\x90\x93\x16\x94\x90\x94\x17\x17\x91\x90\x91\x16\x17\x90UV[`\xFF\x81\x16_\x90\x81R`\x01` \x81\x90R`@\x82 \x80T\x90\x91a\x1A?\x91a8\xD6V[\x81T\x81\x10a\x1AOWa\x1AOa8\x95V[_\x91\x82R` \x90\x91 \x01T`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x92\x91PPV[_a\x1A|\x84\x84\x84a+\x83V[\x94\x93PPPPV[a\x1A\x8Ca\x1D]V[\x81a\x1A\x96\x81a\x1C\x80V[a\x15\xD9\x83\x83a*&V[_\x82\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x88\x16\x84R\x90\x91R\x81 \x80T\x82\x91\x90\x84\x90\x81\x10a\x1A\xD0Wa\x1A\xD0a8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x91\x90\x92\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x83R`\x01` \x1B\x82\x04\x16\x93\x82\x01\x93\x90\x93R`\x01`\x01``\x1B\x03`\x01`@\x1B\x90\x93\x04\x92\x90\x92\x16\x90\x82\x01R\x90Pa\x1B&\x81\x86a)\xAFV[`@\x01Q\x95\x94PPPPPV[`@\x80Q``\x80\x82\x01\x83R_\x80\x83R` \x80\x84\x01\x82\x90R\x83\x85\x01\x82\x90R\x86\x82R`\x02\x81R\x84\x82 `\xFF\x87\x16\x83R\x81R\x84\x82 T\x85Q\x93\x84\x01\x86R\x82\x84R\x90\x83\x01\x82\x90R\x93\x82\x01\x81\x90R\x91\x92\x91\x82\x90\x03a\x1B\x8FW\x91Pa\n\xAC\x90PV[_\x85\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x88\x16\x84R\x90\x91R\x90 a\x1B\xB5`\x01\x84a8\xD6V[\x81T\x81\x10a\x1B\xC5Wa\x1B\xC5a8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x91\x90\x92\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x83R`\x01` \x1B\x82\x04\x16\x93\x82\x01\x93\x90\x93R`\x01`\x01``\x1B\x03`\x01`@\x1B\x90\x93\x04\x92\x90\x92\x16\x90\x82\x01R\x92Pa\n\xAC\x91PPV[PP\x92\x91PPV[_\x83\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x86\x16\x84R\x90\x91R\x81 a\x1CG\x85\x85\x85a+\x83V[c\xFF\xFF\xFF\xFF\x16\x81T\x81\x10a\x1C]Wa\x1C]a8\x95V[_\x91\x82R` \x90\x91 \x01T`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x94\x93PPPPV[`\xFF\x81\x16_\x90\x81R`\x01` R`@\x90 Ta\x1C\xAFW`@Qcs\x10\xCF\xF5`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R_\x91\x82\x91\x82\x91` \x80\x83\x01\x90\x806\x837\x01\x90PP\x90P\x83\x81_\x81Q\x81\x10a\x1C\xEAWa\x1C\xEAa8\x95V[` \x02` \x01\x01\x90`\x01`\x01`\xA0\x1B\x03\x16\x90\x81`\x01`\x01`\xA0\x1B\x03\x16\x81RPP__a\x1D\x16\x87\x84a\"CV[\x91P\x91P\x81_\x81Q\x81\x10a\x1D,Wa\x1D,a8\x95V[` \x02` \x01\x01Q\x81_\x81Q\x81\x10a\x1DFWa\x1DFa8\x95V[` \x02` \x01\x01Q\x94P\x94PPPP[\x92P\x92\x90PV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1D\xB9W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1D\xDD\x91\x90a8\xFDV[`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\x1E\x0EW`@Qc\xCE\x98\xC2K`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[V[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x1E\x0EW`@Qc,\x01\xB2\x05`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_\x83\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x86\x16\x84R\x90\x91R\x81 T\x81\x90\x80\x82\x03a\x1F\x1DW_\x86\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x89\x16\x84R\x82R\x80\x83 \x81Q``\x81\x01\x83Rc\xFF\xFF\xFF\xFFC\x81\x16\x82R\x81\x85\x01\x86\x81R`\x01`\x01``\x1B\x03\x80\x8C\x16\x95\x84\x01\x95\x86R\x84T`\x01\x81\x01\x86U\x94\x88R\x95\x90\x96 \x91Q\x91\x90\x92\x01\x80T\x95Q\x93Q\x90\x94\x16`\x01`@\x1B\x02`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x93\x83\x16`\x01` \x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x96\x16\x91\x90\x92\x16\x17\x93\x90\x93\x17\x16\x91\x90\x91\x17\x90Ua xV[_\x86\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x89\x16\x84R\x90\x91R\x81 a\x1FC`\x01\x84a8\xD6V[\x81T\x81\x10a\x1FSWa\x1FSa8\x95V[_\x91\x82R` \x90\x91 \x01\x80T`\x01`\x01``\x1B\x03`\x01`@\x1B\x90\x91\x04\x81\x16\x94P\x90\x91P\x85\x16\x83\x03a\x1F\x89W_\x93PPPPa\x11\\V[\x80Tc\xFF\xFF\xFF\xFFC\x81\x16\x91\x16\x03a\x1F\xC1W\x80T`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x16`\x01`@\x1B`\x01`\x01``\x1B\x03\x87\x16\x02\x17\x81Ua vV[\x80Tg\xFF\xFF\xFF\xFF\0\0\0\0\x19\x16`\x01` \x1BCc\xFF\xFF\xFF\xFF\x90\x81\x16\x82\x81\x02\x93\x90\x93\x17\x84U_\x8A\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x8D\x16\x84R\x82R\x80\x83 \x81Q``\x81\x01\x83R\x96\x87R\x86\x83\x01\x84\x81R`\x01`\x01``\x1B\x03\x8D\x81\x16\x93\x89\x01\x93\x84R\x82T`\x01\x81\x01\x84U\x92\x86R\x93\x90\x94 \x96Q\x96\x01\x80T\x93Q\x91Q\x96\x85\x16g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x94\x16\x93\x90\x93\x17\x93\x16\x90\x93\x02\x91\x90\x91\x17`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x16`\x01`@\x1B\x93\x90\x92\x16\x92\x90\x92\x02\x17\x90U[P[`@\x80Q`\xFF\x87\x16\x81R`\x01`\x01``\x1B\x03\x86\x16` \x82\x01R\x87\x91\x7F/R}R~\x95\xD8\xFE@\xAE\xC5Swt;\xB7y\x08}\xA3\xF6\xD0\xD0\x8F\x12\xE3dD\xDAb2}\x91\x01`@Q\x80\x91\x03\x90\xA2a \xC8\x82\x85a,\xEAV[\x96\x95PPPPPPV[`\xFF\x82\x16_\x90\x81R`\x01` \x81\x90R`@\x82 \x80T\x91\x83\x91\x90a \xF5\x90\x84a8\xD6V[\x81T\x81\x10a!\x05Wa!\x05a8\x95V[\x90_R` _ \x01\x90P\x83_\x03a!0WT`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x91Pa\n\xAC\x90PV[\x80T_\x90a!N\x90`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x86a-\x01V[\x82T\x90\x91Pc\xFF\xFF\xFF\xFFC\x81\x16\x91\x16\x03a!\x89W\x81T`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x16`\x01`@\x1B`\x01`\x01``\x1B\x03\x83\x16\x02\x17\x82Ua\":V[\x81Tc\xFF\xFF\xFF\xFFC\x81\x16`\x01` \x1B\x81\x81\x02g\xFF\xFF\xFF\xFF\0\0\0\0\x19\x90\x94\x16\x93\x90\x93\x17\x85U`\xFF\x89\x16_\x90\x81R`\x01` \x81\x81R`@\x80\x84 \x81Q``\x81\x01\x83R\x95\x86R\x85\x83\x01\x85\x81R`\x01`\x01``\x1B\x03\x80\x8B\x16\x93\x88\x01\x93\x84R\x82T\x95\x86\x01\x83U\x91\x86R\x92\x90\x94 \x94Q\x94\x90\x92\x01\x80T\x91Q\x92Q\x90\x93\x16`\x01`@\x1B\x02`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x92\x86\x16\x90\x96\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x91\x16\x93\x90\x94\x16\x92\x90\x92\x17\x92\x90\x92\x17\x16\x91\x90\x91\x17\x90U[\x95\x94PPPPPV[``\x80_\x83Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\"`Wa\"`a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\"\x89W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_\x84Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\"\xA6Wa\"\xA6a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\"\xCFW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_a\"\xEB\x87`\xFF\x16_\x90\x81R`\x03` R`@\x90 T\x90V[`\xFF\x88\x16_\x90\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x82Q\x81\x85\x02\x81\x01\x85\x01\x90\x93R\x80\x83R\x94\x95P\x92\x93\x90\x92\x91\x84\x90\x84\x01[\x82\x82\x10\x15a#kW_\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x90\x91R\x90\x84\x01T`\x01`\x01`\xA0\x1B\x03\x81\x16\x82R`\x01`\xA0\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x81\x83\x01R\x82R`\x01\x90\x92\x01\x91\x01a#\x1DV[PPPP\x90P```\x01\x80\x81\x11\x15a#\x85Wa#\x85a2\xEFV[`\xFF\x80\x8B\x16_\x90\x81R`\x05` R`@\x90 T\x16`\x01\x81\x11\x15a#\xAAWa#\xAAa2\xEFV[\x03a#\xC0Wa#\xB9\x89\x89a-.V[\x90Pa$cV[`\xFF\x89\x16_\x90\x81R`\x04` \x81\x90R`@\x91\x82\x90 \x91Qcxps;`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x92c\xF0\xE0\xE6v\x92a$\x1F\x92\x8D\x92\x91\x01a:[V[_`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a$9W=__>=_\xFD[PPPP`@Q=_\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra$`\x91\x90\x81\x01\x90a:\x7FV[\x90P[_[\x88Q\x81\x10\x15a%\xD9W_[\x84\x81\x10\x15a%iW_\x84\x82\x81Q\x81\x10a$\x8BWa$\x8Ba8\x95V[` \x02` \x01\x01Q\x90P_\x84\x84\x81Q\x81\x10a$\xA8Wa$\xA8a8\x95V[` \x02` \x01\x01Q\x83\x81Q\x81\x10a$\xC1Wa$\xC1a8\x95V[` \x02` \x01\x01Q\x11\x15a%`Wg\r\xE0\xB6\xB3\xA7d\0\0\x81` \x01Q`\x01`\x01``\x1B\x03\x16\x85\x85\x81Q\x81\x10a$\xF8Wa$\xF8a8\x95V[` \x02` \x01\x01Q\x84\x81Q\x81\x10a%\x11Wa%\x11a8\x95V[` \x02` \x01\x01Qa%#\x91\x90a;\x8BV[a%-\x91\x90a;\xA2V[\x88\x84\x81Q\x81\x10a%?Wa%?a8\x95V[` \x02` \x01\x01\x81\x81Qa%S\x91\x90a;\xC1V[`\x01`\x01``\x1B\x03\x16\x90RP[P`\x01\x01a$pV[P`\xFF\x8A\x16_\x90\x81R` \x81\x90R`@\x90 T\x86Q`\x01`\x01``\x1B\x03\x90\x91\x16\x90\x87\x90\x83\x90\x81\x10a%\x9CWa%\x9Ca8\x95V[` \x02` \x01\x01Q`\x01`\x01``\x1B\x03\x16\x10\x15\x85\x82\x81Q\x81\x10a%\xC1Wa%\xC1a8\x95V[\x91\x15\x15` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a$eV[P\x93\x98\x92\x97P\x91\x95PPPPPPV[_\x81Q\x11a&\nW`@Qcyl\xC5%`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80Q`\xFF\x83\x16_\x90\x81R`\x03` \x90\x81R`@\x90\x91 T\x90a&,\x83\x83a;\xE0V[\x11\x15a&KW`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_[\x82\x81\x10\x15a\x18\xAAW_[a&a\x82\x84a;\xE0V[\x81\x10\x15a&\xF0W\x84\x82\x81Q\x81\x10a&zWa&za8\x95V[` \x02` \x01\x01Q_\x01Q`\x01`\x01`\xA0\x1B\x03\x16`\x03_\x88`\xFF\x16`\xFF\x16\x81R` \x01\x90\x81R` \x01_ \x82\x81T\x81\x10a&\xB6Wa&\xB6a8\x95V[_\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x03a&\xE8W`@Qc{t4\x0B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a&WV[P_\x84\x82\x81Q\x81\x10a'\x04Wa'\x04a8\x95V[` \x02` \x01\x01Q` \x01Q`\x01`\x01``\x1B\x03\x16\x11a'7W`@QcrW\x12Q`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x85\x16_\x90\x81R`\x03` R`@\x90 \x84Q\x85\x90\x83\x90\x81\x10a'\\Wa'\\a8\x95V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01Q\x82T`\x01\x81\x01\x84U_\x93\x84R\x82\x84 \x82Q\x92\x84\x01Q`\x01`\x01``\x1B\x03\x16`\x01`\xA0\x1B\x02`\x01`\x01`\xA0\x1B\x03\x90\x93\x16\x92\x90\x92\x17\x91\x01U`\xFF\x87\x16\x82R`\x04\x90R`@\x90 \x84Q\x85\x90\x83\x90\x81\x10a'\xC0Wa'\xC0a8\x95V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQ\x82T`\x01\x81\x01\x84U_\x93\x84R\x91\x90\x92 \x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x90\x91\x17\x90U\x83Q`\xFF\x86\x16\x90\x7F\x10V^V\xCA\xCB\xF3.\xCA&yE\xF0T\xFE\xC0.Yu\x002\xD1\x13\xD30!\x82\xAD\x96\x7FT\x04\x90\x86\x90\x84\x90\x81\x10a(6Wa(6a8\x95V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQ`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R\x01`@Q\x80\x91\x03\x90\xA2\x84`\xFF\x16\x7F\x11\xA5d\x13\"\xDA\x1D\xFFV\xA4\xB6n\xAA\xC3\x1F\xFAFR\x95\xEC\xE9\x07\xCD\x1647y;M\0\x9Au\x85\x83\x81Q\x81\x10a(\x93Wa(\x93a8\x95V[` \x02` \x01\x01Q_\x01Q\x86\x84\x81Q\x81\x10a(\xB0Wa(\xB0a8\x95V[` \x02` \x01\x01Q` \x01Q`@Qa(\xCA\x92\x91\x90a.\xF2V[`@Q\x80\x91\x03\x90\xA2`\x01\x01a&MV[`\xFF\x82\x16_\x81\x81R` \x81\x81R`@\x91\x82\x90 \x80Tk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01`\x01``\x1B\x03\x86\x16\x90\x81\x17\x90\x91U\x91Q\x91\x82R\x7F&\xEE\xCF\xF2\xB7\x0B\nq\x10O\xF4\xD9@\xBAqb\xD2:\x95\xC2Hw\x1F\xC4\x87\xA7\xBE\x17\xA5\x96\xB3\xCF\x91\x01`@Q\x80\x91\x03\x90\xA2PPV[`\xFF\x82\x16_\x90\x81R`\x05` R`@\x90 \x80T\x82\x91\x90`\xFF\x19\x16`\x01\x83\x81\x81\x11\x15a)oWa)oa2\xEFV[\x02\x17\x90UP\x7F|\x11.\x86<\xCF\0xb\xE2\xC9\xE2X\x19\xC93\xFE\xDB\xC95\ndCB;J\x85\x99\xC2\xE8\xA5-\x81`@Qa)\xA3\x91\x90a3\x03V[`@Q\x80\x91\x03\x90\xA1PPV[\x81_\x01Qc\xFF\xFF\xFF\xFF\x16\x81c\xFF\xFF\xFF\xFF\x16\x10\x15a)\xDFW`@Qc\x13\x91\xE1\x1B`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x82\x01Qc\xFF\xFF\xFF\xFF\x16\x15\x80a*\x05WP\x81` \x01Qc\xFF\xFF\xFF\xFF\x16\x81c\xFF\xFF\xFF\xFF\x16\x10[a*\"W`@Qc\x13\x91\xE1\x1B`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[`\x01`\xFF\x80\x84\x16_\x90\x81R`\x05` R`@\x90 T\x16`\x01\x81\x11\x15a*MWa*Ma2\xEFV[\x14a*kW`@Qc\xA3\xBE%\x83`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c)\x81\xEBw`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a*\xC7W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a*\xEB\x91\x90a;\xF3V[c\xFF\xFF\xFF\xFF\x16\x81c\xFF\xFF\xFF\xFF\x16\x11\x15a+\x17W`@Qc\x0B\xD4A\xB9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x82\x16_\x90\x81R`\x06` \x90\x81R`@\x91\x82\x90 \x80Tc\xFF\xFF\xFF\xFF\x19\x81\x16c\xFF\xFF\xFF\xFF\x86\x81\x16\x91\x82\x17\x90\x93U\x84Q\x92\x90\x91\x16\x80\x83R\x92\x82\x01R\x90\x91\x7F(\xD75\x8By\xF0-!\xB8\xB7\xE1z\xEF\xC4\x18Zd0\x8A\xA3t\x06\xFA[\xEF\xC0[\x91\x93,9\xC7\x91\x01`@Q\x80\x91\x03\x90\xA1PPPV[_\x83\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x86\x16\x84R\x90\x91R\x81 T\x80[\x80\x15a,!W_\x86\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x89\x16\x84R\x90\x91R\x90 c\xFF\xFF\xFF\xFF\x85\x16\x90a+\xD5`\x01\x84a8\xD6V[\x81T\x81\x10a+\xE5Wa+\xE5a8\x95V[_\x91\x82R` \x90\x91 \x01Tc\xFF\xFF\xFF\xFF\x16\x11a,\x0FWa,\x06`\x01\x82a8\xD6V[\x92PPPa\x11\\V[\x80a,\x19\x81a<\x0EV[\x91PPa+\xA1V[P`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x81`$\x82\x01R\x7FStakeRegistry._getStakeUpdateInd`D\x82\x01R\x7FexForOperatorAtBlockNumber: no s`d\x82\x01R\x7Ftake update found for operatorId`\x84\x82\x01R\x7F and quorumNumber at block numbe`\xA4\x82\x01R`9`\xF9\x1B`\xC4\x82\x01R`\xE4\x01`@Q\x80\x91\x03\x90\xFD[_a\x11\\`\x01`\x01``\x1B\x03\x80\x85\x16\x90\x84\x16a<#V[__\x82\x12\x15a-$Wa-\x13\x82a<BV[a-\x1D\x90\x84a<\\V[\x90Pa\n\xACV[a-\x1D\x82\x84a;\xC1V[`\xFF\x82\x16_\x90\x81R`\x06` R`@\x81 T``\x91\x90a-T\x90c\xFF\xFF\xFF\xFF\x16Ca;\xE0V[\x90P_\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c+\xAB,J`@Q\x80`@\x01`@R\x80\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xDE\x11d\xBB`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a-\xEDW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a.\x11\x91\x90a8\xFDV[`\x01`\x01`\xA0\x1B\x03\x16\x81R`\xFF\x89\x16` \x91\x82\x01\x81\x90R_\x90\x81R`\x04\x91\x82\x90R`@\x90\x81\x90 \x90Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x86\x90\x1B\x16\x81Ra.[\x93\x92\x8A\x92\x91\x89\x91\x01a<{V[_`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a.uW=__>=_\xFD[PPPP`@Q=_\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\":\x91\x90\x81\x01\x90a:\x7FV[\x805`\xFF\x81\x16\x81\x14a.\xACW__\xFD[\x91\x90PV[_` \x82\x84\x03\x12\x15a.\xC1W__\xFD[a\x11\\\x82a.\x9CV[__`@\x83\x85\x03\x12\x15a.\xDBW__\xFD[a.\xE4\x83a.\x9CV[\x94` \x93\x90\x93\x015\x93PPPV[`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x82R`\x01`\x01``\x1B\x03\x16` \x82\x01R`@\x01\x90V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1C\xAFW__\xFD[__`@\x83\x85\x03\x12\x15a/9W__\xFD[a/B\x83a.\x9CV[\x91P` \x83\x015a/R\x81a/\x14V[\x80\x91PP\x92P\x92\x90PV[__\x83`\x1F\x84\x01\x12a/mW__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a/\x83W__\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x1DVW__\xFD[_____``\x86\x88\x03\x12\x15a/\xB1W__\xFD[a/\xBA\x86a.\x9CV[\x94P` \x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a/\xD4W__\xFD[a/\xE0\x88\x82\x89\x01a/]V[\x90\x95P\x93PP`@\x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a/\xFEW__\xFD[a0\n\x88\x82\x89\x01a/]V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[__\x83`\x1F\x84\x01\x12a0+W__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a0AW__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1DVW__\xFD[____``\x85\x87\x03\x12\x15a0kW__\xFD[\x845a0v\x81a/\x14V[\x93P` \x85\x015\x92P`@\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a0\x97W__\xFD[a0\xA3\x87\x82\x88\x01a0\x1BV[\x95\x98\x94\x97P\x95PPPPV[_\x81Q\x80\x84R` \x84\x01\x93P` \x83\x01_[\x82\x81\x10\x15a0\xE8W\x81Q`\x01`\x01``\x1B\x03\x16\x86R` \x95\x86\x01\x95\x90\x91\x01\x90`\x01\x01a0\xC1V[P\x93\x94\x93PPPPV[`@\x81R_a1\x04`@\x83\x01\x85a0\xAFV[\x82\x81\x03` \x84\x01Ra\":\x81\x85a0\xAFV[__`@\x83\x85\x03\x12\x15a1'W__\xFD[\x825\x91Pa17` \x84\x01a.\x9CV[\x90P\x92P\x92\x90PV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R_\x91\x84\x01\x90`@\x84\x01\x90\x83[\x81\x81\x10\x15a1\xAEWa1\x98\x83\x85Qc\xFF\xFF\xFF\xFF\x81Q\x16\x82Rc\xFF\xFF\xFF\xFF` \x82\x01Q\x16` \x83\x01R`\x01`\x01``\x1B\x03`@\x82\x01Q\x16`@\x83\x01RPPV[` \x93\x90\x93\x01\x92``\x92\x90\x92\x01\x91`\x01\x01a1YV[P\x90\x95\x94PPPPPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@\x80Q\x90\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a1\xEFWa1\xEFa1\xB9V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a2\x1DWa2\x1Da1\xB9V[`@R\x91\x90PV[_`\x01`\x01`@\x1B\x03\x82\x11\x15a2=Wa2=a1\xB9V[P`\x05\x1B` \x01\x90V[__`@\x83\x85\x03\x12\x15a2XW__\xFD[a2a\x83a.\x9CV[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a2{W__\xFD[\x83\x01`\x1F\x81\x01\x85\x13a2\x8BW__\xFD[\x805a2\x9Ea2\x99\x82a2%V[a1\xF5V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x87\x83\x11\x15a2\xBFW__\xFD[` \x84\x01\x93P[\x82\x84\x10\x15a2\xE1W\x835\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a2\xC6V[\x80\x94PPPPP\x92P\x92\x90PV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[` \x81\x01`\x02\x83\x10a3#WcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x91\x90R\x90V[_\x82`\x1F\x83\x01\x12a38W__\xFD[\x815a3Fa2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a3gW__\xFD[` \x85\x01[\x83\x81\x10\x15a3\x84W\x805\x83R` \x92\x83\x01\x92\x01a3lV[P\x95\x94PPPPPV[___``\x84\x86\x03\x12\x15a3\xA0W__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a3\xB5W__\xFD[\x84\x01`\x1F\x81\x01\x86\x13a3\xC5W__\xFD[\x805a3\xD3a2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x88\x83\x11\x15a3\xF4W__\xFD[` \x84\x01\x93P[\x82\x84\x10\x15a4\x1FW\x835a4\x0E\x81a/\x14V[\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a3\xFBV[\x95PPPP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a4<W__\xFD[a4H\x86\x82\x87\x01a3)V[\x92PPa4W`@\x85\x01a.\x9CV[\x90P\x92P\x92P\x92V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R_\x91\x84\x01\x90`@\x84\x01\x90\x83[\x81\x81\x10\x15a1\xAEW\x83Q\x15\x15\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a4yV[\x805`\x01`\x01``\x1B\x03\x81\x16\x81\x14a.\xACW__\xFD[_\x82`\x1F\x83\x01\x12a4\xBEW__\xFD[\x815a4\xCCa2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x06\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a4\xEDW__\xFD[` \x85\x01[\x83\x81\x10\x15a3\x84W`@\x81\x88\x03\x12\x15a5\tW__\xFD[a5\x11a1\xCDV[\x815a5\x1C\x81a/\x14V[\x81Ra5*` \x83\x01a4\x99V[` \x82\x01R\x80\x84RP` \x83\x01\x92P`@\x81\x01\x90Pa4\xF2V[___``\x84\x86\x03\x12\x15a5VW__\xFD[a5_\x84a.\x9CV[\x92Pa5m` \x85\x01a4\x99V[\x91P`@\x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a5\x87W__\xFD[a5\x93\x86\x82\x87\x01a4\xAFV[\x91PP\x92P\x92P\x92V[c\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x1C\xAFW__\xFD[___`@\x84\x86\x03\x12\x15a5\xC0W__\xFD[\x835a5\xCB\x81a5\x9DV[\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a5\xE5W__\xFD[a5\xF1\x86\x82\x87\x01a0\x1BV[\x94\x97\x90\x96P\x93\x94PPPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R_\x91\x84\x01\x90`@\x84\x01\x90\x83[\x81\x81\x10\x15a1\xAEW\x83Qc\xFF\xFF\xFF\xFF\x16\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a6\x17V[___``\x84\x86\x03\x12\x15a6MW__\xFD[a6V\x84a.\x9CV[\x95` \x85\x015\x95P`@\x90\x94\x015\x93\x92PPPV[``\x81\x01a\n\xAC\x82\x84c\xFF\xFF\xFF\xFF\x81Q\x16\x82Rc\xFF\xFF\xFF\xFF` \x82\x01Q\x16` \x83\x01R`\x01`\x01``\x1B\x03`@\x82\x01Q\x16`@\x83\x01RPPV[__`@\x83\x85\x03\x12\x15a6\xB6W__\xFD[a6\xBF\x83a.\x9CV[\x91Pa17` \x84\x01a4\x99V[___`@\x84\x86\x03\x12\x15a6\xDFW__\xFD[\x835\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a5\xE5W__\xFD[__`@\x83\x85\x03\x12\x15a7\x0CW__\xFD[a7\x15\x83a.\x9CV[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a7/W__\xFD[a7;\x85\x82\x86\x01a4\xAFV[\x91PP\x92P\x92\x90PV[___``\x84\x86\x03\x12\x15a7WW__\xFD[a7`\x84a.\x9CV[\x92P` \x84\x015a7p\x81a5\x9DV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[____`\x80\x85\x87\x03\x12\x15a7\x94W__\xFD[a7\x9D\x85a.\x9CV[\x93Pa7\xAB` \x86\x01a4\x99V[\x92P`@\x85\x015a7\xBB\x81a5\x9DV[\x91P``\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a7\xD5W__\xFD[a7\xE1\x87\x82\x88\x01a4\xAFV[\x91PP\x92\x95\x91\x94P\x92PV[___``\x84\x86\x03\x12\x15a7\xFFW__\xFD[\x835\x92Pa8\x0F` \x85\x01a.\x9CV[\x91P`@\x84\x015a8\x1F\x81a5\x9DV[\x80\x91PP\x92P\x92P\x92V[__`@\x83\x85\x03\x12\x15a8;W__\xFD[a8D\x83a.\x9CV[\x91P` \x83\x015a/R\x81a5\x9DV[____`\x80\x85\x87\x03\x12\x15a8gW__\xFD[a8p\x85a.\x9CV[\x93P` \x85\x015a8\x80\x81a5\x9DV[\x93\x96\x93\x95PPPP`@\x82\x015\x91``\x015\x90V[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a8\xB9W__\xFD[a\x11\\\x82a4\x99V[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x81\x81\x03\x81\x81\x11\x15a\n\xACWa\n\xACa8\xC2V[cNH{q`\xE0\x1B_R`1`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a9\rW__\xFD[\x81Qa\x11\\\x81a/\x14V[\x81Q`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x80\x83\x01Qc\xFF\xFF\xFF\xFF\x16\x90\x82\x01R`@\x81\x01a\n\xACV[_` \x82\x84\x03\x12\x15a9NW__\xFD[\x81Q\x80\x15\x15\x81\x14a\x11\\W__\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16\x81R`\xFF\x83\x16` \x80\x83\x01\x91\x90\x91R```@\x83\x01\x81\x90R\x83Q\x90\x83\x01\x81\x90R_\x91\x84\x01\x90`\x80\x84\x01\x90\x83[\x81\x81\x10\x15a9\xBAW\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a9\x93V[P\x90\x97\x96PPPPPPPV[\x80\x82\x01\x82\x81\x12_\x83\x12\x80\x15\x82\x16\x82\x15\x82\x16\x17\x15a\x1C\x19Wa\x1C\x19a8\xC2V[_\x81Q\x80\x84R` \x84\x01\x93P` \x83\x01_[\x82\x81\x10\x15a0\xE8W\x81Q`\x01`\x01`\xA0\x1B\x03\x16\x86R` \x95\x86\x01\x95\x90\x91\x01\x90`\x01\x01a9\xF8V[_\x81T\x80\x84R` \x84\x01\x93P\x82_R` _ _[\x82\x81\x10\x15a0\xE8W\x81T`\x01`\x01`\xA0\x1B\x03\x16\x86R` \x90\x95\x01\x94`\x01\x91\x82\x01\x91\x01a:4V[`@\x81R_a:m`@\x83\x01\x85a9\xE6V[\x82\x81\x03` \x84\x01Ra\":\x81\x85a:\x1FV[_` \x82\x84\x03\x12\x15a:\x8FW__\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a:\xA4W__\xFD[\x82\x01`\x1F\x81\x01\x84\x13a:\xB4W__\xFD[\x80Qa:\xC2a2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x86\x83\x11\x15a:\xE3W__\xFD[` \x84\x01[\x83\x81\x10\x15a;\x80W\x80Q`\x01`\x01`@\x1B\x03\x81\x11\x15a;\x05W__\xFD[\x85\x01`?\x81\x01\x89\x13a;\x15W__\xFD[` \x81\x01Qa;&a2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x80\x84`\x05\x1B\x86\x01\x01\x01\x92P\x8B\x83\x11\x15a;IW__\xFD[`@\x84\x01\x93P[\x82\x84\x10\x15a;kW\x83Q\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a;PV[\x86RPP` \x93\x84\x01\x93\x91\x90\x91\x01\x90Pa:\xE8V[P\x96\x95PPPPPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\n\xACWa\n\xACa8\xC2V[_\x82a;\xBCWcNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[P\x04\x90V[`\x01`\x01``\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x81\x11\x15a\n\xACWa\n\xACa8\xC2V[\x80\x82\x01\x80\x82\x11\x15a\n\xACWa\n\xACa8\xC2V[_` \x82\x84\x03\x12\x15a<\x03W__\xFD[\x81Qa\x11\\\x81a5\x9DV[_\x81a<\x1CWa<\x1Ca8\xC2V[P_\x19\x01\x90V[\x81\x81\x03_\x83\x12\x80\x15\x83\x83\x13\x16\x83\x83\x12\x82\x16\x17\x15a\x06\xE8Wa\x06\xE8a8\xC2V[_`\x01`\xFF\x1B\x82\x01a<VWa<Va8\xC2V[P_\x03\x90V[`\x01`\x01``\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x81\x11\x15a\n\xACWa\n\xACa8\xC2V[\x84Q`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x80\x86\x01Qc\xFF\xFF\xFF\xFF\x16\x90\x82\x01R`\xA0`@\x82\x01R_a<\xAD`\xA0\x83\x01\x86a9\xE6V[\x82\x81\x03``\x84\x01Ra<\xBF\x81\x86a:\x1FV[\x91PPc\xFF\xFF\xFF\xFF\x83\x16`\x80\x83\x01R\x95\x94PPPPPV\xFE\xA2dipfsX\"\x12 \xAD\xD2\x1B\xE5\xD1\x81\xF1\xA3\xBA/\xA5\xEF\xFF.oD\x92\x89gw\xC4QlD|\xACU7\xFE\x9A\xA6\xC5dsolcC\0\x08\x1B\x003",
2045 );
2046 #[rustfmt::skip]
2052 #[allow(clippy::all)]
2053 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
2054 b"`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\x02\x1EW_5`\xE0\x1C\x80c\x9A\xB4\xD6\xFF\x11a\x01*W\x80c\xC8)LV\x11a\0\xB4W\x80c\xDF\\\xF7#\x11a\0yW\x80c\xDF\\\xF7#\x14a\x06\x15W\x80c\xE0\x86\xAD\xB3\x14a\x06<W\x80c\xF2\xBE\x94\xAE\x14a\x06OW\x80c\xF8Q\xE1\x98\x14a\x06bW\x80c\xFA(\xC6'\x14a\x06uW__\xFD[\x80c\xC8)LV\x14a\x05\xA2W\x80c\xCA\x8A\xA7\xC7\x14a\x05\xB5W\x80c\xCCZ| \x14a\x05\xDCW\x80c\xD5\xEC\xCC\x05\x14a\x05\xEFW\x80c\xDD\x98F\xB9\x14a\x06\x02W__\xFD[\x80c\xB6\x90Kx\x11a\0\xFAW\x80c\xB6\x90Kx\x14a\x05.W\x80c\xBC\x9A@\xC3\x14a\x05AW\x80c\xBD)\xB8\xCD\x14a\x05TW\x80c\xC4gx\xA5\x14a\x05gW\x80c\xC6\x01R}\x14a\x05\x8FW__\xFD[\x80c\x9A\xB4\xD6\xFF\x14a\x04\x81W\x80c\x9F<\xCFe\x14a\x04\xBBW\x80c\xACk\xFB\x03\x14a\x04\xCEW\x80c\xAD\xC8\x04\xDA\x14a\x04\xEEW__\xFD[\x80c^Zgu\x11a\x01\xABW\x80cl?\xB4\xBF\x11a\x01{W\x80cl?\xB4\xBF\x14a\x03\xEDW\x80cm\x14\xA9\x87\x14a\x04\rW\x80cu\xD4\x17:\x14a\x044W\x80c|\x17#G\x14a\x04GW\x80c\x81\xC0u\x02\x14a\x04aW__\xFD[\x80c^Zgu\x14a\x03]W\x80c_\x1F-w\x14a\x03lW\x80ci\x7F\xBD\x93\x14a\x03\x7FW\x80ck:\xA7.\x14a\x03\xAEW__\xFD[\x80c%PGw\x11a\x01\xF1W\x80c%PGw\x14a\x02\xB8W\x80c,\xD9Y@\x14a\x02\xD9W\x80c<\xA5\xA5\xF5\x14a\x02\xF9W\x80cK\xD2n\t\x14a\x03\x1BW\x80cT\x01\xED'\x14a\x03JW__\xFD[\x80c\x04\x91\xB4\x1C\x14a\x02\"W\x80c\x08s$a\x14a\x02WW\x80c\x1F\x9Bt\xE0\x14a\x02xW\x80c \xB6b\x98\x14a\x02\xA3W[__\xFD[a\x02Da\x0206`\x04a.\xB1V[`\xFF\x16_\x90\x81R`\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x02ja\x02e6`\x04a.\xCAV[a\x06\x88V[`@Qa\x02N\x92\x91\x90a.\xF2V[a\x02\x8Ba\x02\x866`\x04a/(V[a\x06\xCDV[`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R` \x01a\x02NV[a\x02\xB6a\x02\xB16`\x04a/\x9DV[a\x06\xEFV[\0[a\x02\xCBa\x02\xC66`\x04a0XV[a\x08\x8DV[`@Qa\x02N\x92\x91\x90a0\xF2V[a\x02\xECa\x02\xE76`\x04a1\x16V[a\n\x15V[`@Qa\x02N\x91\x90a1@V[a\x02Da\x03\x076`\x04a.\xB1V[`\xFF\x16_\x90\x81R`\x03` R`@\x90 T\x90V[a\x02Da\x03)6`\x04a1\x16V[_\x91\x82R`\x02` \x90\x81R`@\x80\x84 `\xFF\x93\x90\x93\x16\x84R\x91\x90R\x90 T\x90V[a\x02\x8Ba\x03X6`\x04a1\x16V[a\n\xB2V[a\x02Dg\r\xE0\xB6\xB3\xA7d\0\0\x81V[a\x02\xB6a\x03z6`\x04a2GV[a\n\xCAV[a\x03\xA1a\x03\x8D6`\x04a.\xB1V[`\x05` R_\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Qa\x02N\x91\x90a3\x03V[a\x03\xD5\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02NV[a\x04\0a\x03\xFB6`\x04a3\x8EV[a\x10\x08V[`@Qa\x02N\x91\x90a4`V[a\x03\xD5\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x02\xB6a\x04B6`\x04a5DV[a\x11cV[a\x04O` \x81V[`@Q`\xFF\x90\x91\x16\x81R` \x01a\x02NV[a\x04ta\x04o6`\x04a5\xAEV[a\x12IV[`@Qa\x02N\x91\x90a5\xFEV[a\x04\xA6a\x04\x8F6`\x04a.\xB1V[`\x06` R_\x90\x81R`@\x90 Tc\xFF\xFF\xFF\xFF\x16\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x02NV[a\x03\xD5a\x04\xC96`\x04a.\xCAV[a\x13\xEFV[a\x04\xE1a\x04\xDC6`\x04a6;V[a\x14#V[`@Qa\x02N\x91\x90a6kV[a\x05\x01a\x04\xFC6`\x04a.\xCAV[a\x14\xB9V[`@\x80Q\x82Q`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x92\x83\x01Q`\x01`\x01``\x1B\x03\x16\x92\x81\x01\x92\x90\x92R\x01a\x02NV[a\x04\xE1a\x05<6`\x04a.\xCAV[a\x150V[a\x02\xB6a\x05O6`\x04a6\xA5V[a\x15\xBDV[a\x02\xB6a\x05b6`\x04a6\xCDV[a\x15\xDEV[a\x02\x8Ba\x05u6`\x04a.\xB1V[_` \x81\x90R\x90\x81R`@\x90 T`\x01`\x01``\x1B\x03\x16\x81V[a\x02\xB6a\x05\x9D6`\x04a6\xFBV[a\x16AV[a\x02\x8Ba\x05\xB06`\x04a7EV[a\x18\xB1V[a\x03\xD5\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x02\xB6a\x05\xEA6`\x04a7\x81V[a\x19-V[a\x02\x8Ba\x05\xFD6`\x04a.\xB1V[a\x1A\x1FV[a\x04\xA6a\x06\x106`\x04a7\xEDV[a\x1ApV[a\x03\xD5\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x02\xB6a\x06J6`\x04a8*V[a\x1A\x84V[a\x02\x8Ba\x06]6`\x04a8TV[a\x1A\xA0V[a\x04\xE1a\x06p6`\x04a1\x16V[a\x1B3V[a\x02\x8Ba\x06\x836`\x04a7\xEDV[a\x1C!V[`\x03` R\x81_R`@_ \x81\x81T\x81\x10a\x06\xA1W_\x80\xFD[_\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x81\x16\x92P`\x01`\xA0\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x90P\x82V[_\x82a\x06\xD8\x81a\x1C\x80V[_a\x06\xE3\x85\x85a\x1C\xB2V[P\x92PP[P\x92\x91PPV[a\x06\xF7a\x1D]V[\x84a\x07\x01\x81a\x1C\x80V[\x83\x80a\x07 W`@Qcyl\xC5%`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82\x81\x14a\x07@W`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x87\x16_\x90\x81R`\x03` R`@\x81 \x90[\x82\x81\x10\x15a\x08\x82W\x85\x85\x82\x81\x81\x10a\x07mWa\x07ma8\x95V[\x90P` \x02\x01` \x81\x01\x90a\x07\x82\x91\x90a8\xA9V[\x82\x89\x89\x84\x81\x81\x10a\x07\x95Wa\x07\x95a8\x95V[\x90P` \x02\x015\x81T\x81\x10a\x07\xACWa\x07\xACa8\x95V[\x90_R` _ \x01_\x01`\x14a\x01\0\n\x81T\x81`\x01`\x01``\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01``\x1B\x03\x16\x02\x17\x90UP\x88`\xFF\x16\x7F\x11\xA5d\x13\"\xDA\x1D\xFFV\xA4\xB6n\xAA\xC3\x1F\xFAFR\x95\xEC\xE9\x07\xCD\x1647y;M\0\x9Au\x83\x8A\x8A\x85\x81\x81\x10a\x08\x12Wa\x08\x12a8\x95V[\x90P` \x02\x015\x81T\x81\x10a\x08)Wa\x08)a8\x95V[_\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x88\x88\x85\x81\x81\x10a\x08OWa\x08Oa8\x95V[\x90P` \x02\x01` \x81\x01\x90a\x08d\x91\x90a8\xA9V[`@Qa\x08r\x92\x91\x90a.\xF2V[`@Q\x80\x91\x03\x90\xA2`\x01\x01a\x07SV[PPPPPPPPPV[``\x80a\x08\x98a\x1E\x10V[_\x83`\x01`\x01`@\x1B\x03\x81\x11\x15a\x08\xB1Wa\x08\xB1a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x08\xDAW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_\x84`\x01`\x01`@\x1B\x03\x81\x11\x15a\x08\xF6Wa\x08\xF6a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\t\x1FW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x85\x81\x10\x15a\n\x07W_\x87\x87\x83\x81\x81\x10a\t?Wa\t?a8\x95V[\x91\x90\x91\x015`\xF8\x1C\x91Pa\tT\x90P\x81a\x1C\x80V[__a\t`\x83\x8Da\x1C\xB2V[\x91P\x91P\x80a\t\x82W`@Qc \x7F\x13\xE3`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\t\x8E\x8C\x85\x85a\x1EYV[\x90P\x82\x87\x86\x81Q\x81\x10a\t\xA3Wa\t\xA3a8\x95V[` \x02` \x01\x01\x90`\x01`\x01``\x1B\x03\x16\x90\x81`\x01`\x01``\x1B\x03\x16\x81RPPa\t\xCD\x84\x82a \xD2V[\x86\x86\x81Q\x81\x10a\t\xDFWa\t\xDFa8\x95V[`\x01`\x01``\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01RPP`\x01\x90\x92\x01\x91Pa\t$\x90PV[P\x90\x97\x90\x96P\x94PPPPPV[_\x82\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x85\x16\x84R\x82R\x80\x83 \x80T\x82Q\x81\x85\x02\x81\x01\x85\x01\x90\x93R\x80\x83R``\x94\x92\x93\x91\x92\x90\x91\x84\x01[\x82\x82\x10\x15a\n\xA5W_\x84\x81R` \x90\x81\x90 `@\x80Q``\x81\x01\x82R\x91\x85\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x84R`\x01` \x1B\x82\x04\x16\x83\x85\x01R`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x90\x82\x01R\x82R`\x01\x90\x92\x01\x91\x01a\nMV[PPPP\x90P[\x92\x91PPV[__a\n\xBE\x84\x84a\x1B3V[`@\x01Q\x94\x93PPPPV[a\n\xD2a\x1D]V[\x81a\n\xDC\x81a\x1C\x80V[\x81Q\x80a\n\xFCW`@Qcyl\xC5%`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x84\x16_\x90\x81R`\x03` \x90\x81R`@\x80\x83 `\x04\x90\x92R\x82 \x90\x91\x83`\x01`\x01`@\x1B\x03\x81\x11\x15a\x0B1Wa\x0B1a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0BZW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x84\x81\x10\x15a\x0EUW\x83\x87\x82\x81Q\x81\x10a\x0BzWa\x0Bza8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\x0B\x92Wa\x0B\x92a8\x95V[_\x91\x82R` \x90\x91 \x01T\x82Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90\x83\x90\x83\x90\x81\x10a\x0B\xBDWa\x0B\xBDa8\x95V[` \x02` \x01\x01\x90`\x01`\x01`\xA0\x1B\x03\x16\x90\x81`\x01`\x01`\xA0\x1B\x03\x16\x81RPP\x87`\xFF\x16\x7F1\xFA.,\xD2\x80\xC97^\x13\xFF\xCF=\x81\xE27\x81\0\x18n@X\xF8\xD3\xDD\xB6\x90\xB8-\xCD1\xF7\x85\x89\x84\x81Q\x81\x10a\x0C\x15Wa\x0C\x15a8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\x0C-Wa\x0C-a8\x95V[_\x91\x82R` \x91\x82\x90 \x01T`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R\x01`@Q\x80\x91\x03\x90\xA2\x87`\xFF\x16\x7F\x11\xA5d\x13\"\xDA\x1D\xFFV\xA4\xB6n\xAA\xC3\x1F\xFAFR\x95\xEC\xE9\x07\xCD\x1647y;M\0\x9Au\x85\x89\x84\x81Q\x81\x10a\x0C\x8AWa\x0C\x8Aa8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\x0C\xA2Wa\x0C\xA2a8\x95V[_\x91\x82R` \x80\x83 \x91\x90\x91\x01T`@\x80Q`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x82R\x91\x81\x01\x92\x90\x92R\x01`@Q\x80\x91\x03\x90\xA2\x83T\x84\x90a\x0C\xE1\x90`\x01\x90a8\xD6V[\x81T\x81\x10a\x0C\xF1Wa\x0C\xF1a8\x95V[\x90_R` _ \x01\x84\x88\x83\x81Q\x81\x10a\r\x0CWa\r\x0Ca8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\r$Wa\r$a8\x95V[_\x91\x82R` \x90\x91 \x82T\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x82\x17\x81U\x91T`\x01`\x01``\x1B\x03`\x01`\xA0\x1B\x91\x82\x90\x04\x16\x02\x17\x90U\x83T\x84\x90\x80a\rvWa\rva8\xE9V[_\x82\x81R` \x81 \x82\x01_\x19\x90\x81\x01\x91\x90\x91U\x01\x90U\x82T\x83\x90a\r\x9C\x90`\x01\x90a8\xD6V[\x81T\x81\x10a\r\xACWa\r\xACa8\x95V[\x90_R` _ \x01_\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16\x83\x88\x83\x81Q\x81\x10a\r\xDAWa\r\xDAa8\x95V[` \x02` \x01\x01Q\x81T\x81\x10a\r\xF2Wa\r\xF2a8\x95V[\x90_R` _ \x01_a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP\x82\x80T\x80a\x0E-Wa\x0E-a8\xE9V[_\x82\x81R` \x90 \x81\x01_\x19\x90\x81\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90U\x01\x90U`\x01\x01a\x0B_V[P_\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xDE\x11d\xBB`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\xB3W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E\xD7\x91\x90a8\xFDV[`@\x80Q\x80\x82\x01\x82R`\x01`\x01`\xA0\x1B\x03\x83\x81\x16\x82R`\xFF\x8C\x16` \x83\x01R\x91Qc\x04\xC1\xB8\xEB`\xE3\x1B\x81R\x92\x93P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x91c&\r\xC7X\x91a\x0F<\x91`\x04\x01a9\x18V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0FWW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0F{\x91\x90a9>V[\x15a\x0F\xFEW`@Qc\xB6k\xD9\x89`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xB6k\xD9\x89\x90a\x0F\xD0\x90\x84\x90\x8C\x90\x87\x90`\x04\x01a9]V[_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x0F\xE7W__\xFD[PZ\xF1\x15\x80\x15a\x0F\xF9W=__>=_\xFD[PPPP[PPPPPPPPV[``a\x10\x12a\x1E\x10V[_\x84Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\x10,Wa\x10,a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x10UW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90Pa\x10a\x83a\x1C\x80V[__a\x10m\x85\x88a\"CV[\x90\x92P\x90P_\x80[\x88Q\x81\x10\x15a\x11IW\x82\x81\x81Q\x81\x10a\x10\x90Wa\x10\x90a8\x95V[` \x02` \x01\x01Qa\x10\xF4W_\x84\x82\x81Q\x81\x10a\x10\xAFWa\x10\xAFa8\x95V[` \x02` \x01\x01\x90`\x01`\x01``\x1B\x03\x16\x90\x81`\x01`\x01``\x1B\x03\x16\x81RPP`\x01\x85\x82\x81Q\x81\x10a\x10\xE3Wa\x10\xE3a8\x95V[\x91\x15\x15` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R[_a\x112\x89\x83\x81Q\x81\x10a\x11\nWa\x11\na8\x95V[` \x02` \x01\x01Q\x89\x87\x85\x81Q\x81\x10a\x11%Wa\x11%a8\x95V[` \x02` \x01\x01Qa\x1EYV[\x90Pa\x11>\x81\x84a9\xC7V[\x92PP`\x01\x01a\x10uV[Pa\x11T\x86\x82a \xD2V[P\x92\x93PPPP[\x93\x92PPPV[a\x11ka\x1E\x10V[`\xFF\x83\x16_\x90\x81R`\x01` R`@\x90 T\x15a\x11\x9BW`@Qc\x10\xCD\xA5\x17`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x11\xA5\x83\x82a%\xE9V[a\x11\xAF\x83\x83a(\xDAV[a\x11\xB9\x83_a)BV[PP`\xFF\x16_\x90\x81R`\x01` \x81\x81R`@\x80\x84 \x81Q``\x81\x01\x83Rc\xFF\xFF\xFF\xFFC\x81\x16\x82R\x81\x85\x01\x87\x81R\x93\x82\x01\x87\x81R\x83T\x96\x87\x01\x84U\x92\x87R\x93\x90\x95 \x94Q\x94\x90\x93\x01\x80T\x91Q\x93Q`\x01`\x01``\x1B\x03\x16`\x01`@\x1B\x02`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x94\x84\x16`\x01` \x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x93\x16\x95\x90\x93\x16\x94\x90\x94\x17\x17\x91\x90\x91\x16\x17\x90UV[``_\x82`\x01`\x01`@\x1B\x03\x81\x11\x15a\x12dWa\x12da1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x12\x8DW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x83\x81\x10\x15a\x13\xE6W_\x85\x85\x83\x81\x81\x10a\x12\xADWa\x12\xADa8\x95V[\x91\x90\x91\x015`\xF8\x1C\x91Pa\x12\xC2\x90P\x81a\x1C\x80V[`\xFF\x81\x16_\x90\x81R`\x01` R`@\x81 \x80Tc\xFF\xFF\xFF\xFF\x8A\x16\x92\x90a\x12\xEAWa\x12\xEAa8\x95V[_\x91\x82R` \x90\x91 \x01Tc\xFF\xFF\xFF\xFF\x16\x11\x15a\x13\x1AW`@Qc\xCCdes`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x81\x16_\x90\x81R`\x01` R`@\x81 T\x90[\x81\x81\x10\x15a\x13\xDBW`\xFF\x83\x16_\x90\x81R`\x01` \x81\x90R`@\x90\x91 c\xFF\xFF\xFF\xFF\x8B\x16\x91a\x13\\\x84\x86a8\xD6V[a\x13f\x91\x90a8\xD6V[\x81T\x81\x10a\x13vWa\x13va8\x95V[_\x91\x82R` \x90\x91 \x01Tc\xFF\xFF\xFF\xFF\x16\x11a\x13\xD3W`\x01a\x13\x98\x82\x84a8\xD6V[a\x13\xA2\x91\x90a8\xD6V[\x85\x85\x81Q\x81\x10a\x13\xB4Wa\x13\xB4a8\x95V[` \x02` \x01\x01\x90c\xFF\xFF\xFF\xFF\x16\x90\x81c\xFF\xFF\xFF\xFF\x16\x81RPPa\x13\xDBV[`\x01\x01a\x13.V[PPP`\x01\x01a\x12\x92V[P\x94\x93PPPPV[`\x04` R\x81_R`@_ \x81\x81T\x81\x10a\x14\x08W_\x80\xFD[_\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x91P\x82\x90PV[`@\x80Q``\x81\x01\x82R_\x80\x82R` \x80\x83\x01\x82\x90R\x82\x84\x01\x82\x90R\x85\x82R`\x02\x81R\x83\x82 `\xFF\x88\x16\x83R\x90R\x91\x90\x91 \x80T\x83\x90\x81\x10a\x14gWa\x14ga8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x92\x90\x91\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x84R`\x01` \x1B\x82\x04\x16\x93\x83\x01\x93\x90\x93R`\x01`@\x1B\x90\x92\x04`\x01`\x01``\x1B\x03\x16\x91\x81\x01\x91\x90\x91R\x94\x93PPPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R`\xFF\x83\x16_\x90\x81R`\x03` R`@\x90 \x80T\x83\x90\x81\x10a\x14\xEFWa\x14\xEFa8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q\x80\x82\x01\x90\x91R\x91\x01T`\x01`\x01`\xA0\x1B\x03\x81\x16\x82R`\x01`\xA0\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x91\x81\x01\x91\x90\x91R\x93\x92PPPV[`@\x80Q``\x81\x01\x82R_\x80\x82R` \x80\x83\x01\x82\x90R\x82\x84\x01\x82\x90R`\xFF\x86\x16\x82R`\x01\x90R\x91\x90\x91 \x80T\x83\x90\x81\x10a\x15lWa\x15la8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x92\x90\x91\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x84R`\x01` \x1B\x82\x04\x16\x93\x83\x01\x93\x90\x93R`\x01`@\x1B\x90\x92\x04`\x01`\x01``\x1B\x03\x16\x91\x81\x01\x91\x90\x91R\x93\x92PPPV[a\x15\xC5a\x1D]V[\x81a\x15\xCF\x81a\x1C\x80V[a\x15\xD9\x83\x83a(\xDAV[PPPV[a\x15\xE6a\x1E\x10V[_[\x81\x81\x10\x15a\x16;W_\x83\x83\x83\x81\x81\x10a\x16\x03Wa\x16\x03a8\x95V[\x91\x90\x91\x015`\xF8\x1C\x91Pa\x16\x18\x90P\x81a\x1C\x80V[_a\x16$\x86\x83_a\x1EYV[\x90Pa\x160\x82\x82a \xD2V[PPP`\x01\x01a\x15\xE8V[PPPPV[a\x16Ia\x1D]V[\x81a\x16S\x81a\x1C\x80V[a\x16]\x83\x83a%\xE9V[_\x82Q\x90P_\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xDE\x11d\xBB`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x16\xBFW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16\xE3\x91\x90a8\xFDV[`@\x80Q\x80\x82\x01\x82R`\x01`\x01`\xA0\x1B\x03\x83\x81\x16\x82R`\xFF\x89\x16` \x83\x01R\x91Qc\x04\xC1\xB8\xEB`\xE3\x1B\x81R\x92\x93P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x91c&\r\xC7X\x91a\x17H\x91`\x04\x01a9\x18V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17cW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17\x87\x91\x90a9>V[\x15a\x18\xAAW_\x82`\x01`\x01`@\x1B\x03\x81\x11\x15a\x17\xA5Wa\x17\xA5a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x17\xCEW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_[\x83\x81\x10\x15a\x18*W\x85\x81\x81Q\x81\x10a\x17\xEDWa\x17\xEDa8\x95V[` \x02` \x01\x01Q_\x01Q\x82\x82\x81Q\x81\x10a\x18\nWa\x18\na8\x95V[`\x01`\x01`\xA0\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a\x17\xD3V[P`@Qc\x02\x87\xF7Q`\xE5\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cP\xFE\xEA \x90a\x18{\x90\x85\x90\x8A\x90\x86\x90`\x04\x01a9]V[_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x18\x92W__\xFD[PZ\xF1\x15\x80\x15a\x18\xA4W=__>=_\xFD[PPPPP[PPPPPV[`\xFF\x83\x16_\x90\x81R`\x01` R`@\x81 \x80T\x82\x91\x90\x84\x90\x81\x10a\x18\xD7Wa\x18\xD7a8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x91\x90\x92\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x83R`\x01` \x1B\x82\x04\x16\x93\x82\x01\x93\x90\x93R`\x01`\x01``\x1B\x03`\x01`@\x1B\x90\x93\x04\x92\x90\x92\x16\x90\x82\x01R\x90Pa\n\xBE\x81\x85a)\xAFV[a\x195a\x1E\x10V[`\xFF\x84\x16_\x90\x81R`\x01` R`@\x90 T\x15a\x19eW`@Qc\x10\xCD\xA5\x17`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x19o\x84\x82a%\xE9V[a\x19y\x84\x84a(\xDAV[a\x19\x84\x84`\x01a)BV[a\x19\x8E\x84\x83a*&V[PPP`\xFF\x16_\x90\x81R`\x01` \x81\x81R`@\x80\x84 \x81Q``\x81\x01\x83Rc\xFF\xFF\xFF\xFFC\x81\x16\x82R\x81\x85\x01\x87\x81R\x93\x82\x01\x87\x81R\x83T\x96\x87\x01\x84U\x92\x87R\x93\x90\x95 \x94Q\x94\x90\x93\x01\x80T\x91Q\x93Q`\x01`\x01``\x1B\x03\x16`\x01`@\x1B\x02`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x94\x84\x16`\x01` \x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x93\x16\x95\x90\x93\x16\x94\x90\x94\x17\x17\x91\x90\x91\x16\x17\x90UV[`\xFF\x81\x16_\x90\x81R`\x01` \x81\x90R`@\x82 \x80T\x90\x91a\x1A?\x91a8\xD6V[\x81T\x81\x10a\x1AOWa\x1AOa8\x95V[_\x91\x82R` \x90\x91 \x01T`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x92\x91PPV[_a\x1A|\x84\x84\x84a+\x83V[\x94\x93PPPPV[a\x1A\x8Ca\x1D]V[\x81a\x1A\x96\x81a\x1C\x80V[a\x15\xD9\x83\x83a*&V[_\x82\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x88\x16\x84R\x90\x91R\x81 \x80T\x82\x91\x90\x84\x90\x81\x10a\x1A\xD0Wa\x1A\xD0a8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x91\x90\x92\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x83R`\x01` \x1B\x82\x04\x16\x93\x82\x01\x93\x90\x93R`\x01`\x01``\x1B\x03`\x01`@\x1B\x90\x93\x04\x92\x90\x92\x16\x90\x82\x01R\x90Pa\x1B&\x81\x86a)\xAFV[`@\x01Q\x95\x94PPPPPV[`@\x80Q``\x80\x82\x01\x83R_\x80\x83R` \x80\x84\x01\x82\x90R\x83\x85\x01\x82\x90R\x86\x82R`\x02\x81R\x84\x82 `\xFF\x87\x16\x83R\x81R\x84\x82 T\x85Q\x93\x84\x01\x86R\x82\x84R\x90\x83\x01\x82\x90R\x93\x82\x01\x81\x90R\x91\x92\x91\x82\x90\x03a\x1B\x8FW\x91Pa\n\xAC\x90PV[_\x85\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x88\x16\x84R\x90\x91R\x90 a\x1B\xB5`\x01\x84a8\xD6V[\x81T\x81\x10a\x1B\xC5Wa\x1B\xC5a8\x95V[_\x91\x82R` \x91\x82\x90 `@\x80Q``\x81\x01\x82R\x91\x90\x92\x01Tc\xFF\xFF\xFF\xFF\x80\x82\x16\x83R`\x01` \x1B\x82\x04\x16\x93\x82\x01\x93\x90\x93R`\x01`\x01``\x1B\x03`\x01`@\x1B\x90\x93\x04\x92\x90\x92\x16\x90\x82\x01R\x92Pa\n\xAC\x91PPV[PP\x92\x91PPV[_\x83\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x86\x16\x84R\x90\x91R\x81 a\x1CG\x85\x85\x85a+\x83V[c\xFF\xFF\xFF\xFF\x16\x81T\x81\x10a\x1C]Wa\x1C]a8\x95V[_\x91\x82R` \x90\x91 \x01T`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x94\x93PPPPV[`\xFF\x81\x16_\x90\x81R`\x01` R`@\x90 Ta\x1C\xAFW`@Qcs\x10\xCF\xF5`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R_\x91\x82\x91\x82\x91` \x80\x83\x01\x90\x806\x837\x01\x90PP\x90P\x83\x81_\x81Q\x81\x10a\x1C\xEAWa\x1C\xEAa8\x95V[` \x02` \x01\x01\x90`\x01`\x01`\xA0\x1B\x03\x16\x90\x81`\x01`\x01`\xA0\x1B\x03\x16\x81RPP__a\x1D\x16\x87\x84a\"CV[\x91P\x91P\x81_\x81Q\x81\x10a\x1D,Wa\x1D,a8\x95V[` \x02` \x01\x01Q\x81_\x81Q\x81\x10a\x1DFWa\x1DFa8\x95V[` \x02` \x01\x01Q\x94P\x94PPPP[\x92P\x92\x90PV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1D\xB9W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1D\xDD\x91\x90a8\xFDV[`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\x1E\x0EW`@Qc\xCE\x98\xC2K`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[V[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x1E\x0EW`@Qc,\x01\xB2\x05`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_\x83\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x86\x16\x84R\x90\x91R\x81 T\x81\x90\x80\x82\x03a\x1F\x1DW_\x86\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x89\x16\x84R\x82R\x80\x83 \x81Q``\x81\x01\x83Rc\xFF\xFF\xFF\xFFC\x81\x16\x82R\x81\x85\x01\x86\x81R`\x01`\x01``\x1B\x03\x80\x8C\x16\x95\x84\x01\x95\x86R\x84T`\x01\x81\x01\x86U\x94\x88R\x95\x90\x96 \x91Q\x91\x90\x92\x01\x80T\x95Q\x93Q\x90\x94\x16`\x01`@\x1B\x02`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x93\x83\x16`\x01` \x1B\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x96\x16\x91\x90\x92\x16\x17\x93\x90\x93\x17\x16\x91\x90\x91\x17\x90Ua xV[_\x86\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x89\x16\x84R\x90\x91R\x81 a\x1FC`\x01\x84a8\xD6V[\x81T\x81\x10a\x1FSWa\x1FSa8\x95V[_\x91\x82R` \x90\x91 \x01\x80T`\x01`\x01``\x1B\x03`\x01`@\x1B\x90\x91\x04\x81\x16\x94P\x90\x91P\x85\x16\x83\x03a\x1F\x89W_\x93PPPPa\x11\\V[\x80Tc\xFF\xFF\xFF\xFFC\x81\x16\x91\x16\x03a\x1F\xC1W\x80T`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x16`\x01`@\x1B`\x01`\x01``\x1B\x03\x87\x16\x02\x17\x81Ua vV[\x80Tg\xFF\xFF\xFF\xFF\0\0\0\0\x19\x16`\x01` \x1BCc\xFF\xFF\xFF\xFF\x90\x81\x16\x82\x81\x02\x93\x90\x93\x17\x84U_\x8A\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x8D\x16\x84R\x82R\x80\x83 \x81Q``\x81\x01\x83R\x96\x87R\x86\x83\x01\x84\x81R`\x01`\x01``\x1B\x03\x8D\x81\x16\x93\x89\x01\x93\x84R\x82T`\x01\x81\x01\x84U\x92\x86R\x93\x90\x94 \x96Q\x96\x01\x80T\x93Q\x91Q\x96\x85\x16g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x94\x16\x93\x90\x93\x17\x93\x16\x90\x93\x02\x91\x90\x91\x17`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x16`\x01`@\x1B\x93\x90\x92\x16\x92\x90\x92\x02\x17\x90U[P[`@\x80Q`\xFF\x87\x16\x81R`\x01`\x01``\x1B\x03\x86\x16` \x82\x01R\x87\x91\x7F/R}R~\x95\xD8\xFE@\xAE\xC5Swt;\xB7y\x08}\xA3\xF6\xD0\xD0\x8F\x12\xE3dD\xDAb2}\x91\x01`@Q\x80\x91\x03\x90\xA2a \xC8\x82\x85a,\xEAV[\x96\x95PPPPPPV[`\xFF\x82\x16_\x90\x81R`\x01` \x81\x90R`@\x82 \x80T\x91\x83\x91\x90a \xF5\x90\x84a8\xD6V[\x81T\x81\x10a!\x05Wa!\x05a8\x95V[\x90_R` _ \x01\x90P\x83_\x03a!0WT`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x91Pa\n\xAC\x90PV[\x80T_\x90a!N\x90`\x01`@\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x86a-\x01V[\x82T\x90\x91Pc\xFF\xFF\xFF\xFFC\x81\x16\x91\x16\x03a!\x89W\x81T`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x16`\x01`@\x1B`\x01`\x01``\x1B\x03\x83\x16\x02\x17\x82Ua\":V[\x81Tc\xFF\xFF\xFF\xFFC\x81\x16`\x01` \x1B\x81\x81\x02g\xFF\xFF\xFF\xFF\0\0\0\0\x19\x90\x94\x16\x93\x90\x93\x17\x85U`\xFF\x89\x16_\x90\x81R`\x01` \x81\x81R`@\x80\x84 \x81Q``\x81\x01\x83R\x95\x86R\x85\x83\x01\x85\x81R`\x01`\x01``\x1B\x03\x80\x8B\x16\x93\x88\x01\x93\x84R\x82T\x95\x86\x01\x83U\x91\x86R\x92\x90\x94 \x94Q\x94\x90\x92\x01\x80T\x91Q\x92Q\x90\x93\x16`\x01`@\x1B\x02`\x01`@\x1B`\x01`\xA0\x1B\x03\x19\x92\x86\x16\x90\x96\x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x90\x91\x16\x93\x90\x94\x16\x92\x90\x92\x17\x92\x90\x92\x17\x16\x91\x90\x91\x17\x90U[\x95\x94PPPPPV[``\x80_\x83Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\"`Wa\"`a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\"\x89W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_\x84Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\"\xA6Wa\"\xA6a1\xB9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\"\xCFW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P_a\"\xEB\x87`\xFF\x16_\x90\x81R`\x03` R`@\x90 T\x90V[`\xFF\x88\x16_\x90\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x82Q\x81\x85\x02\x81\x01\x85\x01\x90\x93R\x80\x83R\x94\x95P\x92\x93\x90\x92\x91\x84\x90\x84\x01[\x82\x82\x10\x15a#kW_\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x90\x91R\x90\x84\x01T`\x01`\x01`\xA0\x1B\x03\x81\x16\x82R`\x01`\xA0\x1B\x90\x04`\x01`\x01``\x1B\x03\x16\x81\x83\x01R\x82R`\x01\x90\x92\x01\x91\x01a#\x1DV[PPPP\x90P```\x01\x80\x81\x11\x15a#\x85Wa#\x85a2\xEFV[`\xFF\x80\x8B\x16_\x90\x81R`\x05` R`@\x90 T\x16`\x01\x81\x11\x15a#\xAAWa#\xAAa2\xEFV[\x03a#\xC0Wa#\xB9\x89\x89a-.V[\x90Pa$cV[`\xFF\x89\x16_\x90\x81R`\x04` \x81\x90R`@\x91\x82\x90 \x91Qcxps;`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x92c\xF0\xE0\xE6v\x92a$\x1F\x92\x8D\x92\x91\x01a:[V[_`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a$9W=__>=_\xFD[PPPP`@Q=_\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra$`\x91\x90\x81\x01\x90a:\x7FV[\x90P[_[\x88Q\x81\x10\x15a%\xD9W_[\x84\x81\x10\x15a%iW_\x84\x82\x81Q\x81\x10a$\x8BWa$\x8Ba8\x95V[` \x02` \x01\x01Q\x90P_\x84\x84\x81Q\x81\x10a$\xA8Wa$\xA8a8\x95V[` \x02` \x01\x01Q\x83\x81Q\x81\x10a$\xC1Wa$\xC1a8\x95V[` \x02` \x01\x01Q\x11\x15a%`Wg\r\xE0\xB6\xB3\xA7d\0\0\x81` \x01Q`\x01`\x01``\x1B\x03\x16\x85\x85\x81Q\x81\x10a$\xF8Wa$\xF8a8\x95V[` \x02` \x01\x01Q\x84\x81Q\x81\x10a%\x11Wa%\x11a8\x95V[` \x02` \x01\x01Qa%#\x91\x90a;\x8BV[a%-\x91\x90a;\xA2V[\x88\x84\x81Q\x81\x10a%?Wa%?a8\x95V[` \x02` \x01\x01\x81\x81Qa%S\x91\x90a;\xC1V[`\x01`\x01``\x1B\x03\x16\x90RP[P`\x01\x01a$pV[P`\xFF\x8A\x16_\x90\x81R` \x81\x90R`@\x90 T\x86Q`\x01`\x01``\x1B\x03\x90\x91\x16\x90\x87\x90\x83\x90\x81\x10a%\x9CWa%\x9Ca8\x95V[` \x02` \x01\x01Q`\x01`\x01``\x1B\x03\x16\x10\x15\x85\x82\x81Q\x81\x10a%\xC1Wa%\xC1a8\x95V[\x91\x15\x15` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a$eV[P\x93\x98\x92\x97P\x91\x95PPPPPPV[_\x81Q\x11a&\nW`@Qcyl\xC5%`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80Q`\xFF\x83\x16_\x90\x81R`\x03` \x90\x81R`@\x90\x91 T\x90a&,\x83\x83a;\xE0V[\x11\x15a&KW`@QcCqJ\xFD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_[\x82\x81\x10\x15a\x18\xAAW_[a&a\x82\x84a;\xE0V[\x81\x10\x15a&\xF0W\x84\x82\x81Q\x81\x10a&zWa&za8\x95V[` \x02` \x01\x01Q_\x01Q`\x01`\x01`\xA0\x1B\x03\x16`\x03_\x88`\xFF\x16`\xFF\x16\x81R` \x01\x90\x81R` \x01_ \x82\x81T\x81\x10a&\xB6Wa&\xB6a8\x95V[_\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x03a&\xE8W`@Qc{t4\x0B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a&WV[P_\x84\x82\x81Q\x81\x10a'\x04Wa'\x04a8\x95V[` \x02` \x01\x01Q` \x01Q`\x01`\x01``\x1B\x03\x16\x11a'7W`@QcrW\x12Q`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x85\x16_\x90\x81R`\x03` R`@\x90 \x84Q\x85\x90\x83\x90\x81\x10a'\\Wa'\\a8\x95V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01Q\x82T`\x01\x81\x01\x84U_\x93\x84R\x82\x84 \x82Q\x92\x84\x01Q`\x01`\x01``\x1B\x03\x16`\x01`\xA0\x1B\x02`\x01`\x01`\xA0\x1B\x03\x90\x93\x16\x92\x90\x92\x17\x91\x01U`\xFF\x87\x16\x82R`\x04\x90R`@\x90 \x84Q\x85\x90\x83\x90\x81\x10a'\xC0Wa'\xC0a8\x95V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQ\x82T`\x01\x81\x01\x84U_\x93\x84R\x91\x90\x92 \x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x90\x91\x17\x90U\x83Q`\xFF\x86\x16\x90\x7F\x10V^V\xCA\xCB\xF3.\xCA&yE\xF0T\xFE\xC0.Yu\x002\xD1\x13\xD30!\x82\xAD\x96\x7FT\x04\x90\x86\x90\x84\x90\x81\x10a(6Wa(6a8\x95V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQ`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R\x01`@Q\x80\x91\x03\x90\xA2\x84`\xFF\x16\x7F\x11\xA5d\x13\"\xDA\x1D\xFFV\xA4\xB6n\xAA\xC3\x1F\xFAFR\x95\xEC\xE9\x07\xCD\x1647y;M\0\x9Au\x85\x83\x81Q\x81\x10a(\x93Wa(\x93a8\x95V[` \x02` \x01\x01Q_\x01Q\x86\x84\x81Q\x81\x10a(\xB0Wa(\xB0a8\x95V[` \x02` \x01\x01Q` \x01Q`@Qa(\xCA\x92\x91\x90a.\xF2V[`@Q\x80\x91\x03\x90\xA2`\x01\x01a&MV[`\xFF\x82\x16_\x81\x81R` \x81\x81R`@\x91\x82\x90 \x80Tk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01`\x01``\x1B\x03\x86\x16\x90\x81\x17\x90\x91U\x91Q\x91\x82R\x7F&\xEE\xCF\xF2\xB7\x0B\nq\x10O\xF4\xD9@\xBAqb\xD2:\x95\xC2Hw\x1F\xC4\x87\xA7\xBE\x17\xA5\x96\xB3\xCF\x91\x01`@Q\x80\x91\x03\x90\xA2PPV[`\xFF\x82\x16_\x90\x81R`\x05` R`@\x90 \x80T\x82\x91\x90`\xFF\x19\x16`\x01\x83\x81\x81\x11\x15a)oWa)oa2\xEFV[\x02\x17\x90UP\x7F|\x11.\x86<\xCF\0xb\xE2\xC9\xE2X\x19\xC93\xFE\xDB\xC95\ndCB;J\x85\x99\xC2\xE8\xA5-\x81`@Qa)\xA3\x91\x90a3\x03V[`@Q\x80\x91\x03\x90\xA1PPV[\x81_\x01Qc\xFF\xFF\xFF\xFF\x16\x81c\xFF\xFF\xFF\xFF\x16\x10\x15a)\xDFW`@Qc\x13\x91\xE1\x1B`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x82\x01Qc\xFF\xFF\xFF\xFF\x16\x15\x80a*\x05WP\x81` \x01Qc\xFF\xFF\xFF\xFF\x16\x81c\xFF\xFF\xFF\xFF\x16\x10[a*\"W`@Qc\x13\x91\xE1\x1B`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[`\x01`\xFF\x80\x84\x16_\x90\x81R`\x05` R`@\x90 T\x16`\x01\x81\x11\x15a*MWa*Ma2\xEFV[\x14a*kW`@Qc\xA3\xBE%\x83`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c)\x81\xEBw`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a*\xC7W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a*\xEB\x91\x90a;\xF3V[c\xFF\xFF\xFF\xFF\x16\x81c\xFF\xFF\xFF\xFF\x16\x11\x15a+\x17W`@Qc\x0B\xD4A\xB9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xFF\x82\x16_\x90\x81R`\x06` \x90\x81R`@\x91\x82\x90 \x80Tc\xFF\xFF\xFF\xFF\x19\x81\x16c\xFF\xFF\xFF\xFF\x86\x81\x16\x91\x82\x17\x90\x93U\x84Q\x92\x90\x91\x16\x80\x83R\x92\x82\x01R\x90\x91\x7F(\xD75\x8By\xF0-!\xB8\xB7\xE1z\xEF\xC4\x18Zd0\x8A\xA3t\x06\xFA[\xEF\xC0[\x91\x93,9\xC7\x91\x01`@Q\x80\x91\x03\x90\xA1PPPV[_\x83\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x86\x16\x84R\x90\x91R\x81 T\x80[\x80\x15a,!W_\x86\x81R`\x02` \x90\x81R`@\x80\x83 `\xFF\x89\x16\x84R\x90\x91R\x90 c\xFF\xFF\xFF\xFF\x85\x16\x90a+\xD5`\x01\x84a8\xD6V[\x81T\x81\x10a+\xE5Wa+\xE5a8\x95V[_\x91\x82R` \x90\x91 \x01Tc\xFF\xFF\xFF\xFF\x16\x11a,\x0FWa,\x06`\x01\x82a8\xD6V[\x92PPPa\x11\\V[\x80a,\x19\x81a<\x0EV[\x91PPa+\xA1V[P`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x81`$\x82\x01R\x7FStakeRegistry._getStakeUpdateInd`D\x82\x01R\x7FexForOperatorAtBlockNumber: no s`d\x82\x01R\x7Ftake update found for operatorId`\x84\x82\x01R\x7F and quorumNumber at block numbe`\xA4\x82\x01R`9`\xF9\x1B`\xC4\x82\x01R`\xE4\x01`@Q\x80\x91\x03\x90\xFD[_a\x11\\`\x01`\x01``\x1B\x03\x80\x85\x16\x90\x84\x16a<#V[__\x82\x12\x15a-$Wa-\x13\x82a<BV[a-\x1D\x90\x84a<\\V[\x90Pa\n\xACV[a-\x1D\x82\x84a;\xC1V[`\xFF\x82\x16_\x90\x81R`\x06` R`@\x81 T``\x91\x90a-T\x90c\xFF\xFF\xFF\xFF\x16Ca;\xE0V[\x90P_\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c+\xAB,J`@Q\x80`@\x01`@R\x80\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xDE\x11d\xBB`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a-\xEDW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a.\x11\x91\x90a8\xFDV[`\x01`\x01`\xA0\x1B\x03\x16\x81R`\xFF\x89\x16` \x91\x82\x01\x81\x90R_\x90\x81R`\x04\x91\x82\x90R`@\x90\x81\x90 \x90Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x86\x90\x1B\x16\x81Ra.[\x93\x92\x8A\x92\x91\x89\x91\x01a<{V[_`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a.uW=__>=_\xFD[PPPP`@Q=_\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\":\x91\x90\x81\x01\x90a:\x7FV[\x805`\xFF\x81\x16\x81\x14a.\xACW__\xFD[\x91\x90PV[_` \x82\x84\x03\x12\x15a.\xC1W__\xFD[a\x11\\\x82a.\x9CV[__`@\x83\x85\x03\x12\x15a.\xDBW__\xFD[a.\xE4\x83a.\x9CV[\x94` \x93\x90\x93\x015\x93PPPV[`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x82R`\x01`\x01``\x1B\x03\x16` \x82\x01R`@\x01\x90V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1C\xAFW__\xFD[__`@\x83\x85\x03\x12\x15a/9W__\xFD[a/B\x83a.\x9CV[\x91P` \x83\x015a/R\x81a/\x14V[\x80\x91PP\x92P\x92\x90PV[__\x83`\x1F\x84\x01\x12a/mW__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a/\x83W__\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x1DVW__\xFD[_____``\x86\x88\x03\x12\x15a/\xB1W__\xFD[a/\xBA\x86a.\x9CV[\x94P` \x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a/\xD4W__\xFD[a/\xE0\x88\x82\x89\x01a/]V[\x90\x95P\x93PP`@\x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a/\xFEW__\xFD[a0\n\x88\x82\x89\x01a/]V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[__\x83`\x1F\x84\x01\x12a0+W__\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a0AW__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1DVW__\xFD[____``\x85\x87\x03\x12\x15a0kW__\xFD[\x845a0v\x81a/\x14V[\x93P` \x85\x015\x92P`@\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a0\x97W__\xFD[a0\xA3\x87\x82\x88\x01a0\x1BV[\x95\x98\x94\x97P\x95PPPPV[_\x81Q\x80\x84R` \x84\x01\x93P` \x83\x01_[\x82\x81\x10\x15a0\xE8W\x81Q`\x01`\x01``\x1B\x03\x16\x86R` \x95\x86\x01\x95\x90\x91\x01\x90`\x01\x01a0\xC1V[P\x93\x94\x93PPPPV[`@\x81R_a1\x04`@\x83\x01\x85a0\xAFV[\x82\x81\x03` \x84\x01Ra\":\x81\x85a0\xAFV[__`@\x83\x85\x03\x12\x15a1'W__\xFD[\x825\x91Pa17` \x84\x01a.\x9CV[\x90P\x92P\x92\x90PV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R_\x91\x84\x01\x90`@\x84\x01\x90\x83[\x81\x81\x10\x15a1\xAEWa1\x98\x83\x85Qc\xFF\xFF\xFF\xFF\x81Q\x16\x82Rc\xFF\xFF\xFF\xFF` \x82\x01Q\x16` \x83\x01R`\x01`\x01``\x1B\x03`@\x82\x01Q\x16`@\x83\x01RPPV[` \x93\x90\x93\x01\x92``\x92\x90\x92\x01\x91`\x01\x01a1YV[P\x90\x95\x94PPPPPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@\x80Q\x90\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a1\xEFWa1\xEFa1\xB9V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a2\x1DWa2\x1Da1\xB9V[`@R\x91\x90PV[_`\x01`\x01`@\x1B\x03\x82\x11\x15a2=Wa2=a1\xB9V[P`\x05\x1B` \x01\x90V[__`@\x83\x85\x03\x12\x15a2XW__\xFD[a2a\x83a.\x9CV[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a2{W__\xFD[\x83\x01`\x1F\x81\x01\x85\x13a2\x8BW__\xFD[\x805a2\x9Ea2\x99\x82a2%V[a1\xF5V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x87\x83\x11\x15a2\xBFW__\xFD[` \x84\x01\x93P[\x82\x84\x10\x15a2\xE1W\x835\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a2\xC6V[\x80\x94PPPPP\x92P\x92\x90PV[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[` \x81\x01`\x02\x83\x10a3#WcNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[\x91\x90R\x90V[_\x82`\x1F\x83\x01\x12a38W__\xFD[\x815a3Fa2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a3gW__\xFD[` \x85\x01[\x83\x81\x10\x15a3\x84W\x805\x83R` \x92\x83\x01\x92\x01a3lV[P\x95\x94PPPPPV[___``\x84\x86\x03\x12\x15a3\xA0W__\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a3\xB5W__\xFD[\x84\x01`\x1F\x81\x01\x86\x13a3\xC5W__\xFD[\x805a3\xD3a2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x88\x83\x11\x15a3\xF4W__\xFD[` \x84\x01\x93P[\x82\x84\x10\x15a4\x1FW\x835a4\x0E\x81a/\x14V[\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a3\xFBV[\x95PPPP` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a4<W__\xFD[a4H\x86\x82\x87\x01a3)V[\x92PPa4W`@\x85\x01a.\x9CV[\x90P\x92P\x92P\x92V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R_\x91\x84\x01\x90`@\x84\x01\x90\x83[\x81\x81\x10\x15a1\xAEW\x83Q\x15\x15\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a4yV[\x805`\x01`\x01``\x1B\x03\x81\x16\x81\x14a.\xACW__\xFD[_\x82`\x1F\x83\x01\x12a4\xBEW__\xFD[\x815a4\xCCa2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x06\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a4\xEDW__\xFD[` \x85\x01[\x83\x81\x10\x15a3\x84W`@\x81\x88\x03\x12\x15a5\tW__\xFD[a5\x11a1\xCDV[\x815a5\x1C\x81a/\x14V[\x81Ra5*` \x83\x01a4\x99V[` \x82\x01R\x80\x84RP` \x83\x01\x92P`@\x81\x01\x90Pa4\xF2V[___``\x84\x86\x03\x12\x15a5VW__\xFD[a5_\x84a.\x9CV[\x92Pa5m` \x85\x01a4\x99V[\x91P`@\x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a5\x87W__\xFD[a5\x93\x86\x82\x87\x01a4\xAFV[\x91PP\x92P\x92P\x92V[c\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x1C\xAFW__\xFD[___`@\x84\x86\x03\x12\x15a5\xC0W__\xFD[\x835a5\xCB\x81a5\x9DV[\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a5\xE5W__\xFD[a5\xF1\x86\x82\x87\x01a0\x1BV[\x94\x97\x90\x96P\x93\x94PPPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R_\x91\x84\x01\x90`@\x84\x01\x90\x83[\x81\x81\x10\x15a1\xAEW\x83Qc\xFF\xFF\xFF\xFF\x16\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a6\x17V[___``\x84\x86\x03\x12\x15a6MW__\xFD[a6V\x84a.\x9CV[\x95` \x85\x015\x95P`@\x90\x94\x015\x93\x92PPPV[``\x81\x01a\n\xAC\x82\x84c\xFF\xFF\xFF\xFF\x81Q\x16\x82Rc\xFF\xFF\xFF\xFF` \x82\x01Q\x16` \x83\x01R`\x01`\x01``\x1B\x03`@\x82\x01Q\x16`@\x83\x01RPPV[__`@\x83\x85\x03\x12\x15a6\xB6W__\xFD[a6\xBF\x83a.\x9CV[\x91Pa17` \x84\x01a4\x99V[___`@\x84\x86\x03\x12\x15a6\xDFW__\xFD[\x835\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a5\xE5W__\xFD[__`@\x83\x85\x03\x12\x15a7\x0CW__\xFD[a7\x15\x83a.\x9CV[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a7/W__\xFD[a7;\x85\x82\x86\x01a4\xAFV[\x91PP\x92P\x92\x90PV[___``\x84\x86\x03\x12\x15a7WW__\xFD[a7`\x84a.\x9CV[\x92P` \x84\x015a7p\x81a5\x9DV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[____`\x80\x85\x87\x03\x12\x15a7\x94W__\xFD[a7\x9D\x85a.\x9CV[\x93Pa7\xAB` \x86\x01a4\x99V[\x92P`@\x85\x015a7\xBB\x81a5\x9DV[\x91P``\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a7\xD5W__\xFD[a7\xE1\x87\x82\x88\x01a4\xAFV[\x91PP\x92\x95\x91\x94P\x92PV[___``\x84\x86\x03\x12\x15a7\xFFW__\xFD[\x835\x92Pa8\x0F` \x85\x01a.\x9CV[\x91P`@\x84\x015a8\x1F\x81a5\x9DV[\x80\x91PP\x92P\x92P\x92V[__`@\x83\x85\x03\x12\x15a8;W__\xFD[a8D\x83a.\x9CV[\x91P` \x83\x015a/R\x81a5\x9DV[____`\x80\x85\x87\x03\x12\x15a8gW__\xFD[a8p\x85a.\x9CV[\x93P` \x85\x015a8\x80\x81a5\x9DV[\x93\x96\x93\x95PPPP`@\x82\x015\x91``\x015\x90V[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a8\xB9W__\xFD[a\x11\\\x82a4\x99V[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x81\x81\x03\x81\x81\x11\x15a\n\xACWa\n\xACa8\xC2V[cNH{q`\xE0\x1B_R`1`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a9\rW__\xFD[\x81Qa\x11\\\x81a/\x14V[\x81Q`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x80\x83\x01Qc\xFF\xFF\xFF\xFF\x16\x90\x82\x01R`@\x81\x01a\n\xACV[_` \x82\x84\x03\x12\x15a9NW__\xFD[\x81Q\x80\x15\x15\x81\x14a\x11\\W__\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16\x81R`\xFF\x83\x16` \x80\x83\x01\x91\x90\x91R```@\x83\x01\x81\x90R\x83Q\x90\x83\x01\x81\x90R_\x91\x84\x01\x90`\x80\x84\x01\x90\x83[\x81\x81\x10\x15a9\xBAW\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a9\x93V[P\x90\x97\x96PPPPPPPV[\x80\x82\x01\x82\x81\x12_\x83\x12\x80\x15\x82\x16\x82\x15\x82\x16\x17\x15a\x1C\x19Wa\x1C\x19a8\xC2V[_\x81Q\x80\x84R` \x84\x01\x93P` \x83\x01_[\x82\x81\x10\x15a0\xE8W\x81Q`\x01`\x01`\xA0\x1B\x03\x16\x86R` \x95\x86\x01\x95\x90\x91\x01\x90`\x01\x01a9\xF8V[_\x81T\x80\x84R` \x84\x01\x93P\x82_R` _ _[\x82\x81\x10\x15a0\xE8W\x81T`\x01`\x01`\xA0\x1B\x03\x16\x86R` \x90\x95\x01\x94`\x01\x91\x82\x01\x91\x01a:4V[`@\x81R_a:m`@\x83\x01\x85a9\xE6V[\x82\x81\x03` \x84\x01Ra\":\x81\x85a:\x1FV[_` \x82\x84\x03\x12\x15a:\x8FW__\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a:\xA4W__\xFD[\x82\x01`\x1F\x81\x01\x84\x13a:\xB4W__\xFD[\x80Qa:\xC2a2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x86\x83\x11\x15a:\xE3W__\xFD[` \x84\x01[\x83\x81\x10\x15a;\x80W\x80Q`\x01`\x01`@\x1B\x03\x81\x11\x15a;\x05W__\xFD[\x85\x01`?\x81\x01\x89\x13a;\x15W__\xFD[` \x81\x01Qa;&a2\x99\x82a2%V[\x80\x82\x82R` \x82\x01\x91P` \x80\x84`\x05\x1B\x86\x01\x01\x01\x92P\x8B\x83\x11\x15a;IW__\xFD[`@\x84\x01\x93P[\x82\x84\x10\x15a;kW\x83Q\x82R` \x93\x84\x01\x93\x90\x91\x01\x90a;PV[\x86RPP` \x93\x84\x01\x93\x91\x90\x91\x01\x90Pa:\xE8V[P\x96\x95PPPPPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\n\xACWa\n\xACa8\xC2V[_\x82a;\xBCWcNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[P\x04\x90V[`\x01`\x01``\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x81\x11\x15a\n\xACWa\n\xACa8\xC2V[\x80\x82\x01\x80\x82\x11\x15a\n\xACWa\n\xACa8\xC2V[_` \x82\x84\x03\x12\x15a<\x03W__\xFD[\x81Qa\x11\\\x81a5\x9DV[_\x81a<\x1CWa<\x1Ca8\xC2V[P_\x19\x01\x90V[\x81\x81\x03_\x83\x12\x80\x15\x83\x83\x13\x16\x83\x83\x12\x82\x16\x17\x15a\x06\xE8Wa\x06\xE8a8\xC2V[_`\x01`\xFF\x1B\x82\x01a<VWa<Va8\xC2V[P_\x03\x90V[`\x01`\x01``\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x81\x11\x15a\n\xACWa\n\xACa8\xC2V[\x84Q`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x80\x86\x01Qc\xFF\xFF\xFF\xFF\x16\x90\x82\x01R`\xA0`@\x82\x01R_a<\xAD`\xA0\x83\x01\x86a9\xE6V[\x82\x81\x03``\x84\x01Ra<\xBF\x81\x86a:\x1FV[\x91PPc\xFF\xFF\xFF\xFF\x83\x16`\x80\x83\x01R\x95\x94PPPPPV\xFE\xA2dipfsX\"\x12 \xAD\xD2\x1B\xE5\xD1\x81\xF1\xA3\xBA/\xA5\xEF\xFF.oD\x92\x89gw\xC4QlD|\xACU7\xFE\x9A\xA6\xC5dsolcC\0\x08\x1B\x003",
2055 );
2056 #[derive(serde::Serialize, serde::Deserialize)]
2057 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2058 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2063 #[derive(Clone)]
2064 pub struct BelowMinimumStakeRequirement;
2065 #[allow(
2066 non_camel_case_types,
2067 non_snake_case,
2068 clippy::pub_underscore_fields,
2069 clippy::style
2070 )]
2071 const _: () = {
2072 use alloy::sol_types as alloy_sol_types;
2073 #[doc(hidden)]
2074 type UnderlyingSolTuple<'a> = ();
2075 #[doc(hidden)]
2076 type UnderlyingRustTuple<'a> = ();
2077 #[cfg(test)]
2078 #[allow(dead_code, unreachable_patterns)]
2079 fn _type_assertion(
2080 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2081 ) {
2082 match _t {
2083 alloy_sol_types::private::AssertTypeEq::<
2084 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2085 >(_) => {}
2086 }
2087 }
2088 #[automatically_derived]
2089 #[doc(hidden)]
2090 impl ::core::convert::From<BelowMinimumStakeRequirement>
2091 for UnderlyingRustTuple<'_> {
2092 fn from(value: BelowMinimumStakeRequirement) -> Self {
2093 ()
2094 }
2095 }
2096 #[automatically_derived]
2097 #[doc(hidden)]
2098 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2099 for BelowMinimumStakeRequirement {
2100 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2101 Self
2102 }
2103 }
2104 #[automatically_derived]
2105 impl alloy_sol_types::SolError for BelowMinimumStakeRequirement {
2106 type Parameters<'a> = UnderlyingSolTuple<'a>;
2107 type Token<'a> = <Self::Parameters<
2108 'a,
2109 > as alloy_sol_types::SolType>::Token<'a>;
2110 const SIGNATURE: &'static str = "BelowMinimumStakeRequirement()";
2111 const SELECTOR: [u8; 4] = [64u8, 254u8, 39u8, 198u8];
2112 #[inline]
2113 fn new<'a>(
2114 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2115 ) -> Self {
2116 tuple.into()
2117 }
2118 #[inline]
2119 fn tokenize(&self) -> Self::Token<'_> {
2120 ()
2121 }
2122 #[inline]
2123 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2124 <Self::Parameters<
2125 '_,
2126 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2127 .map(Self::new)
2128 }
2129 }
2130 };
2131 #[derive(serde::Serialize, serde::Deserialize)]
2132 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2133 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2138 #[derive(Clone)]
2139 pub struct EmptyStakeHistory;
2140 #[allow(
2141 non_camel_case_types,
2142 non_snake_case,
2143 clippy::pub_underscore_fields,
2144 clippy::style
2145 )]
2146 const _: () = {
2147 use alloy::sol_types as alloy_sol_types;
2148 #[doc(hidden)]
2149 type UnderlyingSolTuple<'a> = ();
2150 #[doc(hidden)]
2151 type UnderlyingRustTuple<'a> = ();
2152 #[cfg(test)]
2153 #[allow(dead_code, unreachable_patterns)]
2154 fn _type_assertion(
2155 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2156 ) {
2157 match _t {
2158 alloy_sol_types::private::AssertTypeEq::<
2159 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2160 >(_) => {}
2161 }
2162 }
2163 #[automatically_derived]
2164 #[doc(hidden)]
2165 impl ::core::convert::From<EmptyStakeHistory> for UnderlyingRustTuple<'_> {
2166 fn from(value: EmptyStakeHistory) -> Self {
2167 ()
2168 }
2169 }
2170 #[automatically_derived]
2171 #[doc(hidden)]
2172 impl ::core::convert::From<UnderlyingRustTuple<'_>> for EmptyStakeHistory {
2173 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2174 Self
2175 }
2176 }
2177 #[automatically_derived]
2178 impl alloy_sol_types::SolError for EmptyStakeHistory {
2179 type Parameters<'a> = UnderlyingSolTuple<'a>;
2180 type Token<'a> = <Self::Parameters<
2181 'a,
2182 > as alloy_sol_types::SolType>::Token<'a>;
2183 const SIGNATURE: &'static str = "EmptyStakeHistory()";
2184 const SELECTOR: [u8; 4] = [204u8, 100u8, 101u8, 115u8];
2185 #[inline]
2186 fn new<'a>(
2187 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2188 ) -> Self {
2189 tuple.into()
2190 }
2191 #[inline]
2192 fn tokenize(&self) -> Self::Token<'_> {
2193 ()
2194 }
2195 #[inline]
2196 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2197 <Self::Parameters<
2198 '_,
2199 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2200 .map(Self::new)
2201 }
2202 }
2203 };
2204 #[derive(serde::Serialize, serde::Deserialize)]
2205 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2206 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2211 #[derive(Clone)]
2212 pub struct InputArrayLengthMismatch;
2213 #[allow(
2214 non_camel_case_types,
2215 non_snake_case,
2216 clippy::pub_underscore_fields,
2217 clippy::style
2218 )]
2219 const _: () = {
2220 use alloy::sol_types as alloy_sol_types;
2221 #[doc(hidden)]
2222 type UnderlyingSolTuple<'a> = ();
2223 #[doc(hidden)]
2224 type UnderlyingRustTuple<'a> = ();
2225 #[cfg(test)]
2226 #[allow(dead_code, unreachable_patterns)]
2227 fn _type_assertion(
2228 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2229 ) {
2230 match _t {
2231 alloy_sol_types::private::AssertTypeEq::<
2232 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2233 >(_) => {}
2234 }
2235 }
2236 #[automatically_derived]
2237 #[doc(hidden)]
2238 impl ::core::convert::From<InputArrayLengthMismatch>
2239 for UnderlyingRustTuple<'_> {
2240 fn from(value: InputArrayLengthMismatch) -> Self {
2241 ()
2242 }
2243 }
2244 #[automatically_derived]
2245 #[doc(hidden)]
2246 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2247 for InputArrayLengthMismatch {
2248 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2249 Self
2250 }
2251 }
2252 #[automatically_derived]
2253 impl alloy_sol_types::SolError for InputArrayLengthMismatch {
2254 type Parameters<'a> = UnderlyingSolTuple<'a>;
2255 type Token<'a> = <Self::Parameters<
2256 'a,
2257 > as alloy_sol_types::SolType>::Token<'a>;
2258 const SIGNATURE: &'static str = "InputArrayLengthMismatch()";
2259 const SELECTOR: [u8; 4] = [67u8, 113u8, 74u8, 253u8];
2260 #[inline]
2261 fn new<'a>(
2262 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2263 ) -> Self {
2264 tuple.into()
2265 }
2266 #[inline]
2267 fn tokenize(&self) -> Self::Token<'_> {
2268 ()
2269 }
2270 #[inline]
2271 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2272 <Self::Parameters<
2273 '_,
2274 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2275 .map(Self::new)
2276 }
2277 }
2278 };
2279 #[derive(serde::Serialize, serde::Deserialize)]
2280 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2281 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2286 #[derive(Clone)]
2287 pub struct InputArrayLengthZero;
2288 #[allow(
2289 non_camel_case_types,
2290 non_snake_case,
2291 clippy::pub_underscore_fields,
2292 clippy::style
2293 )]
2294 const _: () = {
2295 use alloy::sol_types as alloy_sol_types;
2296 #[doc(hidden)]
2297 type UnderlyingSolTuple<'a> = ();
2298 #[doc(hidden)]
2299 type UnderlyingRustTuple<'a> = ();
2300 #[cfg(test)]
2301 #[allow(dead_code, unreachable_patterns)]
2302 fn _type_assertion(
2303 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2304 ) {
2305 match _t {
2306 alloy_sol_types::private::AssertTypeEq::<
2307 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2308 >(_) => {}
2309 }
2310 }
2311 #[automatically_derived]
2312 #[doc(hidden)]
2313 impl ::core::convert::From<InputArrayLengthZero> for UnderlyingRustTuple<'_> {
2314 fn from(value: InputArrayLengthZero) -> Self {
2315 ()
2316 }
2317 }
2318 #[automatically_derived]
2319 #[doc(hidden)]
2320 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputArrayLengthZero {
2321 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2322 Self
2323 }
2324 }
2325 #[automatically_derived]
2326 impl alloy_sol_types::SolError for InputArrayLengthZero {
2327 type Parameters<'a> = UnderlyingSolTuple<'a>;
2328 type Token<'a> = <Self::Parameters<
2329 'a,
2330 > as alloy_sol_types::SolType>::Token<'a>;
2331 const SIGNATURE: &'static str = "InputArrayLengthZero()";
2332 const SELECTOR: [u8; 4] = [121u8, 108u8, 197u8, 37u8];
2333 #[inline]
2334 fn new<'a>(
2335 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2336 ) -> Self {
2337 tuple.into()
2338 }
2339 #[inline]
2340 fn tokenize(&self) -> Self::Token<'_> {
2341 ()
2342 }
2343 #[inline]
2344 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2345 <Self::Parameters<
2346 '_,
2347 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2348 .map(Self::new)
2349 }
2350 }
2351 };
2352 #[derive(serde::Serialize, serde::Deserialize)]
2353 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2354 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2359 #[derive(Clone)]
2360 pub struct InputDuplicateStrategy;
2361 #[allow(
2362 non_camel_case_types,
2363 non_snake_case,
2364 clippy::pub_underscore_fields,
2365 clippy::style
2366 )]
2367 const _: () = {
2368 use alloy::sol_types as alloy_sol_types;
2369 #[doc(hidden)]
2370 type UnderlyingSolTuple<'a> = ();
2371 #[doc(hidden)]
2372 type UnderlyingRustTuple<'a> = ();
2373 #[cfg(test)]
2374 #[allow(dead_code, unreachable_patterns)]
2375 fn _type_assertion(
2376 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2377 ) {
2378 match _t {
2379 alloy_sol_types::private::AssertTypeEq::<
2380 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2381 >(_) => {}
2382 }
2383 }
2384 #[automatically_derived]
2385 #[doc(hidden)]
2386 impl ::core::convert::From<InputDuplicateStrategy> for UnderlyingRustTuple<'_> {
2387 fn from(value: InputDuplicateStrategy) -> Self {
2388 ()
2389 }
2390 }
2391 #[automatically_derived]
2392 #[doc(hidden)]
2393 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputDuplicateStrategy {
2394 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2395 Self
2396 }
2397 }
2398 #[automatically_derived]
2399 impl alloy_sol_types::SolError for InputDuplicateStrategy {
2400 type Parameters<'a> = UnderlyingSolTuple<'a>;
2401 type Token<'a> = <Self::Parameters<
2402 'a,
2403 > as alloy_sol_types::SolType>::Token<'a>;
2404 const SIGNATURE: &'static str = "InputDuplicateStrategy()";
2405 const SELECTOR: [u8; 4] = [123u8, 116u8, 52u8, 11u8];
2406 #[inline]
2407 fn new<'a>(
2408 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2409 ) -> Self {
2410 tuple.into()
2411 }
2412 #[inline]
2413 fn tokenize(&self) -> Self::Token<'_> {
2414 ()
2415 }
2416 #[inline]
2417 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2418 <Self::Parameters<
2419 '_,
2420 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2421 .map(Self::new)
2422 }
2423 }
2424 };
2425 #[derive(serde::Serialize, serde::Deserialize)]
2426 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2427 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2432 #[derive(Clone)]
2433 pub struct InputMultiplierZero;
2434 #[allow(
2435 non_camel_case_types,
2436 non_snake_case,
2437 clippy::pub_underscore_fields,
2438 clippy::style
2439 )]
2440 const _: () = {
2441 use alloy::sol_types as alloy_sol_types;
2442 #[doc(hidden)]
2443 type UnderlyingSolTuple<'a> = ();
2444 #[doc(hidden)]
2445 type UnderlyingRustTuple<'a> = ();
2446 #[cfg(test)]
2447 #[allow(dead_code, unreachable_patterns)]
2448 fn _type_assertion(
2449 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2450 ) {
2451 match _t {
2452 alloy_sol_types::private::AssertTypeEq::<
2453 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2454 >(_) => {}
2455 }
2456 }
2457 #[automatically_derived]
2458 #[doc(hidden)]
2459 impl ::core::convert::From<InputMultiplierZero> for UnderlyingRustTuple<'_> {
2460 fn from(value: InputMultiplierZero) -> Self {
2461 ()
2462 }
2463 }
2464 #[automatically_derived]
2465 #[doc(hidden)]
2466 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputMultiplierZero {
2467 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2468 Self
2469 }
2470 }
2471 #[automatically_derived]
2472 impl alloy_sol_types::SolError for InputMultiplierZero {
2473 type Parameters<'a> = UnderlyingSolTuple<'a>;
2474 type Token<'a> = <Self::Parameters<
2475 'a,
2476 > as alloy_sol_types::SolType>::Token<'a>;
2477 const SIGNATURE: &'static str = "InputMultiplierZero()";
2478 const SELECTOR: [u8; 4] = [114u8, 87u8, 18u8, 81u8];
2479 #[inline]
2480 fn new<'a>(
2481 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2482 ) -> Self {
2483 tuple.into()
2484 }
2485 #[inline]
2486 fn tokenize(&self) -> Self::Token<'_> {
2487 ()
2488 }
2489 #[inline]
2490 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2491 <Self::Parameters<
2492 '_,
2493 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2494 .map(Self::new)
2495 }
2496 }
2497 };
2498 #[derive(serde::Serialize, serde::Deserialize)]
2499 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2500 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2505 #[derive(Clone)]
2506 pub struct InvalidBlockNumber;
2507 #[allow(
2508 non_camel_case_types,
2509 non_snake_case,
2510 clippy::pub_underscore_fields,
2511 clippy::style
2512 )]
2513 const _: () = {
2514 use alloy::sol_types as alloy_sol_types;
2515 #[doc(hidden)]
2516 type UnderlyingSolTuple<'a> = ();
2517 #[doc(hidden)]
2518 type UnderlyingRustTuple<'a> = ();
2519 #[cfg(test)]
2520 #[allow(dead_code, unreachable_patterns)]
2521 fn _type_assertion(
2522 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2523 ) {
2524 match _t {
2525 alloy_sol_types::private::AssertTypeEq::<
2526 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2527 >(_) => {}
2528 }
2529 }
2530 #[automatically_derived]
2531 #[doc(hidden)]
2532 impl ::core::convert::From<InvalidBlockNumber> for UnderlyingRustTuple<'_> {
2533 fn from(value: InvalidBlockNumber) -> Self {
2534 ()
2535 }
2536 }
2537 #[automatically_derived]
2538 #[doc(hidden)]
2539 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidBlockNumber {
2540 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2541 Self
2542 }
2543 }
2544 #[automatically_derived]
2545 impl alloy_sol_types::SolError for InvalidBlockNumber {
2546 type Parameters<'a> = UnderlyingSolTuple<'a>;
2547 type Token<'a> = <Self::Parameters<
2548 'a,
2549 > as alloy_sol_types::SolType>::Token<'a>;
2550 const SIGNATURE: &'static str = "InvalidBlockNumber()";
2551 const SELECTOR: [u8; 4] = [78u8, 71u8, 132u8, 108u8];
2552 #[inline]
2553 fn new<'a>(
2554 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2555 ) -> Self {
2556 tuple.into()
2557 }
2558 #[inline]
2559 fn tokenize(&self) -> Self::Token<'_> {
2560 ()
2561 }
2562 #[inline]
2563 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2564 <Self::Parameters<
2565 '_,
2566 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2567 .map(Self::new)
2568 }
2569 }
2570 };
2571 #[derive(serde::Serialize, serde::Deserialize)]
2572 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2573 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2578 #[derive(Clone)]
2579 pub struct LookAheadPeriodTooLong;
2580 #[allow(
2581 non_camel_case_types,
2582 non_snake_case,
2583 clippy::pub_underscore_fields,
2584 clippy::style
2585 )]
2586 const _: () = {
2587 use alloy::sol_types as alloy_sol_types;
2588 #[doc(hidden)]
2589 type UnderlyingSolTuple<'a> = ();
2590 #[doc(hidden)]
2591 type UnderlyingRustTuple<'a> = ();
2592 #[cfg(test)]
2593 #[allow(dead_code, unreachable_patterns)]
2594 fn _type_assertion(
2595 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2596 ) {
2597 match _t {
2598 alloy_sol_types::private::AssertTypeEq::<
2599 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2600 >(_) => {}
2601 }
2602 }
2603 #[automatically_derived]
2604 #[doc(hidden)]
2605 impl ::core::convert::From<LookAheadPeriodTooLong> for UnderlyingRustTuple<'_> {
2606 fn from(value: LookAheadPeriodTooLong) -> Self {
2607 ()
2608 }
2609 }
2610 #[automatically_derived]
2611 #[doc(hidden)]
2612 impl ::core::convert::From<UnderlyingRustTuple<'_>> for LookAheadPeriodTooLong {
2613 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2614 Self
2615 }
2616 }
2617 #[automatically_derived]
2618 impl alloy_sol_types::SolError for LookAheadPeriodTooLong {
2619 type Parameters<'a> = UnderlyingSolTuple<'a>;
2620 type Token<'a> = <Self::Parameters<
2621 'a,
2622 > as alloy_sol_types::SolType>::Token<'a>;
2623 const SIGNATURE: &'static str = "LookAheadPeriodTooLong()";
2624 const SELECTOR: [u8; 4] = [47u8, 81u8, 6u8, 228u8];
2625 #[inline]
2626 fn new<'a>(
2627 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2628 ) -> Self {
2629 tuple.into()
2630 }
2631 #[inline]
2632 fn tokenize(&self) -> Self::Token<'_> {
2633 ()
2634 }
2635 #[inline]
2636 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2637 <Self::Parameters<
2638 '_,
2639 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2640 .map(Self::new)
2641 }
2642 }
2643 };
2644 #[derive(serde::Serialize, serde::Deserialize)]
2645 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2646 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2651 #[derive(Clone)]
2652 pub struct OnlySlashingRegistryCoordinator;
2653 #[allow(
2654 non_camel_case_types,
2655 non_snake_case,
2656 clippy::pub_underscore_fields,
2657 clippy::style
2658 )]
2659 const _: () = {
2660 use alloy::sol_types as alloy_sol_types;
2661 #[doc(hidden)]
2662 type UnderlyingSolTuple<'a> = ();
2663 #[doc(hidden)]
2664 type UnderlyingRustTuple<'a> = ();
2665 #[cfg(test)]
2666 #[allow(dead_code, unreachable_patterns)]
2667 fn _type_assertion(
2668 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2669 ) {
2670 match _t {
2671 alloy_sol_types::private::AssertTypeEq::<
2672 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2673 >(_) => {}
2674 }
2675 }
2676 #[automatically_derived]
2677 #[doc(hidden)]
2678 impl ::core::convert::From<OnlySlashingRegistryCoordinator>
2679 for UnderlyingRustTuple<'_> {
2680 fn from(value: OnlySlashingRegistryCoordinator) -> Self {
2681 ()
2682 }
2683 }
2684 #[automatically_derived]
2685 #[doc(hidden)]
2686 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2687 for OnlySlashingRegistryCoordinator {
2688 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2689 Self
2690 }
2691 }
2692 #[automatically_derived]
2693 impl alloy_sol_types::SolError for OnlySlashingRegistryCoordinator {
2694 type Parameters<'a> = UnderlyingSolTuple<'a>;
2695 type Token<'a> = <Self::Parameters<
2696 'a,
2697 > as alloy_sol_types::SolType>::Token<'a>;
2698 const SIGNATURE: &'static str = "OnlySlashingRegistryCoordinator()";
2699 const SELECTOR: [u8; 4] = [176u8, 6u8, 200u8, 20u8];
2700 #[inline]
2701 fn new<'a>(
2702 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2703 ) -> Self {
2704 tuple.into()
2705 }
2706 #[inline]
2707 fn tokenize(&self) -> Self::Token<'_> {
2708 ()
2709 }
2710 #[inline]
2711 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2712 <Self::Parameters<
2713 '_,
2714 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2715 .map(Self::new)
2716 }
2717 }
2718 };
2719 #[derive(serde::Serialize, serde::Deserialize)]
2720 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2721 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2726 #[derive(Clone)]
2727 pub struct OnlySlashingRegistryCoordinatorOwner;
2728 #[allow(
2729 non_camel_case_types,
2730 non_snake_case,
2731 clippy::pub_underscore_fields,
2732 clippy::style
2733 )]
2734 const _: () = {
2735 use alloy::sol_types as alloy_sol_types;
2736 #[doc(hidden)]
2737 type UnderlyingSolTuple<'a> = ();
2738 #[doc(hidden)]
2739 type UnderlyingRustTuple<'a> = ();
2740 #[cfg(test)]
2741 #[allow(dead_code, unreachable_patterns)]
2742 fn _type_assertion(
2743 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2744 ) {
2745 match _t {
2746 alloy_sol_types::private::AssertTypeEq::<
2747 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2748 >(_) => {}
2749 }
2750 }
2751 #[automatically_derived]
2752 #[doc(hidden)]
2753 impl ::core::convert::From<OnlySlashingRegistryCoordinatorOwner>
2754 for UnderlyingRustTuple<'_> {
2755 fn from(value: OnlySlashingRegistryCoordinatorOwner) -> Self {
2756 ()
2757 }
2758 }
2759 #[automatically_derived]
2760 #[doc(hidden)]
2761 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2762 for OnlySlashingRegistryCoordinatorOwner {
2763 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2764 Self
2765 }
2766 }
2767 #[automatically_derived]
2768 impl alloy_sol_types::SolError for OnlySlashingRegistryCoordinatorOwner {
2769 type Parameters<'a> = UnderlyingSolTuple<'a>;
2770 type Token<'a> = <Self::Parameters<
2771 'a,
2772 > as alloy_sol_types::SolType>::Token<'a>;
2773 const SIGNATURE: &'static str = "OnlySlashingRegistryCoordinatorOwner()";
2774 const SELECTOR: [u8; 4] = [206u8, 152u8, 194u8, 75u8];
2775 #[inline]
2776 fn new<'a>(
2777 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2778 ) -> Self {
2779 tuple.into()
2780 }
2781 #[inline]
2782 fn tokenize(&self) -> Self::Token<'_> {
2783 ()
2784 }
2785 #[inline]
2786 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2787 <Self::Parameters<
2788 '_,
2789 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2790 .map(Self::new)
2791 }
2792 }
2793 };
2794 #[derive(serde::Serialize, serde::Deserialize)]
2795 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2796 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2801 #[derive(Clone)]
2802 pub struct QuorumAlreadyExists;
2803 #[allow(
2804 non_camel_case_types,
2805 non_snake_case,
2806 clippy::pub_underscore_fields,
2807 clippy::style
2808 )]
2809 const _: () = {
2810 use alloy::sol_types as alloy_sol_types;
2811 #[doc(hidden)]
2812 type UnderlyingSolTuple<'a> = ();
2813 #[doc(hidden)]
2814 type UnderlyingRustTuple<'a> = ();
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<QuorumAlreadyExists> for UnderlyingRustTuple<'_> {
2829 fn from(value: QuorumAlreadyExists) -> Self {
2830 ()
2831 }
2832 }
2833 #[automatically_derived]
2834 #[doc(hidden)]
2835 impl ::core::convert::From<UnderlyingRustTuple<'_>> for QuorumAlreadyExists {
2836 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2837 Self
2838 }
2839 }
2840 #[automatically_derived]
2841 impl alloy_sol_types::SolError for QuorumAlreadyExists {
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 = "QuorumAlreadyExists()";
2847 const SELECTOR: [u8; 4] = [67u8, 54u8, 148u8, 92u8];
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 }
2858 #[inline]
2859 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2860 <Self::Parameters<
2861 '_,
2862 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2863 .map(Self::new)
2864 }
2865 }
2866 };
2867 #[derive(serde::Serialize, serde::Deserialize)]
2868 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2869 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2874 #[derive(Clone)]
2875 pub struct QuorumDoesNotExist;
2876 #[allow(
2877 non_camel_case_types,
2878 non_snake_case,
2879 clippy::pub_underscore_fields,
2880 clippy::style
2881 )]
2882 const _: () = {
2883 use alloy::sol_types as alloy_sol_types;
2884 #[doc(hidden)]
2885 type UnderlyingSolTuple<'a> = ();
2886 #[doc(hidden)]
2887 type UnderlyingRustTuple<'a> = ();
2888 #[cfg(test)]
2889 #[allow(dead_code, unreachable_patterns)]
2890 fn _type_assertion(
2891 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2892 ) {
2893 match _t {
2894 alloy_sol_types::private::AssertTypeEq::<
2895 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2896 >(_) => {}
2897 }
2898 }
2899 #[automatically_derived]
2900 #[doc(hidden)]
2901 impl ::core::convert::From<QuorumDoesNotExist> for UnderlyingRustTuple<'_> {
2902 fn from(value: QuorumDoesNotExist) -> Self {
2903 ()
2904 }
2905 }
2906 #[automatically_derived]
2907 #[doc(hidden)]
2908 impl ::core::convert::From<UnderlyingRustTuple<'_>> for QuorumDoesNotExist {
2909 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2910 Self
2911 }
2912 }
2913 #[automatically_derived]
2914 impl alloy_sol_types::SolError for QuorumDoesNotExist {
2915 type Parameters<'a> = UnderlyingSolTuple<'a>;
2916 type Token<'a> = <Self::Parameters<
2917 'a,
2918 > as alloy_sol_types::SolType>::Token<'a>;
2919 const SIGNATURE: &'static str = "QuorumDoesNotExist()";
2920 const SELECTOR: [u8; 4] = [230u8, 33u8, 159u8, 234u8];
2921 #[inline]
2922 fn new<'a>(
2923 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2924 ) -> Self {
2925 tuple.into()
2926 }
2927 #[inline]
2928 fn tokenize(&self) -> Self::Token<'_> {
2929 ()
2930 }
2931 #[inline]
2932 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2933 <Self::Parameters<
2934 '_,
2935 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2936 .map(Self::new)
2937 }
2938 }
2939 };
2940 #[derive(serde::Serialize, serde::Deserialize)]
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 QuorumNotSlashable;
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<QuorumNotSlashable> for UnderlyingRustTuple<'_> {
2975 fn from(value: QuorumNotSlashable) -> Self {
2976 ()
2977 }
2978 }
2979 #[automatically_derived]
2980 #[doc(hidden)]
2981 impl ::core::convert::From<UnderlyingRustTuple<'_>> for QuorumNotSlashable {
2982 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2983 Self
2984 }
2985 }
2986 #[automatically_derived]
2987 impl alloy_sol_types::SolError for QuorumNotSlashable {
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 = "QuorumNotSlashable()";
2993 const SELECTOR: [u8; 4] = [163u8, 190u8, 37u8, 131u8];
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 #[inline]
3005 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3006 <Self::Parameters<
3007 '_,
3008 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3009 .map(Self::new)
3010 }
3011 }
3012 };
3013 #[derive(serde::Serialize, serde::Deserialize)]
3014 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3015 #[allow(
3020 non_camel_case_types,
3021 non_snake_case,
3022 clippy::pub_underscore_fields,
3023 clippy::style
3024 )]
3025 #[derive(Clone)]
3026 pub struct LookAheadPeriodChanged {
3027 #[allow(missing_docs)]
3028 pub oldLookAheadBlocks: u32,
3029 #[allow(missing_docs)]
3030 pub newLookAheadBlocks: u32,
3031 }
3032 #[allow(
3033 non_camel_case_types,
3034 non_snake_case,
3035 clippy::pub_underscore_fields,
3036 clippy::style
3037 )]
3038 const _: () = {
3039 use alloy::sol_types as alloy_sol_types;
3040 #[automatically_derived]
3041 impl alloy_sol_types::SolEvent for LookAheadPeriodChanged {
3042 type DataTuple<'a> = (
3043 alloy::sol_types::sol_data::Uint<32>,
3044 alloy::sol_types::sol_data::Uint<32>,
3045 );
3046 type DataToken<'a> = <Self::DataTuple<
3047 'a,
3048 > as alloy_sol_types::SolType>::Token<'a>;
3049 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
3050 const SIGNATURE: &'static str = "LookAheadPeriodChanged(uint32,uint32)";
3051 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3052 40u8, 215u8, 53u8, 139u8, 121u8, 240u8, 45u8, 33u8, 184u8, 183u8, 225u8,
3053 122u8, 239u8, 196u8, 24u8, 90u8, 100u8, 48u8, 138u8, 163u8, 116u8, 6u8,
3054 250u8, 91u8, 239u8, 192u8, 91u8, 145u8, 147u8, 44u8, 57u8, 199u8,
3055 ]);
3056 const ANONYMOUS: bool = false;
3057 #[allow(unused_variables)]
3058 #[inline]
3059 fn new(
3060 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3061 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3062 ) -> Self {
3063 Self {
3064 oldLookAheadBlocks: data.0,
3065 newLookAheadBlocks: data.1,
3066 }
3067 }
3068 #[inline]
3069 fn check_signature(
3070 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3071 ) -> alloy_sol_types::Result<()> {
3072 if topics.0 != Self::SIGNATURE_HASH {
3073 return Err(
3074 alloy_sol_types::Error::invalid_event_signature_hash(
3075 Self::SIGNATURE,
3076 topics.0,
3077 Self::SIGNATURE_HASH,
3078 ),
3079 );
3080 }
3081 Ok(())
3082 }
3083 #[inline]
3084 fn tokenize_body(&self) -> Self::DataToken<'_> {
3085 (
3086 <alloy::sol_types::sol_data::Uint<
3087 32,
3088 > as alloy_sol_types::SolType>::tokenize(&self.oldLookAheadBlocks),
3089 <alloy::sol_types::sol_data::Uint<
3090 32,
3091 > as alloy_sol_types::SolType>::tokenize(&self.newLookAheadBlocks),
3092 )
3093 }
3094 #[inline]
3095 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3096 (Self::SIGNATURE_HASH.into(),)
3097 }
3098 #[inline]
3099 fn encode_topics_raw(
3100 &self,
3101 out: &mut [alloy_sol_types::abi::token::WordToken],
3102 ) -> alloy_sol_types::Result<()> {
3103 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3104 return Err(alloy_sol_types::Error::Overrun);
3105 }
3106 out[0usize] = alloy_sol_types::abi::token::WordToken(
3107 Self::SIGNATURE_HASH,
3108 );
3109 Ok(())
3110 }
3111 }
3112 #[automatically_derived]
3113 impl alloy_sol_types::private::IntoLogData for LookAheadPeriodChanged {
3114 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3115 From::from(self)
3116 }
3117 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3118 From::from(&self)
3119 }
3120 }
3121 #[automatically_derived]
3122 impl From<&LookAheadPeriodChanged> for alloy_sol_types::private::LogData {
3123 #[inline]
3124 fn from(this: &LookAheadPeriodChanged) -> alloy_sol_types::private::LogData {
3125 alloy_sol_types::SolEvent::encode_log_data(this)
3126 }
3127 }
3128 };
3129 #[derive(serde::Serialize, serde::Deserialize)]
3130 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3131 #[allow(
3136 non_camel_case_types,
3137 non_snake_case,
3138 clippy::pub_underscore_fields,
3139 clippy::style
3140 )]
3141 #[derive(Clone)]
3142 pub struct MinimumStakeForQuorumUpdated {
3143 #[allow(missing_docs)]
3144 pub quorumNumber: u8,
3145 #[allow(missing_docs)]
3146 pub minimumStake: alloy::sol_types::private::primitives::aliases::U96,
3147 }
3148 #[allow(
3149 non_camel_case_types,
3150 non_snake_case,
3151 clippy::pub_underscore_fields,
3152 clippy::style
3153 )]
3154 const _: () = {
3155 use alloy::sol_types as alloy_sol_types;
3156 #[automatically_derived]
3157 impl alloy_sol_types::SolEvent for MinimumStakeForQuorumUpdated {
3158 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
3159 type DataToken<'a> = <Self::DataTuple<
3160 'a,
3161 > as alloy_sol_types::SolType>::Token<'a>;
3162 type TopicList = (
3163 alloy_sol_types::sol_data::FixedBytes<32>,
3164 alloy::sol_types::sol_data::Uint<8>,
3165 );
3166 const SIGNATURE: &'static str = "MinimumStakeForQuorumUpdated(uint8,uint96)";
3167 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3168 38u8, 238u8, 207u8, 242u8, 183u8, 11u8, 10u8, 113u8, 16u8, 79u8, 244u8,
3169 217u8, 64u8, 186u8, 113u8, 98u8, 210u8, 58u8, 149u8, 194u8, 72u8, 119u8,
3170 31u8, 196u8, 135u8, 167u8, 190u8, 23u8, 165u8, 150u8, 179u8, 207u8,
3171 ]);
3172 const ANONYMOUS: bool = false;
3173 #[allow(unused_variables)]
3174 #[inline]
3175 fn new(
3176 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3177 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3178 ) -> Self {
3179 Self {
3180 quorumNumber: topics.1,
3181 minimumStake: data.0,
3182 }
3183 }
3184 #[inline]
3185 fn check_signature(
3186 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3187 ) -> alloy_sol_types::Result<()> {
3188 if topics.0 != Self::SIGNATURE_HASH {
3189 return Err(
3190 alloy_sol_types::Error::invalid_event_signature_hash(
3191 Self::SIGNATURE,
3192 topics.0,
3193 Self::SIGNATURE_HASH,
3194 ),
3195 );
3196 }
3197 Ok(())
3198 }
3199 #[inline]
3200 fn tokenize_body(&self) -> Self::DataToken<'_> {
3201 (
3202 <alloy::sol_types::sol_data::Uint<
3203 96,
3204 > as alloy_sol_types::SolType>::tokenize(&self.minimumStake),
3205 )
3206 }
3207 #[inline]
3208 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3209 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3210 }
3211 #[inline]
3212 fn encode_topics_raw(
3213 &self,
3214 out: &mut [alloy_sol_types::abi::token::WordToken],
3215 ) -> alloy_sol_types::Result<()> {
3216 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3217 return Err(alloy_sol_types::Error::Overrun);
3218 }
3219 out[0usize] = alloy_sol_types::abi::token::WordToken(
3220 Self::SIGNATURE_HASH,
3221 );
3222 out[1usize] = <alloy::sol_types::sol_data::Uint<
3223 8,
3224 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3225 Ok(())
3226 }
3227 }
3228 #[automatically_derived]
3229 impl alloy_sol_types::private::IntoLogData for MinimumStakeForQuorumUpdated {
3230 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3231 From::from(self)
3232 }
3233 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3234 From::from(&self)
3235 }
3236 }
3237 #[automatically_derived]
3238 impl From<&MinimumStakeForQuorumUpdated> for alloy_sol_types::private::LogData {
3239 #[inline]
3240 fn from(
3241 this: &MinimumStakeForQuorumUpdated,
3242 ) -> alloy_sol_types::private::LogData {
3243 alloy_sol_types::SolEvent::encode_log_data(this)
3244 }
3245 }
3246 };
3247 #[derive(serde::Serialize, serde::Deserialize)]
3248 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3249 #[allow(
3254 non_camel_case_types,
3255 non_snake_case,
3256 clippy::pub_underscore_fields,
3257 clippy::style
3258 )]
3259 #[derive(Clone)]
3260 pub struct OperatorStakeUpdate {
3261 #[allow(missing_docs)]
3262 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
3263 #[allow(missing_docs)]
3264 pub quorumNumber: u8,
3265 #[allow(missing_docs)]
3266 pub stake: alloy::sol_types::private::primitives::aliases::U96,
3267 }
3268 #[allow(
3269 non_camel_case_types,
3270 non_snake_case,
3271 clippy::pub_underscore_fields,
3272 clippy::style
3273 )]
3274 const _: () = {
3275 use alloy::sol_types as alloy_sol_types;
3276 #[automatically_derived]
3277 impl alloy_sol_types::SolEvent for OperatorStakeUpdate {
3278 type DataTuple<'a> = (
3279 alloy::sol_types::sol_data::Uint<8>,
3280 alloy::sol_types::sol_data::Uint<96>,
3281 );
3282 type DataToken<'a> = <Self::DataTuple<
3283 'a,
3284 > as alloy_sol_types::SolType>::Token<'a>;
3285 type TopicList = (
3286 alloy_sol_types::sol_data::FixedBytes<32>,
3287 alloy::sol_types::sol_data::FixedBytes<32>,
3288 );
3289 const SIGNATURE: &'static str = "OperatorStakeUpdate(bytes32,uint8,uint96)";
3290 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3291 47u8, 82u8, 125u8, 82u8, 126u8, 149u8, 216u8, 254u8, 64u8, 174u8, 197u8,
3292 83u8, 119u8, 116u8, 59u8, 183u8, 121u8, 8u8, 125u8, 163u8, 246u8, 208u8,
3293 208u8, 143u8, 18u8, 227u8, 100u8, 68u8, 218u8, 98u8, 50u8, 125u8,
3294 ]);
3295 const ANONYMOUS: bool = false;
3296 #[allow(unused_variables)]
3297 #[inline]
3298 fn new(
3299 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3300 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3301 ) -> Self {
3302 Self {
3303 operatorId: topics.1,
3304 quorumNumber: data.0,
3305 stake: data.1,
3306 }
3307 }
3308 #[inline]
3309 fn check_signature(
3310 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3311 ) -> alloy_sol_types::Result<()> {
3312 if topics.0 != Self::SIGNATURE_HASH {
3313 return Err(
3314 alloy_sol_types::Error::invalid_event_signature_hash(
3315 Self::SIGNATURE,
3316 topics.0,
3317 Self::SIGNATURE_HASH,
3318 ),
3319 );
3320 }
3321 Ok(())
3322 }
3323 #[inline]
3324 fn tokenize_body(&self) -> Self::DataToken<'_> {
3325 (
3326 <alloy::sol_types::sol_data::Uint<
3327 8,
3328 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
3329 <alloy::sol_types::sol_data::Uint<
3330 96,
3331 > as alloy_sol_types::SolType>::tokenize(&self.stake),
3332 )
3333 }
3334 #[inline]
3335 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3336 (Self::SIGNATURE_HASH.into(), self.operatorId.clone())
3337 }
3338 #[inline]
3339 fn encode_topics_raw(
3340 &self,
3341 out: &mut [alloy_sol_types::abi::token::WordToken],
3342 ) -> alloy_sol_types::Result<()> {
3343 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3344 return Err(alloy_sol_types::Error::Overrun);
3345 }
3346 out[0usize] = alloy_sol_types::abi::token::WordToken(
3347 Self::SIGNATURE_HASH,
3348 );
3349 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
3350 32,
3351 > as alloy_sol_types::EventTopic>::encode_topic(&self.operatorId);
3352 Ok(())
3353 }
3354 }
3355 #[automatically_derived]
3356 impl alloy_sol_types::private::IntoLogData for OperatorStakeUpdate {
3357 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3358 From::from(self)
3359 }
3360 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3361 From::from(&self)
3362 }
3363 }
3364 #[automatically_derived]
3365 impl From<&OperatorStakeUpdate> for alloy_sol_types::private::LogData {
3366 #[inline]
3367 fn from(this: &OperatorStakeUpdate) -> alloy_sol_types::private::LogData {
3368 alloy_sol_types::SolEvent::encode_log_data(this)
3369 }
3370 }
3371 };
3372 #[derive(serde::Serialize, serde::Deserialize)]
3373 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3374 #[allow(
3379 non_camel_case_types,
3380 non_snake_case,
3381 clippy::pub_underscore_fields,
3382 clippy::style
3383 )]
3384 #[derive(Clone)]
3385 pub struct QuorumCreated {
3386 #[allow(missing_docs)]
3387 pub quorumNumber: u8,
3388 }
3389 #[allow(
3390 non_camel_case_types,
3391 non_snake_case,
3392 clippy::pub_underscore_fields,
3393 clippy::style
3394 )]
3395 const _: () = {
3396 use alloy::sol_types as alloy_sol_types;
3397 #[automatically_derived]
3398 impl alloy_sol_types::SolEvent for QuorumCreated {
3399 type DataTuple<'a> = ();
3400 type DataToken<'a> = <Self::DataTuple<
3401 'a,
3402 > as alloy_sol_types::SolType>::Token<'a>;
3403 type TopicList = (
3404 alloy_sol_types::sol_data::FixedBytes<32>,
3405 alloy::sol_types::sol_data::Uint<8>,
3406 );
3407 const SIGNATURE: &'static str = "QuorumCreated(uint8)";
3408 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3409 131u8, 26u8, 156u8, 134u8, 196u8, 91u8, 179u8, 3u8, 202u8, 243u8, 240u8,
3410 100u8, 190u8, 43u8, 194u8, 185u8, 253u8, 78u8, 207u8, 25u8, 228u8, 124u8,
3411 74u8, 192u8, 42u8, 97u8, 231u8, 93u8, 171u8, 254u8, 85u8, 180u8,
3412 ]);
3413 const ANONYMOUS: bool = false;
3414 #[allow(unused_variables)]
3415 #[inline]
3416 fn new(
3417 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3418 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3419 ) -> Self {
3420 Self { quorumNumber: topics.1 }
3421 }
3422 #[inline]
3423 fn check_signature(
3424 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3425 ) -> alloy_sol_types::Result<()> {
3426 if topics.0 != Self::SIGNATURE_HASH {
3427 return Err(
3428 alloy_sol_types::Error::invalid_event_signature_hash(
3429 Self::SIGNATURE,
3430 topics.0,
3431 Self::SIGNATURE_HASH,
3432 ),
3433 );
3434 }
3435 Ok(())
3436 }
3437 #[inline]
3438 fn tokenize_body(&self) -> Self::DataToken<'_> {
3439 ()
3440 }
3441 #[inline]
3442 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3443 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3444 }
3445 #[inline]
3446 fn encode_topics_raw(
3447 &self,
3448 out: &mut [alloy_sol_types::abi::token::WordToken],
3449 ) -> alloy_sol_types::Result<()> {
3450 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3451 return Err(alloy_sol_types::Error::Overrun);
3452 }
3453 out[0usize] = alloy_sol_types::abi::token::WordToken(
3454 Self::SIGNATURE_HASH,
3455 );
3456 out[1usize] = <alloy::sol_types::sol_data::Uint<
3457 8,
3458 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3459 Ok(())
3460 }
3461 }
3462 #[automatically_derived]
3463 impl alloy_sol_types::private::IntoLogData for QuorumCreated {
3464 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3465 From::from(self)
3466 }
3467 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3468 From::from(&self)
3469 }
3470 }
3471 #[automatically_derived]
3472 impl From<&QuorumCreated> for alloy_sol_types::private::LogData {
3473 #[inline]
3474 fn from(this: &QuorumCreated) -> alloy_sol_types::private::LogData {
3475 alloy_sol_types::SolEvent::encode_log_data(this)
3476 }
3477 }
3478 };
3479 #[derive(serde::Serialize, serde::Deserialize)]
3480 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3481 #[allow(
3486 non_camel_case_types,
3487 non_snake_case,
3488 clippy::pub_underscore_fields,
3489 clippy::style
3490 )]
3491 #[derive(Clone)]
3492 pub struct StakeTypeSet {
3493 #[allow(missing_docs)]
3494 pub newStakeType: <IStakeRegistryTypes::StakeType as alloy::sol_types::SolType>::RustType,
3495 }
3496 #[allow(
3497 non_camel_case_types,
3498 non_snake_case,
3499 clippy::pub_underscore_fields,
3500 clippy::style
3501 )]
3502 const _: () = {
3503 use alloy::sol_types as alloy_sol_types;
3504 #[automatically_derived]
3505 impl alloy_sol_types::SolEvent for StakeTypeSet {
3506 type DataTuple<'a> = (IStakeRegistryTypes::StakeType,);
3507 type DataToken<'a> = <Self::DataTuple<
3508 'a,
3509 > as alloy_sol_types::SolType>::Token<'a>;
3510 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
3511 const SIGNATURE: &'static str = "StakeTypeSet(uint8)";
3512 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3513 124u8, 17u8, 46u8, 134u8, 60u8, 207u8, 0u8, 120u8, 98u8, 226u8, 201u8,
3514 226u8, 88u8, 25u8, 201u8, 51u8, 254u8, 219u8, 201u8, 53u8, 10u8, 100u8,
3515 67u8, 66u8, 59u8, 74u8, 133u8, 153u8, 194u8, 232u8, 165u8, 45u8,
3516 ]);
3517 const ANONYMOUS: bool = false;
3518 #[allow(unused_variables)]
3519 #[inline]
3520 fn new(
3521 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3522 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3523 ) -> Self {
3524 Self { newStakeType: data.0 }
3525 }
3526 #[inline]
3527 fn check_signature(
3528 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3529 ) -> alloy_sol_types::Result<()> {
3530 if topics.0 != Self::SIGNATURE_HASH {
3531 return Err(
3532 alloy_sol_types::Error::invalid_event_signature_hash(
3533 Self::SIGNATURE,
3534 topics.0,
3535 Self::SIGNATURE_HASH,
3536 ),
3537 );
3538 }
3539 Ok(())
3540 }
3541 #[inline]
3542 fn tokenize_body(&self) -> Self::DataToken<'_> {
3543 (
3544 <IStakeRegistryTypes::StakeType as alloy_sol_types::SolType>::tokenize(
3545 &self.newStakeType,
3546 ),
3547 )
3548 }
3549 #[inline]
3550 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3551 (Self::SIGNATURE_HASH.into(),)
3552 }
3553 #[inline]
3554 fn encode_topics_raw(
3555 &self,
3556 out: &mut [alloy_sol_types::abi::token::WordToken],
3557 ) -> alloy_sol_types::Result<()> {
3558 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3559 return Err(alloy_sol_types::Error::Overrun);
3560 }
3561 out[0usize] = alloy_sol_types::abi::token::WordToken(
3562 Self::SIGNATURE_HASH,
3563 );
3564 Ok(())
3565 }
3566 }
3567 #[automatically_derived]
3568 impl alloy_sol_types::private::IntoLogData for StakeTypeSet {
3569 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3570 From::from(self)
3571 }
3572 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3573 From::from(&self)
3574 }
3575 }
3576 #[automatically_derived]
3577 impl From<&StakeTypeSet> for alloy_sol_types::private::LogData {
3578 #[inline]
3579 fn from(this: &StakeTypeSet) -> alloy_sol_types::private::LogData {
3580 alloy_sol_types::SolEvent::encode_log_data(this)
3581 }
3582 }
3583 };
3584 #[derive(serde::Serialize, serde::Deserialize)]
3585 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3586 #[allow(
3591 non_camel_case_types,
3592 non_snake_case,
3593 clippy::pub_underscore_fields,
3594 clippy::style
3595 )]
3596 #[derive(Clone)]
3597 pub struct StrategyAddedToQuorum {
3598 #[allow(missing_docs)]
3599 pub quorumNumber: u8,
3600 #[allow(missing_docs)]
3601 pub strategy: alloy::sol_types::private::Address,
3602 }
3603 #[allow(
3604 non_camel_case_types,
3605 non_snake_case,
3606 clippy::pub_underscore_fields,
3607 clippy::style
3608 )]
3609 const _: () = {
3610 use alloy::sol_types as alloy_sol_types;
3611 #[automatically_derived]
3612 impl alloy_sol_types::SolEvent for StrategyAddedToQuorum {
3613 type DataTuple<'a> = (alloy::sol_types::sol_data::Address,);
3614 type DataToken<'a> = <Self::DataTuple<
3615 'a,
3616 > as alloy_sol_types::SolType>::Token<'a>;
3617 type TopicList = (
3618 alloy_sol_types::sol_data::FixedBytes<32>,
3619 alloy::sol_types::sol_data::Uint<8>,
3620 );
3621 const SIGNATURE: &'static str = "StrategyAddedToQuorum(uint8,address)";
3622 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3623 16u8, 86u8, 94u8, 86u8, 202u8, 203u8, 243u8, 46u8, 202u8, 38u8, 121u8,
3624 69u8, 240u8, 84u8, 254u8, 192u8, 46u8, 89u8, 117u8, 0u8, 50u8, 209u8,
3625 19u8, 211u8, 48u8, 33u8, 130u8, 173u8, 150u8, 127u8, 84u8, 4u8,
3626 ]);
3627 const ANONYMOUS: bool = false;
3628 #[allow(unused_variables)]
3629 #[inline]
3630 fn new(
3631 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3632 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3633 ) -> Self {
3634 Self {
3635 quorumNumber: topics.1,
3636 strategy: data.0,
3637 }
3638 }
3639 #[inline]
3640 fn check_signature(
3641 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3642 ) -> alloy_sol_types::Result<()> {
3643 if topics.0 != Self::SIGNATURE_HASH {
3644 return Err(
3645 alloy_sol_types::Error::invalid_event_signature_hash(
3646 Self::SIGNATURE,
3647 topics.0,
3648 Self::SIGNATURE_HASH,
3649 ),
3650 );
3651 }
3652 Ok(())
3653 }
3654 #[inline]
3655 fn tokenize_body(&self) -> Self::DataToken<'_> {
3656 (
3657 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3658 &self.strategy,
3659 ),
3660 )
3661 }
3662 #[inline]
3663 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3664 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3665 }
3666 #[inline]
3667 fn encode_topics_raw(
3668 &self,
3669 out: &mut [alloy_sol_types::abi::token::WordToken],
3670 ) -> alloy_sol_types::Result<()> {
3671 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3672 return Err(alloy_sol_types::Error::Overrun);
3673 }
3674 out[0usize] = alloy_sol_types::abi::token::WordToken(
3675 Self::SIGNATURE_HASH,
3676 );
3677 out[1usize] = <alloy::sol_types::sol_data::Uint<
3678 8,
3679 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3680 Ok(())
3681 }
3682 }
3683 #[automatically_derived]
3684 impl alloy_sol_types::private::IntoLogData for StrategyAddedToQuorum {
3685 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3686 From::from(self)
3687 }
3688 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3689 From::from(&self)
3690 }
3691 }
3692 #[automatically_derived]
3693 impl From<&StrategyAddedToQuorum> for alloy_sol_types::private::LogData {
3694 #[inline]
3695 fn from(this: &StrategyAddedToQuorum) -> alloy_sol_types::private::LogData {
3696 alloy_sol_types::SolEvent::encode_log_data(this)
3697 }
3698 }
3699 };
3700 #[derive(serde::Serialize, serde::Deserialize)]
3701 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3702 #[allow(
3707 non_camel_case_types,
3708 non_snake_case,
3709 clippy::pub_underscore_fields,
3710 clippy::style
3711 )]
3712 #[derive(Clone)]
3713 pub struct StrategyMultiplierUpdated {
3714 #[allow(missing_docs)]
3715 pub quorumNumber: u8,
3716 #[allow(missing_docs)]
3717 pub strategy: alloy::sol_types::private::Address,
3718 #[allow(missing_docs)]
3719 pub multiplier: alloy::sol_types::private::primitives::aliases::U256,
3720 }
3721 #[allow(
3722 non_camel_case_types,
3723 non_snake_case,
3724 clippy::pub_underscore_fields,
3725 clippy::style
3726 )]
3727 const _: () = {
3728 use alloy::sol_types as alloy_sol_types;
3729 #[automatically_derived]
3730 impl alloy_sol_types::SolEvent for StrategyMultiplierUpdated {
3731 type DataTuple<'a> = (
3732 alloy::sol_types::sol_data::Address,
3733 alloy::sol_types::sol_data::Uint<256>,
3734 );
3735 type DataToken<'a> = <Self::DataTuple<
3736 'a,
3737 > as alloy_sol_types::SolType>::Token<'a>;
3738 type TopicList = (
3739 alloy_sol_types::sol_data::FixedBytes<32>,
3740 alloy::sol_types::sol_data::Uint<8>,
3741 );
3742 const SIGNATURE: &'static str = "StrategyMultiplierUpdated(uint8,address,uint256)";
3743 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3744 17u8, 165u8, 100u8, 19u8, 34u8, 218u8, 29u8, 255u8, 86u8, 164u8, 182u8,
3745 110u8, 170u8, 195u8, 31u8, 250u8, 70u8, 82u8, 149u8, 236u8, 233u8, 7u8,
3746 205u8, 22u8, 52u8, 55u8, 121u8, 59u8, 77u8, 0u8, 154u8, 117u8,
3747 ]);
3748 const ANONYMOUS: bool = false;
3749 #[allow(unused_variables)]
3750 #[inline]
3751 fn new(
3752 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3753 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3754 ) -> Self {
3755 Self {
3756 quorumNumber: topics.1,
3757 strategy: data.0,
3758 multiplier: data.1,
3759 }
3760 }
3761 #[inline]
3762 fn check_signature(
3763 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3764 ) -> alloy_sol_types::Result<()> {
3765 if topics.0 != Self::SIGNATURE_HASH {
3766 return Err(
3767 alloy_sol_types::Error::invalid_event_signature_hash(
3768 Self::SIGNATURE,
3769 topics.0,
3770 Self::SIGNATURE_HASH,
3771 ),
3772 );
3773 }
3774 Ok(())
3775 }
3776 #[inline]
3777 fn tokenize_body(&self) -> Self::DataToken<'_> {
3778 (
3779 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3780 &self.strategy,
3781 ),
3782 <alloy::sol_types::sol_data::Uint<
3783 256,
3784 > as alloy_sol_types::SolType>::tokenize(&self.multiplier),
3785 )
3786 }
3787 #[inline]
3788 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3789 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3790 }
3791 #[inline]
3792 fn encode_topics_raw(
3793 &self,
3794 out: &mut [alloy_sol_types::abi::token::WordToken],
3795 ) -> alloy_sol_types::Result<()> {
3796 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3797 return Err(alloy_sol_types::Error::Overrun);
3798 }
3799 out[0usize] = alloy_sol_types::abi::token::WordToken(
3800 Self::SIGNATURE_HASH,
3801 );
3802 out[1usize] = <alloy::sol_types::sol_data::Uint<
3803 8,
3804 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3805 Ok(())
3806 }
3807 }
3808 #[automatically_derived]
3809 impl alloy_sol_types::private::IntoLogData for StrategyMultiplierUpdated {
3810 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3811 From::from(self)
3812 }
3813 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3814 From::from(&self)
3815 }
3816 }
3817 #[automatically_derived]
3818 impl From<&StrategyMultiplierUpdated> for alloy_sol_types::private::LogData {
3819 #[inline]
3820 fn from(
3821 this: &StrategyMultiplierUpdated,
3822 ) -> alloy_sol_types::private::LogData {
3823 alloy_sol_types::SolEvent::encode_log_data(this)
3824 }
3825 }
3826 };
3827 #[derive(serde::Serialize, serde::Deserialize)]
3828 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3829 #[allow(
3834 non_camel_case_types,
3835 non_snake_case,
3836 clippy::pub_underscore_fields,
3837 clippy::style
3838 )]
3839 #[derive(Clone)]
3840 pub struct StrategyRemovedFromQuorum {
3841 #[allow(missing_docs)]
3842 pub quorumNumber: u8,
3843 #[allow(missing_docs)]
3844 pub strategy: alloy::sol_types::private::Address,
3845 }
3846 #[allow(
3847 non_camel_case_types,
3848 non_snake_case,
3849 clippy::pub_underscore_fields,
3850 clippy::style
3851 )]
3852 const _: () = {
3853 use alloy::sol_types as alloy_sol_types;
3854 #[automatically_derived]
3855 impl alloy_sol_types::SolEvent for StrategyRemovedFromQuorum {
3856 type DataTuple<'a> = (alloy::sol_types::sol_data::Address,);
3857 type DataToken<'a> = <Self::DataTuple<
3858 'a,
3859 > as alloy_sol_types::SolType>::Token<'a>;
3860 type TopicList = (
3861 alloy_sol_types::sol_data::FixedBytes<32>,
3862 alloy::sol_types::sol_data::Uint<8>,
3863 );
3864 const SIGNATURE: &'static str = "StrategyRemovedFromQuorum(uint8,address)";
3865 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3866 49u8, 250u8, 46u8, 44u8, 210u8, 128u8, 201u8, 55u8, 94u8, 19u8, 255u8,
3867 207u8, 61u8, 129u8, 226u8, 55u8, 129u8, 0u8, 24u8, 110u8, 64u8, 88u8,
3868 248u8, 211u8, 221u8, 182u8, 144u8, 184u8, 45u8, 205u8, 49u8, 247u8,
3869 ]);
3870 const ANONYMOUS: bool = false;
3871 #[allow(unused_variables)]
3872 #[inline]
3873 fn new(
3874 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3875 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3876 ) -> Self {
3877 Self {
3878 quorumNumber: topics.1,
3879 strategy: data.0,
3880 }
3881 }
3882 #[inline]
3883 fn check_signature(
3884 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3885 ) -> alloy_sol_types::Result<()> {
3886 if topics.0 != Self::SIGNATURE_HASH {
3887 return Err(
3888 alloy_sol_types::Error::invalid_event_signature_hash(
3889 Self::SIGNATURE,
3890 topics.0,
3891 Self::SIGNATURE_HASH,
3892 ),
3893 );
3894 }
3895 Ok(())
3896 }
3897 #[inline]
3898 fn tokenize_body(&self) -> Self::DataToken<'_> {
3899 (
3900 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3901 &self.strategy,
3902 ),
3903 )
3904 }
3905 #[inline]
3906 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3907 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3908 }
3909 #[inline]
3910 fn encode_topics_raw(
3911 &self,
3912 out: &mut [alloy_sol_types::abi::token::WordToken],
3913 ) -> alloy_sol_types::Result<()> {
3914 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3915 return Err(alloy_sol_types::Error::Overrun);
3916 }
3917 out[0usize] = alloy_sol_types::abi::token::WordToken(
3918 Self::SIGNATURE_HASH,
3919 );
3920 out[1usize] = <alloy::sol_types::sol_data::Uint<
3921 8,
3922 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3923 Ok(())
3924 }
3925 }
3926 #[automatically_derived]
3927 impl alloy_sol_types::private::IntoLogData for StrategyRemovedFromQuorum {
3928 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3929 From::from(self)
3930 }
3931 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3932 From::from(&self)
3933 }
3934 }
3935 #[automatically_derived]
3936 impl From<&StrategyRemovedFromQuorum> for alloy_sol_types::private::LogData {
3937 #[inline]
3938 fn from(
3939 this: &StrategyRemovedFromQuorum,
3940 ) -> alloy_sol_types::private::LogData {
3941 alloy_sol_types::SolEvent::encode_log_data(this)
3942 }
3943 }
3944 };
3945 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3950 #[derive(Clone)]
3951 pub struct constructorCall {
3952 #[allow(missing_docs)]
3953 pub _slashingRegistryCoordinator: alloy::sol_types::private::Address,
3954 #[allow(missing_docs)]
3955 pub _delegationManager: alloy::sol_types::private::Address,
3956 #[allow(missing_docs)]
3957 pub _avsDirectory: alloy::sol_types::private::Address,
3958 #[allow(missing_docs)]
3959 pub _allocationManager: alloy::sol_types::private::Address,
3960 }
3961 const _: () = {
3962 use alloy::sol_types as alloy_sol_types;
3963 {
3964 #[doc(hidden)]
3965 type UnderlyingSolTuple<'a> = (
3966 alloy::sol_types::sol_data::Address,
3967 alloy::sol_types::sol_data::Address,
3968 alloy::sol_types::sol_data::Address,
3969 alloy::sol_types::sol_data::Address,
3970 );
3971 #[doc(hidden)]
3972 type UnderlyingRustTuple<'a> = (
3973 alloy::sol_types::private::Address,
3974 alloy::sol_types::private::Address,
3975 alloy::sol_types::private::Address,
3976 alloy::sol_types::private::Address,
3977 );
3978 #[cfg(test)]
3979 #[allow(dead_code, unreachable_patterns)]
3980 fn _type_assertion(
3981 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3982 ) {
3983 match _t {
3984 alloy_sol_types::private::AssertTypeEq::<
3985 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3986 >(_) => {}
3987 }
3988 }
3989 #[automatically_derived]
3990 #[doc(hidden)]
3991 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
3992 fn from(value: constructorCall) -> Self {
3993 (
3994 value._slashingRegistryCoordinator,
3995 value._delegationManager,
3996 value._avsDirectory,
3997 value._allocationManager,
3998 )
3999 }
4000 }
4001 #[automatically_derived]
4002 #[doc(hidden)]
4003 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
4004 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4005 Self {
4006 _slashingRegistryCoordinator: tuple.0,
4007 _delegationManager: tuple.1,
4008 _avsDirectory: tuple.2,
4009 _allocationManager: tuple.3,
4010 }
4011 }
4012 }
4013 }
4014 #[automatically_derived]
4015 impl alloy_sol_types::SolConstructor for constructorCall {
4016 type Parameters<'a> = (
4017 alloy::sol_types::sol_data::Address,
4018 alloy::sol_types::sol_data::Address,
4019 alloy::sol_types::sol_data::Address,
4020 alloy::sol_types::sol_data::Address,
4021 );
4022 type Token<'a> = <Self::Parameters<
4023 'a,
4024 > as alloy_sol_types::SolType>::Token<'a>;
4025 #[inline]
4026 fn new<'a>(
4027 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4028 ) -> Self {
4029 tuple.into()
4030 }
4031 #[inline]
4032 fn tokenize(&self) -> Self::Token<'_> {
4033 (
4034 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4035 &self._slashingRegistryCoordinator,
4036 ),
4037 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4038 &self._delegationManager,
4039 ),
4040 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4041 &self._avsDirectory,
4042 ),
4043 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4044 &self._allocationManager,
4045 ),
4046 )
4047 }
4048 }
4049 };
4050 #[derive(serde::Serialize, serde::Deserialize)]
4051 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4052 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4057 #[derive(Clone)]
4058 pub struct MAX_WEIGHING_FUNCTION_LENGTHCall;
4059 #[derive(serde::Serialize, serde::Deserialize)]
4060 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4061 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4063 #[derive(Clone)]
4064 pub struct MAX_WEIGHING_FUNCTION_LENGTHReturn {
4065 #[allow(missing_docs)]
4066 pub _0: u8,
4067 }
4068 #[allow(
4069 non_camel_case_types,
4070 non_snake_case,
4071 clippy::pub_underscore_fields,
4072 clippy::style
4073 )]
4074 const _: () = {
4075 use alloy::sol_types as alloy_sol_types;
4076 {
4077 #[doc(hidden)]
4078 type UnderlyingSolTuple<'a> = ();
4079 #[doc(hidden)]
4080 type UnderlyingRustTuple<'a> = ();
4081 #[cfg(test)]
4082 #[allow(dead_code, unreachable_patterns)]
4083 fn _type_assertion(
4084 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4085 ) {
4086 match _t {
4087 alloy_sol_types::private::AssertTypeEq::<
4088 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4089 >(_) => {}
4090 }
4091 }
4092 #[automatically_derived]
4093 #[doc(hidden)]
4094 impl ::core::convert::From<MAX_WEIGHING_FUNCTION_LENGTHCall>
4095 for UnderlyingRustTuple<'_> {
4096 fn from(value: MAX_WEIGHING_FUNCTION_LENGTHCall) -> Self {
4097 ()
4098 }
4099 }
4100 #[automatically_derived]
4101 #[doc(hidden)]
4102 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4103 for MAX_WEIGHING_FUNCTION_LENGTHCall {
4104 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4105 Self
4106 }
4107 }
4108 }
4109 {
4110 #[doc(hidden)]
4111 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
4112 #[doc(hidden)]
4113 type UnderlyingRustTuple<'a> = (u8,);
4114 #[cfg(test)]
4115 #[allow(dead_code, unreachable_patterns)]
4116 fn _type_assertion(
4117 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4118 ) {
4119 match _t {
4120 alloy_sol_types::private::AssertTypeEq::<
4121 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4122 >(_) => {}
4123 }
4124 }
4125 #[automatically_derived]
4126 #[doc(hidden)]
4127 impl ::core::convert::From<MAX_WEIGHING_FUNCTION_LENGTHReturn>
4128 for UnderlyingRustTuple<'_> {
4129 fn from(value: MAX_WEIGHING_FUNCTION_LENGTHReturn) -> Self {
4130 (value._0,)
4131 }
4132 }
4133 #[automatically_derived]
4134 #[doc(hidden)]
4135 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4136 for MAX_WEIGHING_FUNCTION_LENGTHReturn {
4137 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4138 Self { _0: tuple.0 }
4139 }
4140 }
4141 }
4142 #[automatically_derived]
4143 impl alloy_sol_types::SolCall for MAX_WEIGHING_FUNCTION_LENGTHCall {
4144 type Parameters<'a> = ();
4145 type Token<'a> = <Self::Parameters<
4146 'a,
4147 > as alloy_sol_types::SolType>::Token<'a>;
4148 type Return = u8;
4149 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
4150 type ReturnToken<'a> = <Self::ReturnTuple<
4151 'a,
4152 > as alloy_sol_types::SolType>::Token<'a>;
4153 const SIGNATURE: &'static str = "MAX_WEIGHING_FUNCTION_LENGTH()";
4154 const SELECTOR: [u8; 4] = [124u8, 23u8, 35u8, 71u8];
4155 #[inline]
4156 fn new<'a>(
4157 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4158 ) -> Self {
4159 tuple.into()
4160 }
4161 #[inline]
4162 fn tokenize(&self) -> Self::Token<'_> {
4163 ()
4164 }
4165 #[inline]
4166 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4167 (
4168 <alloy::sol_types::sol_data::Uint<
4169 8,
4170 > as alloy_sol_types::SolType>::tokenize(ret),
4171 )
4172 }
4173 #[inline]
4174 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4175 <Self::ReturnTuple<
4176 '_,
4177 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4178 .map(|r| {
4179 let r: MAX_WEIGHING_FUNCTION_LENGTHReturn = r.into();
4180 r._0
4181 })
4182 }
4183 #[inline]
4184 fn abi_decode_returns_validate(
4185 data: &[u8],
4186 ) -> alloy_sol_types::Result<Self::Return> {
4187 <Self::ReturnTuple<
4188 '_,
4189 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4190 .map(|r| {
4191 let r: MAX_WEIGHING_FUNCTION_LENGTHReturn = r.into();
4192 r._0
4193 })
4194 }
4195 }
4196 };
4197 #[derive(serde::Serialize, serde::Deserialize)]
4198 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4199 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4204 #[derive(Clone)]
4205 pub struct WEIGHTING_DIVISORCall;
4206 #[derive(serde::Serialize, serde::Deserialize)]
4207 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4208 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4210 #[derive(Clone)]
4211 pub struct WEIGHTING_DIVISORReturn {
4212 #[allow(missing_docs)]
4213 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4214 }
4215 #[allow(
4216 non_camel_case_types,
4217 non_snake_case,
4218 clippy::pub_underscore_fields,
4219 clippy::style
4220 )]
4221 const _: () = {
4222 use alloy::sol_types as alloy_sol_types;
4223 {
4224 #[doc(hidden)]
4225 type UnderlyingSolTuple<'a> = ();
4226 #[doc(hidden)]
4227 type UnderlyingRustTuple<'a> = ();
4228 #[cfg(test)]
4229 #[allow(dead_code, unreachable_patterns)]
4230 fn _type_assertion(
4231 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4232 ) {
4233 match _t {
4234 alloy_sol_types::private::AssertTypeEq::<
4235 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4236 >(_) => {}
4237 }
4238 }
4239 #[automatically_derived]
4240 #[doc(hidden)]
4241 impl ::core::convert::From<WEIGHTING_DIVISORCall>
4242 for UnderlyingRustTuple<'_> {
4243 fn from(value: WEIGHTING_DIVISORCall) -> Self {
4244 ()
4245 }
4246 }
4247 #[automatically_derived]
4248 #[doc(hidden)]
4249 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4250 for WEIGHTING_DIVISORCall {
4251 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4252 Self
4253 }
4254 }
4255 }
4256 {
4257 #[doc(hidden)]
4258 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4259 #[doc(hidden)]
4260 type UnderlyingRustTuple<'a> = (
4261 alloy::sol_types::private::primitives::aliases::U256,
4262 );
4263 #[cfg(test)]
4264 #[allow(dead_code, unreachable_patterns)]
4265 fn _type_assertion(
4266 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4267 ) {
4268 match _t {
4269 alloy_sol_types::private::AssertTypeEq::<
4270 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4271 >(_) => {}
4272 }
4273 }
4274 #[automatically_derived]
4275 #[doc(hidden)]
4276 impl ::core::convert::From<WEIGHTING_DIVISORReturn>
4277 for UnderlyingRustTuple<'_> {
4278 fn from(value: WEIGHTING_DIVISORReturn) -> Self {
4279 (value._0,)
4280 }
4281 }
4282 #[automatically_derived]
4283 #[doc(hidden)]
4284 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4285 for WEIGHTING_DIVISORReturn {
4286 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4287 Self { _0: tuple.0 }
4288 }
4289 }
4290 }
4291 #[automatically_derived]
4292 impl alloy_sol_types::SolCall for WEIGHTING_DIVISORCall {
4293 type Parameters<'a> = ();
4294 type Token<'a> = <Self::Parameters<
4295 'a,
4296 > as alloy_sol_types::SolType>::Token<'a>;
4297 type Return = alloy::sol_types::private::primitives::aliases::U256;
4298 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4299 type ReturnToken<'a> = <Self::ReturnTuple<
4300 'a,
4301 > as alloy_sol_types::SolType>::Token<'a>;
4302 const SIGNATURE: &'static str = "WEIGHTING_DIVISOR()";
4303 const SELECTOR: [u8; 4] = [94u8, 90u8, 103u8, 117u8];
4304 #[inline]
4305 fn new<'a>(
4306 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4307 ) -> Self {
4308 tuple.into()
4309 }
4310 #[inline]
4311 fn tokenize(&self) -> Self::Token<'_> {
4312 ()
4313 }
4314 #[inline]
4315 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4316 (
4317 <alloy::sol_types::sol_data::Uint<
4318 256,
4319 > as alloy_sol_types::SolType>::tokenize(ret),
4320 )
4321 }
4322 #[inline]
4323 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4324 <Self::ReturnTuple<
4325 '_,
4326 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4327 .map(|r| {
4328 let r: WEIGHTING_DIVISORReturn = r.into();
4329 r._0
4330 })
4331 }
4332 #[inline]
4333 fn abi_decode_returns_validate(
4334 data: &[u8],
4335 ) -> alloy_sol_types::Result<Self::Return> {
4336 <Self::ReturnTuple<
4337 '_,
4338 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4339 .map(|r| {
4340 let r: WEIGHTING_DIVISORReturn = r.into();
4341 r._0
4342 })
4343 }
4344 }
4345 };
4346 #[derive(serde::Serialize, serde::Deserialize)]
4347 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4348 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4353 #[derive(Clone)]
4354 pub struct addStrategiesCall {
4355 #[allow(missing_docs)]
4356 pub quorumNumber: u8,
4357 #[allow(missing_docs)]
4358 pub _strategyParams: alloy::sol_types::private::Vec<
4359 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
4360 >,
4361 }
4362 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4364 #[derive(Clone)]
4365 pub struct addStrategiesReturn {}
4366 #[allow(
4367 non_camel_case_types,
4368 non_snake_case,
4369 clippy::pub_underscore_fields,
4370 clippy::style
4371 )]
4372 const _: () = {
4373 use alloy::sol_types as alloy_sol_types;
4374 {
4375 #[doc(hidden)]
4376 type UnderlyingSolTuple<'a> = (
4377 alloy::sol_types::sol_data::Uint<8>,
4378 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
4379 );
4380 #[doc(hidden)]
4381 type UnderlyingRustTuple<'a> = (
4382 u8,
4383 alloy::sol_types::private::Vec<
4384 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
4385 >,
4386 );
4387 #[cfg(test)]
4388 #[allow(dead_code, unreachable_patterns)]
4389 fn _type_assertion(
4390 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4391 ) {
4392 match _t {
4393 alloy_sol_types::private::AssertTypeEq::<
4394 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4395 >(_) => {}
4396 }
4397 }
4398 #[automatically_derived]
4399 #[doc(hidden)]
4400 impl ::core::convert::From<addStrategiesCall> for UnderlyingRustTuple<'_> {
4401 fn from(value: addStrategiesCall) -> Self {
4402 (value.quorumNumber, value._strategyParams)
4403 }
4404 }
4405 #[automatically_derived]
4406 #[doc(hidden)]
4407 impl ::core::convert::From<UnderlyingRustTuple<'_>> for addStrategiesCall {
4408 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4409 Self {
4410 quorumNumber: tuple.0,
4411 _strategyParams: tuple.1,
4412 }
4413 }
4414 }
4415 }
4416 {
4417 #[doc(hidden)]
4418 type UnderlyingSolTuple<'a> = ();
4419 #[doc(hidden)]
4420 type UnderlyingRustTuple<'a> = ();
4421 #[cfg(test)]
4422 #[allow(dead_code, unreachable_patterns)]
4423 fn _type_assertion(
4424 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4425 ) {
4426 match _t {
4427 alloy_sol_types::private::AssertTypeEq::<
4428 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4429 >(_) => {}
4430 }
4431 }
4432 #[automatically_derived]
4433 #[doc(hidden)]
4434 impl ::core::convert::From<addStrategiesReturn> for UnderlyingRustTuple<'_> {
4435 fn from(value: addStrategiesReturn) -> Self {
4436 ()
4437 }
4438 }
4439 #[automatically_derived]
4440 #[doc(hidden)]
4441 impl ::core::convert::From<UnderlyingRustTuple<'_>> for addStrategiesReturn {
4442 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4443 Self {}
4444 }
4445 }
4446 }
4447 impl addStrategiesReturn {
4448 fn _tokenize(
4449 &self,
4450 ) -> <addStrategiesCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
4451 ()
4452 }
4453 }
4454 #[automatically_derived]
4455 impl alloy_sol_types::SolCall for addStrategiesCall {
4456 type Parameters<'a> = (
4457 alloy::sol_types::sol_data::Uint<8>,
4458 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
4459 );
4460 type Token<'a> = <Self::Parameters<
4461 'a,
4462 > as alloy_sol_types::SolType>::Token<'a>;
4463 type Return = addStrategiesReturn;
4464 type ReturnTuple<'a> = ();
4465 type ReturnToken<'a> = <Self::ReturnTuple<
4466 'a,
4467 > as alloy_sol_types::SolType>::Token<'a>;
4468 const SIGNATURE: &'static str = "addStrategies(uint8,(address,uint96)[])";
4469 const SELECTOR: [u8; 4] = [198u8, 1u8, 82u8, 125u8];
4470 #[inline]
4471 fn new<'a>(
4472 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4473 ) -> Self {
4474 tuple.into()
4475 }
4476 #[inline]
4477 fn tokenize(&self) -> Self::Token<'_> {
4478 (
4479 <alloy::sol_types::sol_data::Uint<
4480 8,
4481 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
4482 <alloy::sol_types::sol_data::Array<
4483 IStakeRegistryTypes::StrategyParams,
4484 > as alloy_sol_types::SolType>::tokenize(&self._strategyParams),
4485 )
4486 }
4487 #[inline]
4488 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4489 addStrategiesReturn::_tokenize(ret)
4490 }
4491 #[inline]
4492 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4493 <Self::ReturnTuple<
4494 '_,
4495 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4496 .map(Into::into)
4497 }
4498 #[inline]
4499 fn abi_decode_returns_validate(
4500 data: &[u8],
4501 ) -> alloy_sol_types::Result<Self::Return> {
4502 <Self::ReturnTuple<
4503 '_,
4504 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4505 .map(Into::into)
4506 }
4507 }
4508 };
4509 #[derive(serde::Serialize, serde::Deserialize)]
4510 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4511 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4516 #[derive(Clone)]
4517 pub struct allocationManagerCall;
4518 #[derive(serde::Serialize, serde::Deserialize)]
4519 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4520 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4522 #[derive(Clone)]
4523 pub struct allocationManagerReturn {
4524 #[allow(missing_docs)]
4525 pub _0: alloy::sol_types::private::Address,
4526 }
4527 #[allow(
4528 non_camel_case_types,
4529 non_snake_case,
4530 clippy::pub_underscore_fields,
4531 clippy::style
4532 )]
4533 const _: () = {
4534 use alloy::sol_types as alloy_sol_types;
4535 {
4536 #[doc(hidden)]
4537 type UnderlyingSolTuple<'a> = ();
4538 #[doc(hidden)]
4539 type UnderlyingRustTuple<'a> = ();
4540 #[cfg(test)]
4541 #[allow(dead_code, unreachable_patterns)]
4542 fn _type_assertion(
4543 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4544 ) {
4545 match _t {
4546 alloy_sol_types::private::AssertTypeEq::<
4547 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4548 >(_) => {}
4549 }
4550 }
4551 #[automatically_derived]
4552 #[doc(hidden)]
4553 impl ::core::convert::From<allocationManagerCall>
4554 for UnderlyingRustTuple<'_> {
4555 fn from(value: allocationManagerCall) -> Self {
4556 ()
4557 }
4558 }
4559 #[automatically_derived]
4560 #[doc(hidden)]
4561 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4562 for allocationManagerCall {
4563 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4564 Self
4565 }
4566 }
4567 }
4568 {
4569 #[doc(hidden)]
4570 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4571 #[doc(hidden)]
4572 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4573 #[cfg(test)]
4574 #[allow(dead_code, unreachable_patterns)]
4575 fn _type_assertion(
4576 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4577 ) {
4578 match _t {
4579 alloy_sol_types::private::AssertTypeEq::<
4580 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4581 >(_) => {}
4582 }
4583 }
4584 #[automatically_derived]
4585 #[doc(hidden)]
4586 impl ::core::convert::From<allocationManagerReturn>
4587 for UnderlyingRustTuple<'_> {
4588 fn from(value: allocationManagerReturn) -> Self {
4589 (value._0,)
4590 }
4591 }
4592 #[automatically_derived]
4593 #[doc(hidden)]
4594 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4595 for allocationManagerReturn {
4596 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4597 Self { _0: tuple.0 }
4598 }
4599 }
4600 }
4601 #[automatically_derived]
4602 impl alloy_sol_types::SolCall for allocationManagerCall {
4603 type Parameters<'a> = ();
4604 type Token<'a> = <Self::Parameters<
4605 'a,
4606 > as alloy_sol_types::SolType>::Token<'a>;
4607 type Return = alloy::sol_types::private::Address;
4608 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
4609 type ReturnToken<'a> = <Self::ReturnTuple<
4610 'a,
4611 > as alloy_sol_types::SolType>::Token<'a>;
4612 const SIGNATURE: &'static str = "allocationManager()";
4613 const SELECTOR: [u8; 4] = [202u8, 138u8, 167u8, 199u8];
4614 #[inline]
4615 fn new<'a>(
4616 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4617 ) -> Self {
4618 tuple.into()
4619 }
4620 #[inline]
4621 fn tokenize(&self) -> Self::Token<'_> {
4622 ()
4623 }
4624 #[inline]
4625 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4626 (
4627 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4628 ret,
4629 ),
4630 )
4631 }
4632 #[inline]
4633 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4634 <Self::ReturnTuple<
4635 '_,
4636 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4637 .map(|r| {
4638 let r: allocationManagerReturn = r.into();
4639 r._0
4640 })
4641 }
4642 #[inline]
4643 fn abi_decode_returns_validate(
4644 data: &[u8],
4645 ) -> alloy_sol_types::Result<Self::Return> {
4646 <Self::ReturnTuple<
4647 '_,
4648 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4649 .map(|r| {
4650 let r: allocationManagerReturn = r.into();
4651 r._0
4652 })
4653 }
4654 }
4655 };
4656 #[derive(serde::Serialize, serde::Deserialize)]
4657 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4658 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4663 #[derive(Clone)]
4664 pub struct avsDirectoryCall;
4665 #[derive(serde::Serialize, serde::Deserialize)]
4666 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4667 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4669 #[derive(Clone)]
4670 pub struct avsDirectoryReturn {
4671 #[allow(missing_docs)]
4672 pub _0: alloy::sol_types::private::Address,
4673 }
4674 #[allow(
4675 non_camel_case_types,
4676 non_snake_case,
4677 clippy::pub_underscore_fields,
4678 clippy::style
4679 )]
4680 const _: () = {
4681 use alloy::sol_types as alloy_sol_types;
4682 {
4683 #[doc(hidden)]
4684 type UnderlyingSolTuple<'a> = ();
4685 #[doc(hidden)]
4686 type UnderlyingRustTuple<'a> = ();
4687 #[cfg(test)]
4688 #[allow(dead_code, unreachable_patterns)]
4689 fn _type_assertion(
4690 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4691 ) {
4692 match _t {
4693 alloy_sol_types::private::AssertTypeEq::<
4694 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4695 >(_) => {}
4696 }
4697 }
4698 #[automatically_derived]
4699 #[doc(hidden)]
4700 impl ::core::convert::From<avsDirectoryCall> for UnderlyingRustTuple<'_> {
4701 fn from(value: avsDirectoryCall) -> Self {
4702 ()
4703 }
4704 }
4705 #[automatically_derived]
4706 #[doc(hidden)]
4707 impl ::core::convert::From<UnderlyingRustTuple<'_>> for avsDirectoryCall {
4708 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4709 Self
4710 }
4711 }
4712 }
4713 {
4714 #[doc(hidden)]
4715 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4716 #[doc(hidden)]
4717 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4718 #[cfg(test)]
4719 #[allow(dead_code, unreachable_patterns)]
4720 fn _type_assertion(
4721 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4722 ) {
4723 match _t {
4724 alloy_sol_types::private::AssertTypeEq::<
4725 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4726 >(_) => {}
4727 }
4728 }
4729 #[automatically_derived]
4730 #[doc(hidden)]
4731 impl ::core::convert::From<avsDirectoryReturn> for UnderlyingRustTuple<'_> {
4732 fn from(value: avsDirectoryReturn) -> Self {
4733 (value._0,)
4734 }
4735 }
4736 #[automatically_derived]
4737 #[doc(hidden)]
4738 impl ::core::convert::From<UnderlyingRustTuple<'_>> for avsDirectoryReturn {
4739 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4740 Self { _0: tuple.0 }
4741 }
4742 }
4743 }
4744 #[automatically_derived]
4745 impl alloy_sol_types::SolCall for avsDirectoryCall {
4746 type Parameters<'a> = ();
4747 type Token<'a> = <Self::Parameters<
4748 'a,
4749 > as alloy_sol_types::SolType>::Token<'a>;
4750 type Return = alloy::sol_types::private::Address;
4751 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
4752 type ReturnToken<'a> = <Self::ReturnTuple<
4753 'a,
4754 > as alloy_sol_types::SolType>::Token<'a>;
4755 const SIGNATURE: &'static str = "avsDirectory()";
4756 const SELECTOR: [u8; 4] = [107u8, 58u8, 167u8, 46u8];
4757 #[inline]
4758 fn new<'a>(
4759 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4760 ) -> Self {
4761 tuple.into()
4762 }
4763 #[inline]
4764 fn tokenize(&self) -> Self::Token<'_> {
4765 ()
4766 }
4767 #[inline]
4768 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4769 (
4770 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4771 ret,
4772 ),
4773 )
4774 }
4775 #[inline]
4776 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4777 <Self::ReturnTuple<
4778 '_,
4779 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4780 .map(|r| {
4781 let r: avsDirectoryReturn = r.into();
4782 r._0
4783 })
4784 }
4785 #[inline]
4786 fn abi_decode_returns_validate(
4787 data: &[u8],
4788 ) -> alloy_sol_types::Result<Self::Return> {
4789 <Self::ReturnTuple<
4790 '_,
4791 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4792 .map(|r| {
4793 let r: avsDirectoryReturn = r.into();
4794 r._0
4795 })
4796 }
4797 }
4798 };
4799 #[derive(serde::Serialize, serde::Deserialize)]
4800 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4801 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4806 #[derive(Clone)]
4807 pub struct delegationCall;
4808 #[derive(serde::Serialize, serde::Deserialize)]
4809 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4810 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4812 #[derive(Clone)]
4813 pub struct delegationReturn {
4814 #[allow(missing_docs)]
4815 pub _0: alloy::sol_types::private::Address,
4816 }
4817 #[allow(
4818 non_camel_case_types,
4819 non_snake_case,
4820 clippy::pub_underscore_fields,
4821 clippy::style
4822 )]
4823 const _: () = {
4824 use alloy::sol_types as alloy_sol_types;
4825 {
4826 #[doc(hidden)]
4827 type UnderlyingSolTuple<'a> = ();
4828 #[doc(hidden)]
4829 type UnderlyingRustTuple<'a> = ();
4830 #[cfg(test)]
4831 #[allow(dead_code, unreachable_patterns)]
4832 fn _type_assertion(
4833 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4834 ) {
4835 match _t {
4836 alloy_sol_types::private::AssertTypeEq::<
4837 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4838 >(_) => {}
4839 }
4840 }
4841 #[automatically_derived]
4842 #[doc(hidden)]
4843 impl ::core::convert::From<delegationCall> for UnderlyingRustTuple<'_> {
4844 fn from(value: delegationCall) -> Self {
4845 ()
4846 }
4847 }
4848 #[automatically_derived]
4849 #[doc(hidden)]
4850 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegationCall {
4851 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4852 Self
4853 }
4854 }
4855 }
4856 {
4857 #[doc(hidden)]
4858 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4859 #[doc(hidden)]
4860 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4861 #[cfg(test)]
4862 #[allow(dead_code, unreachable_patterns)]
4863 fn _type_assertion(
4864 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4865 ) {
4866 match _t {
4867 alloy_sol_types::private::AssertTypeEq::<
4868 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4869 >(_) => {}
4870 }
4871 }
4872 #[automatically_derived]
4873 #[doc(hidden)]
4874 impl ::core::convert::From<delegationReturn> for UnderlyingRustTuple<'_> {
4875 fn from(value: delegationReturn) -> Self {
4876 (value._0,)
4877 }
4878 }
4879 #[automatically_derived]
4880 #[doc(hidden)]
4881 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegationReturn {
4882 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4883 Self { _0: tuple.0 }
4884 }
4885 }
4886 }
4887 #[automatically_derived]
4888 impl alloy_sol_types::SolCall for delegationCall {
4889 type Parameters<'a> = ();
4890 type Token<'a> = <Self::Parameters<
4891 'a,
4892 > as alloy_sol_types::SolType>::Token<'a>;
4893 type Return = alloy::sol_types::private::Address;
4894 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
4895 type ReturnToken<'a> = <Self::ReturnTuple<
4896 'a,
4897 > as alloy_sol_types::SolType>::Token<'a>;
4898 const SIGNATURE: &'static str = "delegation()";
4899 const SELECTOR: [u8; 4] = [223u8, 92u8, 247u8, 35u8];
4900 #[inline]
4901 fn new<'a>(
4902 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4903 ) -> Self {
4904 tuple.into()
4905 }
4906 #[inline]
4907 fn tokenize(&self) -> Self::Token<'_> {
4908 ()
4909 }
4910 #[inline]
4911 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4912 (
4913 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4914 ret,
4915 ),
4916 )
4917 }
4918 #[inline]
4919 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4920 <Self::ReturnTuple<
4921 '_,
4922 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4923 .map(|r| {
4924 let r: delegationReturn = r.into();
4925 r._0
4926 })
4927 }
4928 #[inline]
4929 fn abi_decode_returns_validate(
4930 data: &[u8],
4931 ) -> alloy_sol_types::Result<Self::Return> {
4932 <Self::ReturnTuple<
4933 '_,
4934 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4935 .map(|r| {
4936 let r: delegationReturn = r.into();
4937 r._0
4938 })
4939 }
4940 }
4941 };
4942 #[derive(serde::Serialize, serde::Deserialize)]
4943 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4944 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4949 #[derive(Clone)]
4950 pub struct deregisterOperatorCall {
4951 #[allow(missing_docs)]
4952 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
4953 #[allow(missing_docs)]
4954 pub quorumNumbers: alloy::sol_types::private::Bytes,
4955 }
4956 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4958 #[derive(Clone)]
4959 pub struct deregisterOperatorReturn {}
4960 #[allow(
4961 non_camel_case_types,
4962 non_snake_case,
4963 clippy::pub_underscore_fields,
4964 clippy::style
4965 )]
4966 const _: () = {
4967 use alloy::sol_types as alloy_sol_types;
4968 {
4969 #[doc(hidden)]
4970 type UnderlyingSolTuple<'a> = (
4971 alloy::sol_types::sol_data::FixedBytes<32>,
4972 alloy::sol_types::sol_data::Bytes,
4973 );
4974 #[doc(hidden)]
4975 type UnderlyingRustTuple<'a> = (
4976 alloy::sol_types::private::FixedBytes<32>,
4977 alloy::sol_types::private::Bytes,
4978 );
4979 #[cfg(test)]
4980 #[allow(dead_code, unreachable_patterns)]
4981 fn _type_assertion(
4982 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4983 ) {
4984 match _t {
4985 alloy_sol_types::private::AssertTypeEq::<
4986 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4987 >(_) => {}
4988 }
4989 }
4990 #[automatically_derived]
4991 #[doc(hidden)]
4992 impl ::core::convert::From<deregisterOperatorCall>
4993 for UnderlyingRustTuple<'_> {
4994 fn from(value: deregisterOperatorCall) -> Self {
4995 (value.operatorId, value.quorumNumbers)
4996 }
4997 }
4998 #[automatically_derived]
4999 #[doc(hidden)]
5000 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5001 for deregisterOperatorCall {
5002 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5003 Self {
5004 operatorId: tuple.0,
5005 quorumNumbers: tuple.1,
5006 }
5007 }
5008 }
5009 }
5010 {
5011 #[doc(hidden)]
5012 type UnderlyingSolTuple<'a> = ();
5013 #[doc(hidden)]
5014 type UnderlyingRustTuple<'a> = ();
5015 #[cfg(test)]
5016 #[allow(dead_code, unreachable_patterns)]
5017 fn _type_assertion(
5018 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5019 ) {
5020 match _t {
5021 alloy_sol_types::private::AssertTypeEq::<
5022 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5023 >(_) => {}
5024 }
5025 }
5026 #[automatically_derived]
5027 #[doc(hidden)]
5028 impl ::core::convert::From<deregisterOperatorReturn>
5029 for UnderlyingRustTuple<'_> {
5030 fn from(value: deregisterOperatorReturn) -> Self {
5031 ()
5032 }
5033 }
5034 #[automatically_derived]
5035 #[doc(hidden)]
5036 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5037 for deregisterOperatorReturn {
5038 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5039 Self {}
5040 }
5041 }
5042 }
5043 impl deregisterOperatorReturn {
5044 fn _tokenize(
5045 &self,
5046 ) -> <deregisterOperatorCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
5047 ()
5048 }
5049 }
5050 #[automatically_derived]
5051 impl alloy_sol_types::SolCall for deregisterOperatorCall {
5052 type Parameters<'a> = (
5053 alloy::sol_types::sol_data::FixedBytes<32>,
5054 alloy::sol_types::sol_data::Bytes,
5055 );
5056 type Token<'a> = <Self::Parameters<
5057 'a,
5058 > as alloy_sol_types::SolType>::Token<'a>;
5059 type Return = deregisterOperatorReturn;
5060 type ReturnTuple<'a> = ();
5061 type ReturnToken<'a> = <Self::ReturnTuple<
5062 'a,
5063 > as alloy_sol_types::SolType>::Token<'a>;
5064 const SIGNATURE: &'static str = "deregisterOperator(bytes32,bytes)";
5065 const SELECTOR: [u8; 4] = [189u8, 41u8, 184u8, 205u8];
5066 #[inline]
5067 fn new<'a>(
5068 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5069 ) -> Self {
5070 tuple.into()
5071 }
5072 #[inline]
5073 fn tokenize(&self) -> Self::Token<'_> {
5074 (
5075 <alloy::sol_types::sol_data::FixedBytes<
5076 32,
5077 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5078 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5079 &self.quorumNumbers,
5080 ),
5081 )
5082 }
5083 #[inline]
5084 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5085 deregisterOperatorReturn::_tokenize(ret)
5086 }
5087 #[inline]
5088 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5089 <Self::ReturnTuple<
5090 '_,
5091 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5092 .map(Into::into)
5093 }
5094 #[inline]
5095 fn abi_decode_returns_validate(
5096 data: &[u8],
5097 ) -> alloy_sol_types::Result<Self::Return> {
5098 <Self::ReturnTuple<
5099 '_,
5100 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5101 .map(Into::into)
5102 }
5103 }
5104 };
5105 #[derive(serde::Serialize, serde::Deserialize)]
5106 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5107 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5112 #[derive(Clone)]
5113 pub struct getCurrentStakeCall {
5114 #[allow(missing_docs)]
5115 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5116 #[allow(missing_docs)]
5117 pub quorumNumber: u8,
5118 }
5119 #[derive(serde::Serialize, serde::Deserialize)]
5120 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5121 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5123 #[derive(Clone)]
5124 pub struct getCurrentStakeReturn {
5125 #[allow(missing_docs)]
5126 pub _0: alloy::sol_types::private::primitives::aliases::U96,
5127 }
5128 #[allow(
5129 non_camel_case_types,
5130 non_snake_case,
5131 clippy::pub_underscore_fields,
5132 clippy::style
5133 )]
5134 const _: () = {
5135 use alloy::sol_types as alloy_sol_types;
5136 {
5137 #[doc(hidden)]
5138 type UnderlyingSolTuple<'a> = (
5139 alloy::sol_types::sol_data::FixedBytes<32>,
5140 alloy::sol_types::sol_data::Uint<8>,
5141 );
5142 #[doc(hidden)]
5143 type UnderlyingRustTuple<'a> = (
5144 alloy::sol_types::private::FixedBytes<32>,
5145 u8,
5146 );
5147 #[cfg(test)]
5148 #[allow(dead_code, unreachable_patterns)]
5149 fn _type_assertion(
5150 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5151 ) {
5152 match _t {
5153 alloy_sol_types::private::AssertTypeEq::<
5154 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5155 >(_) => {}
5156 }
5157 }
5158 #[automatically_derived]
5159 #[doc(hidden)]
5160 impl ::core::convert::From<getCurrentStakeCall> for UnderlyingRustTuple<'_> {
5161 fn from(value: getCurrentStakeCall) -> Self {
5162 (value.operatorId, value.quorumNumber)
5163 }
5164 }
5165 #[automatically_derived]
5166 #[doc(hidden)]
5167 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getCurrentStakeCall {
5168 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5169 Self {
5170 operatorId: tuple.0,
5171 quorumNumber: tuple.1,
5172 }
5173 }
5174 }
5175 }
5176 {
5177 #[doc(hidden)]
5178 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5179 #[doc(hidden)]
5180 type UnderlyingRustTuple<'a> = (
5181 alloy::sol_types::private::primitives::aliases::U96,
5182 );
5183 #[cfg(test)]
5184 #[allow(dead_code, unreachable_patterns)]
5185 fn _type_assertion(
5186 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5187 ) {
5188 match _t {
5189 alloy_sol_types::private::AssertTypeEq::<
5190 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5191 >(_) => {}
5192 }
5193 }
5194 #[automatically_derived]
5195 #[doc(hidden)]
5196 impl ::core::convert::From<getCurrentStakeReturn>
5197 for UnderlyingRustTuple<'_> {
5198 fn from(value: getCurrentStakeReturn) -> Self {
5199 (value._0,)
5200 }
5201 }
5202 #[automatically_derived]
5203 #[doc(hidden)]
5204 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5205 for getCurrentStakeReturn {
5206 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5207 Self { _0: tuple.0 }
5208 }
5209 }
5210 }
5211 #[automatically_derived]
5212 impl alloy_sol_types::SolCall for getCurrentStakeCall {
5213 type Parameters<'a> = (
5214 alloy::sol_types::sol_data::FixedBytes<32>,
5215 alloy::sol_types::sol_data::Uint<8>,
5216 );
5217 type Token<'a> = <Self::Parameters<
5218 'a,
5219 > as alloy_sol_types::SolType>::Token<'a>;
5220 type Return = alloy::sol_types::private::primitives::aliases::U96;
5221 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5222 type ReturnToken<'a> = <Self::ReturnTuple<
5223 'a,
5224 > as alloy_sol_types::SolType>::Token<'a>;
5225 const SIGNATURE: &'static str = "getCurrentStake(bytes32,uint8)";
5226 const SELECTOR: [u8; 4] = [84u8, 1u8, 237u8, 39u8];
5227 #[inline]
5228 fn new<'a>(
5229 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5230 ) -> Self {
5231 tuple.into()
5232 }
5233 #[inline]
5234 fn tokenize(&self) -> Self::Token<'_> {
5235 (
5236 <alloy::sol_types::sol_data::FixedBytes<
5237 32,
5238 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5239 <alloy::sol_types::sol_data::Uint<
5240 8,
5241 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5242 )
5243 }
5244 #[inline]
5245 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5246 (
5247 <alloy::sol_types::sol_data::Uint<
5248 96,
5249 > as alloy_sol_types::SolType>::tokenize(ret),
5250 )
5251 }
5252 #[inline]
5253 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5254 <Self::ReturnTuple<
5255 '_,
5256 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5257 .map(|r| {
5258 let r: getCurrentStakeReturn = r.into();
5259 r._0
5260 })
5261 }
5262 #[inline]
5263 fn abi_decode_returns_validate(
5264 data: &[u8],
5265 ) -> alloy_sol_types::Result<Self::Return> {
5266 <Self::ReturnTuple<
5267 '_,
5268 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5269 .map(|r| {
5270 let r: getCurrentStakeReturn = r.into();
5271 r._0
5272 })
5273 }
5274 }
5275 };
5276 #[derive(serde::Serialize, serde::Deserialize)]
5277 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5278 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5283 #[derive(Clone)]
5284 pub struct getCurrentTotalStakeCall {
5285 #[allow(missing_docs)]
5286 pub quorumNumber: u8,
5287 }
5288 #[derive(serde::Serialize, serde::Deserialize)]
5289 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5290 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5292 #[derive(Clone)]
5293 pub struct getCurrentTotalStakeReturn {
5294 #[allow(missing_docs)]
5295 pub _0: alloy::sol_types::private::primitives::aliases::U96,
5296 }
5297 #[allow(
5298 non_camel_case_types,
5299 non_snake_case,
5300 clippy::pub_underscore_fields,
5301 clippy::style
5302 )]
5303 const _: () = {
5304 use alloy::sol_types as alloy_sol_types;
5305 {
5306 #[doc(hidden)]
5307 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
5308 #[doc(hidden)]
5309 type UnderlyingRustTuple<'a> = (u8,);
5310 #[cfg(test)]
5311 #[allow(dead_code, unreachable_patterns)]
5312 fn _type_assertion(
5313 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5314 ) {
5315 match _t {
5316 alloy_sol_types::private::AssertTypeEq::<
5317 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5318 >(_) => {}
5319 }
5320 }
5321 #[automatically_derived]
5322 #[doc(hidden)]
5323 impl ::core::convert::From<getCurrentTotalStakeCall>
5324 for UnderlyingRustTuple<'_> {
5325 fn from(value: getCurrentTotalStakeCall) -> Self {
5326 (value.quorumNumber,)
5327 }
5328 }
5329 #[automatically_derived]
5330 #[doc(hidden)]
5331 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5332 for getCurrentTotalStakeCall {
5333 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5334 Self { quorumNumber: tuple.0 }
5335 }
5336 }
5337 }
5338 {
5339 #[doc(hidden)]
5340 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5341 #[doc(hidden)]
5342 type UnderlyingRustTuple<'a> = (
5343 alloy::sol_types::private::primitives::aliases::U96,
5344 );
5345 #[cfg(test)]
5346 #[allow(dead_code, unreachable_patterns)]
5347 fn _type_assertion(
5348 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5349 ) {
5350 match _t {
5351 alloy_sol_types::private::AssertTypeEq::<
5352 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5353 >(_) => {}
5354 }
5355 }
5356 #[automatically_derived]
5357 #[doc(hidden)]
5358 impl ::core::convert::From<getCurrentTotalStakeReturn>
5359 for UnderlyingRustTuple<'_> {
5360 fn from(value: getCurrentTotalStakeReturn) -> Self {
5361 (value._0,)
5362 }
5363 }
5364 #[automatically_derived]
5365 #[doc(hidden)]
5366 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5367 for getCurrentTotalStakeReturn {
5368 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5369 Self { _0: tuple.0 }
5370 }
5371 }
5372 }
5373 #[automatically_derived]
5374 impl alloy_sol_types::SolCall for getCurrentTotalStakeCall {
5375 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
5376 type Token<'a> = <Self::Parameters<
5377 'a,
5378 > as alloy_sol_types::SolType>::Token<'a>;
5379 type Return = alloy::sol_types::private::primitives::aliases::U96;
5380 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5381 type ReturnToken<'a> = <Self::ReturnTuple<
5382 'a,
5383 > as alloy_sol_types::SolType>::Token<'a>;
5384 const SIGNATURE: &'static str = "getCurrentTotalStake(uint8)";
5385 const SELECTOR: [u8; 4] = [213u8, 236u8, 204u8, 5u8];
5386 #[inline]
5387 fn new<'a>(
5388 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5389 ) -> Self {
5390 tuple.into()
5391 }
5392 #[inline]
5393 fn tokenize(&self) -> Self::Token<'_> {
5394 (
5395 <alloy::sol_types::sol_data::Uint<
5396 8,
5397 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5398 )
5399 }
5400 #[inline]
5401 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5402 (
5403 <alloy::sol_types::sol_data::Uint<
5404 96,
5405 > as alloy_sol_types::SolType>::tokenize(ret),
5406 )
5407 }
5408 #[inline]
5409 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5410 <Self::ReturnTuple<
5411 '_,
5412 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5413 .map(|r| {
5414 let r: getCurrentTotalStakeReturn = r.into();
5415 r._0
5416 })
5417 }
5418 #[inline]
5419 fn abi_decode_returns_validate(
5420 data: &[u8],
5421 ) -> alloy_sol_types::Result<Self::Return> {
5422 <Self::ReturnTuple<
5423 '_,
5424 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5425 .map(|r| {
5426 let r: getCurrentTotalStakeReturn = r.into();
5427 r._0
5428 })
5429 }
5430 }
5431 };
5432 #[derive(serde::Serialize, serde::Deserialize)]
5433 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5434 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5439 #[derive(Clone)]
5440 pub struct getLatestStakeUpdateCall {
5441 #[allow(missing_docs)]
5442 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5443 #[allow(missing_docs)]
5444 pub quorumNumber: u8,
5445 }
5446 #[derive(serde::Serialize, serde::Deserialize)]
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 getLatestStakeUpdateReturn {
5452 #[allow(missing_docs)]
5453 pub _0: <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
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> = (
5466 alloy::sol_types::sol_data::FixedBytes<32>,
5467 alloy::sol_types::sol_data::Uint<8>,
5468 );
5469 #[doc(hidden)]
5470 type UnderlyingRustTuple<'a> = (
5471 alloy::sol_types::private::FixedBytes<32>,
5472 u8,
5473 );
5474 #[cfg(test)]
5475 #[allow(dead_code, unreachable_patterns)]
5476 fn _type_assertion(
5477 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5478 ) {
5479 match _t {
5480 alloy_sol_types::private::AssertTypeEq::<
5481 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5482 >(_) => {}
5483 }
5484 }
5485 #[automatically_derived]
5486 #[doc(hidden)]
5487 impl ::core::convert::From<getLatestStakeUpdateCall>
5488 for UnderlyingRustTuple<'_> {
5489 fn from(value: getLatestStakeUpdateCall) -> Self {
5490 (value.operatorId, value.quorumNumber)
5491 }
5492 }
5493 #[automatically_derived]
5494 #[doc(hidden)]
5495 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5496 for getLatestStakeUpdateCall {
5497 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5498 Self {
5499 operatorId: tuple.0,
5500 quorumNumber: tuple.1,
5501 }
5502 }
5503 }
5504 }
5505 {
5506 #[doc(hidden)]
5507 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
5508 #[doc(hidden)]
5509 type UnderlyingRustTuple<'a> = (
5510 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
5511 );
5512 #[cfg(test)]
5513 #[allow(dead_code, unreachable_patterns)]
5514 fn _type_assertion(
5515 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5516 ) {
5517 match _t {
5518 alloy_sol_types::private::AssertTypeEq::<
5519 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5520 >(_) => {}
5521 }
5522 }
5523 #[automatically_derived]
5524 #[doc(hidden)]
5525 impl ::core::convert::From<getLatestStakeUpdateReturn>
5526 for UnderlyingRustTuple<'_> {
5527 fn from(value: getLatestStakeUpdateReturn) -> Self {
5528 (value._0,)
5529 }
5530 }
5531 #[automatically_derived]
5532 #[doc(hidden)]
5533 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5534 for getLatestStakeUpdateReturn {
5535 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5536 Self { _0: tuple.0 }
5537 }
5538 }
5539 }
5540 #[automatically_derived]
5541 impl alloy_sol_types::SolCall for getLatestStakeUpdateCall {
5542 type Parameters<'a> = (
5543 alloy::sol_types::sol_data::FixedBytes<32>,
5544 alloy::sol_types::sol_data::Uint<8>,
5545 );
5546 type Token<'a> = <Self::Parameters<
5547 'a,
5548 > as alloy_sol_types::SolType>::Token<'a>;
5549 type Return = <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType;
5550 type ReturnTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
5551 type ReturnToken<'a> = <Self::ReturnTuple<
5552 'a,
5553 > as alloy_sol_types::SolType>::Token<'a>;
5554 const SIGNATURE: &'static str = "getLatestStakeUpdate(bytes32,uint8)";
5555 const SELECTOR: [u8; 4] = [248u8, 81u8, 225u8, 152u8];
5556 #[inline]
5557 fn new<'a>(
5558 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5559 ) -> Self {
5560 tuple.into()
5561 }
5562 #[inline]
5563 fn tokenize(&self) -> Self::Token<'_> {
5564 (
5565 <alloy::sol_types::sol_data::FixedBytes<
5566 32,
5567 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5568 <alloy::sol_types::sol_data::Uint<
5569 8,
5570 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5571 )
5572 }
5573 #[inline]
5574 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5575 (
5576 <IStakeRegistryTypes::StakeUpdate as alloy_sol_types::SolType>::tokenize(
5577 ret,
5578 ),
5579 )
5580 }
5581 #[inline]
5582 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5583 <Self::ReturnTuple<
5584 '_,
5585 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5586 .map(|r| {
5587 let r: getLatestStakeUpdateReturn = r.into();
5588 r._0
5589 })
5590 }
5591 #[inline]
5592 fn abi_decode_returns_validate(
5593 data: &[u8],
5594 ) -> alloy_sol_types::Result<Self::Return> {
5595 <Self::ReturnTuple<
5596 '_,
5597 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5598 .map(|r| {
5599 let r: getLatestStakeUpdateReturn = r.into();
5600 r._0
5601 })
5602 }
5603 }
5604 };
5605 #[derive(serde::Serialize, serde::Deserialize)]
5606 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5607 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5612 #[derive(Clone)]
5613 pub struct getStakeAtBlockNumberCall {
5614 #[allow(missing_docs)]
5615 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5616 #[allow(missing_docs)]
5617 pub quorumNumber: u8,
5618 #[allow(missing_docs)]
5619 pub blockNumber: u32,
5620 }
5621 #[derive(serde::Serialize, serde::Deserialize)]
5622 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5623 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5625 #[derive(Clone)]
5626 pub struct getStakeAtBlockNumberReturn {
5627 #[allow(missing_docs)]
5628 pub _0: alloy::sol_types::private::primitives::aliases::U96,
5629 }
5630 #[allow(
5631 non_camel_case_types,
5632 non_snake_case,
5633 clippy::pub_underscore_fields,
5634 clippy::style
5635 )]
5636 const _: () = {
5637 use alloy::sol_types as alloy_sol_types;
5638 {
5639 #[doc(hidden)]
5640 type UnderlyingSolTuple<'a> = (
5641 alloy::sol_types::sol_data::FixedBytes<32>,
5642 alloy::sol_types::sol_data::Uint<8>,
5643 alloy::sol_types::sol_data::Uint<32>,
5644 );
5645 #[doc(hidden)]
5646 type UnderlyingRustTuple<'a> = (
5647 alloy::sol_types::private::FixedBytes<32>,
5648 u8,
5649 u32,
5650 );
5651 #[cfg(test)]
5652 #[allow(dead_code, unreachable_patterns)]
5653 fn _type_assertion(
5654 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5655 ) {
5656 match _t {
5657 alloy_sol_types::private::AssertTypeEq::<
5658 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5659 >(_) => {}
5660 }
5661 }
5662 #[automatically_derived]
5663 #[doc(hidden)]
5664 impl ::core::convert::From<getStakeAtBlockNumberCall>
5665 for UnderlyingRustTuple<'_> {
5666 fn from(value: getStakeAtBlockNumberCall) -> Self {
5667 (value.operatorId, value.quorumNumber, value.blockNumber)
5668 }
5669 }
5670 #[automatically_derived]
5671 #[doc(hidden)]
5672 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5673 for getStakeAtBlockNumberCall {
5674 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5675 Self {
5676 operatorId: tuple.0,
5677 quorumNumber: tuple.1,
5678 blockNumber: tuple.2,
5679 }
5680 }
5681 }
5682 }
5683 {
5684 #[doc(hidden)]
5685 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5686 #[doc(hidden)]
5687 type UnderlyingRustTuple<'a> = (
5688 alloy::sol_types::private::primitives::aliases::U96,
5689 );
5690 #[cfg(test)]
5691 #[allow(dead_code, unreachable_patterns)]
5692 fn _type_assertion(
5693 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5694 ) {
5695 match _t {
5696 alloy_sol_types::private::AssertTypeEq::<
5697 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5698 >(_) => {}
5699 }
5700 }
5701 #[automatically_derived]
5702 #[doc(hidden)]
5703 impl ::core::convert::From<getStakeAtBlockNumberReturn>
5704 for UnderlyingRustTuple<'_> {
5705 fn from(value: getStakeAtBlockNumberReturn) -> Self {
5706 (value._0,)
5707 }
5708 }
5709 #[automatically_derived]
5710 #[doc(hidden)]
5711 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5712 for getStakeAtBlockNumberReturn {
5713 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5714 Self { _0: tuple.0 }
5715 }
5716 }
5717 }
5718 #[automatically_derived]
5719 impl alloy_sol_types::SolCall for getStakeAtBlockNumberCall {
5720 type Parameters<'a> = (
5721 alloy::sol_types::sol_data::FixedBytes<32>,
5722 alloy::sol_types::sol_data::Uint<8>,
5723 alloy::sol_types::sol_data::Uint<32>,
5724 );
5725 type Token<'a> = <Self::Parameters<
5726 'a,
5727 > as alloy_sol_types::SolType>::Token<'a>;
5728 type Return = alloy::sol_types::private::primitives::aliases::U96;
5729 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5730 type ReturnToken<'a> = <Self::ReturnTuple<
5731 'a,
5732 > as alloy_sol_types::SolType>::Token<'a>;
5733 const SIGNATURE: &'static str = "getStakeAtBlockNumber(bytes32,uint8,uint32)";
5734 const SELECTOR: [u8; 4] = [250u8, 40u8, 198u8, 39u8];
5735 #[inline]
5736 fn new<'a>(
5737 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5738 ) -> Self {
5739 tuple.into()
5740 }
5741 #[inline]
5742 fn tokenize(&self) -> Self::Token<'_> {
5743 (
5744 <alloy::sol_types::sol_data::FixedBytes<
5745 32,
5746 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5747 <alloy::sol_types::sol_data::Uint<
5748 8,
5749 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5750 <alloy::sol_types::sol_data::Uint<
5751 32,
5752 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
5753 )
5754 }
5755 #[inline]
5756 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5757 (
5758 <alloy::sol_types::sol_data::Uint<
5759 96,
5760 > as alloy_sol_types::SolType>::tokenize(ret),
5761 )
5762 }
5763 #[inline]
5764 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5765 <Self::ReturnTuple<
5766 '_,
5767 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5768 .map(|r| {
5769 let r: getStakeAtBlockNumberReturn = r.into();
5770 r._0
5771 })
5772 }
5773 #[inline]
5774 fn abi_decode_returns_validate(
5775 data: &[u8],
5776 ) -> alloy_sol_types::Result<Self::Return> {
5777 <Self::ReturnTuple<
5778 '_,
5779 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5780 .map(|r| {
5781 let r: getStakeAtBlockNumberReturn = r.into();
5782 r._0
5783 })
5784 }
5785 }
5786 };
5787 #[derive(serde::Serialize, serde::Deserialize)]
5788 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5789 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5794 #[derive(Clone)]
5795 pub struct getStakeAtBlockNumberAndIndexCall {
5796 #[allow(missing_docs)]
5797 pub quorumNumber: u8,
5798 #[allow(missing_docs)]
5799 pub blockNumber: u32,
5800 #[allow(missing_docs)]
5801 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5802 #[allow(missing_docs)]
5803 pub index: alloy::sol_types::private::primitives::aliases::U256,
5804 }
5805 #[derive(serde::Serialize, serde::Deserialize)]
5806 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5807 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5809 #[derive(Clone)]
5810 pub struct getStakeAtBlockNumberAndIndexReturn {
5811 #[allow(missing_docs)]
5812 pub _0: alloy::sol_types::private::primitives::aliases::U96,
5813 }
5814 #[allow(
5815 non_camel_case_types,
5816 non_snake_case,
5817 clippy::pub_underscore_fields,
5818 clippy::style
5819 )]
5820 const _: () = {
5821 use alloy::sol_types as alloy_sol_types;
5822 {
5823 #[doc(hidden)]
5824 type UnderlyingSolTuple<'a> = (
5825 alloy::sol_types::sol_data::Uint<8>,
5826 alloy::sol_types::sol_data::Uint<32>,
5827 alloy::sol_types::sol_data::FixedBytes<32>,
5828 alloy::sol_types::sol_data::Uint<256>,
5829 );
5830 #[doc(hidden)]
5831 type UnderlyingRustTuple<'a> = (
5832 u8,
5833 u32,
5834 alloy::sol_types::private::FixedBytes<32>,
5835 alloy::sol_types::private::primitives::aliases::U256,
5836 );
5837 #[cfg(test)]
5838 #[allow(dead_code, unreachable_patterns)]
5839 fn _type_assertion(
5840 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5841 ) {
5842 match _t {
5843 alloy_sol_types::private::AssertTypeEq::<
5844 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5845 >(_) => {}
5846 }
5847 }
5848 #[automatically_derived]
5849 #[doc(hidden)]
5850 impl ::core::convert::From<getStakeAtBlockNumberAndIndexCall>
5851 for UnderlyingRustTuple<'_> {
5852 fn from(value: getStakeAtBlockNumberAndIndexCall) -> Self {
5853 (
5854 value.quorumNumber,
5855 value.blockNumber,
5856 value.operatorId,
5857 value.index,
5858 )
5859 }
5860 }
5861 #[automatically_derived]
5862 #[doc(hidden)]
5863 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5864 for getStakeAtBlockNumberAndIndexCall {
5865 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5866 Self {
5867 quorumNumber: tuple.0,
5868 blockNumber: tuple.1,
5869 operatorId: tuple.2,
5870 index: tuple.3,
5871 }
5872 }
5873 }
5874 }
5875 {
5876 #[doc(hidden)]
5877 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5878 #[doc(hidden)]
5879 type UnderlyingRustTuple<'a> = (
5880 alloy::sol_types::private::primitives::aliases::U96,
5881 );
5882 #[cfg(test)]
5883 #[allow(dead_code, unreachable_patterns)]
5884 fn _type_assertion(
5885 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5886 ) {
5887 match _t {
5888 alloy_sol_types::private::AssertTypeEq::<
5889 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5890 >(_) => {}
5891 }
5892 }
5893 #[automatically_derived]
5894 #[doc(hidden)]
5895 impl ::core::convert::From<getStakeAtBlockNumberAndIndexReturn>
5896 for UnderlyingRustTuple<'_> {
5897 fn from(value: getStakeAtBlockNumberAndIndexReturn) -> Self {
5898 (value._0,)
5899 }
5900 }
5901 #[automatically_derived]
5902 #[doc(hidden)]
5903 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5904 for getStakeAtBlockNumberAndIndexReturn {
5905 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5906 Self { _0: tuple.0 }
5907 }
5908 }
5909 }
5910 #[automatically_derived]
5911 impl alloy_sol_types::SolCall for getStakeAtBlockNumberAndIndexCall {
5912 type Parameters<'a> = (
5913 alloy::sol_types::sol_data::Uint<8>,
5914 alloy::sol_types::sol_data::Uint<32>,
5915 alloy::sol_types::sol_data::FixedBytes<32>,
5916 alloy::sol_types::sol_data::Uint<256>,
5917 );
5918 type Token<'a> = <Self::Parameters<
5919 'a,
5920 > as alloy_sol_types::SolType>::Token<'a>;
5921 type Return = alloy::sol_types::private::primitives::aliases::U96;
5922 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5923 type ReturnToken<'a> = <Self::ReturnTuple<
5924 'a,
5925 > as alloy_sol_types::SolType>::Token<'a>;
5926 const SIGNATURE: &'static str = "getStakeAtBlockNumberAndIndex(uint8,uint32,bytes32,uint256)";
5927 const SELECTOR: [u8; 4] = [242u8, 190u8, 148u8, 174u8];
5928 #[inline]
5929 fn new<'a>(
5930 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5931 ) -> Self {
5932 tuple.into()
5933 }
5934 #[inline]
5935 fn tokenize(&self) -> Self::Token<'_> {
5936 (
5937 <alloy::sol_types::sol_data::Uint<
5938 8,
5939 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5940 <alloy::sol_types::sol_data::Uint<
5941 32,
5942 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
5943 <alloy::sol_types::sol_data::FixedBytes<
5944 32,
5945 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5946 <alloy::sol_types::sol_data::Uint<
5947 256,
5948 > as alloy_sol_types::SolType>::tokenize(&self.index),
5949 )
5950 }
5951 #[inline]
5952 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5953 (
5954 <alloy::sol_types::sol_data::Uint<
5955 96,
5956 > as alloy_sol_types::SolType>::tokenize(ret),
5957 )
5958 }
5959 #[inline]
5960 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5961 <Self::ReturnTuple<
5962 '_,
5963 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5964 .map(|r| {
5965 let r: getStakeAtBlockNumberAndIndexReturn = r.into();
5966 r._0
5967 })
5968 }
5969 #[inline]
5970 fn abi_decode_returns_validate(
5971 data: &[u8],
5972 ) -> alloy_sol_types::Result<Self::Return> {
5973 <Self::ReturnTuple<
5974 '_,
5975 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5976 .map(|r| {
5977 let r: getStakeAtBlockNumberAndIndexReturn = r.into();
5978 r._0
5979 })
5980 }
5981 }
5982 };
5983 #[derive(serde::Serialize, serde::Deserialize)]
5984 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5985 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5990 #[derive(Clone)]
5991 pub struct getStakeHistoryCall {
5992 #[allow(missing_docs)]
5993 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5994 #[allow(missing_docs)]
5995 pub quorumNumber: u8,
5996 }
5997 #[derive(serde::Serialize, serde::Deserialize)]
5998 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5999 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6001 #[derive(Clone)]
6002 pub struct getStakeHistoryReturn {
6003 #[allow(missing_docs)]
6004 pub _0: alloy::sol_types::private::Vec<
6005 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
6006 >,
6007 }
6008 #[allow(
6009 non_camel_case_types,
6010 non_snake_case,
6011 clippy::pub_underscore_fields,
6012 clippy::style
6013 )]
6014 const _: () = {
6015 use alloy::sol_types as alloy_sol_types;
6016 {
6017 #[doc(hidden)]
6018 type UnderlyingSolTuple<'a> = (
6019 alloy::sol_types::sol_data::FixedBytes<32>,
6020 alloy::sol_types::sol_data::Uint<8>,
6021 );
6022 #[doc(hidden)]
6023 type UnderlyingRustTuple<'a> = (
6024 alloy::sol_types::private::FixedBytes<32>,
6025 u8,
6026 );
6027 #[cfg(test)]
6028 #[allow(dead_code, unreachable_patterns)]
6029 fn _type_assertion(
6030 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6031 ) {
6032 match _t {
6033 alloy_sol_types::private::AssertTypeEq::<
6034 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6035 >(_) => {}
6036 }
6037 }
6038 #[automatically_derived]
6039 #[doc(hidden)]
6040 impl ::core::convert::From<getStakeHistoryCall> for UnderlyingRustTuple<'_> {
6041 fn from(value: getStakeHistoryCall) -> Self {
6042 (value.operatorId, value.quorumNumber)
6043 }
6044 }
6045 #[automatically_derived]
6046 #[doc(hidden)]
6047 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeHistoryCall {
6048 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6049 Self {
6050 operatorId: tuple.0,
6051 quorumNumber: tuple.1,
6052 }
6053 }
6054 }
6055 }
6056 {
6057 #[doc(hidden)]
6058 type UnderlyingSolTuple<'a> = (
6059 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StakeUpdate>,
6060 );
6061 #[doc(hidden)]
6062 type UnderlyingRustTuple<'a> = (
6063 alloy::sol_types::private::Vec<
6064 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
6065 >,
6066 );
6067 #[cfg(test)]
6068 #[allow(dead_code, unreachable_patterns)]
6069 fn _type_assertion(
6070 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6071 ) {
6072 match _t {
6073 alloy_sol_types::private::AssertTypeEq::<
6074 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6075 >(_) => {}
6076 }
6077 }
6078 #[automatically_derived]
6079 #[doc(hidden)]
6080 impl ::core::convert::From<getStakeHistoryReturn>
6081 for UnderlyingRustTuple<'_> {
6082 fn from(value: getStakeHistoryReturn) -> Self {
6083 (value._0,)
6084 }
6085 }
6086 #[automatically_derived]
6087 #[doc(hidden)]
6088 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6089 for getStakeHistoryReturn {
6090 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6091 Self { _0: tuple.0 }
6092 }
6093 }
6094 }
6095 #[automatically_derived]
6096 impl alloy_sol_types::SolCall for getStakeHistoryCall {
6097 type Parameters<'a> = (
6098 alloy::sol_types::sol_data::FixedBytes<32>,
6099 alloy::sol_types::sol_data::Uint<8>,
6100 );
6101 type Token<'a> = <Self::Parameters<
6102 'a,
6103 > as alloy_sol_types::SolType>::Token<'a>;
6104 type Return = alloy::sol_types::private::Vec<
6105 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
6106 >;
6107 type ReturnTuple<'a> = (
6108 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StakeUpdate>,
6109 );
6110 type ReturnToken<'a> = <Self::ReturnTuple<
6111 'a,
6112 > as alloy_sol_types::SolType>::Token<'a>;
6113 const SIGNATURE: &'static str = "getStakeHistory(bytes32,uint8)";
6114 const SELECTOR: [u8; 4] = [44u8, 217u8, 89u8, 64u8];
6115 #[inline]
6116 fn new<'a>(
6117 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6118 ) -> Self {
6119 tuple.into()
6120 }
6121 #[inline]
6122 fn tokenize(&self) -> Self::Token<'_> {
6123 (
6124 <alloy::sol_types::sol_data::FixedBytes<
6125 32,
6126 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
6127 <alloy::sol_types::sol_data::Uint<
6128 8,
6129 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
6130 )
6131 }
6132 #[inline]
6133 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6134 (
6135 <alloy::sol_types::sol_data::Array<
6136 IStakeRegistryTypes::StakeUpdate,
6137 > as alloy_sol_types::SolType>::tokenize(ret),
6138 )
6139 }
6140 #[inline]
6141 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6142 <Self::ReturnTuple<
6143 '_,
6144 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6145 .map(|r| {
6146 let r: getStakeHistoryReturn = r.into();
6147 r._0
6148 })
6149 }
6150 #[inline]
6151 fn abi_decode_returns_validate(
6152 data: &[u8],
6153 ) -> alloy_sol_types::Result<Self::Return> {
6154 <Self::ReturnTuple<
6155 '_,
6156 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6157 .map(|r| {
6158 let r: getStakeHistoryReturn = r.into();
6159 r._0
6160 })
6161 }
6162 }
6163 };
6164 #[derive(serde::Serialize, serde::Deserialize)]
6165 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6166 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6171 #[derive(Clone)]
6172 pub struct getStakeHistoryLengthCall {
6173 #[allow(missing_docs)]
6174 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
6175 #[allow(missing_docs)]
6176 pub quorumNumber: u8,
6177 }
6178 #[derive(serde::Serialize, serde::Deserialize)]
6179 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6180 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6182 #[derive(Clone)]
6183 pub struct getStakeHistoryLengthReturn {
6184 #[allow(missing_docs)]
6185 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6186 }
6187 #[allow(
6188 non_camel_case_types,
6189 non_snake_case,
6190 clippy::pub_underscore_fields,
6191 clippy::style
6192 )]
6193 const _: () = {
6194 use alloy::sol_types as alloy_sol_types;
6195 {
6196 #[doc(hidden)]
6197 type UnderlyingSolTuple<'a> = (
6198 alloy::sol_types::sol_data::FixedBytes<32>,
6199 alloy::sol_types::sol_data::Uint<8>,
6200 );
6201 #[doc(hidden)]
6202 type UnderlyingRustTuple<'a> = (
6203 alloy::sol_types::private::FixedBytes<32>,
6204 u8,
6205 );
6206 #[cfg(test)]
6207 #[allow(dead_code, unreachable_patterns)]
6208 fn _type_assertion(
6209 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6210 ) {
6211 match _t {
6212 alloy_sol_types::private::AssertTypeEq::<
6213 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6214 >(_) => {}
6215 }
6216 }
6217 #[automatically_derived]
6218 #[doc(hidden)]
6219 impl ::core::convert::From<getStakeHistoryLengthCall>
6220 for UnderlyingRustTuple<'_> {
6221 fn from(value: getStakeHistoryLengthCall) -> Self {
6222 (value.operatorId, value.quorumNumber)
6223 }
6224 }
6225 #[automatically_derived]
6226 #[doc(hidden)]
6227 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6228 for getStakeHistoryLengthCall {
6229 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6230 Self {
6231 operatorId: tuple.0,
6232 quorumNumber: tuple.1,
6233 }
6234 }
6235 }
6236 }
6237 {
6238 #[doc(hidden)]
6239 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6240 #[doc(hidden)]
6241 type UnderlyingRustTuple<'a> = (
6242 alloy::sol_types::private::primitives::aliases::U256,
6243 );
6244 #[cfg(test)]
6245 #[allow(dead_code, unreachable_patterns)]
6246 fn _type_assertion(
6247 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6248 ) {
6249 match _t {
6250 alloy_sol_types::private::AssertTypeEq::<
6251 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6252 >(_) => {}
6253 }
6254 }
6255 #[automatically_derived]
6256 #[doc(hidden)]
6257 impl ::core::convert::From<getStakeHistoryLengthReturn>
6258 for UnderlyingRustTuple<'_> {
6259 fn from(value: getStakeHistoryLengthReturn) -> Self {
6260 (value._0,)
6261 }
6262 }
6263 #[automatically_derived]
6264 #[doc(hidden)]
6265 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6266 for getStakeHistoryLengthReturn {
6267 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6268 Self { _0: tuple.0 }
6269 }
6270 }
6271 }
6272 #[automatically_derived]
6273 impl alloy_sol_types::SolCall for getStakeHistoryLengthCall {
6274 type Parameters<'a> = (
6275 alloy::sol_types::sol_data::FixedBytes<32>,
6276 alloy::sol_types::sol_data::Uint<8>,
6277 );
6278 type Token<'a> = <Self::Parameters<
6279 'a,
6280 > as alloy_sol_types::SolType>::Token<'a>;
6281 type Return = alloy::sol_types::private::primitives::aliases::U256;
6282 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6283 type ReturnToken<'a> = <Self::ReturnTuple<
6284 'a,
6285 > as alloy_sol_types::SolType>::Token<'a>;
6286 const SIGNATURE: &'static str = "getStakeHistoryLength(bytes32,uint8)";
6287 const SELECTOR: [u8; 4] = [75u8, 210u8, 110u8, 9u8];
6288 #[inline]
6289 fn new<'a>(
6290 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6291 ) -> Self {
6292 tuple.into()
6293 }
6294 #[inline]
6295 fn tokenize(&self) -> Self::Token<'_> {
6296 (
6297 <alloy::sol_types::sol_data::FixedBytes<
6298 32,
6299 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
6300 <alloy::sol_types::sol_data::Uint<
6301 8,
6302 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
6303 )
6304 }
6305 #[inline]
6306 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6307 (
6308 <alloy::sol_types::sol_data::Uint<
6309 256,
6310 > as alloy_sol_types::SolType>::tokenize(ret),
6311 )
6312 }
6313 #[inline]
6314 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6315 <Self::ReturnTuple<
6316 '_,
6317 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6318 .map(|r| {
6319 let r: getStakeHistoryLengthReturn = r.into();
6320 r._0
6321 })
6322 }
6323 #[inline]
6324 fn abi_decode_returns_validate(
6325 data: &[u8],
6326 ) -> alloy_sol_types::Result<Self::Return> {
6327 <Self::ReturnTuple<
6328 '_,
6329 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6330 .map(|r| {
6331 let r: getStakeHistoryLengthReturn = r.into();
6332 r._0
6333 })
6334 }
6335 }
6336 };
6337 #[derive(serde::Serialize, serde::Deserialize)]
6338 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6339 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6344 #[derive(Clone)]
6345 pub struct getStakeUpdateAtIndexCall {
6346 #[allow(missing_docs)]
6347 pub quorumNumber: u8,
6348 #[allow(missing_docs)]
6349 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
6350 #[allow(missing_docs)]
6351 pub index: alloy::sol_types::private::primitives::aliases::U256,
6352 }
6353 #[derive(serde::Serialize, serde::Deserialize)]
6354 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6355 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6357 #[derive(Clone)]
6358 pub struct getStakeUpdateAtIndexReturn {
6359 #[allow(missing_docs)]
6360 pub _0: <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
6361 }
6362 #[allow(
6363 non_camel_case_types,
6364 non_snake_case,
6365 clippy::pub_underscore_fields,
6366 clippy::style
6367 )]
6368 const _: () = {
6369 use alloy::sol_types as alloy_sol_types;
6370 {
6371 #[doc(hidden)]
6372 type UnderlyingSolTuple<'a> = (
6373 alloy::sol_types::sol_data::Uint<8>,
6374 alloy::sol_types::sol_data::FixedBytes<32>,
6375 alloy::sol_types::sol_data::Uint<256>,
6376 );
6377 #[doc(hidden)]
6378 type UnderlyingRustTuple<'a> = (
6379 u8,
6380 alloy::sol_types::private::FixedBytes<32>,
6381 alloy::sol_types::private::primitives::aliases::U256,
6382 );
6383 #[cfg(test)]
6384 #[allow(dead_code, unreachable_patterns)]
6385 fn _type_assertion(
6386 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6387 ) {
6388 match _t {
6389 alloy_sol_types::private::AssertTypeEq::<
6390 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6391 >(_) => {}
6392 }
6393 }
6394 #[automatically_derived]
6395 #[doc(hidden)]
6396 impl ::core::convert::From<getStakeUpdateAtIndexCall>
6397 for UnderlyingRustTuple<'_> {
6398 fn from(value: getStakeUpdateAtIndexCall) -> Self {
6399 (value.quorumNumber, value.operatorId, value.index)
6400 }
6401 }
6402 #[automatically_derived]
6403 #[doc(hidden)]
6404 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6405 for getStakeUpdateAtIndexCall {
6406 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6407 Self {
6408 quorumNumber: tuple.0,
6409 operatorId: tuple.1,
6410 index: tuple.2,
6411 }
6412 }
6413 }
6414 }
6415 {
6416 #[doc(hidden)]
6417 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
6418 #[doc(hidden)]
6419 type UnderlyingRustTuple<'a> = (
6420 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
6421 );
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<getStakeUpdateAtIndexReturn>
6436 for UnderlyingRustTuple<'_> {
6437 fn from(value: getStakeUpdateAtIndexReturn) -> Self {
6438 (value._0,)
6439 }
6440 }
6441 #[automatically_derived]
6442 #[doc(hidden)]
6443 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6444 for getStakeUpdateAtIndexReturn {
6445 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6446 Self { _0: tuple.0 }
6447 }
6448 }
6449 }
6450 #[automatically_derived]
6451 impl alloy_sol_types::SolCall for getStakeUpdateAtIndexCall {
6452 type Parameters<'a> = (
6453 alloy::sol_types::sol_data::Uint<8>,
6454 alloy::sol_types::sol_data::FixedBytes<32>,
6455 alloy::sol_types::sol_data::Uint<256>,
6456 );
6457 type Token<'a> = <Self::Parameters<
6458 'a,
6459 > as alloy_sol_types::SolType>::Token<'a>;
6460 type Return = <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType;
6461 type ReturnTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
6462 type ReturnToken<'a> = <Self::ReturnTuple<
6463 'a,
6464 > as alloy_sol_types::SolType>::Token<'a>;
6465 const SIGNATURE: &'static str = "getStakeUpdateAtIndex(uint8,bytes32,uint256)";
6466 const SELECTOR: [u8; 4] = [172u8, 107u8, 251u8, 3u8];
6467 #[inline]
6468 fn new<'a>(
6469 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6470 ) -> Self {
6471 tuple.into()
6472 }
6473 #[inline]
6474 fn tokenize(&self) -> Self::Token<'_> {
6475 (
6476 <alloy::sol_types::sol_data::Uint<
6477 8,
6478 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
6479 <alloy::sol_types::sol_data::FixedBytes<
6480 32,
6481 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
6482 <alloy::sol_types::sol_data::Uint<
6483 256,
6484 > as alloy_sol_types::SolType>::tokenize(&self.index),
6485 )
6486 }
6487 #[inline]
6488 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6489 (
6490 <IStakeRegistryTypes::StakeUpdate as alloy_sol_types::SolType>::tokenize(
6491 ret,
6492 ),
6493 )
6494 }
6495 #[inline]
6496 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6497 <Self::ReturnTuple<
6498 '_,
6499 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6500 .map(|r| {
6501 let r: getStakeUpdateAtIndexReturn = r.into();
6502 r._0
6503 })
6504 }
6505 #[inline]
6506 fn abi_decode_returns_validate(
6507 data: &[u8],
6508 ) -> alloy_sol_types::Result<Self::Return> {
6509 <Self::ReturnTuple<
6510 '_,
6511 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6512 .map(|r| {
6513 let r: getStakeUpdateAtIndexReturn = r.into();
6514 r._0
6515 })
6516 }
6517 }
6518 };
6519 #[derive(serde::Serialize, serde::Deserialize)]
6520 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6521 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6526 #[derive(Clone)]
6527 pub struct getStakeUpdateIndexAtBlockNumberCall {
6528 #[allow(missing_docs)]
6529 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
6530 #[allow(missing_docs)]
6531 pub quorumNumber: u8,
6532 #[allow(missing_docs)]
6533 pub blockNumber: u32,
6534 }
6535 #[derive(serde::Serialize, serde::Deserialize)]
6536 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6537 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6539 #[derive(Clone)]
6540 pub struct getStakeUpdateIndexAtBlockNumberReturn {
6541 #[allow(missing_docs)]
6542 pub _0: u32,
6543 }
6544 #[allow(
6545 non_camel_case_types,
6546 non_snake_case,
6547 clippy::pub_underscore_fields,
6548 clippy::style
6549 )]
6550 const _: () = {
6551 use alloy::sol_types as alloy_sol_types;
6552 {
6553 #[doc(hidden)]
6554 type UnderlyingSolTuple<'a> = (
6555 alloy::sol_types::sol_data::FixedBytes<32>,
6556 alloy::sol_types::sol_data::Uint<8>,
6557 alloy::sol_types::sol_data::Uint<32>,
6558 );
6559 #[doc(hidden)]
6560 type UnderlyingRustTuple<'a> = (
6561 alloy::sol_types::private::FixedBytes<32>,
6562 u8,
6563 u32,
6564 );
6565 #[cfg(test)]
6566 #[allow(dead_code, unreachable_patterns)]
6567 fn _type_assertion(
6568 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6569 ) {
6570 match _t {
6571 alloy_sol_types::private::AssertTypeEq::<
6572 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6573 >(_) => {}
6574 }
6575 }
6576 #[automatically_derived]
6577 #[doc(hidden)]
6578 impl ::core::convert::From<getStakeUpdateIndexAtBlockNumberCall>
6579 for UnderlyingRustTuple<'_> {
6580 fn from(value: getStakeUpdateIndexAtBlockNumberCall) -> Self {
6581 (value.operatorId, value.quorumNumber, value.blockNumber)
6582 }
6583 }
6584 #[automatically_derived]
6585 #[doc(hidden)]
6586 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6587 for getStakeUpdateIndexAtBlockNumberCall {
6588 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6589 Self {
6590 operatorId: tuple.0,
6591 quorumNumber: tuple.1,
6592 blockNumber: tuple.2,
6593 }
6594 }
6595 }
6596 }
6597 {
6598 #[doc(hidden)]
6599 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<32>,);
6600 #[doc(hidden)]
6601 type UnderlyingRustTuple<'a> = (u32,);
6602 #[cfg(test)]
6603 #[allow(dead_code, unreachable_patterns)]
6604 fn _type_assertion(
6605 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6606 ) {
6607 match _t {
6608 alloy_sol_types::private::AssertTypeEq::<
6609 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6610 >(_) => {}
6611 }
6612 }
6613 #[automatically_derived]
6614 #[doc(hidden)]
6615 impl ::core::convert::From<getStakeUpdateIndexAtBlockNumberReturn>
6616 for UnderlyingRustTuple<'_> {
6617 fn from(value: getStakeUpdateIndexAtBlockNumberReturn) -> Self {
6618 (value._0,)
6619 }
6620 }
6621 #[automatically_derived]
6622 #[doc(hidden)]
6623 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6624 for getStakeUpdateIndexAtBlockNumberReturn {
6625 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6626 Self { _0: tuple.0 }
6627 }
6628 }
6629 }
6630 #[automatically_derived]
6631 impl alloy_sol_types::SolCall for getStakeUpdateIndexAtBlockNumberCall {
6632 type Parameters<'a> = (
6633 alloy::sol_types::sol_data::FixedBytes<32>,
6634 alloy::sol_types::sol_data::Uint<8>,
6635 alloy::sol_types::sol_data::Uint<32>,
6636 );
6637 type Token<'a> = <Self::Parameters<
6638 'a,
6639 > as alloy_sol_types::SolType>::Token<'a>;
6640 type Return = u32;
6641 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<32>,);
6642 type ReturnToken<'a> = <Self::ReturnTuple<
6643 'a,
6644 > as alloy_sol_types::SolType>::Token<'a>;
6645 const SIGNATURE: &'static str = "getStakeUpdateIndexAtBlockNumber(bytes32,uint8,uint32)";
6646 const SELECTOR: [u8; 4] = [221u8, 152u8, 70u8, 185u8];
6647 #[inline]
6648 fn new<'a>(
6649 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6650 ) -> Self {
6651 tuple.into()
6652 }
6653 #[inline]
6654 fn tokenize(&self) -> Self::Token<'_> {
6655 (
6656 <alloy::sol_types::sol_data::FixedBytes<
6657 32,
6658 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
6659 <alloy::sol_types::sol_data::Uint<
6660 8,
6661 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
6662 <alloy::sol_types::sol_data::Uint<
6663 32,
6664 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
6665 )
6666 }
6667 #[inline]
6668 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6669 (
6670 <alloy::sol_types::sol_data::Uint<
6671 32,
6672 > as alloy_sol_types::SolType>::tokenize(ret),
6673 )
6674 }
6675 #[inline]
6676 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6677 <Self::ReturnTuple<
6678 '_,
6679 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6680 .map(|r| {
6681 let r: getStakeUpdateIndexAtBlockNumberReturn = r.into();
6682 r._0
6683 })
6684 }
6685 #[inline]
6686 fn abi_decode_returns_validate(
6687 data: &[u8],
6688 ) -> alloy_sol_types::Result<Self::Return> {
6689 <Self::ReturnTuple<
6690 '_,
6691 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6692 .map(|r| {
6693 let r: getStakeUpdateIndexAtBlockNumberReturn = r.into();
6694 r._0
6695 })
6696 }
6697 }
6698 };
6699 #[derive(serde::Serialize, serde::Deserialize)]
6700 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6701 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6706 #[derive(Clone)]
6707 pub struct getTotalStakeAtBlockNumberFromIndexCall {
6708 #[allow(missing_docs)]
6709 pub quorumNumber: u8,
6710 #[allow(missing_docs)]
6711 pub blockNumber: u32,
6712 #[allow(missing_docs)]
6713 pub index: alloy::sol_types::private::primitives::aliases::U256,
6714 }
6715 #[derive(serde::Serialize, serde::Deserialize)]
6716 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6717 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6719 #[derive(Clone)]
6720 pub struct getTotalStakeAtBlockNumberFromIndexReturn {
6721 #[allow(missing_docs)]
6722 pub _0: alloy::sol_types::private::primitives::aliases::U96,
6723 }
6724 #[allow(
6725 non_camel_case_types,
6726 non_snake_case,
6727 clippy::pub_underscore_fields,
6728 clippy::style
6729 )]
6730 const _: () = {
6731 use alloy::sol_types as alloy_sol_types;
6732 {
6733 #[doc(hidden)]
6734 type UnderlyingSolTuple<'a> = (
6735 alloy::sol_types::sol_data::Uint<8>,
6736 alloy::sol_types::sol_data::Uint<32>,
6737 alloy::sol_types::sol_data::Uint<256>,
6738 );
6739 #[doc(hidden)]
6740 type UnderlyingRustTuple<'a> = (
6741 u8,
6742 u32,
6743 alloy::sol_types::private::primitives::aliases::U256,
6744 );
6745 #[cfg(test)]
6746 #[allow(dead_code, unreachable_patterns)]
6747 fn _type_assertion(
6748 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6749 ) {
6750 match _t {
6751 alloy_sol_types::private::AssertTypeEq::<
6752 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6753 >(_) => {}
6754 }
6755 }
6756 #[automatically_derived]
6757 #[doc(hidden)]
6758 impl ::core::convert::From<getTotalStakeAtBlockNumberFromIndexCall>
6759 for UnderlyingRustTuple<'_> {
6760 fn from(value: getTotalStakeAtBlockNumberFromIndexCall) -> Self {
6761 (value.quorumNumber, value.blockNumber, value.index)
6762 }
6763 }
6764 #[automatically_derived]
6765 #[doc(hidden)]
6766 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6767 for getTotalStakeAtBlockNumberFromIndexCall {
6768 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6769 Self {
6770 quorumNumber: tuple.0,
6771 blockNumber: tuple.1,
6772 index: tuple.2,
6773 }
6774 }
6775 }
6776 }
6777 {
6778 #[doc(hidden)]
6779 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
6780 #[doc(hidden)]
6781 type UnderlyingRustTuple<'a> = (
6782 alloy::sol_types::private::primitives::aliases::U96,
6783 );
6784 #[cfg(test)]
6785 #[allow(dead_code, unreachable_patterns)]
6786 fn _type_assertion(
6787 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6788 ) {
6789 match _t {
6790 alloy_sol_types::private::AssertTypeEq::<
6791 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6792 >(_) => {}
6793 }
6794 }
6795 #[automatically_derived]
6796 #[doc(hidden)]
6797 impl ::core::convert::From<getTotalStakeAtBlockNumberFromIndexReturn>
6798 for UnderlyingRustTuple<'_> {
6799 fn from(value: getTotalStakeAtBlockNumberFromIndexReturn) -> Self {
6800 (value._0,)
6801 }
6802 }
6803 #[automatically_derived]
6804 #[doc(hidden)]
6805 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6806 for getTotalStakeAtBlockNumberFromIndexReturn {
6807 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6808 Self { _0: tuple.0 }
6809 }
6810 }
6811 }
6812 #[automatically_derived]
6813 impl alloy_sol_types::SolCall for getTotalStakeAtBlockNumberFromIndexCall {
6814 type Parameters<'a> = (
6815 alloy::sol_types::sol_data::Uint<8>,
6816 alloy::sol_types::sol_data::Uint<32>,
6817 alloy::sol_types::sol_data::Uint<256>,
6818 );
6819 type Token<'a> = <Self::Parameters<
6820 'a,
6821 > as alloy_sol_types::SolType>::Token<'a>;
6822 type Return = alloy::sol_types::private::primitives::aliases::U96;
6823 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
6824 type ReturnToken<'a> = <Self::ReturnTuple<
6825 'a,
6826 > as alloy_sol_types::SolType>::Token<'a>;
6827 const SIGNATURE: &'static str = "getTotalStakeAtBlockNumberFromIndex(uint8,uint32,uint256)";
6828 const SELECTOR: [u8; 4] = [200u8, 41u8, 76u8, 86u8];
6829 #[inline]
6830 fn new<'a>(
6831 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6832 ) -> Self {
6833 tuple.into()
6834 }
6835 #[inline]
6836 fn tokenize(&self) -> Self::Token<'_> {
6837 (
6838 <alloy::sol_types::sol_data::Uint<
6839 8,
6840 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
6841 <alloy::sol_types::sol_data::Uint<
6842 32,
6843 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
6844 <alloy::sol_types::sol_data::Uint<
6845 256,
6846 > as alloy_sol_types::SolType>::tokenize(&self.index),
6847 )
6848 }
6849 #[inline]
6850 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6851 (
6852 <alloy::sol_types::sol_data::Uint<
6853 96,
6854 > as alloy_sol_types::SolType>::tokenize(ret),
6855 )
6856 }
6857 #[inline]
6858 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6859 <Self::ReturnTuple<
6860 '_,
6861 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6862 .map(|r| {
6863 let r: getTotalStakeAtBlockNumberFromIndexReturn = r.into();
6864 r._0
6865 })
6866 }
6867 #[inline]
6868 fn abi_decode_returns_validate(
6869 data: &[u8],
6870 ) -> alloy_sol_types::Result<Self::Return> {
6871 <Self::ReturnTuple<
6872 '_,
6873 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6874 .map(|r| {
6875 let r: getTotalStakeAtBlockNumberFromIndexReturn = r.into();
6876 r._0
6877 })
6878 }
6879 }
6880 };
6881 #[derive(serde::Serialize, serde::Deserialize)]
6882 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6883 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6888 #[derive(Clone)]
6889 pub struct getTotalStakeHistoryLengthCall {
6890 #[allow(missing_docs)]
6891 pub quorumNumber: u8,
6892 }
6893 #[derive(serde::Serialize, serde::Deserialize)]
6894 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6895 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6897 #[derive(Clone)]
6898 pub struct getTotalStakeHistoryLengthReturn {
6899 #[allow(missing_docs)]
6900 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6901 }
6902 #[allow(
6903 non_camel_case_types,
6904 non_snake_case,
6905 clippy::pub_underscore_fields,
6906 clippy::style
6907 )]
6908 const _: () = {
6909 use alloy::sol_types as alloy_sol_types;
6910 {
6911 #[doc(hidden)]
6912 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
6913 #[doc(hidden)]
6914 type UnderlyingRustTuple<'a> = (u8,);
6915 #[cfg(test)]
6916 #[allow(dead_code, unreachable_patterns)]
6917 fn _type_assertion(
6918 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6919 ) {
6920 match _t {
6921 alloy_sol_types::private::AssertTypeEq::<
6922 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6923 >(_) => {}
6924 }
6925 }
6926 #[automatically_derived]
6927 #[doc(hidden)]
6928 impl ::core::convert::From<getTotalStakeHistoryLengthCall>
6929 for UnderlyingRustTuple<'_> {
6930 fn from(value: getTotalStakeHistoryLengthCall) -> Self {
6931 (value.quorumNumber,)
6932 }
6933 }
6934 #[automatically_derived]
6935 #[doc(hidden)]
6936 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6937 for getTotalStakeHistoryLengthCall {
6938 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6939 Self { quorumNumber: tuple.0 }
6940 }
6941 }
6942 }
6943 {
6944 #[doc(hidden)]
6945 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6946 #[doc(hidden)]
6947 type UnderlyingRustTuple<'a> = (
6948 alloy::sol_types::private::primitives::aliases::U256,
6949 );
6950 #[cfg(test)]
6951 #[allow(dead_code, unreachable_patterns)]
6952 fn _type_assertion(
6953 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6954 ) {
6955 match _t {
6956 alloy_sol_types::private::AssertTypeEq::<
6957 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6958 >(_) => {}
6959 }
6960 }
6961 #[automatically_derived]
6962 #[doc(hidden)]
6963 impl ::core::convert::From<getTotalStakeHistoryLengthReturn>
6964 for UnderlyingRustTuple<'_> {
6965 fn from(value: getTotalStakeHistoryLengthReturn) -> Self {
6966 (value._0,)
6967 }
6968 }
6969 #[automatically_derived]
6970 #[doc(hidden)]
6971 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6972 for getTotalStakeHistoryLengthReturn {
6973 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6974 Self { _0: tuple.0 }
6975 }
6976 }
6977 }
6978 #[automatically_derived]
6979 impl alloy_sol_types::SolCall for getTotalStakeHistoryLengthCall {
6980 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
6981 type Token<'a> = <Self::Parameters<
6982 'a,
6983 > as alloy_sol_types::SolType>::Token<'a>;
6984 type Return = alloy::sol_types::private::primitives::aliases::U256;
6985 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6986 type ReturnToken<'a> = <Self::ReturnTuple<
6987 'a,
6988 > as alloy_sol_types::SolType>::Token<'a>;
6989 const SIGNATURE: &'static str = "getTotalStakeHistoryLength(uint8)";
6990 const SELECTOR: [u8; 4] = [4u8, 145u8, 180u8, 28u8];
6991 #[inline]
6992 fn new<'a>(
6993 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6994 ) -> Self {
6995 tuple.into()
6996 }
6997 #[inline]
6998 fn tokenize(&self) -> Self::Token<'_> {
6999 (
7000 <alloy::sol_types::sol_data::Uint<
7001 8,
7002 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
7003 )
7004 }
7005 #[inline]
7006 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7007 (
7008 <alloy::sol_types::sol_data::Uint<
7009 256,
7010 > as alloy_sol_types::SolType>::tokenize(ret),
7011 )
7012 }
7013 #[inline]
7014 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7015 <Self::ReturnTuple<
7016 '_,
7017 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7018 .map(|r| {
7019 let r: getTotalStakeHistoryLengthReturn = r.into();
7020 r._0
7021 })
7022 }
7023 #[inline]
7024 fn abi_decode_returns_validate(
7025 data: &[u8],
7026 ) -> alloy_sol_types::Result<Self::Return> {
7027 <Self::ReturnTuple<
7028 '_,
7029 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7030 .map(|r| {
7031 let r: getTotalStakeHistoryLengthReturn = r.into();
7032 r._0
7033 })
7034 }
7035 }
7036 };
7037 #[derive(serde::Serialize, serde::Deserialize)]
7038 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7039 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7044 #[derive(Clone)]
7045 pub struct getTotalStakeIndicesAtBlockNumberCall {
7046 #[allow(missing_docs)]
7047 pub blockNumber: u32,
7048 #[allow(missing_docs)]
7049 pub quorumNumbers: alloy::sol_types::private::Bytes,
7050 }
7051 #[derive(serde::Serialize, serde::Deserialize)]
7052 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7053 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7055 #[derive(Clone)]
7056 pub struct getTotalStakeIndicesAtBlockNumberReturn {
7057 #[allow(missing_docs)]
7058 pub _0: alloy::sol_types::private::Vec<u32>,
7059 }
7060 #[allow(
7061 non_camel_case_types,
7062 non_snake_case,
7063 clippy::pub_underscore_fields,
7064 clippy::style
7065 )]
7066 const _: () = {
7067 use alloy::sol_types as alloy_sol_types;
7068 {
7069 #[doc(hidden)]
7070 type UnderlyingSolTuple<'a> = (
7071 alloy::sol_types::sol_data::Uint<32>,
7072 alloy::sol_types::sol_data::Bytes,
7073 );
7074 #[doc(hidden)]
7075 type UnderlyingRustTuple<'a> = (u32, alloy::sol_types::private::Bytes);
7076 #[cfg(test)]
7077 #[allow(dead_code, unreachable_patterns)]
7078 fn _type_assertion(
7079 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7080 ) {
7081 match _t {
7082 alloy_sol_types::private::AssertTypeEq::<
7083 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7084 >(_) => {}
7085 }
7086 }
7087 #[automatically_derived]
7088 #[doc(hidden)]
7089 impl ::core::convert::From<getTotalStakeIndicesAtBlockNumberCall>
7090 for UnderlyingRustTuple<'_> {
7091 fn from(value: getTotalStakeIndicesAtBlockNumberCall) -> Self {
7092 (value.blockNumber, value.quorumNumbers)
7093 }
7094 }
7095 #[automatically_derived]
7096 #[doc(hidden)]
7097 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7098 for getTotalStakeIndicesAtBlockNumberCall {
7099 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7100 Self {
7101 blockNumber: tuple.0,
7102 quorumNumbers: tuple.1,
7103 }
7104 }
7105 }
7106 }
7107 {
7108 #[doc(hidden)]
7109 type UnderlyingSolTuple<'a> = (
7110 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<32>>,
7111 );
7112 #[doc(hidden)]
7113 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Vec<u32>,);
7114 #[cfg(test)]
7115 #[allow(dead_code, unreachable_patterns)]
7116 fn _type_assertion(
7117 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7118 ) {
7119 match _t {
7120 alloy_sol_types::private::AssertTypeEq::<
7121 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7122 >(_) => {}
7123 }
7124 }
7125 #[automatically_derived]
7126 #[doc(hidden)]
7127 impl ::core::convert::From<getTotalStakeIndicesAtBlockNumberReturn>
7128 for UnderlyingRustTuple<'_> {
7129 fn from(value: getTotalStakeIndicesAtBlockNumberReturn) -> Self {
7130 (value._0,)
7131 }
7132 }
7133 #[automatically_derived]
7134 #[doc(hidden)]
7135 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7136 for getTotalStakeIndicesAtBlockNumberReturn {
7137 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7138 Self { _0: tuple.0 }
7139 }
7140 }
7141 }
7142 #[automatically_derived]
7143 impl alloy_sol_types::SolCall for getTotalStakeIndicesAtBlockNumberCall {
7144 type Parameters<'a> = (
7145 alloy::sol_types::sol_data::Uint<32>,
7146 alloy::sol_types::sol_data::Bytes,
7147 );
7148 type Token<'a> = <Self::Parameters<
7149 'a,
7150 > as alloy_sol_types::SolType>::Token<'a>;
7151 type Return = alloy::sol_types::private::Vec<u32>;
7152 type ReturnTuple<'a> = (
7153 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<32>>,
7154 );
7155 type ReturnToken<'a> = <Self::ReturnTuple<
7156 'a,
7157 > as alloy_sol_types::SolType>::Token<'a>;
7158 const SIGNATURE: &'static str = "getTotalStakeIndicesAtBlockNumber(uint32,bytes)";
7159 const SELECTOR: [u8; 4] = [129u8, 192u8, 117u8, 2u8];
7160 #[inline]
7161 fn new<'a>(
7162 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7163 ) -> Self {
7164 tuple.into()
7165 }
7166 #[inline]
7167 fn tokenize(&self) -> Self::Token<'_> {
7168 (
7169 <alloy::sol_types::sol_data::Uint<
7170 32,
7171 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
7172 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
7173 &self.quorumNumbers,
7174 ),
7175 )
7176 }
7177 #[inline]
7178 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7179 (
7180 <alloy::sol_types::sol_data::Array<
7181 alloy::sol_types::sol_data::Uint<32>,
7182 > as alloy_sol_types::SolType>::tokenize(ret),
7183 )
7184 }
7185 #[inline]
7186 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7187 <Self::ReturnTuple<
7188 '_,
7189 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7190 .map(|r| {
7191 let r: getTotalStakeIndicesAtBlockNumberReturn = r.into();
7192 r._0
7193 })
7194 }
7195 #[inline]
7196 fn abi_decode_returns_validate(
7197 data: &[u8],
7198 ) -> alloy_sol_types::Result<Self::Return> {
7199 <Self::ReturnTuple<
7200 '_,
7201 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7202 .map(|r| {
7203 let r: getTotalStakeIndicesAtBlockNumberReturn = r.into();
7204 r._0
7205 })
7206 }
7207 }
7208 };
7209 #[derive(serde::Serialize, serde::Deserialize)]
7210 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7211 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7216 #[derive(Clone)]
7217 pub struct getTotalStakeUpdateAtIndexCall {
7218 #[allow(missing_docs)]
7219 pub quorumNumber: u8,
7220 #[allow(missing_docs)]
7221 pub index: alloy::sol_types::private::primitives::aliases::U256,
7222 }
7223 #[derive(serde::Serialize, serde::Deserialize)]
7224 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7225 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7227 #[derive(Clone)]
7228 pub struct getTotalStakeUpdateAtIndexReturn {
7229 #[allow(missing_docs)]
7230 pub _0: <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
7231 }
7232 #[allow(
7233 non_camel_case_types,
7234 non_snake_case,
7235 clippy::pub_underscore_fields,
7236 clippy::style
7237 )]
7238 const _: () = {
7239 use alloy::sol_types as alloy_sol_types;
7240 {
7241 #[doc(hidden)]
7242 type UnderlyingSolTuple<'a> = (
7243 alloy::sol_types::sol_data::Uint<8>,
7244 alloy::sol_types::sol_data::Uint<256>,
7245 );
7246 #[doc(hidden)]
7247 type UnderlyingRustTuple<'a> = (
7248 u8,
7249 alloy::sol_types::private::primitives::aliases::U256,
7250 );
7251 #[cfg(test)]
7252 #[allow(dead_code, unreachable_patterns)]
7253 fn _type_assertion(
7254 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7255 ) {
7256 match _t {
7257 alloy_sol_types::private::AssertTypeEq::<
7258 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7259 >(_) => {}
7260 }
7261 }
7262 #[automatically_derived]
7263 #[doc(hidden)]
7264 impl ::core::convert::From<getTotalStakeUpdateAtIndexCall>
7265 for UnderlyingRustTuple<'_> {
7266 fn from(value: getTotalStakeUpdateAtIndexCall) -> Self {
7267 (value.quorumNumber, value.index)
7268 }
7269 }
7270 #[automatically_derived]
7271 #[doc(hidden)]
7272 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7273 for getTotalStakeUpdateAtIndexCall {
7274 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7275 Self {
7276 quorumNumber: tuple.0,
7277 index: tuple.1,
7278 }
7279 }
7280 }
7281 }
7282 {
7283 #[doc(hidden)]
7284 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
7285 #[doc(hidden)]
7286 type UnderlyingRustTuple<'a> = (
7287 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
7288 );
7289 #[cfg(test)]
7290 #[allow(dead_code, unreachable_patterns)]
7291 fn _type_assertion(
7292 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7293 ) {
7294 match _t {
7295 alloy_sol_types::private::AssertTypeEq::<
7296 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7297 >(_) => {}
7298 }
7299 }
7300 #[automatically_derived]
7301 #[doc(hidden)]
7302 impl ::core::convert::From<getTotalStakeUpdateAtIndexReturn>
7303 for UnderlyingRustTuple<'_> {
7304 fn from(value: getTotalStakeUpdateAtIndexReturn) -> Self {
7305 (value._0,)
7306 }
7307 }
7308 #[automatically_derived]
7309 #[doc(hidden)]
7310 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7311 for getTotalStakeUpdateAtIndexReturn {
7312 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7313 Self { _0: tuple.0 }
7314 }
7315 }
7316 }
7317 #[automatically_derived]
7318 impl alloy_sol_types::SolCall for getTotalStakeUpdateAtIndexCall {
7319 type Parameters<'a> = (
7320 alloy::sol_types::sol_data::Uint<8>,
7321 alloy::sol_types::sol_data::Uint<256>,
7322 );
7323 type Token<'a> = <Self::Parameters<
7324 'a,
7325 > as alloy_sol_types::SolType>::Token<'a>;
7326 type Return = <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType;
7327 type ReturnTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
7328 type ReturnToken<'a> = <Self::ReturnTuple<
7329 'a,
7330 > as alloy_sol_types::SolType>::Token<'a>;
7331 const SIGNATURE: &'static str = "getTotalStakeUpdateAtIndex(uint8,uint256)";
7332 const SELECTOR: [u8; 4] = [182u8, 144u8, 75u8, 120u8];
7333 #[inline]
7334 fn new<'a>(
7335 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7336 ) -> Self {
7337 tuple.into()
7338 }
7339 #[inline]
7340 fn tokenize(&self) -> Self::Token<'_> {
7341 (
7342 <alloy::sol_types::sol_data::Uint<
7343 8,
7344 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
7345 <alloy::sol_types::sol_data::Uint<
7346 256,
7347 > as alloy_sol_types::SolType>::tokenize(&self.index),
7348 )
7349 }
7350 #[inline]
7351 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7352 (
7353 <IStakeRegistryTypes::StakeUpdate as alloy_sol_types::SolType>::tokenize(
7354 ret,
7355 ),
7356 )
7357 }
7358 #[inline]
7359 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7360 <Self::ReturnTuple<
7361 '_,
7362 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7363 .map(|r| {
7364 let r: getTotalStakeUpdateAtIndexReturn = r.into();
7365 r._0
7366 })
7367 }
7368 #[inline]
7369 fn abi_decode_returns_validate(
7370 data: &[u8],
7371 ) -> alloy_sol_types::Result<Self::Return> {
7372 <Self::ReturnTuple<
7373 '_,
7374 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7375 .map(|r| {
7376 let r: getTotalStakeUpdateAtIndexReturn = r.into();
7377 r._0
7378 })
7379 }
7380 }
7381 };
7382 #[derive(serde::Serialize, serde::Deserialize)]
7383 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7384 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7389 #[derive(Clone)]
7390 pub struct initializeDelegatedStakeQuorumCall {
7391 #[allow(missing_docs)]
7392 pub quorumNumber: u8,
7393 #[allow(missing_docs)]
7394 pub minimumStake: alloy::sol_types::private::primitives::aliases::U96,
7395 #[allow(missing_docs)]
7396 pub _strategyParams: alloy::sol_types::private::Vec<
7397 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
7398 >,
7399 }
7400 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7402 #[derive(Clone)]
7403 pub struct initializeDelegatedStakeQuorumReturn {}
7404 #[allow(
7405 non_camel_case_types,
7406 non_snake_case,
7407 clippy::pub_underscore_fields,
7408 clippy::style
7409 )]
7410 const _: () = {
7411 use alloy::sol_types as alloy_sol_types;
7412 {
7413 #[doc(hidden)]
7414 type UnderlyingSolTuple<'a> = (
7415 alloy::sol_types::sol_data::Uint<8>,
7416 alloy::sol_types::sol_data::Uint<96>,
7417 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
7418 );
7419 #[doc(hidden)]
7420 type UnderlyingRustTuple<'a> = (
7421 u8,
7422 alloy::sol_types::private::primitives::aliases::U96,
7423 alloy::sol_types::private::Vec<
7424 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
7425 >,
7426 );
7427 #[cfg(test)]
7428 #[allow(dead_code, unreachable_patterns)]
7429 fn _type_assertion(
7430 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7431 ) {
7432 match _t {
7433 alloy_sol_types::private::AssertTypeEq::<
7434 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7435 >(_) => {}
7436 }
7437 }
7438 #[automatically_derived]
7439 #[doc(hidden)]
7440 impl ::core::convert::From<initializeDelegatedStakeQuorumCall>
7441 for UnderlyingRustTuple<'_> {
7442 fn from(value: initializeDelegatedStakeQuorumCall) -> Self {
7443 (value.quorumNumber, value.minimumStake, value._strategyParams)
7444 }
7445 }
7446 #[automatically_derived]
7447 #[doc(hidden)]
7448 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7449 for initializeDelegatedStakeQuorumCall {
7450 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7451 Self {
7452 quorumNumber: tuple.0,
7453 minimumStake: tuple.1,
7454 _strategyParams: tuple.2,
7455 }
7456 }
7457 }
7458 }
7459 {
7460 #[doc(hidden)]
7461 type UnderlyingSolTuple<'a> = ();
7462 #[doc(hidden)]
7463 type UnderlyingRustTuple<'a> = ();
7464 #[cfg(test)]
7465 #[allow(dead_code, unreachable_patterns)]
7466 fn _type_assertion(
7467 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7468 ) {
7469 match _t {
7470 alloy_sol_types::private::AssertTypeEq::<
7471 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7472 >(_) => {}
7473 }
7474 }
7475 #[automatically_derived]
7476 #[doc(hidden)]
7477 impl ::core::convert::From<initializeDelegatedStakeQuorumReturn>
7478 for UnderlyingRustTuple<'_> {
7479 fn from(value: initializeDelegatedStakeQuorumReturn) -> Self {
7480 ()
7481 }
7482 }
7483 #[automatically_derived]
7484 #[doc(hidden)]
7485 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7486 for initializeDelegatedStakeQuorumReturn {
7487 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7488 Self {}
7489 }
7490 }
7491 }
7492 impl initializeDelegatedStakeQuorumReturn {
7493 fn _tokenize(
7494 &self,
7495 ) -> <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::ReturnToken<
7496 '_,
7497 > {
7498 ()
7499 }
7500 }
7501 #[automatically_derived]
7502 impl alloy_sol_types::SolCall for initializeDelegatedStakeQuorumCall {
7503 type Parameters<'a> = (
7504 alloy::sol_types::sol_data::Uint<8>,
7505 alloy::sol_types::sol_data::Uint<96>,
7506 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
7507 );
7508 type Token<'a> = <Self::Parameters<
7509 'a,
7510 > as alloy_sol_types::SolType>::Token<'a>;
7511 type Return = initializeDelegatedStakeQuorumReturn;
7512 type ReturnTuple<'a> = ();
7513 type ReturnToken<'a> = <Self::ReturnTuple<
7514 'a,
7515 > as alloy_sol_types::SolType>::Token<'a>;
7516 const SIGNATURE: &'static str = "initializeDelegatedStakeQuorum(uint8,uint96,(address,uint96)[])";
7517 const SELECTOR: [u8; 4] = [117u8, 212u8, 23u8, 58u8];
7518 #[inline]
7519 fn new<'a>(
7520 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7521 ) -> Self {
7522 tuple.into()
7523 }
7524 #[inline]
7525 fn tokenize(&self) -> Self::Token<'_> {
7526 (
7527 <alloy::sol_types::sol_data::Uint<
7528 8,
7529 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
7530 <alloy::sol_types::sol_data::Uint<
7531 96,
7532 > as alloy_sol_types::SolType>::tokenize(&self.minimumStake),
7533 <alloy::sol_types::sol_data::Array<
7534 IStakeRegistryTypes::StrategyParams,
7535 > as alloy_sol_types::SolType>::tokenize(&self._strategyParams),
7536 )
7537 }
7538 #[inline]
7539 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7540 initializeDelegatedStakeQuorumReturn::_tokenize(ret)
7541 }
7542 #[inline]
7543 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7544 <Self::ReturnTuple<
7545 '_,
7546 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7547 .map(Into::into)
7548 }
7549 #[inline]
7550 fn abi_decode_returns_validate(
7551 data: &[u8],
7552 ) -> alloy_sol_types::Result<Self::Return> {
7553 <Self::ReturnTuple<
7554 '_,
7555 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7556 .map(Into::into)
7557 }
7558 }
7559 };
7560 #[derive(serde::Serialize, serde::Deserialize)]
7561 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7562 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7567 #[derive(Clone)]
7568 pub struct initializeSlashableStakeQuorumCall {
7569 #[allow(missing_docs)]
7570 pub quorumNumber: u8,
7571 #[allow(missing_docs)]
7572 pub minimumStake: alloy::sol_types::private::primitives::aliases::U96,
7573 #[allow(missing_docs)]
7574 pub lookAheadPeriod: u32,
7575 #[allow(missing_docs)]
7576 pub _strategyParams: alloy::sol_types::private::Vec<
7577 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
7578 >,
7579 }
7580 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7582 #[derive(Clone)]
7583 pub struct initializeSlashableStakeQuorumReturn {}
7584 #[allow(
7585 non_camel_case_types,
7586 non_snake_case,
7587 clippy::pub_underscore_fields,
7588 clippy::style
7589 )]
7590 const _: () = {
7591 use alloy::sol_types as alloy_sol_types;
7592 {
7593 #[doc(hidden)]
7594 type UnderlyingSolTuple<'a> = (
7595 alloy::sol_types::sol_data::Uint<8>,
7596 alloy::sol_types::sol_data::Uint<96>,
7597 alloy::sol_types::sol_data::Uint<32>,
7598 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
7599 );
7600 #[doc(hidden)]
7601 type UnderlyingRustTuple<'a> = (
7602 u8,
7603 alloy::sol_types::private::primitives::aliases::U96,
7604 u32,
7605 alloy::sol_types::private::Vec<
7606 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
7607 >,
7608 );
7609 #[cfg(test)]
7610 #[allow(dead_code, unreachable_patterns)]
7611 fn _type_assertion(
7612 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7613 ) {
7614 match _t {
7615 alloy_sol_types::private::AssertTypeEq::<
7616 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7617 >(_) => {}
7618 }
7619 }
7620 #[automatically_derived]
7621 #[doc(hidden)]
7622 impl ::core::convert::From<initializeSlashableStakeQuorumCall>
7623 for UnderlyingRustTuple<'_> {
7624 fn from(value: initializeSlashableStakeQuorumCall) -> Self {
7625 (
7626 value.quorumNumber,
7627 value.minimumStake,
7628 value.lookAheadPeriod,
7629 value._strategyParams,
7630 )
7631 }
7632 }
7633 #[automatically_derived]
7634 #[doc(hidden)]
7635 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7636 for initializeSlashableStakeQuorumCall {
7637 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7638 Self {
7639 quorumNumber: tuple.0,
7640 minimumStake: tuple.1,
7641 lookAheadPeriod: tuple.2,
7642 _strategyParams: tuple.3,
7643 }
7644 }
7645 }
7646 }
7647 {
7648 #[doc(hidden)]
7649 type UnderlyingSolTuple<'a> = ();
7650 #[doc(hidden)]
7651 type UnderlyingRustTuple<'a> = ();
7652 #[cfg(test)]
7653 #[allow(dead_code, unreachable_patterns)]
7654 fn _type_assertion(
7655 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7656 ) {
7657 match _t {
7658 alloy_sol_types::private::AssertTypeEq::<
7659 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7660 >(_) => {}
7661 }
7662 }
7663 #[automatically_derived]
7664 #[doc(hidden)]
7665 impl ::core::convert::From<initializeSlashableStakeQuorumReturn>
7666 for UnderlyingRustTuple<'_> {
7667 fn from(value: initializeSlashableStakeQuorumReturn) -> Self {
7668 ()
7669 }
7670 }
7671 #[automatically_derived]
7672 #[doc(hidden)]
7673 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7674 for initializeSlashableStakeQuorumReturn {
7675 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7676 Self {}
7677 }
7678 }
7679 }
7680 impl initializeSlashableStakeQuorumReturn {
7681 fn _tokenize(
7682 &self,
7683 ) -> <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::ReturnToken<
7684 '_,
7685 > {
7686 ()
7687 }
7688 }
7689 #[automatically_derived]
7690 impl alloy_sol_types::SolCall for initializeSlashableStakeQuorumCall {
7691 type Parameters<'a> = (
7692 alloy::sol_types::sol_data::Uint<8>,
7693 alloy::sol_types::sol_data::Uint<96>,
7694 alloy::sol_types::sol_data::Uint<32>,
7695 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
7696 );
7697 type Token<'a> = <Self::Parameters<
7698 'a,
7699 > as alloy_sol_types::SolType>::Token<'a>;
7700 type Return = initializeSlashableStakeQuorumReturn;
7701 type ReturnTuple<'a> = ();
7702 type ReturnToken<'a> = <Self::ReturnTuple<
7703 'a,
7704 > as alloy_sol_types::SolType>::Token<'a>;
7705 const SIGNATURE: &'static str = "initializeSlashableStakeQuorum(uint8,uint96,uint32,(address,uint96)[])";
7706 const SELECTOR: [u8; 4] = [204u8, 90u8, 124u8, 32u8];
7707 #[inline]
7708 fn new<'a>(
7709 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7710 ) -> Self {
7711 tuple.into()
7712 }
7713 #[inline]
7714 fn tokenize(&self) -> Self::Token<'_> {
7715 (
7716 <alloy::sol_types::sol_data::Uint<
7717 8,
7718 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
7719 <alloy::sol_types::sol_data::Uint<
7720 96,
7721 > as alloy_sol_types::SolType>::tokenize(&self.minimumStake),
7722 <alloy::sol_types::sol_data::Uint<
7723 32,
7724 > as alloy_sol_types::SolType>::tokenize(&self.lookAheadPeriod),
7725 <alloy::sol_types::sol_data::Array<
7726 IStakeRegistryTypes::StrategyParams,
7727 > as alloy_sol_types::SolType>::tokenize(&self._strategyParams),
7728 )
7729 }
7730 #[inline]
7731 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7732 initializeSlashableStakeQuorumReturn::_tokenize(ret)
7733 }
7734 #[inline]
7735 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7736 <Self::ReturnTuple<
7737 '_,
7738 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7739 .map(Into::into)
7740 }
7741 #[inline]
7742 fn abi_decode_returns_validate(
7743 data: &[u8],
7744 ) -> alloy_sol_types::Result<Self::Return> {
7745 <Self::ReturnTuple<
7746 '_,
7747 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7748 .map(Into::into)
7749 }
7750 }
7751 };
7752 #[derive(serde::Serialize, serde::Deserialize)]
7753 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7754 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7759 #[derive(Clone)]
7760 pub struct minimumStakeForQuorumCall(pub u8);
7761 #[derive(serde::Serialize, serde::Deserialize)]
7762 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7763 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7765 #[derive(Clone)]
7766 pub struct minimumStakeForQuorumReturn {
7767 #[allow(missing_docs)]
7768 pub _0: alloy::sol_types::private::primitives::aliases::U96,
7769 }
7770 #[allow(
7771 non_camel_case_types,
7772 non_snake_case,
7773 clippy::pub_underscore_fields,
7774 clippy::style
7775 )]
7776 const _: () = {
7777 use alloy::sol_types as alloy_sol_types;
7778 {
7779 #[doc(hidden)]
7780 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
7781 #[doc(hidden)]
7782 type UnderlyingRustTuple<'a> = (u8,);
7783 #[cfg(test)]
7784 #[allow(dead_code, unreachable_patterns)]
7785 fn _type_assertion(
7786 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7787 ) {
7788 match _t {
7789 alloy_sol_types::private::AssertTypeEq::<
7790 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7791 >(_) => {}
7792 }
7793 }
7794 #[automatically_derived]
7795 #[doc(hidden)]
7796 impl ::core::convert::From<minimumStakeForQuorumCall>
7797 for UnderlyingRustTuple<'_> {
7798 fn from(value: minimumStakeForQuorumCall) -> Self {
7799 (value.0,)
7800 }
7801 }
7802 #[automatically_derived]
7803 #[doc(hidden)]
7804 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7805 for minimumStakeForQuorumCall {
7806 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7807 Self(tuple.0)
7808 }
7809 }
7810 }
7811 {
7812 #[doc(hidden)]
7813 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
7814 #[doc(hidden)]
7815 type UnderlyingRustTuple<'a> = (
7816 alloy::sol_types::private::primitives::aliases::U96,
7817 );
7818 #[cfg(test)]
7819 #[allow(dead_code, unreachable_patterns)]
7820 fn _type_assertion(
7821 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7822 ) {
7823 match _t {
7824 alloy_sol_types::private::AssertTypeEq::<
7825 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7826 >(_) => {}
7827 }
7828 }
7829 #[automatically_derived]
7830 #[doc(hidden)]
7831 impl ::core::convert::From<minimumStakeForQuorumReturn>
7832 for UnderlyingRustTuple<'_> {
7833 fn from(value: minimumStakeForQuorumReturn) -> Self {
7834 (value._0,)
7835 }
7836 }
7837 #[automatically_derived]
7838 #[doc(hidden)]
7839 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7840 for minimumStakeForQuorumReturn {
7841 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7842 Self { _0: tuple.0 }
7843 }
7844 }
7845 }
7846 #[automatically_derived]
7847 impl alloy_sol_types::SolCall for minimumStakeForQuorumCall {
7848 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
7849 type Token<'a> = <Self::Parameters<
7850 'a,
7851 > as alloy_sol_types::SolType>::Token<'a>;
7852 type Return = alloy::sol_types::private::primitives::aliases::U96;
7853 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
7854 type ReturnToken<'a> = <Self::ReturnTuple<
7855 'a,
7856 > as alloy_sol_types::SolType>::Token<'a>;
7857 const SIGNATURE: &'static str = "minimumStakeForQuorum(uint8)";
7858 const SELECTOR: [u8; 4] = [196u8, 103u8, 120u8, 165u8];
7859 #[inline]
7860 fn new<'a>(
7861 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7862 ) -> Self {
7863 tuple.into()
7864 }
7865 #[inline]
7866 fn tokenize(&self) -> Self::Token<'_> {
7867 (
7868 <alloy::sol_types::sol_data::Uint<
7869 8,
7870 > as alloy_sol_types::SolType>::tokenize(&self.0),
7871 )
7872 }
7873 #[inline]
7874 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7875 (
7876 <alloy::sol_types::sol_data::Uint<
7877 96,
7878 > as alloy_sol_types::SolType>::tokenize(ret),
7879 )
7880 }
7881 #[inline]
7882 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7883 <Self::ReturnTuple<
7884 '_,
7885 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7886 .map(|r| {
7887 let r: minimumStakeForQuorumReturn = r.into();
7888 r._0
7889 })
7890 }
7891 #[inline]
7892 fn abi_decode_returns_validate(
7893 data: &[u8],
7894 ) -> alloy_sol_types::Result<Self::Return> {
7895 <Self::ReturnTuple<
7896 '_,
7897 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7898 .map(|r| {
7899 let r: minimumStakeForQuorumReturn = r.into();
7900 r._0
7901 })
7902 }
7903 }
7904 };
7905 #[derive(serde::Serialize, serde::Deserialize)]
7906 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7907 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7912 #[derive(Clone)]
7913 pub struct modifyStrategyParamsCall {
7914 #[allow(missing_docs)]
7915 pub quorumNumber: u8,
7916 #[allow(missing_docs)]
7917 pub strategyIndices: alloy::sol_types::private::Vec<
7918 alloy::sol_types::private::primitives::aliases::U256,
7919 >,
7920 #[allow(missing_docs)]
7921 pub newMultipliers: alloy::sol_types::private::Vec<
7922 alloy::sol_types::private::primitives::aliases::U96,
7923 >,
7924 }
7925 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7927 #[derive(Clone)]
7928 pub struct modifyStrategyParamsReturn {}
7929 #[allow(
7930 non_camel_case_types,
7931 non_snake_case,
7932 clippy::pub_underscore_fields,
7933 clippy::style
7934 )]
7935 const _: () = {
7936 use alloy::sol_types as alloy_sol_types;
7937 {
7938 #[doc(hidden)]
7939 type UnderlyingSolTuple<'a> = (
7940 alloy::sol_types::sol_data::Uint<8>,
7941 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
7942 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
7943 );
7944 #[doc(hidden)]
7945 type UnderlyingRustTuple<'a> = (
7946 u8,
7947 alloy::sol_types::private::Vec<
7948 alloy::sol_types::private::primitives::aliases::U256,
7949 >,
7950 alloy::sol_types::private::Vec<
7951 alloy::sol_types::private::primitives::aliases::U96,
7952 >,
7953 );
7954 #[cfg(test)]
7955 #[allow(dead_code, unreachable_patterns)]
7956 fn _type_assertion(
7957 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7958 ) {
7959 match _t {
7960 alloy_sol_types::private::AssertTypeEq::<
7961 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7962 >(_) => {}
7963 }
7964 }
7965 #[automatically_derived]
7966 #[doc(hidden)]
7967 impl ::core::convert::From<modifyStrategyParamsCall>
7968 for UnderlyingRustTuple<'_> {
7969 fn from(value: modifyStrategyParamsCall) -> Self {
7970 (value.quorumNumber, value.strategyIndices, value.newMultipliers)
7971 }
7972 }
7973 #[automatically_derived]
7974 #[doc(hidden)]
7975 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7976 for modifyStrategyParamsCall {
7977 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7978 Self {
7979 quorumNumber: tuple.0,
7980 strategyIndices: tuple.1,
7981 newMultipliers: tuple.2,
7982 }
7983 }
7984 }
7985 }
7986 {
7987 #[doc(hidden)]
7988 type UnderlyingSolTuple<'a> = ();
7989 #[doc(hidden)]
7990 type UnderlyingRustTuple<'a> = ();
7991 #[cfg(test)]
7992 #[allow(dead_code, unreachable_patterns)]
7993 fn _type_assertion(
7994 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7995 ) {
7996 match _t {
7997 alloy_sol_types::private::AssertTypeEq::<
7998 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7999 >(_) => {}
8000 }
8001 }
8002 #[automatically_derived]
8003 #[doc(hidden)]
8004 impl ::core::convert::From<modifyStrategyParamsReturn>
8005 for UnderlyingRustTuple<'_> {
8006 fn from(value: modifyStrategyParamsReturn) -> Self {
8007 ()
8008 }
8009 }
8010 #[automatically_derived]
8011 #[doc(hidden)]
8012 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8013 for modifyStrategyParamsReturn {
8014 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8015 Self {}
8016 }
8017 }
8018 }
8019 impl modifyStrategyParamsReturn {
8020 fn _tokenize(
8021 &self,
8022 ) -> <modifyStrategyParamsCall as alloy_sol_types::SolCall>::ReturnToken<
8023 '_,
8024 > {
8025 ()
8026 }
8027 }
8028 #[automatically_derived]
8029 impl alloy_sol_types::SolCall for modifyStrategyParamsCall {
8030 type Parameters<'a> = (
8031 alloy::sol_types::sol_data::Uint<8>,
8032 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
8033 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
8034 );
8035 type Token<'a> = <Self::Parameters<
8036 'a,
8037 > as alloy_sol_types::SolType>::Token<'a>;
8038 type Return = modifyStrategyParamsReturn;
8039 type ReturnTuple<'a> = ();
8040 type ReturnToken<'a> = <Self::ReturnTuple<
8041 'a,
8042 > as alloy_sol_types::SolType>::Token<'a>;
8043 const SIGNATURE: &'static str = "modifyStrategyParams(uint8,uint256[],uint96[])";
8044 const SELECTOR: [u8; 4] = [32u8, 182u8, 98u8, 152u8];
8045 #[inline]
8046 fn new<'a>(
8047 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8048 ) -> Self {
8049 tuple.into()
8050 }
8051 #[inline]
8052 fn tokenize(&self) -> Self::Token<'_> {
8053 (
8054 <alloy::sol_types::sol_data::Uint<
8055 8,
8056 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
8057 <alloy::sol_types::sol_data::Array<
8058 alloy::sol_types::sol_data::Uint<256>,
8059 > as alloy_sol_types::SolType>::tokenize(&self.strategyIndices),
8060 <alloy::sol_types::sol_data::Array<
8061 alloy::sol_types::sol_data::Uint<96>,
8062 > as alloy_sol_types::SolType>::tokenize(&self.newMultipliers),
8063 )
8064 }
8065 #[inline]
8066 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8067 modifyStrategyParamsReturn::_tokenize(ret)
8068 }
8069 #[inline]
8070 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8071 <Self::ReturnTuple<
8072 '_,
8073 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8074 .map(Into::into)
8075 }
8076 #[inline]
8077 fn abi_decode_returns_validate(
8078 data: &[u8],
8079 ) -> alloy_sol_types::Result<Self::Return> {
8080 <Self::ReturnTuple<
8081 '_,
8082 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8083 .map(Into::into)
8084 }
8085 }
8086 };
8087 #[derive(serde::Serialize, serde::Deserialize)]
8088 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8089 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8094 #[derive(Clone)]
8095 pub struct registerOperatorCall {
8096 #[allow(missing_docs)]
8097 pub operator: alloy::sol_types::private::Address,
8098 #[allow(missing_docs)]
8099 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
8100 #[allow(missing_docs)]
8101 pub quorumNumbers: alloy::sol_types::private::Bytes,
8102 }
8103 #[derive(serde::Serialize, serde::Deserialize)]
8104 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8105 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8107 #[derive(Clone)]
8108 pub struct registerOperatorReturn {
8109 #[allow(missing_docs)]
8110 pub _0: alloy::sol_types::private::Vec<
8111 alloy::sol_types::private::primitives::aliases::U96,
8112 >,
8113 #[allow(missing_docs)]
8114 pub _1: alloy::sol_types::private::Vec<
8115 alloy::sol_types::private::primitives::aliases::U96,
8116 >,
8117 }
8118 #[allow(
8119 non_camel_case_types,
8120 non_snake_case,
8121 clippy::pub_underscore_fields,
8122 clippy::style
8123 )]
8124 const _: () = {
8125 use alloy::sol_types as alloy_sol_types;
8126 {
8127 #[doc(hidden)]
8128 type UnderlyingSolTuple<'a> = (
8129 alloy::sol_types::sol_data::Address,
8130 alloy::sol_types::sol_data::FixedBytes<32>,
8131 alloy::sol_types::sol_data::Bytes,
8132 );
8133 #[doc(hidden)]
8134 type UnderlyingRustTuple<'a> = (
8135 alloy::sol_types::private::Address,
8136 alloy::sol_types::private::FixedBytes<32>,
8137 alloy::sol_types::private::Bytes,
8138 );
8139 #[cfg(test)]
8140 #[allow(dead_code, unreachable_patterns)]
8141 fn _type_assertion(
8142 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8143 ) {
8144 match _t {
8145 alloy_sol_types::private::AssertTypeEq::<
8146 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8147 >(_) => {}
8148 }
8149 }
8150 #[automatically_derived]
8151 #[doc(hidden)]
8152 impl ::core::convert::From<registerOperatorCall>
8153 for UnderlyingRustTuple<'_> {
8154 fn from(value: registerOperatorCall) -> Self {
8155 (value.operator, value.operatorId, value.quorumNumbers)
8156 }
8157 }
8158 #[automatically_derived]
8159 #[doc(hidden)]
8160 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8161 for registerOperatorCall {
8162 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8163 Self {
8164 operator: tuple.0,
8165 operatorId: tuple.1,
8166 quorumNumbers: tuple.2,
8167 }
8168 }
8169 }
8170 }
8171 {
8172 #[doc(hidden)]
8173 type UnderlyingSolTuple<'a> = (
8174 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
8175 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
8176 );
8177 #[doc(hidden)]
8178 type UnderlyingRustTuple<'a> = (
8179 alloy::sol_types::private::Vec<
8180 alloy::sol_types::private::primitives::aliases::U96,
8181 >,
8182 alloy::sol_types::private::Vec<
8183 alloy::sol_types::private::primitives::aliases::U96,
8184 >,
8185 );
8186 #[cfg(test)]
8187 #[allow(dead_code, unreachable_patterns)]
8188 fn _type_assertion(
8189 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8190 ) {
8191 match _t {
8192 alloy_sol_types::private::AssertTypeEq::<
8193 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8194 >(_) => {}
8195 }
8196 }
8197 #[automatically_derived]
8198 #[doc(hidden)]
8199 impl ::core::convert::From<registerOperatorReturn>
8200 for UnderlyingRustTuple<'_> {
8201 fn from(value: registerOperatorReturn) -> Self {
8202 (value._0, value._1)
8203 }
8204 }
8205 #[automatically_derived]
8206 #[doc(hidden)]
8207 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8208 for registerOperatorReturn {
8209 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8210 Self { _0: tuple.0, _1: tuple.1 }
8211 }
8212 }
8213 }
8214 impl registerOperatorReturn {
8215 fn _tokenize(
8216 &self,
8217 ) -> <registerOperatorCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8218 (
8219 <alloy::sol_types::sol_data::Array<
8220 alloy::sol_types::sol_data::Uint<96>,
8221 > as alloy_sol_types::SolType>::tokenize(&self._0),
8222 <alloy::sol_types::sol_data::Array<
8223 alloy::sol_types::sol_data::Uint<96>,
8224 > as alloy_sol_types::SolType>::tokenize(&self._1),
8225 )
8226 }
8227 }
8228 #[automatically_derived]
8229 impl alloy_sol_types::SolCall for registerOperatorCall {
8230 type Parameters<'a> = (
8231 alloy::sol_types::sol_data::Address,
8232 alloy::sol_types::sol_data::FixedBytes<32>,
8233 alloy::sol_types::sol_data::Bytes,
8234 );
8235 type Token<'a> = <Self::Parameters<
8236 'a,
8237 > as alloy_sol_types::SolType>::Token<'a>;
8238 type Return = registerOperatorReturn;
8239 type ReturnTuple<'a> = (
8240 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
8241 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
8242 );
8243 type ReturnToken<'a> = <Self::ReturnTuple<
8244 'a,
8245 > as alloy_sol_types::SolType>::Token<'a>;
8246 const SIGNATURE: &'static str = "registerOperator(address,bytes32,bytes)";
8247 const SELECTOR: [u8; 4] = [37u8, 80u8, 71u8, 119u8];
8248 #[inline]
8249 fn new<'a>(
8250 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8251 ) -> Self {
8252 tuple.into()
8253 }
8254 #[inline]
8255 fn tokenize(&self) -> Self::Token<'_> {
8256 (
8257 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8258 &self.operator,
8259 ),
8260 <alloy::sol_types::sol_data::FixedBytes<
8261 32,
8262 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
8263 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8264 &self.quorumNumbers,
8265 ),
8266 )
8267 }
8268 #[inline]
8269 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8270 registerOperatorReturn::_tokenize(ret)
8271 }
8272 #[inline]
8273 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8274 <Self::ReturnTuple<
8275 '_,
8276 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8277 .map(Into::into)
8278 }
8279 #[inline]
8280 fn abi_decode_returns_validate(
8281 data: &[u8],
8282 ) -> alloy_sol_types::Result<Self::Return> {
8283 <Self::ReturnTuple<
8284 '_,
8285 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8286 .map(Into::into)
8287 }
8288 }
8289 };
8290 #[derive(serde::Serialize, serde::Deserialize)]
8291 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8292 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8297 #[derive(Clone)]
8298 pub struct registryCoordinatorCall;
8299 #[derive(serde::Serialize, serde::Deserialize)]
8300 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8301 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8303 #[derive(Clone)]
8304 pub struct registryCoordinatorReturn {
8305 #[allow(missing_docs)]
8306 pub _0: alloy::sol_types::private::Address,
8307 }
8308 #[allow(
8309 non_camel_case_types,
8310 non_snake_case,
8311 clippy::pub_underscore_fields,
8312 clippy::style
8313 )]
8314 const _: () = {
8315 use alloy::sol_types as alloy_sol_types;
8316 {
8317 #[doc(hidden)]
8318 type UnderlyingSolTuple<'a> = ();
8319 #[doc(hidden)]
8320 type UnderlyingRustTuple<'a> = ();
8321 #[cfg(test)]
8322 #[allow(dead_code, unreachable_patterns)]
8323 fn _type_assertion(
8324 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8325 ) {
8326 match _t {
8327 alloy_sol_types::private::AssertTypeEq::<
8328 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8329 >(_) => {}
8330 }
8331 }
8332 #[automatically_derived]
8333 #[doc(hidden)]
8334 impl ::core::convert::From<registryCoordinatorCall>
8335 for UnderlyingRustTuple<'_> {
8336 fn from(value: registryCoordinatorCall) -> Self {
8337 ()
8338 }
8339 }
8340 #[automatically_derived]
8341 #[doc(hidden)]
8342 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8343 for registryCoordinatorCall {
8344 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8345 Self
8346 }
8347 }
8348 }
8349 {
8350 #[doc(hidden)]
8351 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8352 #[doc(hidden)]
8353 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8354 #[cfg(test)]
8355 #[allow(dead_code, unreachable_patterns)]
8356 fn _type_assertion(
8357 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8358 ) {
8359 match _t {
8360 alloy_sol_types::private::AssertTypeEq::<
8361 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8362 >(_) => {}
8363 }
8364 }
8365 #[automatically_derived]
8366 #[doc(hidden)]
8367 impl ::core::convert::From<registryCoordinatorReturn>
8368 for UnderlyingRustTuple<'_> {
8369 fn from(value: registryCoordinatorReturn) -> Self {
8370 (value._0,)
8371 }
8372 }
8373 #[automatically_derived]
8374 #[doc(hidden)]
8375 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8376 for registryCoordinatorReturn {
8377 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8378 Self { _0: tuple.0 }
8379 }
8380 }
8381 }
8382 #[automatically_derived]
8383 impl alloy_sol_types::SolCall for registryCoordinatorCall {
8384 type Parameters<'a> = ();
8385 type Token<'a> = <Self::Parameters<
8386 'a,
8387 > as alloy_sol_types::SolType>::Token<'a>;
8388 type Return = alloy::sol_types::private::Address;
8389 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
8390 type ReturnToken<'a> = <Self::ReturnTuple<
8391 'a,
8392 > as alloy_sol_types::SolType>::Token<'a>;
8393 const SIGNATURE: &'static str = "registryCoordinator()";
8394 const SELECTOR: [u8; 4] = [109u8, 20u8, 169u8, 135u8];
8395 #[inline]
8396 fn new<'a>(
8397 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8398 ) -> Self {
8399 tuple.into()
8400 }
8401 #[inline]
8402 fn tokenize(&self) -> Self::Token<'_> {
8403 ()
8404 }
8405 #[inline]
8406 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8407 (
8408 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8409 ret,
8410 ),
8411 )
8412 }
8413 #[inline]
8414 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8415 <Self::ReturnTuple<
8416 '_,
8417 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8418 .map(|r| {
8419 let r: registryCoordinatorReturn = r.into();
8420 r._0
8421 })
8422 }
8423 #[inline]
8424 fn abi_decode_returns_validate(
8425 data: &[u8],
8426 ) -> alloy_sol_types::Result<Self::Return> {
8427 <Self::ReturnTuple<
8428 '_,
8429 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8430 .map(|r| {
8431 let r: registryCoordinatorReturn = r.into();
8432 r._0
8433 })
8434 }
8435 }
8436 };
8437 #[derive(serde::Serialize, serde::Deserialize)]
8438 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8439 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8444 #[derive(Clone)]
8445 pub struct removeStrategiesCall {
8446 #[allow(missing_docs)]
8447 pub quorumNumber: u8,
8448 #[allow(missing_docs)]
8449 pub indicesToRemove: alloy::sol_types::private::Vec<
8450 alloy::sol_types::private::primitives::aliases::U256,
8451 >,
8452 }
8453 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8455 #[derive(Clone)]
8456 pub struct removeStrategiesReturn {}
8457 #[allow(
8458 non_camel_case_types,
8459 non_snake_case,
8460 clippy::pub_underscore_fields,
8461 clippy::style
8462 )]
8463 const _: () = {
8464 use alloy::sol_types as alloy_sol_types;
8465 {
8466 #[doc(hidden)]
8467 type UnderlyingSolTuple<'a> = (
8468 alloy::sol_types::sol_data::Uint<8>,
8469 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
8470 );
8471 #[doc(hidden)]
8472 type UnderlyingRustTuple<'a> = (
8473 u8,
8474 alloy::sol_types::private::Vec<
8475 alloy::sol_types::private::primitives::aliases::U256,
8476 >,
8477 );
8478 #[cfg(test)]
8479 #[allow(dead_code, unreachable_patterns)]
8480 fn _type_assertion(
8481 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8482 ) {
8483 match _t {
8484 alloy_sol_types::private::AssertTypeEq::<
8485 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8486 >(_) => {}
8487 }
8488 }
8489 #[automatically_derived]
8490 #[doc(hidden)]
8491 impl ::core::convert::From<removeStrategiesCall>
8492 for UnderlyingRustTuple<'_> {
8493 fn from(value: removeStrategiesCall) -> Self {
8494 (value.quorumNumber, value.indicesToRemove)
8495 }
8496 }
8497 #[automatically_derived]
8498 #[doc(hidden)]
8499 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8500 for removeStrategiesCall {
8501 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8502 Self {
8503 quorumNumber: tuple.0,
8504 indicesToRemove: tuple.1,
8505 }
8506 }
8507 }
8508 }
8509 {
8510 #[doc(hidden)]
8511 type UnderlyingSolTuple<'a> = ();
8512 #[doc(hidden)]
8513 type UnderlyingRustTuple<'a> = ();
8514 #[cfg(test)]
8515 #[allow(dead_code, unreachable_patterns)]
8516 fn _type_assertion(
8517 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8518 ) {
8519 match _t {
8520 alloy_sol_types::private::AssertTypeEq::<
8521 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8522 >(_) => {}
8523 }
8524 }
8525 #[automatically_derived]
8526 #[doc(hidden)]
8527 impl ::core::convert::From<removeStrategiesReturn>
8528 for UnderlyingRustTuple<'_> {
8529 fn from(value: removeStrategiesReturn) -> Self {
8530 ()
8531 }
8532 }
8533 #[automatically_derived]
8534 #[doc(hidden)]
8535 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8536 for removeStrategiesReturn {
8537 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8538 Self {}
8539 }
8540 }
8541 }
8542 impl removeStrategiesReturn {
8543 fn _tokenize(
8544 &self,
8545 ) -> <removeStrategiesCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8546 ()
8547 }
8548 }
8549 #[automatically_derived]
8550 impl alloy_sol_types::SolCall for removeStrategiesCall {
8551 type Parameters<'a> = (
8552 alloy::sol_types::sol_data::Uint<8>,
8553 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
8554 );
8555 type Token<'a> = <Self::Parameters<
8556 'a,
8557 > as alloy_sol_types::SolType>::Token<'a>;
8558 type Return = removeStrategiesReturn;
8559 type ReturnTuple<'a> = ();
8560 type ReturnToken<'a> = <Self::ReturnTuple<
8561 'a,
8562 > as alloy_sol_types::SolType>::Token<'a>;
8563 const SIGNATURE: &'static str = "removeStrategies(uint8,uint256[])";
8564 const SELECTOR: [u8; 4] = [95u8, 31u8, 45u8, 119u8];
8565 #[inline]
8566 fn new<'a>(
8567 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8568 ) -> Self {
8569 tuple.into()
8570 }
8571 #[inline]
8572 fn tokenize(&self) -> Self::Token<'_> {
8573 (
8574 <alloy::sol_types::sol_data::Uint<
8575 8,
8576 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
8577 <alloy::sol_types::sol_data::Array<
8578 alloy::sol_types::sol_data::Uint<256>,
8579 > as alloy_sol_types::SolType>::tokenize(&self.indicesToRemove),
8580 )
8581 }
8582 #[inline]
8583 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8584 removeStrategiesReturn::_tokenize(ret)
8585 }
8586 #[inline]
8587 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8588 <Self::ReturnTuple<
8589 '_,
8590 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8591 .map(Into::into)
8592 }
8593 #[inline]
8594 fn abi_decode_returns_validate(
8595 data: &[u8],
8596 ) -> alloy_sol_types::Result<Self::Return> {
8597 <Self::ReturnTuple<
8598 '_,
8599 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8600 .map(Into::into)
8601 }
8602 }
8603 };
8604 #[derive(serde::Serialize, serde::Deserialize)]
8605 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8606 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8611 #[derive(Clone)]
8612 pub struct setMinimumStakeForQuorumCall {
8613 #[allow(missing_docs)]
8614 pub quorumNumber: u8,
8615 #[allow(missing_docs)]
8616 pub minimumStake: alloy::sol_types::private::primitives::aliases::U96,
8617 }
8618 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8620 #[derive(Clone)]
8621 pub struct setMinimumStakeForQuorumReturn {}
8622 #[allow(
8623 non_camel_case_types,
8624 non_snake_case,
8625 clippy::pub_underscore_fields,
8626 clippy::style
8627 )]
8628 const _: () = {
8629 use alloy::sol_types as alloy_sol_types;
8630 {
8631 #[doc(hidden)]
8632 type UnderlyingSolTuple<'a> = (
8633 alloy::sol_types::sol_data::Uint<8>,
8634 alloy::sol_types::sol_data::Uint<96>,
8635 );
8636 #[doc(hidden)]
8637 type UnderlyingRustTuple<'a> = (
8638 u8,
8639 alloy::sol_types::private::primitives::aliases::U96,
8640 );
8641 #[cfg(test)]
8642 #[allow(dead_code, unreachable_patterns)]
8643 fn _type_assertion(
8644 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8645 ) {
8646 match _t {
8647 alloy_sol_types::private::AssertTypeEq::<
8648 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8649 >(_) => {}
8650 }
8651 }
8652 #[automatically_derived]
8653 #[doc(hidden)]
8654 impl ::core::convert::From<setMinimumStakeForQuorumCall>
8655 for UnderlyingRustTuple<'_> {
8656 fn from(value: setMinimumStakeForQuorumCall) -> Self {
8657 (value.quorumNumber, value.minimumStake)
8658 }
8659 }
8660 #[automatically_derived]
8661 #[doc(hidden)]
8662 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8663 for setMinimumStakeForQuorumCall {
8664 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8665 Self {
8666 quorumNumber: tuple.0,
8667 minimumStake: tuple.1,
8668 }
8669 }
8670 }
8671 }
8672 {
8673 #[doc(hidden)]
8674 type UnderlyingSolTuple<'a> = ();
8675 #[doc(hidden)]
8676 type UnderlyingRustTuple<'a> = ();
8677 #[cfg(test)]
8678 #[allow(dead_code, unreachable_patterns)]
8679 fn _type_assertion(
8680 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8681 ) {
8682 match _t {
8683 alloy_sol_types::private::AssertTypeEq::<
8684 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8685 >(_) => {}
8686 }
8687 }
8688 #[automatically_derived]
8689 #[doc(hidden)]
8690 impl ::core::convert::From<setMinimumStakeForQuorumReturn>
8691 for UnderlyingRustTuple<'_> {
8692 fn from(value: setMinimumStakeForQuorumReturn) -> Self {
8693 ()
8694 }
8695 }
8696 #[automatically_derived]
8697 #[doc(hidden)]
8698 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8699 for setMinimumStakeForQuorumReturn {
8700 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8701 Self {}
8702 }
8703 }
8704 }
8705 impl setMinimumStakeForQuorumReturn {
8706 fn _tokenize(
8707 &self,
8708 ) -> <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::ReturnToken<
8709 '_,
8710 > {
8711 ()
8712 }
8713 }
8714 #[automatically_derived]
8715 impl alloy_sol_types::SolCall for setMinimumStakeForQuorumCall {
8716 type Parameters<'a> = (
8717 alloy::sol_types::sol_data::Uint<8>,
8718 alloy::sol_types::sol_data::Uint<96>,
8719 );
8720 type Token<'a> = <Self::Parameters<
8721 'a,
8722 > as alloy_sol_types::SolType>::Token<'a>;
8723 type Return = setMinimumStakeForQuorumReturn;
8724 type ReturnTuple<'a> = ();
8725 type ReturnToken<'a> = <Self::ReturnTuple<
8726 'a,
8727 > as alloy_sol_types::SolType>::Token<'a>;
8728 const SIGNATURE: &'static str = "setMinimumStakeForQuorum(uint8,uint96)";
8729 const SELECTOR: [u8; 4] = [188u8, 154u8, 64u8, 195u8];
8730 #[inline]
8731 fn new<'a>(
8732 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8733 ) -> Self {
8734 tuple.into()
8735 }
8736 #[inline]
8737 fn tokenize(&self) -> Self::Token<'_> {
8738 (
8739 <alloy::sol_types::sol_data::Uint<
8740 8,
8741 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
8742 <alloy::sol_types::sol_data::Uint<
8743 96,
8744 > as alloy_sol_types::SolType>::tokenize(&self.minimumStake),
8745 )
8746 }
8747 #[inline]
8748 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8749 setMinimumStakeForQuorumReturn::_tokenize(ret)
8750 }
8751 #[inline]
8752 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8753 <Self::ReturnTuple<
8754 '_,
8755 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8756 .map(Into::into)
8757 }
8758 #[inline]
8759 fn abi_decode_returns_validate(
8760 data: &[u8],
8761 ) -> alloy_sol_types::Result<Self::Return> {
8762 <Self::ReturnTuple<
8763 '_,
8764 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8765 .map(Into::into)
8766 }
8767 }
8768 };
8769 #[derive(serde::Serialize, serde::Deserialize)]
8770 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8771 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8776 #[derive(Clone)]
8777 pub struct setSlashableStakeLookaheadCall {
8778 #[allow(missing_docs)]
8779 pub quorumNumber: u8,
8780 #[allow(missing_docs)]
8781 pub _lookAheadBlocks: u32,
8782 }
8783 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8785 #[derive(Clone)]
8786 pub struct setSlashableStakeLookaheadReturn {}
8787 #[allow(
8788 non_camel_case_types,
8789 non_snake_case,
8790 clippy::pub_underscore_fields,
8791 clippy::style
8792 )]
8793 const _: () = {
8794 use alloy::sol_types as alloy_sol_types;
8795 {
8796 #[doc(hidden)]
8797 type UnderlyingSolTuple<'a> = (
8798 alloy::sol_types::sol_data::Uint<8>,
8799 alloy::sol_types::sol_data::Uint<32>,
8800 );
8801 #[doc(hidden)]
8802 type UnderlyingRustTuple<'a> = (u8, u32);
8803 #[cfg(test)]
8804 #[allow(dead_code, unreachable_patterns)]
8805 fn _type_assertion(
8806 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8807 ) {
8808 match _t {
8809 alloy_sol_types::private::AssertTypeEq::<
8810 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8811 >(_) => {}
8812 }
8813 }
8814 #[automatically_derived]
8815 #[doc(hidden)]
8816 impl ::core::convert::From<setSlashableStakeLookaheadCall>
8817 for UnderlyingRustTuple<'_> {
8818 fn from(value: setSlashableStakeLookaheadCall) -> Self {
8819 (value.quorumNumber, value._lookAheadBlocks)
8820 }
8821 }
8822 #[automatically_derived]
8823 #[doc(hidden)]
8824 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8825 for setSlashableStakeLookaheadCall {
8826 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8827 Self {
8828 quorumNumber: tuple.0,
8829 _lookAheadBlocks: tuple.1,
8830 }
8831 }
8832 }
8833 }
8834 {
8835 #[doc(hidden)]
8836 type UnderlyingSolTuple<'a> = ();
8837 #[doc(hidden)]
8838 type UnderlyingRustTuple<'a> = ();
8839 #[cfg(test)]
8840 #[allow(dead_code, unreachable_patterns)]
8841 fn _type_assertion(
8842 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8843 ) {
8844 match _t {
8845 alloy_sol_types::private::AssertTypeEq::<
8846 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8847 >(_) => {}
8848 }
8849 }
8850 #[automatically_derived]
8851 #[doc(hidden)]
8852 impl ::core::convert::From<setSlashableStakeLookaheadReturn>
8853 for UnderlyingRustTuple<'_> {
8854 fn from(value: setSlashableStakeLookaheadReturn) -> Self {
8855 ()
8856 }
8857 }
8858 #[automatically_derived]
8859 #[doc(hidden)]
8860 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8861 for setSlashableStakeLookaheadReturn {
8862 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8863 Self {}
8864 }
8865 }
8866 }
8867 impl setSlashableStakeLookaheadReturn {
8868 fn _tokenize(
8869 &self,
8870 ) -> <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::ReturnToken<
8871 '_,
8872 > {
8873 ()
8874 }
8875 }
8876 #[automatically_derived]
8877 impl alloy_sol_types::SolCall for setSlashableStakeLookaheadCall {
8878 type Parameters<'a> = (
8879 alloy::sol_types::sol_data::Uint<8>,
8880 alloy::sol_types::sol_data::Uint<32>,
8881 );
8882 type Token<'a> = <Self::Parameters<
8883 'a,
8884 > as alloy_sol_types::SolType>::Token<'a>;
8885 type Return = setSlashableStakeLookaheadReturn;
8886 type ReturnTuple<'a> = ();
8887 type ReturnToken<'a> = <Self::ReturnTuple<
8888 'a,
8889 > as alloy_sol_types::SolType>::Token<'a>;
8890 const SIGNATURE: &'static str = "setSlashableStakeLookahead(uint8,uint32)";
8891 const SELECTOR: [u8; 4] = [224u8, 134u8, 173u8, 179u8];
8892 #[inline]
8893 fn new<'a>(
8894 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8895 ) -> Self {
8896 tuple.into()
8897 }
8898 #[inline]
8899 fn tokenize(&self) -> Self::Token<'_> {
8900 (
8901 <alloy::sol_types::sol_data::Uint<
8902 8,
8903 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
8904 <alloy::sol_types::sol_data::Uint<
8905 32,
8906 > as alloy_sol_types::SolType>::tokenize(&self._lookAheadBlocks),
8907 )
8908 }
8909 #[inline]
8910 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8911 setSlashableStakeLookaheadReturn::_tokenize(ret)
8912 }
8913 #[inline]
8914 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8915 <Self::ReturnTuple<
8916 '_,
8917 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8918 .map(Into::into)
8919 }
8920 #[inline]
8921 fn abi_decode_returns_validate(
8922 data: &[u8],
8923 ) -> alloy_sol_types::Result<Self::Return> {
8924 <Self::ReturnTuple<
8925 '_,
8926 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8927 .map(Into::into)
8928 }
8929 }
8930 };
8931 #[derive(serde::Serialize, serde::Deserialize)]
8932 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8933 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8938 #[derive(Clone)]
8939 pub struct slashableStakeLookAheadPerQuorumCall {
8940 #[allow(missing_docs)]
8941 pub quorumNumber: u8,
8942 }
8943 #[derive(serde::Serialize, serde::Deserialize)]
8944 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8945 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8947 #[derive(Clone)]
8948 pub struct slashableStakeLookAheadPerQuorumReturn {
8949 #[allow(missing_docs)]
8950 pub _0: u32,
8951 }
8952 #[allow(
8953 non_camel_case_types,
8954 non_snake_case,
8955 clippy::pub_underscore_fields,
8956 clippy::style
8957 )]
8958 const _: () = {
8959 use alloy::sol_types as alloy_sol_types;
8960 {
8961 #[doc(hidden)]
8962 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
8963 #[doc(hidden)]
8964 type UnderlyingRustTuple<'a> = (u8,);
8965 #[cfg(test)]
8966 #[allow(dead_code, unreachable_patterns)]
8967 fn _type_assertion(
8968 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8969 ) {
8970 match _t {
8971 alloy_sol_types::private::AssertTypeEq::<
8972 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8973 >(_) => {}
8974 }
8975 }
8976 #[automatically_derived]
8977 #[doc(hidden)]
8978 impl ::core::convert::From<slashableStakeLookAheadPerQuorumCall>
8979 for UnderlyingRustTuple<'_> {
8980 fn from(value: slashableStakeLookAheadPerQuorumCall) -> Self {
8981 (value.quorumNumber,)
8982 }
8983 }
8984 #[automatically_derived]
8985 #[doc(hidden)]
8986 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8987 for slashableStakeLookAheadPerQuorumCall {
8988 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8989 Self { quorumNumber: tuple.0 }
8990 }
8991 }
8992 }
8993 {
8994 #[doc(hidden)]
8995 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<32>,);
8996 #[doc(hidden)]
8997 type UnderlyingRustTuple<'a> = (u32,);
8998 #[cfg(test)]
8999 #[allow(dead_code, unreachable_patterns)]
9000 fn _type_assertion(
9001 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9002 ) {
9003 match _t {
9004 alloy_sol_types::private::AssertTypeEq::<
9005 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9006 >(_) => {}
9007 }
9008 }
9009 #[automatically_derived]
9010 #[doc(hidden)]
9011 impl ::core::convert::From<slashableStakeLookAheadPerQuorumReturn>
9012 for UnderlyingRustTuple<'_> {
9013 fn from(value: slashableStakeLookAheadPerQuorumReturn) -> Self {
9014 (value._0,)
9015 }
9016 }
9017 #[automatically_derived]
9018 #[doc(hidden)]
9019 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9020 for slashableStakeLookAheadPerQuorumReturn {
9021 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9022 Self { _0: tuple.0 }
9023 }
9024 }
9025 }
9026 #[automatically_derived]
9027 impl alloy_sol_types::SolCall for slashableStakeLookAheadPerQuorumCall {
9028 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
9029 type Token<'a> = <Self::Parameters<
9030 'a,
9031 > as alloy_sol_types::SolType>::Token<'a>;
9032 type Return = u32;
9033 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<32>,);
9034 type ReturnToken<'a> = <Self::ReturnTuple<
9035 'a,
9036 > as alloy_sol_types::SolType>::Token<'a>;
9037 const SIGNATURE: &'static str = "slashableStakeLookAheadPerQuorum(uint8)";
9038 const SELECTOR: [u8; 4] = [154u8, 180u8, 214u8, 255u8];
9039 #[inline]
9040 fn new<'a>(
9041 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9042 ) -> Self {
9043 tuple.into()
9044 }
9045 #[inline]
9046 fn tokenize(&self) -> Self::Token<'_> {
9047 (
9048 <alloy::sol_types::sol_data::Uint<
9049 8,
9050 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
9051 )
9052 }
9053 #[inline]
9054 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9055 (
9056 <alloy::sol_types::sol_data::Uint<
9057 32,
9058 > as alloy_sol_types::SolType>::tokenize(ret),
9059 )
9060 }
9061 #[inline]
9062 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9063 <Self::ReturnTuple<
9064 '_,
9065 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9066 .map(|r| {
9067 let r: slashableStakeLookAheadPerQuorumReturn = r.into();
9068 r._0
9069 })
9070 }
9071 #[inline]
9072 fn abi_decode_returns_validate(
9073 data: &[u8],
9074 ) -> alloy_sol_types::Result<Self::Return> {
9075 <Self::ReturnTuple<
9076 '_,
9077 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9078 .map(|r| {
9079 let r: slashableStakeLookAheadPerQuorumReturn = r.into();
9080 r._0
9081 })
9082 }
9083 }
9084 };
9085 #[derive(serde::Serialize, serde::Deserialize)]
9086 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9087 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9092 #[derive(Clone)]
9093 pub struct stakeTypePerQuorumCall {
9094 #[allow(missing_docs)]
9095 pub quorumNumber: u8,
9096 }
9097 #[derive(serde::Serialize, serde::Deserialize)]
9098 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9099 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9101 #[derive(Clone)]
9102 pub struct stakeTypePerQuorumReturn {
9103 #[allow(missing_docs)]
9104 pub _0: <IStakeRegistryTypes::StakeType as alloy::sol_types::SolType>::RustType,
9105 }
9106 #[allow(
9107 non_camel_case_types,
9108 non_snake_case,
9109 clippy::pub_underscore_fields,
9110 clippy::style
9111 )]
9112 const _: () = {
9113 use alloy::sol_types as alloy_sol_types;
9114 {
9115 #[doc(hidden)]
9116 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
9117 #[doc(hidden)]
9118 type UnderlyingRustTuple<'a> = (u8,);
9119 #[cfg(test)]
9120 #[allow(dead_code, unreachable_patterns)]
9121 fn _type_assertion(
9122 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9123 ) {
9124 match _t {
9125 alloy_sol_types::private::AssertTypeEq::<
9126 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9127 >(_) => {}
9128 }
9129 }
9130 #[automatically_derived]
9131 #[doc(hidden)]
9132 impl ::core::convert::From<stakeTypePerQuorumCall>
9133 for UnderlyingRustTuple<'_> {
9134 fn from(value: stakeTypePerQuorumCall) -> Self {
9135 (value.quorumNumber,)
9136 }
9137 }
9138 #[automatically_derived]
9139 #[doc(hidden)]
9140 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9141 for stakeTypePerQuorumCall {
9142 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9143 Self { quorumNumber: tuple.0 }
9144 }
9145 }
9146 }
9147 {
9148 #[doc(hidden)]
9149 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StakeType,);
9150 #[doc(hidden)]
9151 type UnderlyingRustTuple<'a> = (
9152 <IStakeRegistryTypes::StakeType as alloy::sol_types::SolType>::RustType,
9153 );
9154 #[cfg(test)]
9155 #[allow(dead_code, unreachable_patterns)]
9156 fn _type_assertion(
9157 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9158 ) {
9159 match _t {
9160 alloy_sol_types::private::AssertTypeEq::<
9161 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9162 >(_) => {}
9163 }
9164 }
9165 #[automatically_derived]
9166 #[doc(hidden)]
9167 impl ::core::convert::From<stakeTypePerQuorumReturn>
9168 for UnderlyingRustTuple<'_> {
9169 fn from(value: stakeTypePerQuorumReturn) -> Self {
9170 (value._0,)
9171 }
9172 }
9173 #[automatically_derived]
9174 #[doc(hidden)]
9175 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9176 for stakeTypePerQuorumReturn {
9177 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9178 Self { _0: tuple.0 }
9179 }
9180 }
9181 }
9182 #[automatically_derived]
9183 impl alloy_sol_types::SolCall for stakeTypePerQuorumCall {
9184 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
9185 type Token<'a> = <Self::Parameters<
9186 'a,
9187 > as alloy_sol_types::SolType>::Token<'a>;
9188 type Return = <IStakeRegistryTypes::StakeType as alloy::sol_types::SolType>::RustType;
9189 type ReturnTuple<'a> = (IStakeRegistryTypes::StakeType,);
9190 type ReturnToken<'a> = <Self::ReturnTuple<
9191 'a,
9192 > as alloy_sol_types::SolType>::Token<'a>;
9193 const SIGNATURE: &'static str = "stakeTypePerQuorum(uint8)";
9194 const SELECTOR: [u8; 4] = [105u8, 127u8, 189u8, 147u8];
9195 #[inline]
9196 fn new<'a>(
9197 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9198 ) -> Self {
9199 tuple.into()
9200 }
9201 #[inline]
9202 fn tokenize(&self) -> Self::Token<'_> {
9203 (
9204 <alloy::sol_types::sol_data::Uint<
9205 8,
9206 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
9207 )
9208 }
9209 #[inline]
9210 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9211 (
9212 <IStakeRegistryTypes::StakeType as alloy_sol_types::SolType>::tokenize(
9213 ret,
9214 ),
9215 )
9216 }
9217 #[inline]
9218 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9219 <Self::ReturnTuple<
9220 '_,
9221 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9222 .map(|r| {
9223 let r: stakeTypePerQuorumReturn = r.into();
9224 r._0
9225 })
9226 }
9227 #[inline]
9228 fn abi_decode_returns_validate(
9229 data: &[u8],
9230 ) -> alloy_sol_types::Result<Self::Return> {
9231 <Self::ReturnTuple<
9232 '_,
9233 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9234 .map(|r| {
9235 let r: stakeTypePerQuorumReturn = r.into();
9236 r._0
9237 })
9238 }
9239 }
9240 };
9241 #[derive(serde::Serialize, serde::Deserialize)]
9242 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9243 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9248 #[derive(Clone)]
9249 pub struct strategiesPerQuorumCall {
9250 #[allow(missing_docs)]
9251 pub quorumNumber: u8,
9252 #[allow(missing_docs)]
9253 pub _1: alloy::sol_types::private::primitives::aliases::U256,
9254 }
9255 #[derive(serde::Serialize, serde::Deserialize)]
9256 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9257 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9259 #[derive(Clone)]
9260 pub struct strategiesPerQuorumReturn {
9261 #[allow(missing_docs)]
9262 pub _0: alloy::sol_types::private::Address,
9263 }
9264 #[allow(
9265 non_camel_case_types,
9266 non_snake_case,
9267 clippy::pub_underscore_fields,
9268 clippy::style
9269 )]
9270 const _: () = {
9271 use alloy::sol_types as alloy_sol_types;
9272 {
9273 #[doc(hidden)]
9274 type UnderlyingSolTuple<'a> = (
9275 alloy::sol_types::sol_data::Uint<8>,
9276 alloy::sol_types::sol_data::Uint<256>,
9277 );
9278 #[doc(hidden)]
9279 type UnderlyingRustTuple<'a> = (
9280 u8,
9281 alloy::sol_types::private::primitives::aliases::U256,
9282 );
9283 #[cfg(test)]
9284 #[allow(dead_code, unreachable_patterns)]
9285 fn _type_assertion(
9286 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9287 ) {
9288 match _t {
9289 alloy_sol_types::private::AssertTypeEq::<
9290 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9291 >(_) => {}
9292 }
9293 }
9294 #[automatically_derived]
9295 #[doc(hidden)]
9296 impl ::core::convert::From<strategiesPerQuorumCall>
9297 for UnderlyingRustTuple<'_> {
9298 fn from(value: strategiesPerQuorumCall) -> Self {
9299 (value.quorumNumber, value._1)
9300 }
9301 }
9302 #[automatically_derived]
9303 #[doc(hidden)]
9304 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9305 for strategiesPerQuorumCall {
9306 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9307 Self {
9308 quorumNumber: tuple.0,
9309 _1: tuple.1,
9310 }
9311 }
9312 }
9313 }
9314 {
9315 #[doc(hidden)]
9316 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
9317 #[doc(hidden)]
9318 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
9319 #[cfg(test)]
9320 #[allow(dead_code, unreachable_patterns)]
9321 fn _type_assertion(
9322 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9323 ) {
9324 match _t {
9325 alloy_sol_types::private::AssertTypeEq::<
9326 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9327 >(_) => {}
9328 }
9329 }
9330 #[automatically_derived]
9331 #[doc(hidden)]
9332 impl ::core::convert::From<strategiesPerQuorumReturn>
9333 for UnderlyingRustTuple<'_> {
9334 fn from(value: strategiesPerQuorumReturn) -> Self {
9335 (value._0,)
9336 }
9337 }
9338 #[automatically_derived]
9339 #[doc(hidden)]
9340 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9341 for strategiesPerQuorumReturn {
9342 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9343 Self { _0: tuple.0 }
9344 }
9345 }
9346 }
9347 #[automatically_derived]
9348 impl alloy_sol_types::SolCall for strategiesPerQuorumCall {
9349 type Parameters<'a> = (
9350 alloy::sol_types::sol_data::Uint<8>,
9351 alloy::sol_types::sol_data::Uint<256>,
9352 );
9353 type Token<'a> = <Self::Parameters<
9354 'a,
9355 > as alloy_sol_types::SolType>::Token<'a>;
9356 type Return = alloy::sol_types::private::Address;
9357 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
9358 type ReturnToken<'a> = <Self::ReturnTuple<
9359 'a,
9360 > as alloy_sol_types::SolType>::Token<'a>;
9361 const SIGNATURE: &'static str = "strategiesPerQuorum(uint8,uint256)";
9362 const SELECTOR: [u8; 4] = [159u8, 60u8, 207u8, 101u8];
9363 #[inline]
9364 fn new<'a>(
9365 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9366 ) -> Self {
9367 tuple.into()
9368 }
9369 #[inline]
9370 fn tokenize(&self) -> Self::Token<'_> {
9371 (
9372 <alloy::sol_types::sol_data::Uint<
9373 8,
9374 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
9375 <alloy::sol_types::sol_data::Uint<
9376 256,
9377 > as alloy_sol_types::SolType>::tokenize(&self._1),
9378 )
9379 }
9380 #[inline]
9381 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9382 (
9383 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9384 ret,
9385 ),
9386 )
9387 }
9388 #[inline]
9389 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9390 <Self::ReturnTuple<
9391 '_,
9392 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9393 .map(|r| {
9394 let r: strategiesPerQuorumReturn = r.into();
9395 r._0
9396 })
9397 }
9398 #[inline]
9399 fn abi_decode_returns_validate(
9400 data: &[u8],
9401 ) -> alloy_sol_types::Result<Self::Return> {
9402 <Self::ReturnTuple<
9403 '_,
9404 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9405 .map(|r| {
9406 let r: strategiesPerQuorumReturn = r.into();
9407 r._0
9408 })
9409 }
9410 }
9411 };
9412 #[derive(serde::Serialize, serde::Deserialize)]
9413 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9414 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9419 #[derive(Clone)]
9420 pub struct strategyParamsCall {
9421 #[allow(missing_docs)]
9422 pub quorumNumber: u8,
9423 #[allow(missing_docs)]
9424 pub _1: alloy::sol_types::private::primitives::aliases::U256,
9425 }
9426 #[derive(serde::Serialize, serde::Deserialize)]
9427 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9428 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9430 #[derive(Clone)]
9431 pub struct strategyParamsReturn {
9432 #[allow(missing_docs)]
9433 pub strategy: alloy::sol_types::private::Address,
9434 #[allow(missing_docs)]
9435 pub multiplier: alloy::sol_types::private::primitives::aliases::U96,
9436 }
9437 #[allow(
9438 non_camel_case_types,
9439 non_snake_case,
9440 clippy::pub_underscore_fields,
9441 clippy::style
9442 )]
9443 const _: () = {
9444 use alloy::sol_types as alloy_sol_types;
9445 {
9446 #[doc(hidden)]
9447 type UnderlyingSolTuple<'a> = (
9448 alloy::sol_types::sol_data::Uint<8>,
9449 alloy::sol_types::sol_data::Uint<256>,
9450 );
9451 #[doc(hidden)]
9452 type UnderlyingRustTuple<'a> = (
9453 u8,
9454 alloy::sol_types::private::primitives::aliases::U256,
9455 );
9456 #[cfg(test)]
9457 #[allow(dead_code, unreachable_patterns)]
9458 fn _type_assertion(
9459 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9460 ) {
9461 match _t {
9462 alloy_sol_types::private::AssertTypeEq::<
9463 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9464 >(_) => {}
9465 }
9466 }
9467 #[automatically_derived]
9468 #[doc(hidden)]
9469 impl ::core::convert::From<strategyParamsCall> for UnderlyingRustTuple<'_> {
9470 fn from(value: strategyParamsCall) -> Self {
9471 (value.quorumNumber, value._1)
9472 }
9473 }
9474 #[automatically_derived]
9475 #[doc(hidden)]
9476 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategyParamsCall {
9477 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9478 Self {
9479 quorumNumber: tuple.0,
9480 _1: tuple.1,
9481 }
9482 }
9483 }
9484 }
9485 {
9486 #[doc(hidden)]
9487 type UnderlyingSolTuple<'a> = (
9488 alloy::sol_types::sol_data::Address,
9489 alloy::sol_types::sol_data::Uint<96>,
9490 );
9491 #[doc(hidden)]
9492 type UnderlyingRustTuple<'a> = (
9493 alloy::sol_types::private::Address,
9494 alloy::sol_types::private::primitives::aliases::U96,
9495 );
9496 #[cfg(test)]
9497 #[allow(dead_code, unreachable_patterns)]
9498 fn _type_assertion(
9499 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9500 ) {
9501 match _t {
9502 alloy_sol_types::private::AssertTypeEq::<
9503 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9504 >(_) => {}
9505 }
9506 }
9507 #[automatically_derived]
9508 #[doc(hidden)]
9509 impl ::core::convert::From<strategyParamsReturn>
9510 for UnderlyingRustTuple<'_> {
9511 fn from(value: strategyParamsReturn) -> Self {
9512 (value.strategy, value.multiplier)
9513 }
9514 }
9515 #[automatically_derived]
9516 #[doc(hidden)]
9517 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9518 for strategyParamsReturn {
9519 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9520 Self {
9521 strategy: tuple.0,
9522 multiplier: tuple.1,
9523 }
9524 }
9525 }
9526 }
9527 impl strategyParamsReturn {
9528 fn _tokenize(
9529 &self,
9530 ) -> <strategyParamsCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
9531 (
9532 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9533 &self.strategy,
9534 ),
9535 <alloy::sol_types::sol_data::Uint<
9536 96,
9537 > as alloy_sol_types::SolType>::tokenize(&self.multiplier),
9538 )
9539 }
9540 }
9541 #[automatically_derived]
9542 impl alloy_sol_types::SolCall for strategyParamsCall {
9543 type Parameters<'a> = (
9544 alloy::sol_types::sol_data::Uint<8>,
9545 alloy::sol_types::sol_data::Uint<256>,
9546 );
9547 type Token<'a> = <Self::Parameters<
9548 'a,
9549 > as alloy_sol_types::SolType>::Token<'a>;
9550 type Return = strategyParamsReturn;
9551 type ReturnTuple<'a> = (
9552 alloy::sol_types::sol_data::Address,
9553 alloy::sol_types::sol_data::Uint<96>,
9554 );
9555 type ReturnToken<'a> = <Self::ReturnTuple<
9556 'a,
9557 > as alloy_sol_types::SolType>::Token<'a>;
9558 const SIGNATURE: &'static str = "strategyParams(uint8,uint256)";
9559 const SELECTOR: [u8; 4] = [8u8, 115u8, 36u8, 97u8];
9560 #[inline]
9561 fn new<'a>(
9562 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9563 ) -> Self {
9564 tuple.into()
9565 }
9566 #[inline]
9567 fn tokenize(&self) -> Self::Token<'_> {
9568 (
9569 <alloy::sol_types::sol_data::Uint<
9570 8,
9571 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
9572 <alloy::sol_types::sol_data::Uint<
9573 256,
9574 > as alloy_sol_types::SolType>::tokenize(&self._1),
9575 )
9576 }
9577 #[inline]
9578 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9579 strategyParamsReturn::_tokenize(ret)
9580 }
9581 #[inline]
9582 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9583 <Self::ReturnTuple<
9584 '_,
9585 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9586 .map(Into::into)
9587 }
9588 #[inline]
9589 fn abi_decode_returns_validate(
9590 data: &[u8],
9591 ) -> alloy_sol_types::Result<Self::Return> {
9592 <Self::ReturnTuple<
9593 '_,
9594 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9595 .map(Into::into)
9596 }
9597 }
9598 };
9599 #[derive(serde::Serialize, serde::Deserialize)]
9600 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9601 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9606 #[derive(Clone)]
9607 pub struct strategyParamsByIndexCall {
9608 #[allow(missing_docs)]
9609 pub quorumNumber: u8,
9610 #[allow(missing_docs)]
9611 pub index: alloy::sol_types::private::primitives::aliases::U256,
9612 }
9613 #[derive(serde::Serialize, serde::Deserialize)]
9614 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9615 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9617 #[derive(Clone)]
9618 pub struct strategyParamsByIndexReturn {
9619 #[allow(missing_docs)]
9620 pub _0: <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
9621 }
9622 #[allow(
9623 non_camel_case_types,
9624 non_snake_case,
9625 clippy::pub_underscore_fields,
9626 clippy::style
9627 )]
9628 const _: () = {
9629 use alloy::sol_types as alloy_sol_types;
9630 {
9631 #[doc(hidden)]
9632 type UnderlyingSolTuple<'a> = (
9633 alloy::sol_types::sol_data::Uint<8>,
9634 alloy::sol_types::sol_data::Uint<256>,
9635 );
9636 #[doc(hidden)]
9637 type UnderlyingRustTuple<'a> = (
9638 u8,
9639 alloy::sol_types::private::primitives::aliases::U256,
9640 );
9641 #[cfg(test)]
9642 #[allow(dead_code, unreachable_patterns)]
9643 fn _type_assertion(
9644 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9645 ) {
9646 match _t {
9647 alloy_sol_types::private::AssertTypeEq::<
9648 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9649 >(_) => {}
9650 }
9651 }
9652 #[automatically_derived]
9653 #[doc(hidden)]
9654 impl ::core::convert::From<strategyParamsByIndexCall>
9655 for UnderlyingRustTuple<'_> {
9656 fn from(value: strategyParamsByIndexCall) -> Self {
9657 (value.quorumNumber, value.index)
9658 }
9659 }
9660 #[automatically_derived]
9661 #[doc(hidden)]
9662 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9663 for strategyParamsByIndexCall {
9664 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9665 Self {
9666 quorumNumber: tuple.0,
9667 index: tuple.1,
9668 }
9669 }
9670 }
9671 }
9672 {
9673 #[doc(hidden)]
9674 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StrategyParams,);
9675 #[doc(hidden)]
9676 type UnderlyingRustTuple<'a> = (
9677 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
9678 );
9679 #[cfg(test)]
9680 #[allow(dead_code, unreachable_patterns)]
9681 fn _type_assertion(
9682 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9683 ) {
9684 match _t {
9685 alloy_sol_types::private::AssertTypeEq::<
9686 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9687 >(_) => {}
9688 }
9689 }
9690 #[automatically_derived]
9691 #[doc(hidden)]
9692 impl ::core::convert::From<strategyParamsByIndexReturn>
9693 for UnderlyingRustTuple<'_> {
9694 fn from(value: strategyParamsByIndexReturn) -> Self {
9695 (value._0,)
9696 }
9697 }
9698 #[automatically_derived]
9699 #[doc(hidden)]
9700 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9701 for strategyParamsByIndexReturn {
9702 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9703 Self { _0: tuple.0 }
9704 }
9705 }
9706 }
9707 #[automatically_derived]
9708 impl alloy_sol_types::SolCall for strategyParamsByIndexCall {
9709 type Parameters<'a> = (
9710 alloy::sol_types::sol_data::Uint<8>,
9711 alloy::sol_types::sol_data::Uint<256>,
9712 );
9713 type Token<'a> = <Self::Parameters<
9714 'a,
9715 > as alloy_sol_types::SolType>::Token<'a>;
9716 type Return = <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType;
9717 type ReturnTuple<'a> = (IStakeRegistryTypes::StrategyParams,);
9718 type ReturnToken<'a> = <Self::ReturnTuple<
9719 'a,
9720 > as alloy_sol_types::SolType>::Token<'a>;
9721 const SIGNATURE: &'static str = "strategyParamsByIndex(uint8,uint256)";
9722 const SELECTOR: [u8; 4] = [173u8, 200u8, 4u8, 218u8];
9723 #[inline]
9724 fn new<'a>(
9725 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9726 ) -> Self {
9727 tuple.into()
9728 }
9729 #[inline]
9730 fn tokenize(&self) -> Self::Token<'_> {
9731 (
9732 <alloy::sol_types::sol_data::Uint<
9733 8,
9734 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
9735 <alloy::sol_types::sol_data::Uint<
9736 256,
9737 > as alloy_sol_types::SolType>::tokenize(&self.index),
9738 )
9739 }
9740 #[inline]
9741 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9742 (
9743 <IStakeRegistryTypes::StrategyParams as alloy_sol_types::SolType>::tokenize(
9744 ret,
9745 ),
9746 )
9747 }
9748 #[inline]
9749 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9750 <Self::ReturnTuple<
9751 '_,
9752 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9753 .map(|r| {
9754 let r: strategyParamsByIndexReturn = r.into();
9755 r._0
9756 })
9757 }
9758 #[inline]
9759 fn abi_decode_returns_validate(
9760 data: &[u8],
9761 ) -> alloy_sol_types::Result<Self::Return> {
9762 <Self::ReturnTuple<
9763 '_,
9764 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9765 .map(|r| {
9766 let r: strategyParamsByIndexReturn = r.into();
9767 r._0
9768 })
9769 }
9770 }
9771 };
9772 #[derive(serde::Serialize, serde::Deserialize)]
9773 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9774 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9779 #[derive(Clone)]
9780 pub struct strategyParamsLengthCall {
9781 #[allow(missing_docs)]
9782 pub quorumNumber: u8,
9783 }
9784 #[derive(serde::Serialize, serde::Deserialize)]
9785 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9786 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9788 #[derive(Clone)]
9789 pub struct strategyParamsLengthReturn {
9790 #[allow(missing_docs)]
9791 pub _0: alloy::sol_types::private::primitives::aliases::U256,
9792 }
9793 #[allow(
9794 non_camel_case_types,
9795 non_snake_case,
9796 clippy::pub_underscore_fields,
9797 clippy::style
9798 )]
9799 const _: () = {
9800 use alloy::sol_types as alloy_sol_types;
9801 {
9802 #[doc(hidden)]
9803 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
9804 #[doc(hidden)]
9805 type UnderlyingRustTuple<'a> = (u8,);
9806 #[cfg(test)]
9807 #[allow(dead_code, unreachable_patterns)]
9808 fn _type_assertion(
9809 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9810 ) {
9811 match _t {
9812 alloy_sol_types::private::AssertTypeEq::<
9813 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9814 >(_) => {}
9815 }
9816 }
9817 #[automatically_derived]
9818 #[doc(hidden)]
9819 impl ::core::convert::From<strategyParamsLengthCall>
9820 for UnderlyingRustTuple<'_> {
9821 fn from(value: strategyParamsLengthCall) -> Self {
9822 (value.quorumNumber,)
9823 }
9824 }
9825 #[automatically_derived]
9826 #[doc(hidden)]
9827 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9828 for strategyParamsLengthCall {
9829 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9830 Self { quorumNumber: tuple.0 }
9831 }
9832 }
9833 }
9834 {
9835 #[doc(hidden)]
9836 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
9837 #[doc(hidden)]
9838 type UnderlyingRustTuple<'a> = (
9839 alloy::sol_types::private::primitives::aliases::U256,
9840 );
9841 #[cfg(test)]
9842 #[allow(dead_code, unreachable_patterns)]
9843 fn _type_assertion(
9844 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9845 ) {
9846 match _t {
9847 alloy_sol_types::private::AssertTypeEq::<
9848 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9849 >(_) => {}
9850 }
9851 }
9852 #[automatically_derived]
9853 #[doc(hidden)]
9854 impl ::core::convert::From<strategyParamsLengthReturn>
9855 for UnderlyingRustTuple<'_> {
9856 fn from(value: strategyParamsLengthReturn) -> Self {
9857 (value._0,)
9858 }
9859 }
9860 #[automatically_derived]
9861 #[doc(hidden)]
9862 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9863 for strategyParamsLengthReturn {
9864 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9865 Self { _0: tuple.0 }
9866 }
9867 }
9868 }
9869 #[automatically_derived]
9870 impl alloy_sol_types::SolCall for strategyParamsLengthCall {
9871 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
9872 type Token<'a> = <Self::Parameters<
9873 'a,
9874 > as alloy_sol_types::SolType>::Token<'a>;
9875 type Return = alloy::sol_types::private::primitives::aliases::U256;
9876 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
9877 type ReturnToken<'a> = <Self::ReturnTuple<
9878 'a,
9879 > as alloy_sol_types::SolType>::Token<'a>;
9880 const SIGNATURE: &'static str = "strategyParamsLength(uint8)";
9881 const SELECTOR: [u8; 4] = [60u8, 165u8, 165u8, 245u8];
9882 #[inline]
9883 fn new<'a>(
9884 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9885 ) -> Self {
9886 tuple.into()
9887 }
9888 #[inline]
9889 fn tokenize(&self) -> Self::Token<'_> {
9890 (
9891 <alloy::sol_types::sol_data::Uint<
9892 8,
9893 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
9894 )
9895 }
9896 #[inline]
9897 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9898 (
9899 <alloy::sol_types::sol_data::Uint<
9900 256,
9901 > as alloy_sol_types::SolType>::tokenize(ret),
9902 )
9903 }
9904 #[inline]
9905 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9906 <Self::ReturnTuple<
9907 '_,
9908 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9909 .map(|r| {
9910 let r: strategyParamsLengthReturn = r.into();
9911 r._0
9912 })
9913 }
9914 #[inline]
9915 fn abi_decode_returns_validate(
9916 data: &[u8],
9917 ) -> alloy_sol_types::Result<Self::Return> {
9918 <Self::ReturnTuple<
9919 '_,
9920 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9921 .map(|r| {
9922 let r: strategyParamsLengthReturn = r.into();
9923 r._0
9924 })
9925 }
9926 }
9927 };
9928 #[derive(serde::Serialize, serde::Deserialize)]
9929 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9930 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9935 #[derive(Clone)]
9936 pub struct updateOperatorsStakeCall {
9937 #[allow(missing_docs)]
9938 pub operators: alloy::sol_types::private::Vec<
9939 alloy::sol_types::private::Address,
9940 >,
9941 #[allow(missing_docs)]
9942 pub operatorIds: alloy::sol_types::private::Vec<
9943 alloy::sol_types::private::FixedBytes<32>,
9944 >,
9945 #[allow(missing_docs)]
9946 pub quorumNumber: u8,
9947 }
9948 #[derive(serde::Serialize, serde::Deserialize)]
9949 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9950 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9952 #[derive(Clone)]
9953 pub struct updateOperatorsStakeReturn {
9954 #[allow(missing_docs)]
9955 pub _0: alloy::sol_types::private::Vec<bool>,
9956 }
9957 #[allow(
9958 non_camel_case_types,
9959 non_snake_case,
9960 clippy::pub_underscore_fields,
9961 clippy::style
9962 )]
9963 const _: () = {
9964 use alloy::sol_types as alloy_sol_types;
9965 {
9966 #[doc(hidden)]
9967 type UnderlyingSolTuple<'a> = (
9968 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9969 alloy::sol_types::sol_data::Array<
9970 alloy::sol_types::sol_data::FixedBytes<32>,
9971 >,
9972 alloy::sol_types::sol_data::Uint<8>,
9973 );
9974 #[doc(hidden)]
9975 type UnderlyingRustTuple<'a> = (
9976 alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
9977 alloy::sol_types::private::Vec<
9978 alloy::sol_types::private::FixedBytes<32>,
9979 >,
9980 u8,
9981 );
9982 #[cfg(test)]
9983 #[allow(dead_code, unreachable_patterns)]
9984 fn _type_assertion(
9985 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9986 ) {
9987 match _t {
9988 alloy_sol_types::private::AssertTypeEq::<
9989 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9990 >(_) => {}
9991 }
9992 }
9993 #[automatically_derived]
9994 #[doc(hidden)]
9995 impl ::core::convert::From<updateOperatorsStakeCall>
9996 for UnderlyingRustTuple<'_> {
9997 fn from(value: updateOperatorsStakeCall) -> Self {
9998 (value.operators, value.operatorIds, value.quorumNumber)
9999 }
10000 }
10001 #[automatically_derived]
10002 #[doc(hidden)]
10003 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10004 for updateOperatorsStakeCall {
10005 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10006 Self {
10007 operators: tuple.0,
10008 operatorIds: tuple.1,
10009 quorumNumber: tuple.2,
10010 }
10011 }
10012 }
10013 }
10014 {
10015 #[doc(hidden)]
10016 type UnderlyingSolTuple<'a> = (
10017 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bool>,
10018 );
10019 #[doc(hidden)]
10020 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Vec<bool>,);
10021 #[cfg(test)]
10022 #[allow(dead_code, unreachable_patterns)]
10023 fn _type_assertion(
10024 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10025 ) {
10026 match _t {
10027 alloy_sol_types::private::AssertTypeEq::<
10028 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10029 >(_) => {}
10030 }
10031 }
10032 #[automatically_derived]
10033 #[doc(hidden)]
10034 impl ::core::convert::From<updateOperatorsStakeReturn>
10035 for UnderlyingRustTuple<'_> {
10036 fn from(value: updateOperatorsStakeReturn) -> Self {
10037 (value._0,)
10038 }
10039 }
10040 #[automatically_derived]
10041 #[doc(hidden)]
10042 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10043 for updateOperatorsStakeReturn {
10044 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10045 Self { _0: tuple.0 }
10046 }
10047 }
10048 }
10049 #[automatically_derived]
10050 impl alloy_sol_types::SolCall for updateOperatorsStakeCall {
10051 type Parameters<'a> = (
10052 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
10053 alloy::sol_types::sol_data::Array<
10054 alloy::sol_types::sol_data::FixedBytes<32>,
10055 >,
10056 alloy::sol_types::sol_data::Uint<8>,
10057 );
10058 type Token<'a> = <Self::Parameters<
10059 'a,
10060 > as alloy_sol_types::SolType>::Token<'a>;
10061 type Return = alloy::sol_types::private::Vec<bool>;
10062 type ReturnTuple<'a> = (
10063 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bool>,
10064 );
10065 type ReturnToken<'a> = <Self::ReturnTuple<
10066 'a,
10067 > as alloy_sol_types::SolType>::Token<'a>;
10068 const SIGNATURE: &'static str = "updateOperatorsStake(address[],bytes32[],uint8)";
10069 const SELECTOR: [u8; 4] = [108u8, 63u8, 180u8, 191u8];
10070 #[inline]
10071 fn new<'a>(
10072 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10073 ) -> Self {
10074 tuple.into()
10075 }
10076 #[inline]
10077 fn tokenize(&self) -> Self::Token<'_> {
10078 (
10079 <alloy::sol_types::sol_data::Array<
10080 alloy::sol_types::sol_data::Address,
10081 > as alloy_sol_types::SolType>::tokenize(&self.operators),
10082 <alloy::sol_types::sol_data::Array<
10083 alloy::sol_types::sol_data::FixedBytes<32>,
10084 > as alloy_sol_types::SolType>::tokenize(&self.operatorIds),
10085 <alloy::sol_types::sol_data::Uint<
10086 8,
10087 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
10088 )
10089 }
10090 #[inline]
10091 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10092 (
10093 <alloy::sol_types::sol_data::Array<
10094 alloy::sol_types::sol_data::Bool,
10095 > as alloy_sol_types::SolType>::tokenize(ret),
10096 )
10097 }
10098 #[inline]
10099 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10100 <Self::ReturnTuple<
10101 '_,
10102 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10103 .map(|r| {
10104 let r: updateOperatorsStakeReturn = r.into();
10105 r._0
10106 })
10107 }
10108 #[inline]
10109 fn abi_decode_returns_validate(
10110 data: &[u8],
10111 ) -> alloy_sol_types::Result<Self::Return> {
10112 <Self::ReturnTuple<
10113 '_,
10114 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10115 .map(|r| {
10116 let r: updateOperatorsStakeReturn = r.into();
10117 r._0
10118 })
10119 }
10120 }
10121 };
10122 #[derive(serde::Serialize, serde::Deserialize)]
10123 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10124 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10129 #[derive(Clone)]
10130 pub struct weightOfOperatorForQuorumCall {
10131 #[allow(missing_docs)]
10132 pub quorumNumber: u8,
10133 #[allow(missing_docs)]
10134 pub operator: alloy::sol_types::private::Address,
10135 }
10136 #[derive(serde::Serialize, serde::Deserialize)]
10137 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10138 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10140 #[derive(Clone)]
10141 pub struct weightOfOperatorForQuorumReturn {
10142 #[allow(missing_docs)]
10143 pub _0: alloy::sol_types::private::primitives::aliases::U96,
10144 }
10145 #[allow(
10146 non_camel_case_types,
10147 non_snake_case,
10148 clippy::pub_underscore_fields,
10149 clippy::style
10150 )]
10151 const _: () = {
10152 use alloy::sol_types as alloy_sol_types;
10153 {
10154 #[doc(hidden)]
10155 type UnderlyingSolTuple<'a> = (
10156 alloy::sol_types::sol_data::Uint<8>,
10157 alloy::sol_types::sol_data::Address,
10158 );
10159 #[doc(hidden)]
10160 type UnderlyingRustTuple<'a> = (u8, alloy::sol_types::private::Address);
10161 #[cfg(test)]
10162 #[allow(dead_code, unreachable_patterns)]
10163 fn _type_assertion(
10164 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10165 ) {
10166 match _t {
10167 alloy_sol_types::private::AssertTypeEq::<
10168 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10169 >(_) => {}
10170 }
10171 }
10172 #[automatically_derived]
10173 #[doc(hidden)]
10174 impl ::core::convert::From<weightOfOperatorForQuorumCall>
10175 for UnderlyingRustTuple<'_> {
10176 fn from(value: weightOfOperatorForQuorumCall) -> Self {
10177 (value.quorumNumber, value.operator)
10178 }
10179 }
10180 #[automatically_derived]
10181 #[doc(hidden)]
10182 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10183 for weightOfOperatorForQuorumCall {
10184 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10185 Self {
10186 quorumNumber: tuple.0,
10187 operator: tuple.1,
10188 }
10189 }
10190 }
10191 }
10192 {
10193 #[doc(hidden)]
10194 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
10195 #[doc(hidden)]
10196 type UnderlyingRustTuple<'a> = (
10197 alloy::sol_types::private::primitives::aliases::U96,
10198 );
10199 #[cfg(test)]
10200 #[allow(dead_code, unreachable_patterns)]
10201 fn _type_assertion(
10202 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10203 ) {
10204 match _t {
10205 alloy_sol_types::private::AssertTypeEq::<
10206 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10207 >(_) => {}
10208 }
10209 }
10210 #[automatically_derived]
10211 #[doc(hidden)]
10212 impl ::core::convert::From<weightOfOperatorForQuorumReturn>
10213 for UnderlyingRustTuple<'_> {
10214 fn from(value: weightOfOperatorForQuorumReturn) -> Self {
10215 (value._0,)
10216 }
10217 }
10218 #[automatically_derived]
10219 #[doc(hidden)]
10220 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10221 for weightOfOperatorForQuorumReturn {
10222 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10223 Self { _0: tuple.0 }
10224 }
10225 }
10226 }
10227 #[automatically_derived]
10228 impl alloy_sol_types::SolCall for weightOfOperatorForQuorumCall {
10229 type Parameters<'a> = (
10230 alloy::sol_types::sol_data::Uint<8>,
10231 alloy::sol_types::sol_data::Address,
10232 );
10233 type Token<'a> = <Self::Parameters<
10234 'a,
10235 > as alloy_sol_types::SolType>::Token<'a>;
10236 type Return = alloy::sol_types::private::primitives::aliases::U96;
10237 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
10238 type ReturnToken<'a> = <Self::ReturnTuple<
10239 'a,
10240 > as alloy_sol_types::SolType>::Token<'a>;
10241 const SIGNATURE: &'static str = "weightOfOperatorForQuorum(uint8,address)";
10242 const SELECTOR: [u8; 4] = [31u8, 155u8, 116u8, 224u8];
10243 #[inline]
10244 fn new<'a>(
10245 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10246 ) -> Self {
10247 tuple.into()
10248 }
10249 #[inline]
10250 fn tokenize(&self) -> Self::Token<'_> {
10251 (
10252 <alloy::sol_types::sol_data::Uint<
10253 8,
10254 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
10255 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10256 &self.operator,
10257 ),
10258 )
10259 }
10260 #[inline]
10261 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10262 (
10263 <alloy::sol_types::sol_data::Uint<
10264 96,
10265 > as alloy_sol_types::SolType>::tokenize(ret),
10266 )
10267 }
10268 #[inline]
10269 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10270 <Self::ReturnTuple<
10271 '_,
10272 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10273 .map(|r| {
10274 let r: weightOfOperatorForQuorumReturn = r.into();
10275 r._0
10276 })
10277 }
10278 #[inline]
10279 fn abi_decode_returns_validate(
10280 data: &[u8],
10281 ) -> alloy_sol_types::Result<Self::Return> {
10282 <Self::ReturnTuple<
10283 '_,
10284 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10285 .map(|r| {
10286 let r: weightOfOperatorForQuorumReturn = r.into();
10287 r._0
10288 })
10289 }
10290 }
10291 };
10292 #[derive(serde::Serialize, serde::Deserialize)]
10294 #[derive()]
10295 pub enum StakeRegistryCalls {
10296 #[allow(missing_docs)]
10297 MAX_WEIGHING_FUNCTION_LENGTH(MAX_WEIGHING_FUNCTION_LENGTHCall),
10298 #[allow(missing_docs)]
10299 WEIGHTING_DIVISOR(WEIGHTING_DIVISORCall),
10300 #[allow(missing_docs)]
10301 addStrategies(addStrategiesCall),
10302 #[allow(missing_docs)]
10303 allocationManager(allocationManagerCall),
10304 #[allow(missing_docs)]
10305 avsDirectory(avsDirectoryCall),
10306 #[allow(missing_docs)]
10307 delegation(delegationCall),
10308 #[allow(missing_docs)]
10309 deregisterOperator(deregisterOperatorCall),
10310 #[allow(missing_docs)]
10311 getCurrentStake(getCurrentStakeCall),
10312 #[allow(missing_docs)]
10313 getCurrentTotalStake(getCurrentTotalStakeCall),
10314 #[allow(missing_docs)]
10315 getLatestStakeUpdate(getLatestStakeUpdateCall),
10316 #[allow(missing_docs)]
10317 getStakeAtBlockNumber(getStakeAtBlockNumberCall),
10318 #[allow(missing_docs)]
10319 getStakeAtBlockNumberAndIndex(getStakeAtBlockNumberAndIndexCall),
10320 #[allow(missing_docs)]
10321 getStakeHistory(getStakeHistoryCall),
10322 #[allow(missing_docs)]
10323 getStakeHistoryLength(getStakeHistoryLengthCall),
10324 #[allow(missing_docs)]
10325 getStakeUpdateAtIndex(getStakeUpdateAtIndexCall),
10326 #[allow(missing_docs)]
10327 getStakeUpdateIndexAtBlockNumber(getStakeUpdateIndexAtBlockNumberCall),
10328 #[allow(missing_docs)]
10329 getTotalStakeAtBlockNumberFromIndex(getTotalStakeAtBlockNumberFromIndexCall),
10330 #[allow(missing_docs)]
10331 getTotalStakeHistoryLength(getTotalStakeHistoryLengthCall),
10332 #[allow(missing_docs)]
10333 getTotalStakeIndicesAtBlockNumber(getTotalStakeIndicesAtBlockNumberCall),
10334 #[allow(missing_docs)]
10335 getTotalStakeUpdateAtIndex(getTotalStakeUpdateAtIndexCall),
10336 #[allow(missing_docs)]
10337 initializeDelegatedStakeQuorum(initializeDelegatedStakeQuorumCall),
10338 #[allow(missing_docs)]
10339 initializeSlashableStakeQuorum(initializeSlashableStakeQuorumCall),
10340 #[allow(missing_docs)]
10341 minimumStakeForQuorum(minimumStakeForQuorumCall),
10342 #[allow(missing_docs)]
10343 modifyStrategyParams(modifyStrategyParamsCall),
10344 #[allow(missing_docs)]
10345 registerOperator(registerOperatorCall),
10346 #[allow(missing_docs)]
10347 registryCoordinator(registryCoordinatorCall),
10348 #[allow(missing_docs)]
10349 removeStrategies(removeStrategiesCall),
10350 #[allow(missing_docs)]
10351 setMinimumStakeForQuorum(setMinimumStakeForQuorumCall),
10352 #[allow(missing_docs)]
10353 setSlashableStakeLookahead(setSlashableStakeLookaheadCall),
10354 #[allow(missing_docs)]
10355 slashableStakeLookAheadPerQuorum(slashableStakeLookAheadPerQuorumCall),
10356 #[allow(missing_docs)]
10357 stakeTypePerQuorum(stakeTypePerQuorumCall),
10358 #[allow(missing_docs)]
10359 strategiesPerQuorum(strategiesPerQuorumCall),
10360 #[allow(missing_docs)]
10361 strategyParams(strategyParamsCall),
10362 #[allow(missing_docs)]
10363 strategyParamsByIndex(strategyParamsByIndexCall),
10364 #[allow(missing_docs)]
10365 strategyParamsLength(strategyParamsLengthCall),
10366 #[allow(missing_docs)]
10367 updateOperatorsStake(updateOperatorsStakeCall),
10368 #[allow(missing_docs)]
10369 weightOfOperatorForQuorum(weightOfOperatorForQuorumCall),
10370 }
10371 #[automatically_derived]
10372 impl StakeRegistryCalls {
10373 pub const SELECTORS: &'static [[u8; 4usize]] = &[
10380 [4u8, 145u8, 180u8, 28u8],
10381 [8u8, 115u8, 36u8, 97u8],
10382 [31u8, 155u8, 116u8, 224u8],
10383 [32u8, 182u8, 98u8, 152u8],
10384 [37u8, 80u8, 71u8, 119u8],
10385 [44u8, 217u8, 89u8, 64u8],
10386 [60u8, 165u8, 165u8, 245u8],
10387 [75u8, 210u8, 110u8, 9u8],
10388 [84u8, 1u8, 237u8, 39u8],
10389 [94u8, 90u8, 103u8, 117u8],
10390 [95u8, 31u8, 45u8, 119u8],
10391 [105u8, 127u8, 189u8, 147u8],
10392 [107u8, 58u8, 167u8, 46u8],
10393 [108u8, 63u8, 180u8, 191u8],
10394 [109u8, 20u8, 169u8, 135u8],
10395 [117u8, 212u8, 23u8, 58u8],
10396 [124u8, 23u8, 35u8, 71u8],
10397 [129u8, 192u8, 117u8, 2u8],
10398 [154u8, 180u8, 214u8, 255u8],
10399 [159u8, 60u8, 207u8, 101u8],
10400 [172u8, 107u8, 251u8, 3u8],
10401 [173u8, 200u8, 4u8, 218u8],
10402 [182u8, 144u8, 75u8, 120u8],
10403 [188u8, 154u8, 64u8, 195u8],
10404 [189u8, 41u8, 184u8, 205u8],
10405 [196u8, 103u8, 120u8, 165u8],
10406 [198u8, 1u8, 82u8, 125u8],
10407 [200u8, 41u8, 76u8, 86u8],
10408 [202u8, 138u8, 167u8, 199u8],
10409 [204u8, 90u8, 124u8, 32u8],
10410 [213u8, 236u8, 204u8, 5u8],
10411 [221u8, 152u8, 70u8, 185u8],
10412 [223u8, 92u8, 247u8, 35u8],
10413 [224u8, 134u8, 173u8, 179u8],
10414 [242u8, 190u8, 148u8, 174u8],
10415 [248u8, 81u8, 225u8, 152u8],
10416 [250u8, 40u8, 198u8, 39u8],
10417 ];
10418 }
10419 #[automatically_derived]
10420 impl alloy_sol_types::SolInterface for StakeRegistryCalls {
10421 const NAME: &'static str = "StakeRegistryCalls";
10422 const MIN_DATA_LENGTH: usize = 0usize;
10423 const COUNT: usize = 37usize;
10424 #[inline]
10425 fn selector(&self) -> [u8; 4] {
10426 match self {
10427 Self::MAX_WEIGHING_FUNCTION_LENGTH(_) => {
10428 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::SELECTOR
10429 }
10430 Self::WEIGHTING_DIVISOR(_) => {
10431 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::SELECTOR
10432 }
10433 Self::addStrategies(_) => {
10434 <addStrategiesCall as alloy_sol_types::SolCall>::SELECTOR
10435 }
10436 Self::allocationManager(_) => {
10437 <allocationManagerCall as alloy_sol_types::SolCall>::SELECTOR
10438 }
10439 Self::avsDirectory(_) => {
10440 <avsDirectoryCall as alloy_sol_types::SolCall>::SELECTOR
10441 }
10442 Self::delegation(_) => {
10443 <delegationCall as alloy_sol_types::SolCall>::SELECTOR
10444 }
10445 Self::deregisterOperator(_) => {
10446 <deregisterOperatorCall as alloy_sol_types::SolCall>::SELECTOR
10447 }
10448 Self::getCurrentStake(_) => {
10449 <getCurrentStakeCall as alloy_sol_types::SolCall>::SELECTOR
10450 }
10451 Self::getCurrentTotalStake(_) => {
10452 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::SELECTOR
10453 }
10454 Self::getLatestStakeUpdate(_) => {
10455 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::SELECTOR
10456 }
10457 Self::getStakeAtBlockNumber(_) => {
10458 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::SELECTOR
10459 }
10460 Self::getStakeAtBlockNumberAndIndex(_) => {
10461 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::SELECTOR
10462 }
10463 Self::getStakeHistory(_) => {
10464 <getStakeHistoryCall as alloy_sol_types::SolCall>::SELECTOR
10465 }
10466 Self::getStakeHistoryLength(_) => {
10467 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::SELECTOR
10468 }
10469 Self::getStakeUpdateAtIndex(_) => {
10470 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::SELECTOR
10471 }
10472 Self::getStakeUpdateIndexAtBlockNumber(_) => {
10473 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::SELECTOR
10474 }
10475 Self::getTotalStakeAtBlockNumberFromIndex(_) => {
10476 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::SELECTOR
10477 }
10478 Self::getTotalStakeHistoryLength(_) => {
10479 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::SELECTOR
10480 }
10481 Self::getTotalStakeIndicesAtBlockNumber(_) => {
10482 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::SELECTOR
10483 }
10484 Self::getTotalStakeUpdateAtIndex(_) => {
10485 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::SELECTOR
10486 }
10487 Self::initializeDelegatedStakeQuorum(_) => {
10488 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::SELECTOR
10489 }
10490 Self::initializeSlashableStakeQuorum(_) => {
10491 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::SELECTOR
10492 }
10493 Self::minimumStakeForQuorum(_) => {
10494 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::SELECTOR
10495 }
10496 Self::modifyStrategyParams(_) => {
10497 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::SELECTOR
10498 }
10499 Self::registerOperator(_) => {
10500 <registerOperatorCall as alloy_sol_types::SolCall>::SELECTOR
10501 }
10502 Self::registryCoordinator(_) => {
10503 <registryCoordinatorCall as alloy_sol_types::SolCall>::SELECTOR
10504 }
10505 Self::removeStrategies(_) => {
10506 <removeStrategiesCall as alloy_sol_types::SolCall>::SELECTOR
10507 }
10508 Self::setMinimumStakeForQuorum(_) => {
10509 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::SELECTOR
10510 }
10511 Self::setSlashableStakeLookahead(_) => {
10512 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::SELECTOR
10513 }
10514 Self::slashableStakeLookAheadPerQuorum(_) => {
10515 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::SELECTOR
10516 }
10517 Self::stakeTypePerQuorum(_) => {
10518 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::SELECTOR
10519 }
10520 Self::strategiesPerQuorum(_) => {
10521 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::SELECTOR
10522 }
10523 Self::strategyParams(_) => {
10524 <strategyParamsCall as alloy_sol_types::SolCall>::SELECTOR
10525 }
10526 Self::strategyParamsByIndex(_) => {
10527 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::SELECTOR
10528 }
10529 Self::strategyParamsLength(_) => {
10530 <strategyParamsLengthCall as alloy_sol_types::SolCall>::SELECTOR
10531 }
10532 Self::updateOperatorsStake(_) => {
10533 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::SELECTOR
10534 }
10535 Self::weightOfOperatorForQuorum(_) => {
10536 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::SELECTOR
10537 }
10538 }
10539 }
10540 #[inline]
10541 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
10542 Self::SELECTORS.get(i).copied()
10543 }
10544 #[inline]
10545 fn valid_selector(selector: [u8; 4]) -> bool {
10546 Self::SELECTORS.binary_search(&selector).is_ok()
10547 }
10548 #[inline]
10549 #[allow(non_snake_case)]
10550 fn abi_decode_raw(
10551 selector: [u8; 4],
10552 data: &[u8],
10553 ) -> alloy_sol_types::Result<Self> {
10554 static DECODE_SHIMS: &[fn(
10555 &[u8],
10556 ) -> alloy_sol_types::Result<StakeRegistryCalls>] = &[
10557 {
10558 fn getTotalStakeHistoryLength(
10559 data: &[u8],
10560 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10561 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_decode_raw(
10562 data,
10563 )
10564 .map(StakeRegistryCalls::getTotalStakeHistoryLength)
10565 }
10566 getTotalStakeHistoryLength
10567 },
10568 {
10569 fn strategyParams(
10570 data: &[u8],
10571 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10572 <strategyParamsCall as alloy_sol_types::SolCall>::abi_decode_raw(
10573 data,
10574 )
10575 .map(StakeRegistryCalls::strategyParams)
10576 }
10577 strategyParams
10578 },
10579 {
10580 fn weightOfOperatorForQuorum(
10581 data: &[u8],
10582 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10583 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
10584 data,
10585 )
10586 .map(StakeRegistryCalls::weightOfOperatorForQuorum)
10587 }
10588 weightOfOperatorForQuorum
10589 },
10590 {
10591 fn modifyStrategyParams(
10592 data: &[u8],
10593 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10594 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::abi_decode_raw(
10595 data,
10596 )
10597 .map(StakeRegistryCalls::modifyStrategyParams)
10598 }
10599 modifyStrategyParams
10600 },
10601 {
10602 fn registerOperator(
10603 data: &[u8],
10604 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10605 <registerOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
10606 data,
10607 )
10608 .map(StakeRegistryCalls::registerOperator)
10609 }
10610 registerOperator
10611 },
10612 {
10613 fn getStakeHistory(
10614 data: &[u8],
10615 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10616 <getStakeHistoryCall as alloy_sol_types::SolCall>::abi_decode_raw(
10617 data,
10618 )
10619 .map(StakeRegistryCalls::getStakeHistory)
10620 }
10621 getStakeHistory
10622 },
10623 {
10624 fn strategyParamsLength(
10625 data: &[u8],
10626 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10627 <strategyParamsLengthCall as alloy_sol_types::SolCall>::abi_decode_raw(
10628 data,
10629 )
10630 .map(StakeRegistryCalls::strategyParamsLength)
10631 }
10632 strategyParamsLength
10633 },
10634 {
10635 fn getStakeHistoryLength(
10636 data: &[u8],
10637 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10638 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_decode_raw(
10639 data,
10640 )
10641 .map(StakeRegistryCalls::getStakeHistoryLength)
10642 }
10643 getStakeHistoryLength
10644 },
10645 {
10646 fn getCurrentStake(
10647 data: &[u8],
10648 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10649 <getCurrentStakeCall as alloy_sol_types::SolCall>::abi_decode_raw(
10650 data,
10651 )
10652 .map(StakeRegistryCalls::getCurrentStake)
10653 }
10654 getCurrentStake
10655 },
10656 {
10657 fn WEIGHTING_DIVISOR(
10658 data: &[u8],
10659 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10660 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::abi_decode_raw(
10661 data,
10662 )
10663 .map(StakeRegistryCalls::WEIGHTING_DIVISOR)
10664 }
10665 WEIGHTING_DIVISOR
10666 },
10667 {
10668 fn removeStrategies(
10669 data: &[u8],
10670 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10671 <removeStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw(
10672 data,
10673 )
10674 .map(StakeRegistryCalls::removeStrategies)
10675 }
10676 removeStrategies
10677 },
10678 {
10679 fn stakeTypePerQuorum(
10680 data: &[u8],
10681 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10682 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
10683 data,
10684 )
10685 .map(StakeRegistryCalls::stakeTypePerQuorum)
10686 }
10687 stakeTypePerQuorum
10688 },
10689 {
10690 fn avsDirectory(
10691 data: &[u8],
10692 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10693 <avsDirectoryCall as alloy_sol_types::SolCall>::abi_decode_raw(
10694 data,
10695 )
10696 .map(StakeRegistryCalls::avsDirectory)
10697 }
10698 avsDirectory
10699 },
10700 {
10701 fn updateOperatorsStake(
10702 data: &[u8],
10703 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10704 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::abi_decode_raw(
10705 data,
10706 )
10707 .map(StakeRegistryCalls::updateOperatorsStake)
10708 }
10709 updateOperatorsStake
10710 },
10711 {
10712 fn registryCoordinator(
10713 data: &[u8],
10714 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10715 <registryCoordinatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
10716 data,
10717 )
10718 .map(StakeRegistryCalls::registryCoordinator)
10719 }
10720 registryCoordinator
10721 },
10722 {
10723 fn initializeDelegatedStakeQuorum(
10724 data: &[u8],
10725 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10726 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
10727 data,
10728 )
10729 .map(StakeRegistryCalls::initializeDelegatedStakeQuorum)
10730 }
10731 initializeDelegatedStakeQuorum
10732 },
10733 {
10734 fn MAX_WEIGHING_FUNCTION_LENGTH(
10735 data: &[u8],
10736 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10737 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::abi_decode_raw(
10738 data,
10739 )
10740 .map(StakeRegistryCalls::MAX_WEIGHING_FUNCTION_LENGTH)
10741 }
10742 MAX_WEIGHING_FUNCTION_LENGTH
10743 },
10744 {
10745 fn getTotalStakeIndicesAtBlockNumber(
10746 data: &[u8],
10747 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10748 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw(
10749 data,
10750 )
10751 .map(StakeRegistryCalls::getTotalStakeIndicesAtBlockNumber)
10752 }
10753 getTotalStakeIndicesAtBlockNumber
10754 },
10755 {
10756 fn slashableStakeLookAheadPerQuorum(
10757 data: &[u8],
10758 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10759 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
10760 data,
10761 )
10762 .map(StakeRegistryCalls::slashableStakeLookAheadPerQuorum)
10763 }
10764 slashableStakeLookAheadPerQuorum
10765 },
10766 {
10767 fn strategiesPerQuorum(
10768 data: &[u8],
10769 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10770 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
10771 data,
10772 )
10773 .map(StakeRegistryCalls::strategiesPerQuorum)
10774 }
10775 strategiesPerQuorum
10776 },
10777 {
10778 fn getStakeUpdateAtIndex(
10779 data: &[u8],
10780 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10781 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
10782 data,
10783 )
10784 .map(StakeRegistryCalls::getStakeUpdateAtIndex)
10785 }
10786 getStakeUpdateAtIndex
10787 },
10788 {
10789 fn strategyParamsByIndex(
10790 data: &[u8],
10791 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10792 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
10793 data,
10794 )
10795 .map(StakeRegistryCalls::strategyParamsByIndex)
10796 }
10797 strategyParamsByIndex
10798 },
10799 {
10800 fn getTotalStakeUpdateAtIndex(
10801 data: &[u8],
10802 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10803 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
10804 data,
10805 )
10806 .map(StakeRegistryCalls::getTotalStakeUpdateAtIndex)
10807 }
10808 getTotalStakeUpdateAtIndex
10809 },
10810 {
10811 fn setMinimumStakeForQuorum(
10812 data: &[u8],
10813 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10814 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
10815 data,
10816 )
10817 .map(StakeRegistryCalls::setMinimumStakeForQuorum)
10818 }
10819 setMinimumStakeForQuorum
10820 },
10821 {
10822 fn deregisterOperator(
10823 data: &[u8],
10824 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10825 <deregisterOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
10826 data,
10827 )
10828 .map(StakeRegistryCalls::deregisterOperator)
10829 }
10830 deregisterOperator
10831 },
10832 {
10833 fn minimumStakeForQuorum(
10834 data: &[u8],
10835 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10836 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
10837 data,
10838 )
10839 .map(StakeRegistryCalls::minimumStakeForQuorum)
10840 }
10841 minimumStakeForQuorum
10842 },
10843 {
10844 fn addStrategies(
10845 data: &[u8],
10846 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10847 <addStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw(
10848 data,
10849 )
10850 .map(StakeRegistryCalls::addStrategies)
10851 }
10852 addStrategies
10853 },
10854 {
10855 fn getTotalStakeAtBlockNumberFromIndex(
10856 data: &[u8],
10857 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10858 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
10859 data,
10860 )
10861 .map(StakeRegistryCalls::getTotalStakeAtBlockNumberFromIndex)
10862 }
10863 getTotalStakeAtBlockNumberFromIndex
10864 },
10865 {
10866 fn allocationManager(
10867 data: &[u8],
10868 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10869 <allocationManagerCall as alloy_sol_types::SolCall>::abi_decode_raw(
10870 data,
10871 )
10872 .map(StakeRegistryCalls::allocationManager)
10873 }
10874 allocationManager
10875 },
10876 {
10877 fn initializeSlashableStakeQuorum(
10878 data: &[u8],
10879 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10880 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
10881 data,
10882 )
10883 .map(StakeRegistryCalls::initializeSlashableStakeQuorum)
10884 }
10885 initializeSlashableStakeQuorum
10886 },
10887 {
10888 fn getCurrentTotalStake(
10889 data: &[u8],
10890 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10891 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::abi_decode_raw(
10892 data,
10893 )
10894 .map(StakeRegistryCalls::getCurrentTotalStake)
10895 }
10896 getCurrentTotalStake
10897 },
10898 {
10899 fn getStakeUpdateIndexAtBlockNumber(
10900 data: &[u8],
10901 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10902 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw(
10903 data,
10904 )
10905 .map(StakeRegistryCalls::getStakeUpdateIndexAtBlockNumber)
10906 }
10907 getStakeUpdateIndexAtBlockNumber
10908 },
10909 {
10910 fn delegation(
10911 data: &[u8],
10912 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10913 <delegationCall as alloy_sol_types::SolCall>::abi_decode_raw(
10914 data,
10915 )
10916 .map(StakeRegistryCalls::delegation)
10917 }
10918 delegation
10919 },
10920 {
10921 fn setSlashableStakeLookahead(
10922 data: &[u8],
10923 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10924 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::abi_decode_raw(
10925 data,
10926 )
10927 .map(StakeRegistryCalls::setSlashableStakeLookahead)
10928 }
10929 setSlashableStakeLookahead
10930 },
10931 {
10932 fn getStakeAtBlockNumberAndIndex(
10933 data: &[u8],
10934 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10935 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
10936 data,
10937 )
10938 .map(StakeRegistryCalls::getStakeAtBlockNumberAndIndex)
10939 }
10940 getStakeAtBlockNumberAndIndex
10941 },
10942 {
10943 fn getLatestStakeUpdate(
10944 data: &[u8],
10945 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10946 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::abi_decode_raw(
10947 data,
10948 )
10949 .map(StakeRegistryCalls::getLatestStakeUpdate)
10950 }
10951 getLatestStakeUpdate
10952 },
10953 {
10954 fn getStakeAtBlockNumber(
10955 data: &[u8],
10956 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10957 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw(
10958 data,
10959 )
10960 .map(StakeRegistryCalls::getStakeAtBlockNumber)
10961 }
10962 getStakeAtBlockNumber
10963 },
10964 ];
10965 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
10966 return Err(
10967 alloy_sol_types::Error::unknown_selector(
10968 <Self as alloy_sol_types::SolInterface>::NAME,
10969 selector,
10970 ),
10971 );
10972 };
10973 DECODE_SHIMS[idx](data)
10974 }
10975 #[inline]
10976 #[allow(non_snake_case)]
10977 fn abi_decode_raw_validate(
10978 selector: [u8; 4],
10979 data: &[u8],
10980 ) -> alloy_sol_types::Result<Self> {
10981 static DECODE_VALIDATE_SHIMS: &[fn(
10982 &[u8],
10983 ) -> alloy_sol_types::Result<StakeRegistryCalls>] = &[
10984 {
10985 fn getTotalStakeHistoryLength(
10986 data: &[u8],
10987 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10988 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10989 data,
10990 )
10991 .map(StakeRegistryCalls::getTotalStakeHistoryLength)
10992 }
10993 getTotalStakeHistoryLength
10994 },
10995 {
10996 fn strategyParams(
10997 data: &[u8],
10998 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10999 <strategyParamsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11000 data,
11001 )
11002 .map(StakeRegistryCalls::strategyParams)
11003 }
11004 strategyParams
11005 },
11006 {
11007 fn weightOfOperatorForQuorum(
11008 data: &[u8],
11009 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11010 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11011 data,
11012 )
11013 .map(StakeRegistryCalls::weightOfOperatorForQuorum)
11014 }
11015 weightOfOperatorForQuorum
11016 },
11017 {
11018 fn modifyStrategyParams(
11019 data: &[u8],
11020 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11021 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11022 data,
11023 )
11024 .map(StakeRegistryCalls::modifyStrategyParams)
11025 }
11026 modifyStrategyParams
11027 },
11028 {
11029 fn registerOperator(
11030 data: &[u8],
11031 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11032 <registerOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11033 data,
11034 )
11035 .map(StakeRegistryCalls::registerOperator)
11036 }
11037 registerOperator
11038 },
11039 {
11040 fn getStakeHistory(
11041 data: &[u8],
11042 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11043 <getStakeHistoryCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11044 data,
11045 )
11046 .map(StakeRegistryCalls::getStakeHistory)
11047 }
11048 getStakeHistory
11049 },
11050 {
11051 fn strategyParamsLength(
11052 data: &[u8],
11053 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11054 <strategyParamsLengthCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11055 data,
11056 )
11057 .map(StakeRegistryCalls::strategyParamsLength)
11058 }
11059 strategyParamsLength
11060 },
11061 {
11062 fn getStakeHistoryLength(
11063 data: &[u8],
11064 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11065 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11066 data,
11067 )
11068 .map(StakeRegistryCalls::getStakeHistoryLength)
11069 }
11070 getStakeHistoryLength
11071 },
11072 {
11073 fn getCurrentStake(
11074 data: &[u8],
11075 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11076 <getCurrentStakeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11077 data,
11078 )
11079 .map(StakeRegistryCalls::getCurrentStake)
11080 }
11081 getCurrentStake
11082 },
11083 {
11084 fn WEIGHTING_DIVISOR(
11085 data: &[u8],
11086 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11087 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11088 data,
11089 )
11090 .map(StakeRegistryCalls::WEIGHTING_DIVISOR)
11091 }
11092 WEIGHTING_DIVISOR
11093 },
11094 {
11095 fn removeStrategies(
11096 data: &[u8],
11097 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11098 <removeStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11099 data,
11100 )
11101 .map(StakeRegistryCalls::removeStrategies)
11102 }
11103 removeStrategies
11104 },
11105 {
11106 fn stakeTypePerQuorum(
11107 data: &[u8],
11108 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11109 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11110 data,
11111 )
11112 .map(StakeRegistryCalls::stakeTypePerQuorum)
11113 }
11114 stakeTypePerQuorum
11115 },
11116 {
11117 fn avsDirectory(
11118 data: &[u8],
11119 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11120 <avsDirectoryCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11121 data,
11122 )
11123 .map(StakeRegistryCalls::avsDirectory)
11124 }
11125 avsDirectory
11126 },
11127 {
11128 fn updateOperatorsStake(
11129 data: &[u8],
11130 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11131 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11132 data,
11133 )
11134 .map(StakeRegistryCalls::updateOperatorsStake)
11135 }
11136 updateOperatorsStake
11137 },
11138 {
11139 fn registryCoordinator(
11140 data: &[u8],
11141 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11142 <registryCoordinatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11143 data,
11144 )
11145 .map(StakeRegistryCalls::registryCoordinator)
11146 }
11147 registryCoordinator
11148 },
11149 {
11150 fn initializeDelegatedStakeQuorum(
11151 data: &[u8],
11152 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11153 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11154 data,
11155 )
11156 .map(StakeRegistryCalls::initializeDelegatedStakeQuorum)
11157 }
11158 initializeDelegatedStakeQuorum
11159 },
11160 {
11161 fn MAX_WEIGHING_FUNCTION_LENGTH(
11162 data: &[u8],
11163 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11164 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11165 data,
11166 )
11167 .map(StakeRegistryCalls::MAX_WEIGHING_FUNCTION_LENGTH)
11168 }
11169 MAX_WEIGHING_FUNCTION_LENGTH
11170 },
11171 {
11172 fn getTotalStakeIndicesAtBlockNumber(
11173 data: &[u8],
11174 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11175 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11176 data,
11177 )
11178 .map(StakeRegistryCalls::getTotalStakeIndicesAtBlockNumber)
11179 }
11180 getTotalStakeIndicesAtBlockNumber
11181 },
11182 {
11183 fn slashableStakeLookAheadPerQuorum(
11184 data: &[u8],
11185 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11186 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11187 data,
11188 )
11189 .map(StakeRegistryCalls::slashableStakeLookAheadPerQuorum)
11190 }
11191 slashableStakeLookAheadPerQuorum
11192 },
11193 {
11194 fn strategiesPerQuorum(
11195 data: &[u8],
11196 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11197 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11198 data,
11199 )
11200 .map(StakeRegistryCalls::strategiesPerQuorum)
11201 }
11202 strategiesPerQuorum
11203 },
11204 {
11205 fn getStakeUpdateAtIndex(
11206 data: &[u8],
11207 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11208 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11209 data,
11210 )
11211 .map(StakeRegistryCalls::getStakeUpdateAtIndex)
11212 }
11213 getStakeUpdateAtIndex
11214 },
11215 {
11216 fn strategyParamsByIndex(
11217 data: &[u8],
11218 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11219 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11220 data,
11221 )
11222 .map(StakeRegistryCalls::strategyParamsByIndex)
11223 }
11224 strategyParamsByIndex
11225 },
11226 {
11227 fn getTotalStakeUpdateAtIndex(
11228 data: &[u8],
11229 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11230 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11231 data,
11232 )
11233 .map(StakeRegistryCalls::getTotalStakeUpdateAtIndex)
11234 }
11235 getTotalStakeUpdateAtIndex
11236 },
11237 {
11238 fn setMinimumStakeForQuorum(
11239 data: &[u8],
11240 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11241 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11242 data,
11243 )
11244 .map(StakeRegistryCalls::setMinimumStakeForQuorum)
11245 }
11246 setMinimumStakeForQuorum
11247 },
11248 {
11249 fn deregisterOperator(
11250 data: &[u8],
11251 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11252 <deregisterOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11253 data,
11254 )
11255 .map(StakeRegistryCalls::deregisterOperator)
11256 }
11257 deregisterOperator
11258 },
11259 {
11260 fn minimumStakeForQuorum(
11261 data: &[u8],
11262 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11263 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11264 data,
11265 )
11266 .map(StakeRegistryCalls::minimumStakeForQuorum)
11267 }
11268 minimumStakeForQuorum
11269 },
11270 {
11271 fn addStrategies(
11272 data: &[u8],
11273 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11274 <addStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11275 data,
11276 )
11277 .map(StakeRegistryCalls::addStrategies)
11278 }
11279 addStrategies
11280 },
11281 {
11282 fn getTotalStakeAtBlockNumberFromIndex(
11283 data: &[u8],
11284 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11285 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11286 data,
11287 )
11288 .map(StakeRegistryCalls::getTotalStakeAtBlockNumberFromIndex)
11289 }
11290 getTotalStakeAtBlockNumberFromIndex
11291 },
11292 {
11293 fn allocationManager(
11294 data: &[u8],
11295 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11296 <allocationManagerCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11297 data,
11298 )
11299 .map(StakeRegistryCalls::allocationManager)
11300 }
11301 allocationManager
11302 },
11303 {
11304 fn initializeSlashableStakeQuorum(
11305 data: &[u8],
11306 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11307 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11308 data,
11309 )
11310 .map(StakeRegistryCalls::initializeSlashableStakeQuorum)
11311 }
11312 initializeSlashableStakeQuorum
11313 },
11314 {
11315 fn getCurrentTotalStake(
11316 data: &[u8],
11317 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11318 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11319 data,
11320 )
11321 .map(StakeRegistryCalls::getCurrentTotalStake)
11322 }
11323 getCurrentTotalStake
11324 },
11325 {
11326 fn getStakeUpdateIndexAtBlockNumber(
11327 data: &[u8],
11328 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11329 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11330 data,
11331 )
11332 .map(StakeRegistryCalls::getStakeUpdateIndexAtBlockNumber)
11333 }
11334 getStakeUpdateIndexAtBlockNumber
11335 },
11336 {
11337 fn delegation(
11338 data: &[u8],
11339 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11340 <delegationCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11341 data,
11342 )
11343 .map(StakeRegistryCalls::delegation)
11344 }
11345 delegation
11346 },
11347 {
11348 fn setSlashableStakeLookahead(
11349 data: &[u8],
11350 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11351 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11352 data,
11353 )
11354 .map(StakeRegistryCalls::setSlashableStakeLookahead)
11355 }
11356 setSlashableStakeLookahead
11357 },
11358 {
11359 fn getStakeAtBlockNumberAndIndex(
11360 data: &[u8],
11361 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11362 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11363 data,
11364 )
11365 .map(StakeRegistryCalls::getStakeAtBlockNumberAndIndex)
11366 }
11367 getStakeAtBlockNumberAndIndex
11368 },
11369 {
11370 fn getLatestStakeUpdate(
11371 data: &[u8],
11372 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11373 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11374 data,
11375 )
11376 .map(StakeRegistryCalls::getLatestStakeUpdate)
11377 }
11378 getLatestStakeUpdate
11379 },
11380 {
11381 fn getStakeAtBlockNumber(
11382 data: &[u8],
11383 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
11384 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11385 data,
11386 )
11387 .map(StakeRegistryCalls::getStakeAtBlockNumber)
11388 }
11389 getStakeAtBlockNumber
11390 },
11391 ];
11392 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
11393 return Err(
11394 alloy_sol_types::Error::unknown_selector(
11395 <Self as alloy_sol_types::SolInterface>::NAME,
11396 selector,
11397 ),
11398 );
11399 };
11400 DECODE_VALIDATE_SHIMS[idx](data)
11401 }
11402 #[inline]
11403 fn abi_encoded_size(&self) -> usize {
11404 match self {
11405 Self::MAX_WEIGHING_FUNCTION_LENGTH(inner) => {
11406 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::abi_encoded_size(
11407 inner,
11408 )
11409 }
11410 Self::WEIGHTING_DIVISOR(inner) => {
11411 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::abi_encoded_size(
11412 inner,
11413 )
11414 }
11415 Self::addStrategies(inner) => {
11416 <addStrategiesCall as alloy_sol_types::SolCall>::abi_encoded_size(
11417 inner,
11418 )
11419 }
11420 Self::allocationManager(inner) => {
11421 <allocationManagerCall as alloy_sol_types::SolCall>::abi_encoded_size(
11422 inner,
11423 )
11424 }
11425 Self::avsDirectory(inner) => {
11426 <avsDirectoryCall as alloy_sol_types::SolCall>::abi_encoded_size(
11427 inner,
11428 )
11429 }
11430 Self::delegation(inner) => {
11431 <delegationCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
11432 }
11433 Self::deregisterOperator(inner) => {
11434 <deregisterOperatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
11435 inner,
11436 )
11437 }
11438 Self::getCurrentStake(inner) => {
11439 <getCurrentStakeCall as alloy_sol_types::SolCall>::abi_encoded_size(
11440 inner,
11441 )
11442 }
11443 Self::getCurrentTotalStake(inner) => {
11444 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::abi_encoded_size(
11445 inner,
11446 )
11447 }
11448 Self::getLatestStakeUpdate(inner) => {
11449 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::abi_encoded_size(
11450 inner,
11451 )
11452 }
11453 Self::getStakeAtBlockNumber(inner) => {
11454 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encoded_size(
11455 inner,
11456 )
11457 }
11458 Self::getStakeAtBlockNumberAndIndex(inner) => {
11459 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
11460 inner,
11461 )
11462 }
11463 Self::getStakeHistory(inner) => {
11464 <getStakeHistoryCall as alloy_sol_types::SolCall>::abi_encoded_size(
11465 inner,
11466 )
11467 }
11468 Self::getStakeHistoryLength(inner) => {
11469 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_encoded_size(
11470 inner,
11471 )
11472 }
11473 Self::getStakeUpdateAtIndex(inner) => {
11474 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
11475 inner,
11476 )
11477 }
11478 Self::getStakeUpdateIndexAtBlockNumber(inner) => {
11479 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encoded_size(
11480 inner,
11481 )
11482 }
11483 Self::getTotalStakeAtBlockNumberFromIndex(inner) => {
11484 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
11485 inner,
11486 )
11487 }
11488 Self::getTotalStakeHistoryLength(inner) => {
11489 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_encoded_size(
11490 inner,
11491 )
11492 }
11493 Self::getTotalStakeIndicesAtBlockNumber(inner) => {
11494 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encoded_size(
11495 inner,
11496 )
11497 }
11498 Self::getTotalStakeUpdateAtIndex(inner) => {
11499 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
11500 inner,
11501 )
11502 }
11503 Self::initializeDelegatedStakeQuorum(inner) => {
11504 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
11505 inner,
11506 )
11507 }
11508 Self::initializeSlashableStakeQuorum(inner) => {
11509 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
11510 inner,
11511 )
11512 }
11513 Self::minimumStakeForQuorum(inner) => {
11514 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
11515 inner,
11516 )
11517 }
11518 Self::modifyStrategyParams(inner) => {
11519 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::abi_encoded_size(
11520 inner,
11521 )
11522 }
11523 Self::registerOperator(inner) => {
11524 <registerOperatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
11525 inner,
11526 )
11527 }
11528 Self::registryCoordinator(inner) => {
11529 <registryCoordinatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
11530 inner,
11531 )
11532 }
11533 Self::removeStrategies(inner) => {
11534 <removeStrategiesCall as alloy_sol_types::SolCall>::abi_encoded_size(
11535 inner,
11536 )
11537 }
11538 Self::setMinimumStakeForQuorum(inner) => {
11539 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
11540 inner,
11541 )
11542 }
11543 Self::setSlashableStakeLookahead(inner) => {
11544 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::abi_encoded_size(
11545 inner,
11546 )
11547 }
11548 Self::slashableStakeLookAheadPerQuorum(inner) => {
11549 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
11550 inner,
11551 )
11552 }
11553 Self::stakeTypePerQuorum(inner) => {
11554 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
11555 inner,
11556 )
11557 }
11558 Self::strategiesPerQuorum(inner) => {
11559 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
11560 inner,
11561 )
11562 }
11563 Self::strategyParams(inner) => {
11564 <strategyParamsCall as alloy_sol_types::SolCall>::abi_encoded_size(
11565 inner,
11566 )
11567 }
11568 Self::strategyParamsByIndex(inner) => {
11569 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
11570 inner,
11571 )
11572 }
11573 Self::strategyParamsLength(inner) => {
11574 <strategyParamsLengthCall as alloy_sol_types::SolCall>::abi_encoded_size(
11575 inner,
11576 )
11577 }
11578 Self::updateOperatorsStake(inner) => {
11579 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::abi_encoded_size(
11580 inner,
11581 )
11582 }
11583 Self::weightOfOperatorForQuorum(inner) => {
11584 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
11585 inner,
11586 )
11587 }
11588 }
11589 }
11590 #[inline]
11591 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
11592 match self {
11593 Self::MAX_WEIGHING_FUNCTION_LENGTH(inner) => {
11594 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::abi_encode_raw(
11595 inner,
11596 out,
11597 )
11598 }
11599 Self::WEIGHTING_DIVISOR(inner) => {
11600 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::abi_encode_raw(
11601 inner,
11602 out,
11603 )
11604 }
11605 Self::addStrategies(inner) => {
11606 <addStrategiesCall as alloy_sol_types::SolCall>::abi_encode_raw(
11607 inner,
11608 out,
11609 )
11610 }
11611 Self::allocationManager(inner) => {
11612 <allocationManagerCall as alloy_sol_types::SolCall>::abi_encode_raw(
11613 inner,
11614 out,
11615 )
11616 }
11617 Self::avsDirectory(inner) => {
11618 <avsDirectoryCall as alloy_sol_types::SolCall>::abi_encode_raw(
11619 inner,
11620 out,
11621 )
11622 }
11623 Self::delegation(inner) => {
11624 <delegationCall as alloy_sol_types::SolCall>::abi_encode_raw(
11625 inner,
11626 out,
11627 )
11628 }
11629 Self::deregisterOperator(inner) => {
11630 <deregisterOperatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
11631 inner,
11632 out,
11633 )
11634 }
11635 Self::getCurrentStake(inner) => {
11636 <getCurrentStakeCall as alloy_sol_types::SolCall>::abi_encode_raw(
11637 inner,
11638 out,
11639 )
11640 }
11641 Self::getCurrentTotalStake(inner) => {
11642 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::abi_encode_raw(
11643 inner,
11644 out,
11645 )
11646 }
11647 Self::getLatestStakeUpdate(inner) => {
11648 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::abi_encode_raw(
11649 inner,
11650 out,
11651 )
11652 }
11653 Self::getStakeAtBlockNumber(inner) => {
11654 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encode_raw(
11655 inner,
11656 out,
11657 )
11658 }
11659 Self::getStakeAtBlockNumberAndIndex(inner) => {
11660 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
11661 inner,
11662 out,
11663 )
11664 }
11665 Self::getStakeHistory(inner) => {
11666 <getStakeHistoryCall as alloy_sol_types::SolCall>::abi_encode_raw(
11667 inner,
11668 out,
11669 )
11670 }
11671 Self::getStakeHistoryLength(inner) => {
11672 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_encode_raw(
11673 inner,
11674 out,
11675 )
11676 }
11677 Self::getStakeUpdateAtIndex(inner) => {
11678 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
11679 inner,
11680 out,
11681 )
11682 }
11683 Self::getStakeUpdateIndexAtBlockNumber(inner) => {
11684 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encode_raw(
11685 inner,
11686 out,
11687 )
11688 }
11689 Self::getTotalStakeAtBlockNumberFromIndex(inner) => {
11690 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
11691 inner,
11692 out,
11693 )
11694 }
11695 Self::getTotalStakeHistoryLength(inner) => {
11696 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_encode_raw(
11697 inner,
11698 out,
11699 )
11700 }
11701 Self::getTotalStakeIndicesAtBlockNumber(inner) => {
11702 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encode_raw(
11703 inner,
11704 out,
11705 )
11706 }
11707 Self::getTotalStakeUpdateAtIndex(inner) => {
11708 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
11709 inner,
11710 out,
11711 )
11712 }
11713 Self::initializeDelegatedStakeQuorum(inner) => {
11714 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
11715 inner,
11716 out,
11717 )
11718 }
11719 Self::initializeSlashableStakeQuorum(inner) => {
11720 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
11721 inner,
11722 out,
11723 )
11724 }
11725 Self::minimumStakeForQuorum(inner) => {
11726 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
11727 inner,
11728 out,
11729 )
11730 }
11731 Self::modifyStrategyParams(inner) => {
11732 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::abi_encode_raw(
11733 inner,
11734 out,
11735 )
11736 }
11737 Self::registerOperator(inner) => {
11738 <registerOperatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
11739 inner,
11740 out,
11741 )
11742 }
11743 Self::registryCoordinator(inner) => {
11744 <registryCoordinatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
11745 inner,
11746 out,
11747 )
11748 }
11749 Self::removeStrategies(inner) => {
11750 <removeStrategiesCall as alloy_sol_types::SolCall>::abi_encode_raw(
11751 inner,
11752 out,
11753 )
11754 }
11755 Self::setMinimumStakeForQuorum(inner) => {
11756 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
11757 inner,
11758 out,
11759 )
11760 }
11761 Self::setSlashableStakeLookahead(inner) => {
11762 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::abi_encode_raw(
11763 inner,
11764 out,
11765 )
11766 }
11767 Self::slashableStakeLookAheadPerQuorum(inner) => {
11768 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
11769 inner,
11770 out,
11771 )
11772 }
11773 Self::stakeTypePerQuorum(inner) => {
11774 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
11775 inner,
11776 out,
11777 )
11778 }
11779 Self::strategiesPerQuorum(inner) => {
11780 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
11781 inner,
11782 out,
11783 )
11784 }
11785 Self::strategyParams(inner) => {
11786 <strategyParamsCall as alloy_sol_types::SolCall>::abi_encode_raw(
11787 inner,
11788 out,
11789 )
11790 }
11791 Self::strategyParamsByIndex(inner) => {
11792 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
11793 inner,
11794 out,
11795 )
11796 }
11797 Self::strategyParamsLength(inner) => {
11798 <strategyParamsLengthCall as alloy_sol_types::SolCall>::abi_encode_raw(
11799 inner,
11800 out,
11801 )
11802 }
11803 Self::updateOperatorsStake(inner) => {
11804 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::abi_encode_raw(
11805 inner,
11806 out,
11807 )
11808 }
11809 Self::weightOfOperatorForQuorum(inner) => {
11810 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
11811 inner,
11812 out,
11813 )
11814 }
11815 }
11816 }
11817 }
11818 #[derive(serde::Serialize, serde::Deserialize)]
11820 #[derive(Debug, PartialEq, Eq, Hash)]
11821 pub enum StakeRegistryErrors {
11822 #[allow(missing_docs)]
11823 BelowMinimumStakeRequirement(BelowMinimumStakeRequirement),
11824 #[allow(missing_docs)]
11825 EmptyStakeHistory(EmptyStakeHistory),
11826 #[allow(missing_docs)]
11827 InputArrayLengthMismatch(InputArrayLengthMismatch),
11828 #[allow(missing_docs)]
11829 InputArrayLengthZero(InputArrayLengthZero),
11830 #[allow(missing_docs)]
11831 InputDuplicateStrategy(InputDuplicateStrategy),
11832 #[allow(missing_docs)]
11833 InputMultiplierZero(InputMultiplierZero),
11834 #[allow(missing_docs)]
11835 InvalidBlockNumber(InvalidBlockNumber),
11836 #[allow(missing_docs)]
11837 LookAheadPeriodTooLong(LookAheadPeriodTooLong),
11838 #[allow(missing_docs)]
11839 OnlySlashingRegistryCoordinator(OnlySlashingRegistryCoordinator),
11840 #[allow(missing_docs)]
11841 OnlySlashingRegistryCoordinatorOwner(OnlySlashingRegistryCoordinatorOwner),
11842 #[allow(missing_docs)]
11843 QuorumAlreadyExists(QuorumAlreadyExists),
11844 #[allow(missing_docs)]
11845 QuorumDoesNotExist(QuorumDoesNotExist),
11846 #[allow(missing_docs)]
11847 QuorumNotSlashable(QuorumNotSlashable),
11848 }
11849 #[automatically_derived]
11850 impl StakeRegistryErrors {
11851 pub const SELECTORS: &'static [[u8; 4usize]] = &[
11858 [47u8, 81u8, 6u8, 228u8],
11859 [64u8, 254u8, 39u8, 198u8],
11860 [67u8, 54u8, 148u8, 92u8],
11861 [67u8, 113u8, 74u8, 253u8],
11862 [78u8, 71u8, 132u8, 108u8],
11863 [114u8, 87u8, 18u8, 81u8],
11864 [121u8, 108u8, 197u8, 37u8],
11865 [123u8, 116u8, 52u8, 11u8],
11866 [163u8, 190u8, 37u8, 131u8],
11867 [176u8, 6u8, 200u8, 20u8],
11868 [204u8, 100u8, 101u8, 115u8],
11869 [206u8, 152u8, 194u8, 75u8],
11870 [230u8, 33u8, 159u8, 234u8],
11871 ];
11872 }
11873 #[automatically_derived]
11874 impl alloy_sol_types::SolInterface for StakeRegistryErrors {
11875 const NAME: &'static str = "StakeRegistryErrors";
11876 const MIN_DATA_LENGTH: usize = 0usize;
11877 const COUNT: usize = 13usize;
11878 #[inline]
11879 fn selector(&self) -> [u8; 4] {
11880 match self {
11881 Self::BelowMinimumStakeRequirement(_) => {
11882 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::SELECTOR
11883 }
11884 Self::EmptyStakeHistory(_) => {
11885 <EmptyStakeHistory as alloy_sol_types::SolError>::SELECTOR
11886 }
11887 Self::InputArrayLengthMismatch(_) => {
11888 <InputArrayLengthMismatch as alloy_sol_types::SolError>::SELECTOR
11889 }
11890 Self::InputArrayLengthZero(_) => {
11891 <InputArrayLengthZero as alloy_sol_types::SolError>::SELECTOR
11892 }
11893 Self::InputDuplicateStrategy(_) => {
11894 <InputDuplicateStrategy as alloy_sol_types::SolError>::SELECTOR
11895 }
11896 Self::InputMultiplierZero(_) => {
11897 <InputMultiplierZero as alloy_sol_types::SolError>::SELECTOR
11898 }
11899 Self::InvalidBlockNumber(_) => {
11900 <InvalidBlockNumber as alloy_sol_types::SolError>::SELECTOR
11901 }
11902 Self::LookAheadPeriodTooLong(_) => {
11903 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::SELECTOR
11904 }
11905 Self::OnlySlashingRegistryCoordinator(_) => {
11906 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::SELECTOR
11907 }
11908 Self::OnlySlashingRegistryCoordinatorOwner(_) => {
11909 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::SELECTOR
11910 }
11911 Self::QuorumAlreadyExists(_) => {
11912 <QuorumAlreadyExists as alloy_sol_types::SolError>::SELECTOR
11913 }
11914 Self::QuorumDoesNotExist(_) => {
11915 <QuorumDoesNotExist as alloy_sol_types::SolError>::SELECTOR
11916 }
11917 Self::QuorumNotSlashable(_) => {
11918 <QuorumNotSlashable as alloy_sol_types::SolError>::SELECTOR
11919 }
11920 }
11921 }
11922 #[inline]
11923 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
11924 Self::SELECTORS.get(i).copied()
11925 }
11926 #[inline]
11927 fn valid_selector(selector: [u8; 4]) -> bool {
11928 Self::SELECTORS.binary_search(&selector).is_ok()
11929 }
11930 #[inline]
11931 #[allow(non_snake_case)]
11932 fn abi_decode_raw(
11933 selector: [u8; 4],
11934 data: &[u8],
11935 ) -> alloy_sol_types::Result<Self> {
11936 static DECODE_SHIMS: &[fn(
11937 &[u8],
11938 ) -> alloy_sol_types::Result<StakeRegistryErrors>] = &[
11939 {
11940 fn LookAheadPeriodTooLong(
11941 data: &[u8],
11942 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11943 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::abi_decode_raw(
11944 data,
11945 )
11946 .map(StakeRegistryErrors::LookAheadPeriodTooLong)
11947 }
11948 LookAheadPeriodTooLong
11949 },
11950 {
11951 fn BelowMinimumStakeRequirement(
11952 data: &[u8],
11953 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11954 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::abi_decode_raw(
11955 data,
11956 )
11957 .map(StakeRegistryErrors::BelowMinimumStakeRequirement)
11958 }
11959 BelowMinimumStakeRequirement
11960 },
11961 {
11962 fn QuorumAlreadyExists(
11963 data: &[u8],
11964 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11965 <QuorumAlreadyExists as alloy_sol_types::SolError>::abi_decode_raw(
11966 data,
11967 )
11968 .map(StakeRegistryErrors::QuorumAlreadyExists)
11969 }
11970 QuorumAlreadyExists
11971 },
11972 {
11973 fn InputArrayLengthMismatch(
11974 data: &[u8],
11975 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11976 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_decode_raw(
11977 data,
11978 )
11979 .map(StakeRegistryErrors::InputArrayLengthMismatch)
11980 }
11981 InputArrayLengthMismatch
11982 },
11983 {
11984 fn InvalidBlockNumber(
11985 data: &[u8],
11986 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11987 <InvalidBlockNumber as alloy_sol_types::SolError>::abi_decode_raw(
11988 data,
11989 )
11990 .map(StakeRegistryErrors::InvalidBlockNumber)
11991 }
11992 InvalidBlockNumber
11993 },
11994 {
11995 fn InputMultiplierZero(
11996 data: &[u8],
11997 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11998 <InputMultiplierZero as alloy_sol_types::SolError>::abi_decode_raw(
11999 data,
12000 )
12001 .map(StakeRegistryErrors::InputMultiplierZero)
12002 }
12003 InputMultiplierZero
12004 },
12005 {
12006 fn InputArrayLengthZero(
12007 data: &[u8],
12008 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12009 <InputArrayLengthZero as alloy_sol_types::SolError>::abi_decode_raw(
12010 data,
12011 )
12012 .map(StakeRegistryErrors::InputArrayLengthZero)
12013 }
12014 InputArrayLengthZero
12015 },
12016 {
12017 fn InputDuplicateStrategy(
12018 data: &[u8],
12019 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12020 <InputDuplicateStrategy as alloy_sol_types::SolError>::abi_decode_raw(
12021 data,
12022 )
12023 .map(StakeRegistryErrors::InputDuplicateStrategy)
12024 }
12025 InputDuplicateStrategy
12026 },
12027 {
12028 fn QuorumNotSlashable(
12029 data: &[u8],
12030 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12031 <QuorumNotSlashable as alloy_sol_types::SolError>::abi_decode_raw(
12032 data,
12033 )
12034 .map(StakeRegistryErrors::QuorumNotSlashable)
12035 }
12036 QuorumNotSlashable
12037 },
12038 {
12039 fn OnlySlashingRegistryCoordinator(
12040 data: &[u8],
12041 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12042 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_decode_raw(
12043 data,
12044 )
12045 .map(StakeRegistryErrors::OnlySlashingRegistryCoordinator)
12046 }
12047 OnlySlashingRegistryCoordinator
12048 },
12049 {
12050 fn EmptyStakeHistory(
12051 data: &[u8],
12052 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12053 <EmptyStakeHistory as alloy_sol_types::SolError>::abi_decode_raw(
12054 data,
12055 )
12056 .map(StakeRegistryErrors::EmptyStakeHistory)
12057 }
12058 EmptyStakeHistory
12059 },
12060 {
12061 fn OnlySlashingRegistryCoordinatorOwner(
12062 data: &[u8],
12063 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12064 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::abi_decode_raw(
12065 data,
12066 )
12067 .map(
12068 StakeRegistryErrors::OnlySlashingRegistryCoordinatorOwner,
12069 )
12070 }
12071 OnlySlashingRegistryCoordinatorOwner
12072 },
12073 {
12074 fn QuorumDoesNotExist(
12075 data: &[u8],
12076 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12077 <QuorumDoesNotExist as alloy_sol_types::SolError>::abi_decode_raw(
12078 data,
12079 )
12080 .map(StakeRegistryErrors::QuorumDoesNotExist)
12081 }
12082 QuorumDoesNotExist
12083 },
12084 ];
12085 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
12086 return Err(
12087 alloy_sol_types::Error::unknown_selector(
12088 <Self as alloy_sol_types::SolInterface>::NAME,
12089 selector,
12090 ),
12091 );
12092 };
12093 DECODE_SHIMS[idx](data)
12094 }
12095 #[inline]
12096 #[allow(non_snake_case)]
12097 fn abi_decode_raw_validate(
12098 selector: [u8; 4],
12099 data: &[u8],
12100 ) -> alloy_sol_types::Result<Self> {
12101 static DECODE_VALIDATE_SHIMS: &[fn(
12102 &[u8],
12103 ) -> alloy_sol_types::Result<StakeRegistryErrors>] = &[
12104 {
12105 fn LookAheadPeriodTooLong(
12106 data: &[u8],
12107 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12108 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::abi_decode_raw_validate(
12109 data,
12110 )
12111 .map(StakeRegistryErrors::LookAheadPeriodTooLong)
12112 }
12113 LookAheadPeriodTooLong
12114 },
12115 {
12116 fn BelowMinimumStakeRequirement(
12117 data: &[u8],
12118 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12119 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::abi_decode_raw_validate(
12120 data,
12121 )
12122 .map(StakeRegistryErrors::BelowMinimumStakeRequirement)
12123 }
12124 BelowMinimumStakeRequirement
12125 },
12126 {
12127 fn QuorumAlreadyExists(
12128 data: &[u8],
12129 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12130 <QuorumAlreadyExists as alloy_sol_types::SolError>::abi_decode_raw_validate(
12131 data,
12132 )
12133 .map(StakeRegistryErrors::QuorumAlreadyExists)
12134 }
12135 QuorumAlreadyExists
12136 },
12137 {
12138 fn InputArrayLengthMismatch(
12139 data: &[u8],
12140 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12141 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_decode_raw_validate(
12142 data,
12143 )
12144 .map(StakeRegistryErrors::InputArrayLengthMismatch)
12145 }
12146 InputArrayLengthMismatch
12147 },
12148 {
12149 fn InvalidBlockNumber(
12150 data: &[u8],
12151 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12152 <InvalidBlockNumber as alloy_sol_types::SolError>::abi_decode_raw_validate(
12153 data,
12154 )
12155 .map(StakeRegistryErrors::InvalidBlockNumber)
12156 }
12157 InvalidBlockNumber
12158 },
12159 {
12160 fn InputMultiplierZero(
12161 data: &[u8],
12162 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12163 <InputMultiplierZero as alloy_sol_types::SolError>::abi_decode_raw_validate(
12164 data,
12165 )
12166 .map(StakeRegistryErrors::InputMultiplierZero)
12167 }
12168 InputMultiplierZero
12169 },
12170 {
12171 fn InputArrayLengthZero(
12172 data: &[u8],
12173 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12174 <InputArrayLengthZero as alloy_sol_types::SolError>::abi_decode_raw_validate(
12175 data,
12176 )
12177 .map(StakeRegistryErrors::InputArrayLengthZero)
12178 }
12179 InputArrayLengthZero
12180 },
12181 {
12182 fn InputDuplicateStrategy(
12183 data: &[u8],
12184 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12185 <InputDuplicateStrategy as alloy_sol_types::SolError>::abi_decode_raw_validate(
12186 data,
12187 )
12188 .map(StakeRegistryErrors::InputDuplicateStrategy)
12189 }
12190 InputDuplicateStrategy
12191 },
12192 {
12193 fn QuorumNotSlashable(
12194 data: &[u8],
12195 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12196 <QuorumNotSlashable as alloy_sol_types::SolError>::abi_decode_raw_validate(
12197 data,
12198 )
12199 .map(StakeRegistryErrors::QuorumNotSlashable)
12200 }
12201 QuorumNotSlashable
12202 },
12203 {
12204 fn OnlySlashingRegistryCoordinator(
12205 data: &[u8],
12206 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12207 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_decode_raw_validate(
12208 data,
12209 )
12210 .map(StakeRegistryErrors::OnlySlashingRegistryCoordinator)
12211 }
12212 OnlySlashingRegistryCoordinator
12213 },
12214 {
12215 fn EmptyStakeHistory(
12216 data: &[u8],
12217 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12218 <EmptyStakeHistory as alloy_sol_types::SolError>::abi_decode_raw_validate(
12219 data,
12220 )
12221 .map(StakeRegistryErrors::EmptyStakeHistory)
12222 }
12223 EmptyStakeHistory
12224 },
12225 {
12226 fn OnlySlashingRegistryCoordinatorOwner(
12227 data: &[u8],
12228 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12229 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::abi_decode_raw_validate(
12230 data,
12231 )
12232 .map(
12233 StakeRegistryErrors::OnlySlashingRegistryCoordinatorOwner,
12234 )
12235 }
12236 OnlySlashingRegistryCoordinatorOwner
12237 },
12238 {
12239 fn QuorumDoesNotExist(
12240 data: &[u8],
12241 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
12242 <QuorumDoesNotExist as alloy_sol_types::SolError>::abi_decode_raw_validate(
12243 data,
12244 )
12245 .map(StakeRegistryErrors::QuorumDoesNotExist)
12246 }
12247 QuorumDoesNotExist
12248 },
12249 ];
12250 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
12251 return Err(
12252 alloy_sol_types::Error::unknown_selector(
12253 <Self as alloy_sol_types::SolInterface>::NAME,
12254 selector,
12255 ),
12256 );
12257 };
12258 DECODE_VALIDATE_SHIMS[idx](data)
12259 }
12260 #[inline]
12261 fn abi_encoded_size(&self) -> usize {
12262 match self {
12263 Self::BelowMinimumStakeRequirement(inner) => {
12264 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::abi_encoded_size(
12265 inner,
12266 )
12267 }
12268 Self::EmptyStakeHistory(inner) => {
12269 <EmptyStakeHistory as alloy_sol_types::SolError>::abi_encoded_size(
12270 inner,
12271 )
12272 }
12273 Self::InputArrayLengthMismatch(inner) => {
12274 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encoded_size(
12275 inner,
12276 )
12277 }
12278 Self::InputArrayLengthZero(inner) => {
12279 <InputArrayLengthZero as alloy_sol_types::SolError>::abi_encoded_size(
12280 inner,
12281 )
12282 }
12283 Self::InputDuplicateStrategy(inner) => {
12284 <InputDuplicateStrategy as alloy_sol_types::SolError>::abi_encoded_size(
12285 inner,
12286 )
12287 }
12288 Self::InputMultiplierZero(inner) => {
12289 <InputMultiplierZero as alloy_sol_types::SolError>::abi_encoded_size(
12290 inner,
12291 )
12292 }
12293 Self::InvalidBlockNumber(inner) => {
12294 <InvalidBlockNumber as alloy_sol_types::SolError>::abi_encoded_size(
12295 inner,
12296 )
12297 }
12298 Self::LookAheadPeriodTooLong(inner) => {
12299 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::abi_encoded_size(
12300 inner,
12301 )
12302 }
12303 Self::OnlySlashingRegistryCoordinator(inner) => {
12304 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_encoded_size(
12305 inner,
12306 )
12307 }
12308 Self::OnlySlashingRegistryCoordinatorOwner(inner) => {
12309 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::abi_encoded_size(
12310 inner,
12311 )
12312 }
12313 Self::QuorumAlreadyExists(inner) => {
12314 <QuorumAlreadyExists as alloy_sol_types::SolError>::abi_encoded_size(
12315 inner,
12316 )
12317 }
12318 Self::QuorumDoesNotExist(inner) => {
12319 <QuorumDoesNotExist as alloy_sol_types::SolError>::abi_encoded_size(
12320 inner,
12321 )
12322 }
12323 Self::QuorumNotSlashable(inner) => {
12324 <QuorumNotSlashable as alloy_sol_types::SolError>::abi_encoded_size(
12325 inner,
12326 )
12327 }
12328 }
12329 }
12330 #[inline]
12331 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
12332 match self {
12333 Self::BelowMinimumStakeRequirement(inner) => {
12334 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::abi_encode_raw(
12335 inner,
12336 out,
12337 )
12338 }
12339 Self::EmptyStakeHistory(inner) => {
12340 <EmptyStakeHistory as alloy_sol_types::SolError>::abi_encode_raw(
12341 inner,
12342 out,
12343 )
12344 }
12345 Self::InputArrayLengthMismatch(inner) => {
12346 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encode_raw(
12347 inner,
12348 out,
12349 )
12350 }
12351 Self::InputArrayLengthZero(inner) => {
12352 <InputArrayLengthZero as alloy_sol_types::SolError>::abi_encode_raw(
12353 inner,
12354 out,
12355 )
12356 }
12357 Self::InputDuplicateStrategy(inner) => {
12358 <InputDuplicateStrategy as alloy_sol_types::SolError>::abi_encode_raw(
12359 inner,
12360 out,
12361 )
12362 }
12363 Self::InputMultiplierZero(inner) => {
12364 <InputMultiplierZero as alloy_sol_types::SolError>::abi_encode_raw(
12365 inner,
12366 out,
12367 )
12368 }
12369 Self::InvalidBlockNumber(inner) => {
12370 <InvalidBlockNumber as alloy_sol_types::SolError>::abi_encode_raw(
12371 inner,
12372 out,
12373 )
12374 }
12375 Self::LookAheadPeriodTooLong(inner) => {
12376 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::abi_encode_raw(
12377 inner,
12378 out,
12379 )
12380 }
12381 Self::OnlySlashingRegistryCoordinator(inner) => {
12382 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_encode_raw(
12383 inner,
12384 out,
12385 )
12386 }
12387 Self::OnlySlashingRegistryCoordinatorOwner(inner) => {
12388 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::abi_encode_raw(
12389 inner,
12390 out,
12391 )
12392 }
12393 Self::QuorumAlreadyExists(inner) => {
12394 <QuorumAlreadyExists as alloy_sol_types::SolError>::abi_encode_raw(
12395 inner,
12396 out,
12397 )
12398 }
12399 Self::QuorumDoesNotExist(inner) => {
12400 <QuorumDoesNotExist as alloy_sol_types::SolError>::abi_encode_raw(
12401 inner,
12402 out,
12403 )
12404 }
12405 Self::QuorumNotSlashable(inner) => {
12406 <QuorumNotSlashable as alloy_sol_types::SolError>::abi_encode_raw(
12407 inner,
12408 out,
12409 )
12410 }
12411 }
12412 }
12413 }
12414 #[derive(serde::Serialize, serde::Deserialize)]
12416 #[derive(Debug, PartialEq, Eq, Hash)]
12417 pub enum StakeRegistryEvents {
12418 #[allow(missing_docs)]
12419 LookAheadPeriodChanged(LookAheadPeriodChanged),
12420 #[allow(missing_docs)]
12421 MinimumStakeForQuorumUpdated(MinimumStakeForQuorumUpdated),
12422 #[allow(missing_docs)]
12423 OperatorStakeUpdate(OperatorStakeUpdate),
12424 #[allow(missing_docs)]
12425 QuorumCreated(QuorumCreated),
12426 #[allow(missing_docs)]
12427 StakeTypeSet(StakeTypeSet),
12428 #[allow(missing_docs)]
12429 StrategyAddedToQuorum(StrategyAddedToQuorum),
12430 #[allow(missing_docs)]
12431 StrategyMultiplierUpdated(StrategyMultiplierUpdated),
12432 #[allow(missing_docs)]
12433 StrategyRemovedFromQuorum(StrategyRemovedFromQuorum),
12434 }
12435 #[automatically_derived]
12436 impl StakeRegistryEvents {
12437 pub const SELECTORS: &'static [[u8; 32usize]] = &[
12444 [
12445 16u8, 86u8, 94u8, 86u8, 202u8, 203u8, 243u8, 46u8, 202u8, 38u8, 121u8,
12446 69u8, 240u8, 84u8, 254u8, 192u8, 46u8, 89u8, 117u8, 0u8, 50u8, 209u8,
12447 19u8, 211u8, 48u8, 33u8, 130u8, 173u8, 150u8, 127u8, 84u8, 4u8,
12448 ],
12449 [
12450 17u8, 165u8, 100u8, 19u8, 34u8, 218u8, 29u8, 255u8, 86u8, 164u8, 182u8,
12451 110u8, 170u8, 195u8, 31u8, 250u8, 70u8, 82u8, 149u8, 236u8, 233u8, 7u8,
12452 205u8, 22u8, 52u8, 55u8, 121u8, 59u8, 77u8, 0u8, 154u8, 117u8,
12453 ],
12454 [
12455 38u8, 238u8, 207u8, 242u8, 183u8, 11u8, 10u8, 113u8, 16u8, 79u8, 244u8,
12456 217u8, 64u8, 186u8, 113u8, 98u8, 210u8, 58u8, 149u8, 194u8, 72u8, 119u8,
12457 31u8, 196u8, 135u8, 167u8, 190u8, 23u8, 165u8, 150u8, 179u8, 207u8,
12458 ],
12459 [
12460 40u8, 215u8, 53u8, 139u8, 121u8, 240u8, 45u8, 33u8, 184u8, 183u8, 225u8,
12461 122u8, 239u8, 196u8, 24u8, 90u8, 100u8, 48u8, 138u8, 163u8, 116u8, 6u8,
12462 250u8, 91u8, 239u8, 192u8, 91u8, 145u8, 147u8, 44u8, 57u8, 199u8,
12463 ],
12464 [
12465 47u8, 82u8, 125u8, 82u8, 126u8, 149u8, 216u8, 254u8, 64u8, 174u8, 197u8,
12466 83u8, 119u8, 116u8, 59u8, 183u8, 121u8, 8u8, 125u8, 163u8, 246u8, 208u8,
12467 208u8, 143u8, 18u8, 227u8, 100u8, 68u8, 218u8, 98u8, 50u8, 125u8,
12468 ],
12469 [
12470 49u8, 250u8, 46u8, 44u8, 210u8, 128u8, 201u8, 55u8, 94u8, 19u8, 255u8,
12471 207u8, 61u8, 129u8, 226u8, 55u8, 129u8, 0u8, 24u8, 110u8, 64u8, 88u8,
12472 248u8, 211u8, 221u8, 182u8, 144u8, 184u8, 45u8, 205u8, 49u8, 247u8,
12473 ],
12474 [
12475 124u8, 17u8, 46u8, 134u8, 60u8, 207u8, 0u8, 120u8, 98u8, 226u8, 201u8,
12476 226u8, 88u8, 25u8, 201u8, 51u8, 254u8, 219u8, 201u8, 53u8, 10u8, 100u8,
12477 67u8, 66u8, 59u8, 74u8, 133u8, 153u8, 194u8, 232u8, 165u8, 45u8,
12478 ],
12479 [
12480 131u8, 26u8, 156u8, 134u8, 196u8, 91u8, 179u8, 3u8, 202u8, 243u8, 240u8,
12481 100u8, 190u8, 43u8, 194u8, 185u8, 253u8, 78u8, 207u8, 25u8, 228u8, 124u8,
12482 74u8, 192u8, 42u8, 97u8, 231u8, 93u8, 171u8, 254u8, 85u8, 180u8,
12483 ],
12484 ];
12485 }
12486 #[automatically_derived]
12487 impl alloy_sol_types::SolEventInterface for StakeRegistryEvents {
12488 const NAME: &'static str = "StakeRegistryEvents";
12489 const COUNT: usize = 8usize;
12490 fn decode_raw_log(
12491 topics: &[alloy_sol_types::Word],
12492 data: &[u8],
12493 ) -> alloy_sol_types::Result<Self> {
12494 match topics.first().copied() {
12495 Some(
12496 <LookAheadPeriodChanged as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12497 ) => {
12498 <LookAheadPeriodChanged as alloy_sol_types::SolEvent>::decode_raw_log(
12499 topics,
12500 data,
12501 )
12502 .map(Self::LookAheadPeriodChanged)
12503 }
12504 Some(
12505 <MinimumStakeForQuorumUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12506 ) => {
12507 <MinimumStakeForQuorumUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
12508 topics,
12509 data,
12510 )
12511 .map(Self::MinimumStakeForQuorumUpdated)
12512 }
12513 Some(
12514 <OperatorStakeUpdate as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12515 ) => {
12516 <OperatorStakeUpdate as alloy_sol_types::SolEvent>::decode_raw_log(
12517 topics,
12518 data,
12519 )
12520 .map(Self::OperatorStakeUpdate)
12521 }
12522 Some(<QuorumCreated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
12523 <QuorumCreated as alloy_sol_types::SolEvent>::decode_raw_log(
12524 topics,
12525 data,
12526 )
12527 .map(Self::QuorumCreated)
12528 }
12529 Some(<StakeTypeSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
12530 <StakeTypeSet as alloy_sol_types::SolEvent>::decode_raw_log(
12531 topics,
12532 data,
12533 )
12534 .map(Self::StakeTypeSet)
12535 }
12536 Some(
12537 <StrategyAddedToQuorum as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12538 ) => {
12539 <StrategyAddedToQuorum as alloy_sol_types::SolEvent>::decode_raw_log(
12540 topics,
12541 data,
12542 )
12543 .map(Self::StrategyAddedToQuorum)
12544 }
12545 Some(
12546 <StrategyMultiplierUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12547 ) => {
12548 <StrategyMultiplierUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
12549 topics,
12550 data,
12551 )
12552 .map(Self::StrategyMultiplierUpdated)
12553 }
12554 Some(
12555 <StrategyRemovedFromQuorum as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
12556 ) => {
12557 <StrategyRemovedFromQuorum as alloy_sol_types::SolEvent>::decode_raw_log(
12558 topics,
12559 data,
12560 )
12561 .map(Self::StrategyRemovedFromQuorum)
12562 }
12563 _ => {
12564 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
12565 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
12566 log: alloy_sol_types::private::Box::new(
12567 alloy_sol_types::private::LogData::new_unchecked(
12568 topics.to_vec(),
12569 data.to_vec().into(),
12570 ),
12571 ),
12572 })
12573 }
12574 }
12575 }
12576 }
12577 #[automatically_derived]
12578 impl alloy_sol_types::private::IntoLogData for StakeRegistryEvents {
12579 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
12580 match self {
12581 Self::LookAheadPeriodChanged(inner) => {
12582 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12583 }
12584 Self::MinimumStakeForQuorumUpdated(inner) => {
12585 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12586 }
12587 Self::OperatorStakeUpdate(inner) => {
12588 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12589 }
12590 Self::QuorumCreated(inner) => {
12591 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12592 }
12593 Self::StakeTypeSet(inner) => {
12594 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12595 }
12596 Self::StrategyAddedToQuorum(inner) => {
12597 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12598 }
12599 Self::StrategyMultiplierUpdated(inner) => {
12600 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12601 }
12602 Self::StrategyRemovedFromQuorum(inner) => {
12603 alloy_sol_types::private::IntoLogData::to_log_data(inner)
12604 }
12605 }
12606 }
12607 fn into_log_data(self) -> alloy_sol_types::private::LogData {
12608 match self {
12609 Self::LookAheadPeriodChanged(inner) => {
12610 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12611 }
12612 Self::MinimumStakeForQuorumUpdated(inner) => {
12613 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12614 }
12615 Self::OperatorStakeUpdate(inner) => {
12616 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12617 }
12618 Self::QuorumCreated(inner) => {
12619 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12620 }
12621 Self::StakeTypeSet(inner) => {
12622 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12623 }
12624 Self::StrategyAddedToQuorum(inner) => {
12625 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12626 }
12627 Self::StrategyMultiplierUpdated(inner) => {
12628 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12629 }
12630 Self::StrategyRemovedFromQuorum(inner) => {
12631 alloy_sol_types::private::IntoLogData::into_log_data(inner)
12632 }
12633 }
12634 }
12635 }
12636 use alloy::contract as alloy_contract;
12637 #[inline]
12641 pub const fn new<
12642 P: alloy_contract::private::Provider<N>,
12643 N: alloy_contract::private::Network,
12644 >(
12645 address: alloy_sol_types::private::Address,
12646 provider: P,
12647 ) -> StakeRegistryInstance<P, N> {
12648 StakeRegistryInstance::<P, N>::new(address, provider)
12649 }
12650 #[inline]
12656 pub fn deploy<
12657 P: alloy_contract::private::Provider<N>,
12658 N: alloy_contract::private::Network,
12659 >(
12660 provider: P,
12661 _slashingRegistryCoordinator: alloy::sol_types::private::Address,
12662 _delegationManager: alloy::sol_types::private::Address,
12663 _avsDirectory: alloy::sol_types::private::Address,
12664 _allocationManager: alloy::sol_types::private::Address,
12665 ) -> impl ::core::future::Future<
12666 Output = alloy_contract::Result<StakeRegistryInstance<P, N>>,
12667 > {
12668 StakeRegistryInstance::<
12669 P,
12670 N,
12671 >::deploy(
12672 provider,
12673 _slashingRegistryCoordinator,
12674 _delegationManager,
12675 _avsDirectory,
12676 _allocationManager,
12677 )
12678 }
12679 #[inline]
12685 pub fn deploy_builder<
12686 P: alloy_contract::private::Provider<N>,
12687 N: alloy_contract::private::Network,
12688 >(
12689 provider: P,
12690 _slashingRegistryCoordinator: alloy::sol_types::private::Address,
12691 _delegationManager: alloy::sol_types::private::Address,
12692 _avsDirectory: alloy::sol_types::private::Address,
12693 _allocationManager: alloy::sol_types::private::Address,
12694 ) -> alloy_contract::RawCallBuilder<P, N> {
12695 StakeRegistryInstance::<
12696 P,
12697 N,
12698 >::deploy_builder(
12699 provider,
12700 _slashingRegistryCoordinator,
12701 _delegationManager,
12702 _avsDirectory,
12703 _allocationManager,
12704 )
12705 }
12706 #[derive(Clone)]
12718 pub struct StakeRegistryInstance<P, N = alloy_contract::private::Ethereum> {
12719 address: alloy_sol_types::private::Address,
12720 provider: P,
12721 _network: ::core::marker::PhantomData<N>,
12722 }
12723 #[automatically_derived]
12724 impl<P, N> ::core::fmt::Debug for StakeRegistryInstance<P, N> {
12725 #[inline]
12726 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12727 f.debug_tuple("StakeRegistryInstance").field(&self.address).finish()
12728 }
12729 }
12730 #[automatically_derived]
12732 impl<
12733 P: alloy_contract::private::Provider<N>,
12734 N: alloy_contract::private::Network,
12735 > StakeRegistryInstance<P, N> {
12736 #[inline]
12740 pub const fn new(
12741 address: alloy_sol_types::private::Address,
12742 provider: P,
12743 ) -> Self {
12744 Self {
12745 address,
12746 provider,
12747 _network: ::core::marker::PhantomData,
12748 }
12749 }
12750 #[inline]
12756 pub async fn deploy(
12757 provider: P,
12758 _slashingRegistryCoordinator: alloy::sol_types::private::Address,
12759 _delegationManager: alloy::sol_types::private::Address,
12760 _avsDirectory: alloy::sol_types::private::Address,
12761 _allocationManager: alloy::sol_types::private::Address,
12762 ) -> alloy_contract::Result<StakeRegistryInstance<P, N>> {
12763 let call_builder = Self::deploy_builder(
12764 provider,
12765 _slashingRegistryCoordinator,
12766 _delegationManager,
12767 _avsDirectory,
12768 _allocationManager,
12769 );
12770 let contract_address = call_builder.deploy().await?;
12771 Ok(Self::new(contract_address, call_builder.provider))
12772 }
12773 #[inline]
12779 pub fn deploy_builder(
12780 provider: P,
12781 _slashingRegistryCoordinator: alloy::sol_types::private::Address,
12782 _delegationManager: alloy::sol_types::private::Address,
12783 _avsDirectory: alloy::sol_types::private::Address,
12784 _allocationManager: alloy::sol_types::private::Address,
12785 ) -> alloy_contract::RawCallBuilder<P, N> {
12786 alloy_contract::RawCallBuilder::new_raw_deploy(
12787 provider,
12788 [
12789 &BYTECODE[..],
12790 &alloy_sol_types::SolConstructor::abi_encode(
12791 &constructorCall {
12792 _slashingRegistryCoordinator,
12793 _delegationManager,
12794 _avsDirectory,
12795 _allocationManager,
12796 },
12797 )[..],
12798 ]
12799 .concat()
12800 .into(),
12801 )
12802 }
12803 #[inline]
12805 pub const fn address(&self) -> &alloy_sol_types::private::Address {
12806 &self.address
12807 }
12808 #[inline]
12810 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
12811 self.address = address;
12812 }
12813 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
12815 self.set_address(address);
12816 self
12817 }
12818 #[inline]
12820 pub const fn provider(&self) -> &P {
12821 &self.provider
12822 }
12823 }
12824 impl<P: ::core::clone::Clone, N> StakeRegistryInstance<&P, N> {
12825 #[inline]
12827 pub fn with_cloned_provider(self) -> StakeRegistryInstance<P, N> {
12828 StakeRegistryInstance {
12829 address: self.address,
12830 provider: ::core::clone::Clone::clone(&self.provider),
12831 _network: ::core::marker::PhantomData,
12832 }
12833 }
12834 }
12835 #[automatically_derived]
12837 impl<
12838 P: alloy_contract::private::Provider<N>,
12839 N: alloy_contract::private::Network,
12840 > StakeRegistryInstance<P, N> {
12841 pub fn call_builder<C: alloy_sol_types::SolCall>(
12846 &self,
12847 call: &C,
12848 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
12849 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
12850 }
12851 pub fn MAX_WEIGHING_FUNCTION_LENGTH(
12853 &self,
12854 ) -> alloy_contract::SolCallBuilder<&P, MAX_WEIGHING_FUNCTION_LENGTHCall, N> {
12855 self.call_builder(&MAX_WEIGHING_FUNCTION_LENGTHCall)
12856 }
12857 pub fn WEIGHTING_DIVISOR(
12859 &self,
12860 ) -> alloy_contract::SolCallBuilder<&P, WEIGHTING_DIVISORCall, N> {
12861 self.call_builder(&WEIGHTING_DIVISORCall)
12862 }
12863 pub fn addStrategies(
12865 &self,
12866 quorumNumber: u8,
12867 _strategyParams: alloy::sol_types::private::Vec<
12868 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
12869 >,
12870 ) -> alloy_contract::SolCallBuilder<&P, addStrategiesCall, N> {
12871 self.call_builder(
12872 &addStrategiesCall {
12873 quorumNumber,
12874 _strategyParams,
12875 },
12876 )
12877 }
12878 pub fn allocationManager(
12880 &self,
12881 ) -> alloy_contract::SolCallBuilder<&P, allocationManagerCall, N> {
12882 self.call_builder(&allocationManagerCall)
12883 }
12884 pub fn avsDirectory(
12886 &self,
12887 ) -> alloy_contract::SolCallBuilder<&P, avsDirectoryCall, N> {
12888 self.call_builder(&avsDirectoryCall)
12889 }
12890 pub fn delegation(
12892 &self,
12893 ) -> alloy_contract::SolCallBuilder<&P, delegationCall, N> {
12894 self.call_builder(&delegationCall)
12895 }
12896 pub fn deregisterOperator(
12898 &self,
12899 operatorId: alloy::sol_types::private::FixedBytes<32>,
12900 quorumNumbers: alloy::sol_types::private::Bytes,
12901 ) -> alloy_contract::SolCallBuilder<&P, deregisterOperatorCall, N> {
12902 self.call_builder(
12903 &deregisterOperatorCall {
12904 operatorId,
12905 quorumNumbers,
12906 },
12907 )
12908 }
12909 pub fn getCurrentStake(
12911 &self,
12912 operatorId: alloy::sol_types::private::FixedBytes<32>,
12913 quorumNumber: u8,
12914 ) -> alloy_contract::SolCallBuilder<&P, getCurrentStakeCall, N> {
12915 self.call_builder(
12916 &getCurrentStakeCall {
12917 operatorId,
12918 quorumNumber,
12919 },
12920 )
12921 }
12922 pub fn getCurrentTotalStake(
12924 &self,
12925 quorumNumber: u8,
12926 ) -> alloy_contract::SolCallBuilder<&P, getCurrentTotalStakeCall, N> {
12927 self.call_builder(
12928 &getCurrentTotalStakeCall {
12929 quorumNumber,
12930 },
12931 )
12932 }
12933 pub fn getLatestStakeUpdate(
12935 &self,
12936 operatorId: alloy::sol_types::private::FixedBytes<32>,
12937 quorumNumber: u8,
12938 ) -> alloy_contract::SolCallBuilder<&P, getLatestStakeUpdateCall, N> {
12939 self.call_builder(
12940 &getLatestStakeUpdateCall {
12941 operatorId,
12942 quorumNumber,
12943 },
12944 )
12945 }
12946 pub fn getStakeAtBlockNumber(
12948 &self,
12949 operatorId: alloy::sol_types::private::FixedBytes<32>,
12950 quorumNumber: u8,
12951 blockNumber: u32,
12952 ) -> alloy_contract::SolCallBuilder<&P, getStakeAtBlockNumberCall, N> {
12953 self.call_builder(
12954 &getStakeAtBlockNumberCall {
12955 operatorId,
12956 quorumNumber,
12957 blockNumber,
12958 },
12959 )
12960 }
12961 pub fn getStakeAtBlockNumberAndIndex(
12963 &self,
12964 quorumNumber: u8,
12965 blockNumber: u32,
12966 operatorId: alloy::sol_types::private::FixedBytes<32>,
12967 index: alloy::sol_types::private::primitives::aliases::U256,
12968 ) -> alloy_contract::SolCallBuilder<&P, getStakeAtBlockNumberAndIndexCall, N> {
12969 self.call_builder(
12970 &getStakeAtBlockNumberAndIndexCall {
12971 quorumNumber,
12972 blockNumber,
12973 operatorId,
12974 index,
12975 },
12976 )
12977 }
12978 pub fn getStakeHistory(
12980 &self,
12981 operatorId: alloy::sol_types::private::FixedBytes<32>,
12982 quorumNumber: u8,
12983 ) -> alloy_contract::SolCallBuilder<&P, getStakeHistoryCall, N> {
12984 self.call_builder(
12985 &getStakeHistoryCall {
12986 operatorId,
12987 quorumNumber,
12988 },
12989 )
12990 }
12991 pub fn getStakeHistoryLength(
12993 &self,
12994 operatorId: alloy::sol_types::private::FixedBytes<32>,
12995 quorumNumber: u8,
12996 ) -> alloy_contract::SolCallBuilder<&P, getStakeHistoryLengthCall, N> {
12997 self.call_builder(
12998 &getStakeHistoryLengthCall {
12999 operatorId,
13000 quorumNumber,
13001 },
13002 )
13003 }
13004 pub fn getStakeUpdateAtIndex(
13006 &self,
13007 quorumNumber: u8,
13008 operatorId: alloy::sol_types::private::FixedBytes<32>,
13009 index: alloy::sol_types::private::primitives::aliases::U256,
13010 ) -> alloy_contract::SolCallBuilder<&P, getStakeUpdateAtIndexCall, N> {
13011 self.call_builder(
13012 &getStakeUpdateAtIndexCall {
13013 quorumNumber,
13014 operatorId,
13015 index,
13016 },
13017 )
13018 }
13019 pub fn getStakeUpdateIndexAtBlockNumber(
13021 &self,
13022 operatorId: alloy::sol_types::private::FixedBytes<32>,
13023 quorumNumber: u8,
13024 blockNumber: u32,
13025 ) -> alloy_contract::SolCallBuilder<
13026 &P,
13027 getStakeUpdateIndexAtBlockNumberCall,
13028 N,
13029 > {
13030 self.call_builder(
13031 &getStakeUpdateIndexAtBlockNumberCall {
13032 operatorId,
13033 quorumNumber,
13034 blockNumber,
13035 },
13036 )
13037 }
13038 pub fn getTotalStakeAtBlockNumberFromIndex(
13040 &self,
13041 quorumNumber: u8,
13042 blockNumber: u32,
13043 index: alloy::sol_types::private::primitives::aliases::U256,
13044 ) -> alloy_contract::SolCallBuilder<
13045 &P,
13046 getTotalStakeAtBlockNumberFromIndexCall,
13047 N,
13048 > {
13049 self.call_builder(
13050 &getTotalStakeAtBlockNumberFromIndexCall {
13051 quorumNumber,
13052 blockNumber,
13053 index,
13054 },
13055 )
13056 }
13057 pub fn getTotalStakeHistoryLength(
13059 &self,
13060 quorumNumber: u8,
13061 ) -> alloy_contract::SolCallBuilder<&P, getTotalStakeHistoryLengthCall, N> {
13062 self.call_builder(
13063 &getTotalStakeHistoryLengthCall {
13064 quorumNumber,
13065 },
13066 )
13067 }
13068 pub fn getTotalStakeIndicesAtBlockNumber(
13070 &self,
13071 blockNumber: u32,
13072 quorumNumbers: alloy::sol_types::private::Bytes,
13073 ) -> alloy_contract::SolCallBuilder<
13074 &P,
13075 getTotalStakeIndicesAtBlockNumberCall,
13076 N,
13077 > {
13078 self.call_builder(
13079 &getTotalStakeIndicesAtBlockNumberCall {
13080 blockNumber,
13081 quorumNumbers,
13082 },
13083 )
13084 }
13085 pub fn getTotalStakeUpdateAtIndex(
13087 &self,
13088 quorumNumber: u8,
13089 index: alloy::sol_types::private::primitives::aliases::U256,
13090 ) -> alloy_contract::SolCallBuilder<&P, getTotalStakeUpdateAtIndexCall, N> {
13091 self.call_builder(
13092 &getTotalStakeUpdateAtIndexCall {
13093 quorumNumber,
13094 index,
13095 },
13096 )
13097 }
13098 pub fn initializeDelegatedStakeQuorum(
13100 &self,
13101 quorumNumber: u8,
13102 minimumStake: alloy::sol_types::private::primitives::aliases::U96,
13103 _strategyParams: alloy::sol_types::private::Vec<
13104 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
13105 >,
13106 ) -> alloy_contract::SolCallBuilder<&P, initializeDelegatedStakeQuorumCall, N> {
13107 self.call_builder(
13108 &initializeDelegatedStakeQuorumCall {
13109 quorumNumber,
13110 minimumStake,
13111 _strategyParams,
13112 },
13113 )
13114 }
13115 pub fn initializeSlashableStakeQuorum(
13117 &self,
13118 quorumNumber: u8,
13119 minimumStake: alloy::sol_types::private::primitives::aliases::U96,
13120 lookAheadPeriod: u32,
13121 _strategyParams: alloy::sol_types::private::Vec<
13122 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
13123 >,
13124 ) -> alloy_contract::SolCallBuilder<&P, initializeSlashableStakeQuorumCall, N> {
13125 self.call_builder(
13126 &initializeSlashableStakeQuorumCall {
13127 quorumNumber,
13128 minimumStake,
13129 lookAheadPeriod,
13130 _strategyParams,
13131 },
13132 )
13133 }
13134 pub fn minimumStakeForQuorum(
13136 &self,
13137 _0: u8,
13138 ) -> alloy_contract::SolCallBuilder<&P, minimumStakeForQuorumCall, N> {
13139 self.call_builder(&minimumStakeForQuorumCall(_0))
13140 }
13141 pub fn modifyStrategyParams(
13143 &self,
13144 quorumNumber: u8,
13145 strategyIndices: alloy::sol_types::private::Vec<
13146 alloy::sol_types::private::primitives::aliases::U256,
13147 >,
13148 newMultipliers: alloy::sol_types::private::Vec<
13149 alloy::sol_types::private::primitives::aliases::U96,
13150 >,
13151 ) -> alloy_contract::SolCallBuilder<&P, modifyStrategyParamsCall, N> {
13152 self.call_builder(
13153 &modifyStrategyParamsCall {
13154 quorumNumber,
13155 strategyIndices,
13156 newMultipliers,
13157 },
13158 )
13159 }
13160 pub fn registerOperator(
13162 &self,
13163 operator: alloy::sol_types::private::Address,
13164 operatorId: alloy::sol_types::private::FixedBytes<32>,
13165 quorumNumbers: alloy::sol_types::private::Bytes,
13166 ) -> alloy_contract::SolCallBuilder<&P, registerOperatorCall, N> {
13167 self.call_builder(
13168 ®isterOperatorCall {
13169 operator,
13170 operatorId,
13171 quorumNumbers,
13172 },
13173 )
13174 }
13175 pub fn registryCoordinator(
13177 &self,
13178 ) -> alloy_contract::SolCallBuilder<&P, registryCoordinatorCall, N> {
13179 self.call_builder(®istryCoordinatorCall)
13180 }
13181 pub fn removeStrategies(
13183 &self,
13184 quorumNumber: u8,
13185 indicesToRemove: alloy::sol_types::private::Vec<
13186 alloy::sol_types::private::primitives::aliases::U256,
13187 >,
13188 ) -> alloy_contract::SolCallBuilder<&P, removeStrategiesCall, N> {
13189 self.call_builder(
13190 &removeStrategiesCall {
13191 quorumNumber,
13192 indicesToRemove,
13193 },
13194 )
13195 }
13196 pub fn setMinimumStakeForQuorum(
13198 &self,
13199 quorumNumber: u8,
13200 minimumStake: alloy::sol_types::private::primitives::aliases::U96,
13201 ) -> alloy_contract::SolCallBuilder<&P, setMinimumStakeForQuorumCall, N> {
13202 self.call_builder(
13203 &setMinimumStakeForQuorumCall {
13204 quorumNumber,
13205 minimumStake,
13206 },
13207 )
13208 }
13209 pub fn setSlashableStakeLookahead(
13211 &self,
13212 quorumNumber: u8,
13213 _lookAheadBlocks: u32,
13214 ) -> alloy_contract::SolCallBuilder<&P, setSlashableStakeLookaheadCall, N> {
13215 self.call_builder(
13216 &setSlashableStakeLookaheadCall {
13217 quorumNumber,
13218 _lookAheadBlocks,
13219 },
13220 )
13221 }
13222 pub fn slashableStakeLookAheadPerQuorum(
13224 &self,
13225 quorumNumber: u8,
13226 ) -> alloy_contract::SolCallBuilder<
13227 &P,
13228 slashableStakeLookAheadPerQuorumCall,
13229 N,
13230 > {
13231 self.call_builder(
13232 &slashableStakeLookAheadPerQuorumCall {
13233 quorumNumber,
13234 },
13235 )
13236 }
13237 pub fn stakeTypePerQuorum(
13239 &self,
13240 quorumNumber: u8,
13241 ) -> alloy_contract::SolCallBuilder<&P, stakeTypePerQuorumCall, N> {
13242 self.call_builder(
13243 &stakeTypePerQuorumCall {
13244 quorumNumber,
13245 },
13246 )
13247 }
13248 pub fn strategiesPerQuorum(
13250 &self,
13251 quorumNumber: u8,
13252 _1: alloy::sol_types::private::primitives::aliases::U256,
13253 ) -> alloy_contract::SolCallBuilder<&P, strategiesPerQuorumCall, N> {
13254 self.call_builder(
13255 &strategiesPerQuorumCall {
13256 quorumNumber,
13257 _1,
13258 },
13259 )
13260 }
13261 pub fn strategyParams(
13263 &self,
13264 quorumNumber: u8,
13265 _1: alloy::sol_types::private::primitives::aliases::U256,
13266 ) -> alloy_contract::SolCallBuilder<&P, strategyParamsCall, N> {
13267 self.call_builder(
13268 &strategyParamsCall {
13269 quorumNumber,
13270 _1,
13271 },
13272 )
13273 }
13274 pub fn strategyParamsByIndex(
13276 &self,
13277 quorumNumber: u8,
13278 index: alloy::sol_types::private::primitives::aliases::U256,
13279 ) -> alloy_contract::SolCallBuilder<&P, strategyParamsByIndexCall, N> {
13280 self.call_builder(
13281 &strategyParamsByIndexCall {
13282 quorumNumber,
13283 index,
13284 },
13285 )
13286 }
13287 pub fn strategyParamsLength(
13289 &self,
13290 quorumNumber: u8,
13291 ) -> alloy_contract::SolCallBuilder<&P, strategyParamsLengthCall, N> {
13292 self.call_builder(
13293 &strategyParamsLengthCall {
13294 quorumNumber,
13295 },
13296 )
13297 }
13298 pub fn updateOperatorsStake(
13300 &self,
13301 operators: alloy::sol_types::private::Vec<
13302 alloy::sol_types::private::Address,
13303 >,
13304 operatorIds: alloy::sol_types::private::Vec<
13305 alloy::sol_types::private::FixedBytes<32>,
13306 >,
13307 quorumNumber: u8,
13308 ) -> alloy_contract::SolCallBuilder<&P, updateOperatorsStakeCall, N> {
13309 self.call_builder(
13310 &updateOperatorsStakeCall {
13311 operators,
13312 operatorIds,
13313 quorumNumber,
13314 },
13315 )
13316 }
13317 pub fn weightOfOperatorForQuorum(
13319 &self,
13320 quorumNumber: u8,
13321 operator: alloy::sol_types::private::Address,
13322 ) -> alloy_contract::SolCallBuilder<&P, weightOfOperatorForQuorumCall, N> {
13323 self.call_builder(
13324 &weightOfOperatorForQuorumCall {
13325 quorumNumber,
13326 operator,
13327 },
13328 )
13329 }
13330 }
13331 #[automatically_derived]
13333 impl<
13334 P: alloy_contract::private::Provider<N>,
13335 N: alloy_contract::private::Network,
13336 > StakeRegistryInstance<P, N> {
13337 pub fn event_filter<E: alloy_sol_types::SolEvent>(
13342 &self,
13343 ) -> alloy_contract::Event<&P, E, N> {
13344 alloy_contract::Event::new_sol(&self.provider, &self.address)
13345 }
13346 pub fn LookAheadPeriodChanged_filter(
13348 &self,
13349 ) -> alloy_contract::Event<&P, LookAheadPeriodChanged, N> {
13350 self.event_filter::<LookAheadPeriodChanged>()
13351 }
13352 pub fn MinimumStakeForQuorumUpdated_filter(
13354 &self,
13355 ) -> alloy_contract::Event<&P, MinimumStakeForQuorumUpdated, N> {
13356 self.event_filter::<MinimumStakeForQuorumUpdated>()
13357 }
13358 pub fn OperatorStakeUpdate_filter(
13360 &self,
13361 ) -> alloy_contract::Event<&P, OperatorStakeUpdate, N> {
13362 self.event_filter::<OperatorStakeUpdate>()
13363 }
13364 pub fn QuorumCreated_filter(
13366 &self,
13367 ) -> alloy_contract::Event<&P, QuorumCreated, N> {
13368 self.event_filter::<QuorumCreated>()
13369 }
13370 pub fn StakeTypeSet_filter(&self) -> alloy_contract::Event<&P, StakeTypeSet, N> {
13372 self.event_filter::<StakeTypeSet>()
13373 }
13374 pub fn StrategyAddedToQuorum_filter(
13376 &self,
13377 ) -> alloy_contract::Event<&P, StrategyAddedToQuorum, N> {
13378 self.event_filter::<StrategyAddedToQuorum>()
13379 }
13380 pub fn StrategyMultiplierUpdated_filter(
13382 &self,
13383 ) -> alloy_contract::Event<&P, StrategyMultiplierUpdated, N> {
13384 self.event_filter::<StrategyMultiplierUpdated>()
13385 }
13386 pub fn StrategyRemovedFromQuorum_filter(
13388 &self,
13389 ) -> alloy_contract::Event<&P, StrategyRemovedFromQuorum, N> {
13390 self.event_filter::<StrategyRemovedFromQuorum>()
13391 }
13392 }
13393}